Game Programming Dilemma.

Started by
19 comments, last by Sergiu Bogdan Mohaci 11 years, 7 months ago
Hi

I am about 30 and trying to learn as much as possible about game programming. During my University degree I am studying Computer Science for Economics. Sadly there are no programming courses in my country.
It is not possible to learn from books all there is to it right? If I run into a problem like generating a ... a dungeon for example and some 2D terrain, or even AI, this things cannot be completely grasped from books.

Any solutions to my dilemma?
Advertisement

If I run into a problem like generating a ... a dungeon for example and some 2D terrain, or even AI, this things cannot be completely grasped from books.

A programming course does not teach you that either. Best to learn a programming language first and then start making small games. For special issues ask around in forums like this one, use your big coding buddy or your own wit smile.png
Well, I am torn between C++ && SDL && OpenGL || C# with Unity.
What is your take on this?

[quote name='Alkerak' timestamp='1347276769' post='4978533']
If I run into a problem like generating a ... a dungeon for example and some 2D terrain, or even AI, this things cannot be completely grasped from books.

A programming course does not teach you that either. Best to learn a programming language first and then start making small games. For special issues ask around in forums like this one, use your big coding buddy or your own wit smile.png
[/quote]

A programming course for games will surely teach you that. Sadly nothing like that is in my country.

Well, I am torn between C++ && SDL && OpenGL || C# with Unity.
What is your take on this?


Isn't Unity $$$?

C++ is good, but from my own expierience it eats way to much time on small things.
Since i dont write stuff like Quake 4 or GTA4, Java is enough for me.

Try out LWJGL! +Java will help you with fast portability to Android platform.
Unity also has a more limited free version (mainly in shader area).
There's also the paid Pro version and the no so payed Carribean Pro Version.
For education purposes all work equally well I guess.

Do you guys followed a game programming course of some kind?

Do you guys followed a game programming course of some kind?


Not really, game programming is just like any other programming, the only big difference between games and other applications is that games are driven by the game loop (check for input, update state, output state to user) rather than sitting idle until an event is recieved like most other applications, if you know how to program you can make games.

Just start small and take it step by step. (I always recommend starting with a pong clone since it is about as simple as a game can be)
[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!
I already did a pong clone.
Trouble is with algorithms.
For example I want to generate textures, or planets, or terrain ... you don't get this with a programming course.
Not even AI. These are the holes I am trying to cover.

I already did a pong clone.
Trouble is with algorithms.
For example I want to generate textures, or planets, or terrain ... you don't get this with a programming course.
Not even AI. These are the holes I am trying to cover.


If you mean procedural generation then its really just math, lots and lots of math (Fractals and random noise can be very useful for this), (You can use google to find various ways of generating for example terrain). (When it comes to procedural generation there are no right or wrong ways to do things, it all depends on what result you are after)
If you're talking about loading and rendering art assets you can look into OpenGL or Direct3D (or any game engine),

AI is an extremely broad subject (The AI for a game of chess is very different from the AI you'd want for enemies in a first person shooter), finding the best possible move is easy if you have enough computing power to analyse all possible outcomes, getting a FPS enemy to act realistically is pretty darn difficult (Most games use very simple rules for enemy AI and tweak the hell out of things to hide the stupidity of the system).
http://www.amazon.com/Programming-Game-Example-Mat-Buckland/dp/1556220782 is a pretty good book imo.

If you want to know how others have solved a problem in the past you can use google, (Just keep in mind that there are almost as many solutions as there are games, there is very rarely a single best solution to a problem)
[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

For example I want to generate textures, or planets, or terrain ... you don't get this with a programming course.

Planets, and terrains are generally not taught in most University courses in the US either. However, they do teach algorithms and data structures that are required for such things.

The graphics programming and AI programming is generally offered only to a limited extent at most Universities, but is more common at research schools with advanced degrees on those subjects.


For your program of study, I'm guessing they cover data structures like binary trees, kD-trees, and so forth, which are what you will use for storage. They probably also teach about divide-and-conquer algorithms, and teach applications of it such as quicksort. You can use both of them together to build massive terrains and even planets if you like.

They probably also teach you about state machines; these are the core of most game AI systems. You start in a state (idle), and have multiple transitions available and choose one based on your own rules (if HP<30% run away, if HP>50% run toward, if can hit then attack, if being attacked then defend, ...).

Once you understand the basics of algorithms and data structures, use your favorite search engine to search for the specific topic, and figure out how to apply your knowledge to them.

This topic is closed to new replies.

Advertisement