Jump to content

  • Log In with Google      Sign In   
  • Create Account

Awesome job so far everyone! Please give us your feedback on how our article efforts are going. We still need more finished articles for our May contest theme: Remake the Classics

Game Programming Dilemma.


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
20 replies to this topic

#1 Alkerak   Members   -  Reputation: 105

Like
0Likes
Like

Posted 10 September 2012 - 05:32 AM

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?

Ad:

#2 Ashaman73   Members   -  Reputation: 4604

Like
2Likes
Like

Posted 10 September 2012 - 05:56 AM

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 Posted Image

#3 Alkerak   Members   -  Reputation: 105

Like
0Likes
Like

Posted 10 September 2012 - 06:15 AM

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

#4 Alkerak   Members   -  Reputation: 105

Like
0Likes
Like

Posted 10 September 2012 - 06:39 AM


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 Posted Image


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

#5 Sollum   Members   -  Reputation: 364

Like
0Likes
Like

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 Alkerak   Members   -  Reputation: 105

Like
0Likes
Like

Posted 10 September 2012 - 07:38 AM

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?

#7 SimonForsman   Members   -  Reputation: 3697

Like
0Likes
Like

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)
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!

#8 Alkerak   Members   -  Reputation: 105

Like
0Likes
Like

Posted 10 September 2012 - 08:08 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.

#9 SimonForsman   Members   -  Reputation: 3697

Like
0Likes
Like

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.

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!

#10 frob   Moderators   -  Reputation: 7619

Like
0Likes
Like

Posted 10 September 2012 - 08:22 AM

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.

#11 Alkerak   Members   -  Reputation: 105

Like
0Likes
Like

Posted 10 September 2012 - 08:30 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.

#12 SimonForsman   Members   -  Reputation: 3697

Like
1Likes
Like

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.
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!

#13 Alkerak   Members   -  Reputation: 105

Like
0Likes
Like

Posted 10 September 2012 - 09:10 AM

What do you think of this program?

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 Thaer89   Members   -  Reputation: 123

Like
0Likes
Like

Posted 10 September 2012 - 10:42 AM

Hi, 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.

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 tutorial

#15 Alkerak   Members   -  Reputation: 105

Like
0Likes
Like

Posted 10 September 2012 - 10:47 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.

#16 SimonForsman   Members   -  Reputation: 3697

Like
0Likes
Like

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 ?
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!

#17 Alkerak   Members   -  Reputation: 105

Like
0Likes
Like

Posted 10 September 2012 - 11:09 AM

Well, i'll stick with Unity for now. I presume successful games have been made with Unity Free.

#18 6677   Members   -  Reputation: 1050

Like
0Likes
Like

Posted 10 September 2012 - 03:14 PM

Isn't Unity $$$?

Its free, has a pro version available but your even allowed the free version in commercial projects.

C# and XNA looks good, non mac though, but no problem. I wonder if any sellable games were made with XNA.

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.

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).

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.

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.


Unity is a good choice though

#19 Suspense   Members   -  Reputation: 446

Like
0Likes
Like

Posted 10 September 2012 - 05:24 PM

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.

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.

#20 AmGame   Members   -  Reputation: 104

Like
0Likes
Like

Posted 11 September 2012 - 03:50 AM

Well, while you can just learn programming and start small with tiny games and then progress uphill; this might not be the best, most-timely and most-enlightening approach. If games programming is what you want to do, study games programming.
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.




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS