Im being haunted by my dreams!

Started by
13 comments, last by DejaimeNeto 10 years, 4 months ago

I want to start by offering no knowledge toward where beginner should or shouldn't start, this is strictly a selfish thread that some may find of use later on.

My names Stan, I am a technician that works on arcades/pinballs/jukeboxes junk like that. I have some experience programming in C++ from 2 classes i took in college.(i never finished my degree). I bought some books that i thought would put me in the right direction.But I cant seem to sit and want to start, because i feel so overwhelmed with the magnitude of what my ideas require of me. The books are as follows, "Swords & Circuitry" by N&J Hallford... "Focus on SDL" by pazera... AI techniques for game programming" by Buckland.... Data structures for game programmers by Penton. Now once again I cant seem to have a good idea of where to plant my foot before i swing hard at my dreams!

In my computer programming course i remember very simple code like integers and basic structure of how code can work, inputs outputs. However!!! my teacher couldnt tell me much about how to actually display visuals and control the visuals that you see, So i got frustrated left school (ITT tech) and joined the military, spent 4 years then got out.. So since highschool for the last 10 years i haven't been able to stop thinking about making my own game! I need to do this!! I would seriously appreciate someone with some experience telling me exactly what i should focus on to start that will be rewarding and strictly profitable for my future developments. (I suck at being in a classroom because most of the crap people teach is kind of interesting but not interesting enough to work countless hours for something i'm going to forget because its not practical!)

So, long story short. honestly im a hard worker im just feeling overwhelmed by the journey of my goal! and i would seriously appreciate the people who actually can help and that choose to help me. Please help a poor soul find his way!

.

.

"So what type of game are you looking to make, exactly?"

If you can recall SNES, Chrono trigger, Zelda, Sword of mana, ! (id like my first game to be 2d)

(the reason why i bought focus on SDL)

AND note: I am very interested in building my own game "engine", so that i can make things exactly as i wish to the fullness, freedom, and speed i desire!

I really appreciate anyones advice. Thank you for the support!

Advertisement

SDL is a good place to start - if you go to their website you can download their latest and greatest library..

I would say forget the "Swords and Circuitry" book and forget the "AI programming techniques" for now... the SDL one too sort of... The problem with the books is they may provide valuable info but they are very old in technology terms.. If you want to start making games I would recommend learning all the up to date stuff..

The thing about 2d is there are a lot of helpful libraries to choose from to do it.. I like SDL - but you should learn it from an updated source..

here is a list of books from their website

http://wiki.libsdl.org/Books

and a list of the online tutorials for it

http://wiki.libsdl.org/Tutorials

A great book for learning c++

http://www.amazon.com/Primer-5th-Edition-Stanley-Lippman/dp/0321714113

a great book for game dev - but may not be for starting out

http://www.amazon.com/Game-Coding-Complete-Fourth-Edition/dp/1133776574

Your goal is very achievable - good luck!

I'm sure you're not the only one that is going through this specific issue. You tend to have this amazing game idea in your mind, and when you think about how much work is required to do it, you get overwhelmed by your thoughts, and end up doing nothing. sad.png

What helped me personally is to break it down to something more manageable. I wrote down what the game consists off, the player character, the enemies, the theme, what the environment should look like, etc. Then I focused on one of those items, and broke that down even further. For the character, I imagined what it would look like, but then realized I'm not exactly an artist, I'm a coder, and what it looks like is completely irrelevant to me with regards to code. From then I just worked out what I needed to do to get the character image on the screen, how to animate it, control it, and then worked my way up from there, and repeated this process for each other item in the list.

My recommendation is that you do not write your own "game engine", and I'm sure that is a phase a lot of people who want to make games decide they want to do, even though they have never even tried out what is available out there... basically, don't reinvent the wheel. You have a game idea, so stick to that. If down the track you try game engines and you're experienced enough to know that what you want done is not possible with them, then look for ways to modify them to get what you want done. If that still doesn't work out for you (which is unlikely, because there are many extremely flexible and mature game engines out there), then and only then should you even consider looking into how to make your own game engine.

Don't dive into C++ unless you really have to, and don't get hung up on a specific programming language. Try out other languages in the many game engines out there, if just for the experience, and then you'll realize that the language you use isn't really that important. You should use whatever allows you to put more focus on the game logic and content.

This is only my opinion on what helped me take a step forward, and kept me heading in that direction. I hope it helps you in some way.

Take a look at some game engines, there whole purpose of game engines is to simplify the process of making games.

Start with a simple 2D engine and make your game, after you gain more confidence with programming you can start editing the engine and finally make your own engine.

In the end you may decide to stick with a gaming engine, most of them are good and only need a few things tweaked.

There are several levels of complexity, at least these:

1. Using an existing engine and scripting,

2. using an existing engine and programming,

3. using existing libraries to build a game,

4. using existing libraries to write an own engine and a game on top of that,

5. writing an own engine from scratch and a game on top of that.

An engine is commonly understood as a piece of software that can be used to build more than a single game without rewriting major parts of the engine. With this in mind, it should be clear that writing an engine cannot be done without knowledge of what games of the targeted genres need in common (I don't mean ideas here but concrete functionality on code level). Furthermore, the abstractions needed to write an engine introduce another layer of complexity in both thinking / planning and coding. With that in mind the bullets 4. and 5. should be dropped for a beginner. If programming is an option and affordable engines are actually too inflexible, then bullet 3. is the way to go. The complexity is still not to be sneezed.

Because of learning and looking how others have done things, it would be helpful to actually grep some free / cheap existing engine and try out things. Engines prescribe an architecture on the game, for 2D e.g. the famous event driven model. Seeing such things at work helps to grasp an overview, and to identify actual weaknesses w.r.t. the own needs. Further it is later a first step in breaking things down.

I dislike C++ it's old and complicated, and nobody likes a show off : "OoOo, my game engine has 4 1/2 million lines of code!" blah blah blah...

Java is pretty prominent. I have played around with android quite abit. Java seems abit more kinder then C++ - dealing with memory handling and litterally a million and one gottcha's if far from fun.

I hope you haven't got the idea that you want to build the next Battlefield 4 or the next Forza game. You've seen the videos - they have a huge in house team of a few hundred, working on the game 18 hours of the day for 3 years straight, and theirs 100's more external people to help, writting music, fetching cast members... ow and a budget of $500 million.

Developing a simple indie game is pretty hard too - or pretty expensive, and can still take a moderate team of 3 to 15 to 30 people.

Using a game engine is where to go, but it's expensive. Unity3D is your best shot at the moment but can set you back a couple of grand - I have no idea really, as I haven't seen it in a while, but I've played some games producded with it - pretty tidy.

I reccomend to not learn C++ - especially if you can't program - experinced developers who can program, find C++ a pain in the butt. Javascript or C# on the Unity3D game egine. Good to go.

You also need to find somebody who has an artistic side to help you create game assets - be it 3D game assets or 2D sprites.

Maybe a person to create some music too, if your not musical yourself, and a lady friend or two to help with any voices and acting you'll need in your game.

Instead of unity, you can check out the Unreal Engine which powers Gears of Wars and practically every other AAA classed game project.

Or CryEngine 3 which is used in crysis 2 and 3 and in the latest Farcry.

http://unity3d.com/

http://www.crydev.net/

http://www.unrealengine.com/udk/

CryEngine uses c++ if you really want to learn C++.

There is gameplay3D too if your are into open source like I am. I'm keeping an eye on gameplay3D, as I think it's got the potential to become industry leading:

http://gameplay3d.org/

I've been doing this for 17 years. I got into C++ programming to make games. For 12 years I was part of a library site and anytime I came up with an idea, instead of saying "Hey that is too complex for a beginner, try something simpler.", instead they would say "That is too complex, just give up. You obviously aren't cut out to be a programmer." I already doubted by abilities, and I know I'm not a great programmer (would really only call myself a beginner even after 17 years), but you throw in joining the wrong community and you wonder how anyone ever has any confidence. I would rely heavily on what the guys here say about achieving your goal. I'm the result of doubting yourself and having tons of ideas for games, but doubting yourself so you never do anything about it. Sure, I can do tilemaps, movement, animation, etc separately, but I just can't put it together to make anything. Avoid being me!

I'm the result of doubting yourself and having tons of ideas for games, but doubting yourself so you never do anything about it. Sure, I can do tilemaps, movement, animation, etc separately, but I just can't put it together to make anything. Avoid being me!

Hey man don't be so hard on yourself! You still have plenty of time to make some games - maybe you could find someone to do it with you so that you have someone to be accountable to? Well anyways this forum is a lot friendlier than many others I have been a part of - get stuck and someone will help you almost gaurenteed..


my teacher couldnt tell me much about how to actually display visuals and control the visuals that you see

I had this same problem when I was learning to code. Some people are suggesting you learn SDL, and that's good, but I'd like to suggest that you keep SDL as a goal, and invest some time at the start into just plain learning to write code. I know it's boring! But it pays off immensely. Try and get a strong understanding of the fundamentals, both computer science fundamentals like simple data structures (lists, arrays, maps) as well as low level machine basics (pointers, memory management, file IO, multithreading).

The reason I say this is because graphics and games are complicated, and it's fairly easy to get in over your head (speaking from experience), and once you get over your head you can get massively discouraged (again, speaking from experience). Working on the boring computer science basics helps you build up a solid foundation of knowledge that should hopefully make you feel a bit more confident when you're working on graphics/game stuff.

Obviously, you don't need to exclusively work on the fundamentals. Tinkering with SDL will still be a good use of time, but make sure to spend some time working on the less glamorous aspects of development, because they're important too!

I'm the result of doubting yourself and having tons of ideas for games, but doubting yourself so you never do anything about it. Sure, I can do tilemaps, movement, animation, etc separately, but I just can't put it together to make anything. Avoid being me!

Hey man don't be so hard on yourself! You still have plenty of time to make some games - maybe you could find someone to do it with you so that you have someone to be accountable to? Well anyways this forum is a lot friendlier than many others I have been a part of - get stuck and someone will help you almost gaurenteed..

I'm my own worst critic. I've always been hard on myself. Problem is that I don't do good with teams because I'm worried about letting them down or not knowing enough to get what is needed done for a team project. I really have never pushed myself because of my doubt. Even after 17 years of C++ programming, I still have trouble with some things (like pointers, dynamic memory allocation, operator overloading, a lot of the more advanced things and nothing from the new C++11 as I have GNU GCC 4.7.2). My doubt runs deep.

This topic is closed to new replies.

Advertisement