How to not become overwhelmed....

Started by
26 comments, last by Matt-D 11 years, 9 months ago
Hi All, new game programmer here…

Trying my best not to fall into one of the almost inevitable new programmer spam posts, so please bear with me, I’ll probably fail.

After spending hours/days going through the myriads of help request threads and the almost programmable “do x,y and definitely z” responses…. I’ve laid out a path for myself moving forward.

I’ve, of course, ignored seasoned advice and started off with C++. Intending on moving to a 2d library when ready, and deciding on where to go from there after creating a few games at that point.

I’ve been a good little noob and started simple, got myself 4 or 5 C++ books and I’m starting small with games such as tic-tac-toe and other such console games.

So far so good….im gaining the basics of my language in a simple gaming context and I’m happy so far.

But then, I’m kind of not.

The more I look at game programming the more the rift between what I’m doing and what’s needed is growing.

So here (finally) is my question. Does anyone have any recommendations for how to not become overwhelmed? The gap between what im learning and the knowledge needed for a commercial game is so big that every time I see another post on some complicated game related question… my heart sinks just a little.

Now I know people are going to give nice generic replies like “start small, take baby steps” etc. But can anyone help with their experience of how they moved forward. An actual proper account of what they did to end up where they are.

I’m under no illusion that game programming is easy. It seems to be a long hard road which never stops long enough to let you get your footing.

I’m just reaching out to try and get some encouragement on the route forward. I would love to hear the steps seasoned game programmers took to get to where they are.

Does anyone have an examples they can share or links to existing posts they know of?

Any help would be much appreciated. Sorry for wall.
Advertisement
I would say, don't try to get too far ahead of yourself. Lets say you read 2 chapters of one of those books a day, after you're done with those 2 chapters, make small programs with what you know for a day or two so that you FULLY understand what you're looking at.

When I was going for my degree in CIS I had a C++ class that was only 12 weeks. Those were the worst 12 weeks ever. Why? Because we were forced to PUSH through half of the book. Much of what I've learned in those 12 weeks it took me another year to 2 years to fully understand because I couldn't keep up with what they were trying to tell me. Now that I have personal time to play with C++ I can learn it at a decent pace so it won't be too tough to get through.

If lets say, you start making a game you've had an idea for but you get stuck and it just gets upsetting to deal with. As with anything else: Take a break. 2-3 days without code won't kill you. Chill out and find something to do and come back to it.

Also, I'm glad you're a noob that understands most of how things work and you're not just "I wanna learn games help me now". +1
I think, I did just what you proposed: take baby steps. Experiment. Learn on technique/technology at a time. I really takes years to become a decent programmer. If you accept that and work your way from small projects to more and more complex games, you will most likely find your way much smoother than it looks from the beginner's perspective.

If you keep your projects and the increase in complexity between your projects small enough to actually finish them (something I'm very bad at), you will gain all knowledge you need in time.

Just don't care about fancy 3D graphics and high definition surround sound, high performance network code sound at the beginning. Just make your small projects. You will see, what works nicely and what doesn't and in your next project, you will be able to build on that experience and have more time to focus on the next level.

In a small 2D-game, you can learn a lot about basics that still apply to polished 3D games. You learn about coordinate systems, image loading, double buffering, on screen pixel formats, input handling, game states, sound...

Once you reach a certain level, you will notice, that there are some things that you may perhaps never accomplish alone, because they are just to much work. That's when you will most likely begin looking for a team (and you may by that time actually be of use to your team).

My way was to start a little 2d game and do only the most crucial parts: graphics output and control input. Then I added smaller parts, just what I wanted to do then, like simple sound effects, fancier graphics etc. Sooner or later, I felt, my skills had increased so much, that I could not stick to my old infant code and started over with the next tiny project, but this time equipped with a bit of experience and self-written example code to work with.

Oh, and studying computer science helps, too ;-)

Hope that's of any use for you. How to not become overwhelmed: Don't let it overwhelm you, accept that you will never code the next AAA game alone and be happy with what you actually can make.
Its not that huge a step from C++ basics to a graphical 2D game, once you have a firm grasp of pointers, classes, OOP... you can try a 2D library like SDL or SFML and can make a simple tile based game, I used LazyFoo's SDL tutorials and was able to take those tricks I learnt and make a tile based game that while not good used a lot of usefull tricks... collision, scrolling , player controls , game states , animation , sounds , text , timing ...

Check out Foo's tutorials here : http://lazyfoo.net/index.php ( stuff is a bit old now but it still works and is easy enough to update once you take the time to understand the idea )

There is only a video of my RC1 left from my little game ( I have the source here on my PC, but the download link died a while back ).

[media]
[/media]

It really is a case of baby steps, but each step is also a stepping stone to more stuff and soon enough you gain confidance to try out harder stuff which lead to more... just dont hold your breath waiting for EA or Activision to send a limo to pick you up for thier design staff tongue.png


EDIT: my seplinilg scuks :P
I want to know if i can draw my owner controls with Opengl , Without using window Control i am New to Open Please help me Out Thanks In Advance.
As has been covered many times already, and as you seem to know by your first post, baby steps.

Just keep your head down and learn the next thing, don't bother taking a look at the big picture for quite a while. I had someone sit down beside me, watching me do something I consider mundane recently ( I think I was manually configuring IP configuration or something ), and to that person what I was doing was just black magic. How did you know to put 255.255.0? How did you know to put 8.8.8.8? How did you know to put 192.168.2.1? Etc... etc... Of course, you probably know exactly why I entered each one of those pieces of information... but how did you acquire that information? Years of experience, that's how. Programming is really no different. At first what seems like such a massive subject, will in time become as intuitive as configuring a networking adapter.

Now back to the subject at hand, when you get to the point you feel pretty comfortable with C++, and have mastered console applications and have a basic understanding of the language, try running through this tutorial. It was written for exactly that purpose, to take someone that has a good understanding of the basics of C++, and then implement a 2D game using SFML, all the while demonstrating modern C++ is a non-abstract way. So if you are having trouble grok'ing the value of inheritance for example, this tutorial might help. Also, the next *MAJOR* tripping block you are going to have is configuring the linker to work with a 3rd party library. So this tutorial goes into a lot of detail on that subject, but provides preconfigured projects in case you can't get it working.


Again, keep at it, with time and effort, it will all come together. Just don't get focused on, or even pay attention to, the bigger picture. Yet.
I too had this happen to me while using C#.. I was offered the same advice as the others above gave you.. Its a broad subject but it gets easier.... I'm now stepping into c++ to take the long journey that hopefully in the end i'll land ashore at a game development company.. in a year if you keep at it and progress steadily, look at this topic and where your at(at that time) and remember how far you came. the journey is a long one but it is not an impossible one.. to practive your skills with C++ try these as you learn http://www.cplusplus...articles/12974/
Hello. First time poster here.

When I decided that I wanted to make games I started by "trying" to learn C++. I didn't succeed. Then I asked myself what I wanted to make games for. I decided to give Blender Game Engine a try and its incredible how easy it is. Now, if you want to actually work in the industry, this probably isnt the best route to go, but if you feel overwhelmed, the BGE lets you develop games fairly rapidly. (It uses Python which I have found to be the easiest language to learn)
I didn't succeed[/quote]

I'm curious to know why you didn't succeed?
I really wouldn't worry about it (getting overwhelmed that is). It's like marathon running. You train to run 8 miles, but you can still train to run 9 or 10 miles. It never ends.

My suggestion is, instead of setting AAA games as your goal, my suggestion is to set your goal as "To maximize the use of programming." It works for me biggrin.png Instead of worrying about how long it's going to take me to reach my final goal, I look at the benefits of what I'm learning at hand. This way, I can use the extra motivation I get from the small things to propel my learning towards the big picture without having to worry about it explicitly. Think of the repetitive tasks you do on your computer and try to see if you can automate them with programming. Write a program that solves math formulas so that you don't have to! Whatever you need to do with programming to stay motivated, do it smile.png

Yo dawg, don't even trip.

This topic is closed to new replies.

Advertisement