Game Programming Dilemma.
#1 Members - Reputation: 105
Posted 10 September 2012 - 05:32 AM
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?
#2 Members - Reputation: 4604
Posted 10 September 2012 - 05:56 AM
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 witIf 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.
My game: Gnoblins
Developer journal about Gnoblins
Small goodies: Simple alpha transparency in deferred shader
#4 Members - Reputation: 105
Posted 10 September 2012 - 06:39 AM
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
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 for games will surely teach you that. Sadly nothing like that is in my country.
#5 Members - Reputation: 364
Posted 10 September 2012 - 07:29 AM
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.
#6 Members - Reputation: 105
Posted 10 September 2012 - 07:38 AM
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?
#7 Members - Reputation: 3697
Posted 10 September 2012 - 07:54 AM
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)
The voices in my head may not be real, but they have some good ideas!
#9 Members - Reputation: 3697
Posted 10 September 2012 - 08:20 AM
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)
Edited by SimonForsman, 10 September 2012 - 08:23 AM.
The voices in my head may not be real, but they have some good ideas!
#10 Moderators - Reputation: 7619
Posted 10 September 2012 - 08:22 AM
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.For example I want to generate textures, or planets, or terrain ... you don't get this with a programming course.
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.
#11 Members - Reputation: 105
Posted 10 September 2012 - 08:30 AM
I am going to ask though, since you made me curious, what algorithms we would be using.
#12 Members - Reputation: 3697
Posted 10 September 2012 - 08:35 AM
Well, I study Computer Science for Economics. I dont know if we would study binary trees, kD-trees and so forth. We have Algorithms and Data Structures but I am not there yet. I presume we will study something, sadly the algorithm and data structure class is done in Pascal or Basic. So probably a waste of time since it's not C++ or some other useable language.
I am going to ask though, since you made me curious, what algorithms we would be using.
The language is irrelevant really, the concepts transfer between languages without any problems.
The voices in my head may not be real, but they have some good ideas!
#13 Members - Reputation: 105
Posted 10 September 2012 - 09:10 AM
http://www.gameprogramming.org
I applied but it seems that they did not responded. Wish they posted their lectures for free. The C++ stuff and Nokia QT looks great.
#14 Members - Reputation: 123
Posted 10 September 2012 - 10:42 AM
I think you could start learn Unity ,C# with XNA or python with pygame all of them is easy to learn and good community and tutorialHi, I'm just joining and I want to get into game development. I, like many of you, I assume, have been wanting to get into game development for a long time. I am already a developer (Oracle PL/ SQL) I have plenty of experience with C++, Java, and V.NET. My problem is I really don't know where to start with game development. Can someone give me some advice on what tools you used when you started? What is a good free IDE /compiler to use. Where can I find some good beginner tutorials? Thanks in advance to anyone that can help me out.
#15 Members - Reputation: 105
Posted 10 September 2012 - 10:47 AM
And I don't have the 1500$ to shell it out to get all the nice stuff.
C# and XNA looks good, non mac though, but no problem. I wonder if any sellable games were made with XNA.
#16 Members - Reputation: 3697
Posted 10 September 2012 - 10:57 AM
Well, I am starting with the Free Version of Unity but it's rather limited.
And I don't have the 1500$ to shell it out to get all the nice stuff.
C# and XNA looks good, non mac though, but no problem. I wonder if any sellable games were made with XNA.
Terraria and Magicka were both made with XNA IIRC ?
The voices in my head may not be real, but they have some good ideas!
#18 Members - Reputation: 1050
Posted 10 September 2012 - 03:14 PM
Its free, has a pro version available but your even allowed the free version in commercial projects.Isn't Unity $$$?
Monogame is near identical to XNA, it uses C# running on mono instead of .net so works on mac, windows and linux. Terraria and bastion where both made with XNA, bastion has since been compiled under mono with monogame too.C# and XNA looks good, non mac though, but no problem. I wonder if any sellable games were made with XNA.
Nokia QT is not for making games, its in fact a horrible choice for games, QT is slow, it was made for displaying windows on your screen not for animating graphics (and trust me, manipulating GUI's to make an application that needs proper 2d drawing does not end well).
AI is covered on some british computer science courses but its not video game related AI. THe things your asking for aren't going to be covered on any university course so unless your country censors the internet and stops books being sold then you have similar resources to us. Infact you actually being taught computer science at all means your probably in a better position than most.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.
Unity is a good choice though
#19 Members - Reputation: 446
Posted 10 September 2012 - 05:24 PM
Many quality games have been made with XNA (Terraria being one of my favorites ever). MonoGame is an open source implementation of the XNA framework built on Mono and OpenGL for cross-platform functionality. It's still early in development, but it appears to have a decent community. You could get pretty far just using XNA, then try MonoGame when you're ready to port to another platform.Well, I am starting with the Free Version of Unity but it's rather limited.
And I don't have the 1500$ to shell it out to get all the nice stuff.
C# and XNA looks good, non mac though, but no problem. I wonder if any sellable games were made with XNA.
#20 Members - Reputation: 104
Posted 11 September 2012 - 03:50 AM
Sadly, there are no programming courses in your country so you need to start thinking abroad, if so you can. Well, you could go for one of the most reputable, and industry-recognizable, Games Programming School...the Media Design School in Auckland, NZ. They have an outstanding 3-year software engineering (games development) program that incorporates students from all over the world.






