Jump to content
  • Advertisement
Sign in to follow this  
godsenddeath

Very Basic Questions About Starting Game Programming And Development

This topic is 4231 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

hey, i've been interested in getting into making games, just for fun at the moment. i read that the standard language to learn is C/C++, so about 2 weeks ago i dove right into C, then about a week ago i started learning C++, i've picked it up pretty quickly because i have alot of time on my hands and alot of the concepts i'm at least familiar with because of prior experience with javascript (i know they're completely different but the ideas of variables, functions and working with data are similar) and because i'm somewhat bright. so yeah, i've got a pretty good handle on C/C++ so i wanted to start trying to apply it to simple graphics stuff, and i ran into a roadblock, wondering how to go from simply moving values around and storing them cause be used to begin making games, after a few days of reading i ran across the concept of an API, which from what i gather is a small library of headers with built in drawing/blitting functions, and i started working with SDL tutorials. so after this huge, dragged out intro, i have a few questions. 1. is this the best logical progression? Programming Language->API Usage? if so, what is the next logical step? and what are some good API's for beginners, as well as some more powerful/advanced API's? i hear openGL being thrown around like its the greatest thing ever so i'm wondering if that would be considered a "professional" tool and that progression isn't the best way to go about it, what steps am i missing? 2. is knowledge of a programming language and an API enough to build a game? or are there some programs/libraries/etc... that i'm unaware of? 3. are there any tutorials for game programming from the ground up? explaining exactly what theorys go into game programming, because i worked on all of this for hours a day and then i go play a game and trying to make a connection between simple graphic placement/movement/collision detection/etc... and some modern games is just frusrating and mind boggling. thanks alot for the help, I appriciate it.

Share this post


Link to post
Share on other sites
Advertisement
oh and one last question, knowing that C is kind of a "mid level" programming language, is there any real need to learn higher level languages such as basic/java. and are there substancial benefeits to eventually delving into really low level stuff like assembly?

thanks again

Share this post


Link to post
Share on other sites

1. is this the best logical progression? Programming Language->API Usage?

If you're happy with classes/structs/functions then moving on to applying these would be fine.

I'd suggest maybe doing a game in Windows GDI and/or console first. Going to API programming without understanding writing Windows applications might cause problems later.

Most people consider GL to be easier to pick up than DirectX, so I would suggest that this is the best step to take after you've tried GDI/console.


2. is knowledge of a programming language and an API enough to build a game? or are there some programs/libraries/etc... that i'm unaware of?

Er, yes and no. To build a simple game all you need is API knowledge, knowledge of the language you're using and appreciation of basic 3d mathmatics. However this won't get you much farther than Pong or Space Invaders.

Once you want to start doing things like trying to animate objects, have cool graphical effects or have complex physics, you will need to start researching into these areas and looking at techniques.

Extra libraries...well there are a few such as DevIL that handles texture loading, or CEGUI that handles creating GUIs/HUDs, but I wouldn't worry about those till you need them. Come back and ask again once you're happy with GL/DirectX :)

3. are there any tutorials for game programming from the ground up? explaining exactly what theorys go into game programming, because i worked on all of this for hours a day and then i go play a game and trying to make a connection between simple graphic placement/movement/collision detection/etc... and some modern games is just frusrating and mind boggling.

What do you mean by the theories that go into games programming? This may be something you'll have to just wait and see. The game you see is the complete package, but once you break it down into physics system, graphics system etc it will become far easier to analyze and understand.

4.oh and one last question, knowing that C is kind of a "mid level" programming language, is there any real need to learn higher level languages such as basic/java. and are there substancial benefeits to eventually delving into really low level stuff like assembly?

I can't see a use for higher level languages at all for what you're doing, arguably as means of scripting but thats pretty esoteric.

Assembly can be useful if you want to write shaders, but beyond that theres not much point, generally you'll find that the libraries you're using will have been worked to be about as efficient as possible.


hope this helps.


Share this post


Link to post
Share on other sites
Quote:
Original post by godsenddeath
1. is this the best logical progression? Programming Language->API Usage?

if so, what is the next logical step? and what are some good API's for beginners, as well as some more powerful/advanced API's? i hear openGL being thrown around like its the greatest thing ever so i'm wondering if that would be considered a "professional" tool

and that progression isn't the best way to go about it, what steps am i missing?


As always, there are controversial opinions regarding how you should go about learning how to develop games. My opinion has always been that you should delve right into it and learn the necessary skills as you go. Of course there's nothing wrong with a little programming theory up front, but I don't think it's absolutely necessary. You'll definitely run into a lot of problems either way and that is when you learn the most.
So learning about APIs is a pretty good next step. What you should also pick up is design-/architectural patterns and OO-theory.


Quote:

2. is knowledge of a programming language and an API enough to build a game? or are there some programs/libraries/etc... that i'm unaware of?


Well, if the API of your choice is "just" a graphics API, you'll obviously have
to check other APIs if you want sound, networking, physics, etc.
Also, that's just the code-side of the equation. Obviously you'll need other tools for creating game assets.


Quote:

3. are there any tutorials for game programming from the ground up? explaining exactly what theorys go into game programming, because i worked on all of this for hours a day and then i go play a game and trying to make a connection between simple graphic placement/movement/collision detection/etc... and some modern games is just frusrating and mind boggling.


I doubt that any online tutorial could possibly capture a topic as complex as "game development from the ground up" although undoubtedly there are some tutorials that try to do just that. There's probably a whole bunch of good books on game development, but I can't recommend anything in particular...

Quote:

4. oh and one last question, knowing that C is kind of a "mid level" programming language, is there any real need to learn higher level languages such as basic/java. and are there substancial benefeits to eventually delving into really low level stuff like assembly?


If you know C++, I don't think you will benefit much from learning Java as the two languages at their cores are very similar. The same goes for Basic. Of course the C++/Basic comparison is a bit of a stretch, but both languages are imparative and object oriented (VB.NET is) which means if you ignore the syntax, the two languages are actually quite similar, too.
Assembly is a whole different story though. Knowing assembly is by no means necessary for writing games, but it gives you a really good understanding of how computers and high-level languages work. I'm convinced that knowing at least the basics of assembly will make you a better programmer.

Share this post


Link to post
Share on other sites
thanks alot, all of this helps tremendously, maybe one more question, does anybody know of any good resources for learning win32 GDI decelopment specificly?

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!