where to start? (no really =0 )

Started by
12 comments, last by GreyHound 16 years, 10 months ago
i have a pretty strong background in java and c++ that i have used and learned for school. However, I have run into the situation where i dont know where to start learning game programming, every one says read books, but they all teach in different order and lack a good start. My questions arise as, should i learn how to make an application framework first, including learning the Windows and DirectX calls to initiaze everything required for a game, or is there something more im missing ( a clear cut place and way to start?). It seems everything is thrown at you at once. Currently i have been reading the Programming Role Playing Games with DirectX by Jim Adams and it starts out with the framework. But i am not sure to where i should REALLY start. I also have various other books and am thinking of looking at some of the sample code to get an idea of how other people go about coding, but still question myself on wether thats a good idea or how even to get my hands on some. It has been about 6 months since i started this as a free-time hobby and I feel dedicated to learn. I have joined the C# workshop to hopefully get some insight on where to go next, but any insight you guys have I would greatly appreciate. Daedric
Advertisement
as far as i remember, when i was reading some tutorials on internet about two years ago, i found, that i should start with very simple games, like tetris, arkanoid, and so on..
so maybe thats the way..
while making these games, you will learn basic stuff about loops, input, rendering, scene managment, etc..
then (and you dont even have to finish anything), when you'll get the basic idea, how the stuff might work, you can start thinking about more complex game, such as 2d strategy with tiles, map editor, units moving around, pathfinding, etc..
[2d tiles are quite simple, you can start with that]

you can start here, experimenting:
sdl tutorial
or
nehe opengl lessons

hope this helps, but i'm looking forward to any advice from professionals :]
hmm, that really does give some good insight to openGL, and i might look more into that path if i can't find something similar in DirectX. I have heard openGL is easier, but positions id like to get into would be more towards DirectX. those two websites do look like a start that could lead to better things though thank you!

i would also like to see what others recommend, if theres more websites like that it seems i will be busy! ;)

Daedric
The important thing is that you just start and write a game. The approaches are all different, but what matters is that you understand what is going on and actually end up with a finished game. Once you finish your first game, then you will better understand how to make one, regardless of the exact frameworks or APIs you used before.
I second AIDev.



IMO, at this point it isnt important if you make a game using OpenGl or Directx. What is important, is that you make a game, and get used to the structure of videogames. You need to understand basic concepts like the game loop and others. Coding games is a lot different than other applications in some ways. Start with a 2d game like tetris to get you into the flow of how a game works (remember, it doesnt have to be a compex game, even if you happen to be advanced at programming). It is always best to set the first project small and work your way up.

I personally suggest you look at some sourcecode for some simple games if you already have expierence programming. Check out the source code to some of these games from the GDNet Articles and Resources section: LINK!

Hope this helps! Good luck.
"If I were a philosopher, I might argue that an array name's type is not equivalent to its equivalent. But I'm not a philosopher, so when I suggest something like that, I'm not a philosopher; I'm only being equivalent to a philosopher.""Saturn ascends, choose one or ten. hang on or be humbled again." - Tool
my problem with looking at source code is its all seperated up, like in the quake 1 example, where do i start? sure i can open random files but is there a best way to go about looking at samples? like i just wish there was design documents for the 100 .c files :( . BTW, it seems everyone recomends c++, but most i see is in .c files, same difference? yes i know c isnt c++ just asking
Yeah Dude. I'm having the same problem as you. I've got some working game frameworks up and running, but I don't have anything I would call "complete" yet.

So I think I'm going to eat my own dog food and take Cemedias and AIDev's advice. Pick one 2D book and start with that. It'll give you everything you need to make a cheesy game. Then make a bunch of itty bitty cheesy games to get used to the ideas. Only then will you have a really good idea of those areas, and in what order, need to be addressed. As your (and this is all speculation on my lack-of-game-making-expertise part) experience grows, each new game will only focus on one or two new concepts to you. Which is about the limit all of us can handle.

The hard part is the first game.

As I've been walking down this track there is sooooo much I didn't know I didn't know. Like the other guys were saying, there's a lot of different concepts to get used to. The game loop, working with graphics (2d or 3d), working with your chosen platform (windows or linux), handling input, sound, sprites, blah blah blah...

I very much like the idea of the one week games contests that gamedev was having (are those still going on?). The only thing is, us newbies can't handle a whole game in one week! Even if it does just have one button (which I think is an awesome exercise in human computer interactions). I wish they'd make a new contest with a time limit of about a month, just for us newbs.

- Goishin
This is a book I recommend. I like it. It uses an API called Allegro, which I think is probably pretty damned similar to sdl. And it alleviates the necessity of having to learn how to work with the hardware whilst simultaneously learning to do all the other things that need to be done to get a game done (like juggling while riding a unicycle while fighting pirate-ninjas while flying a space shuttle and singing an aria)

It's 2d, but deal with it. Making games is hard enough without adding an extra spacial dimension.

http://search.barnesandnoble.com/booksearch/isbnInquiry.asp?z=y&EAN=9781598632897&itm=2

- Goishin
Quote:Original post by Daedric
my problem with looking at source code is its all seperated up, like in the quake 1 example, where do i start? sure i can open random files but is there a best way to go about looking at samples? like i just wish there was design documents for the 100 .c files :( . BTW, it seems everyone recomends c++, but most i see is in .c files, same difference? yes i know c isnt c++ just asking


Looking at code samples won't teach you anything.

Compile the code, then start modifying it. And even that is a rather poor way of learning. And considering the age of that particular code, there isn't much to learn - all concepts presented there have been obsoleted. The high-level design is conceptually the same, but the code isn't worth much anymore. On top of that, those games needed big and small hacks to make things even work, or work in real-time. They make for very poor learning material.

Start with simple games. If you can't work out the design of an existing game, then stop worrying about high-level design. Just go make a game. It doesn't matter how well designed it is or not. Until you have it running, it's not worth anything.

And by the time you're done with the first one, you'll get the basic grasp of what functionality you need.

Another good way is to lay-off games, and develop some other applications. They'll give you a fair grasp of how to layout the code. Game code tends to be minimalistic, and isn't afraid to sacrifice design for performance (this is 100% true for old games, less for new ones).


Quote:Original post by Daedric
my problem with looking at source code is its all seperated up


Just looking at source code will not be helpful until you've tried to make an engine or game yourself.

This topic is closed to new replies.

Advertisement