How to create a video game?

Tsmit42

Newcomer
I know this might be a frequently asked question, but I would really like to learn everything about make a game using C# and Managed DirectX. I was wondering if there was a series of “goodâ€￾ books that would take someone without any knowledge in programming and teach them everything they need to make a 3d video game. I’m talking about how to write the engine, animations, modeling, networking, interface, audio, and every other thing that goes into making a 3d video game.

While I would like the books to be gears toward C# and Managed DirectX, general knowledge books not geared toward any particular platform could help. If there are no books on this, could you suggest how I could go about learning these things in another way? It could be classes, websites, articles, or anything that could help me out. Thanks in advance.

BTW, I do have some programming experience and been messing with C# lately. So books on how to create varibles and such is not that important.
 
There's more to making games than just programming. Think about these questions:

Are you sure you want to be a programmer?
Making even a relatively simple 3d game takes months if not years. Have you got the time? What about money?
Do you have a talented group or do you just want to make a small game by yourself, who does music, sound effects, levels, textures, art, etc?

my advice is, take small steps. Try maybe making a level or two to some already existing games, it really helps your future game design...
next try to make a mod for some relatively new game. After that you can start making plans for your own game. Good luck!
 
Mendel said:
There's more to making games than just programming. Think about these questions:

Are you sure you want to be a programmer?
Making even a relatively simple 3d game takes months if not years. Have you got the time? What about money?
Do you have a talented group or do you just want to make a small game by yourself, who does music, sound effects, levels, textures, art, etc?

my advice is, take small steps. Try maybe making a level or two to some already existing games, it really helps your future game design...
next try to make a mod for some relatively new game. After that you can start making plans for your own game. Good luck!

Yes, I'm pretty much 100% sure I want to be a game programmer. The other questions you asked me is what I'm looking for. I need to know what exactly goes into making a complete game, and how to do all of those things. I know I can't do them all, especially the art/modelling, but if I know how everything work I could know who to get to help me.

I really just want to make the engine and the general game design, so that would be my part in it all. Music, sound effects, textures, maps and stuff is not really a prioreity right now, just learning how to make a 3d game engine in Managed DirectX. So a if someone could reference a book that is great in advanced c# that would what I would need first. Then reference a book in Managed DirectX, then one in general game design, that would be great to start me off.

I have tons of time, espeically this summer while I'm out of school. I know what it's like to stay up long hour programming. I'm writing a complete CMS and Message board that rivals the best ones out there, and that is all by myself.
 
Ok, at least you seem determined and know what you want to do.

First step should be to design precisely what kind of game you want to do. I strongly suggest (should you decide to skip the "let's make a mod to an existing game first" - phase) the first game should be something relatively simple, maybe 3d version of some traditional game like pong or space invaders for example. This way the project might be doable in few months instead of years and you can use the experience gained in your REAL game project later.

Traditional mistake would be to start making something "like quake but better" -If 3drealms and Valve have hard time finishing 3d shooter in less than 10 years, imagine how long it would take you to start it from scratch :)

Don't go feature crazy in first project! First think about features that you want, then pick amongst them a list of features that you absolutely need... then scrap 90% of them and you're close to what you can probably actually do within reasonable time :)

God I hate it when glorious game project grinds into halt just because the programmer is obsessed with making that nice, but unneccessary bumpmapping technique work just a bit better... for months!


After the design phase...Starting at making the engine (graphics- , input- a lot later sound- ,maybe physics...) is a logical next step. Try to make the game somewhat playable quite soon instead of hammering your head with some feature that doesn't work. You will probably not need proper art for a while. Use placeholders: If you can start 3d modelling program, make a cube or ball, save and import it to your engine, you will be fine. Same kinds of philosophy applies to textures and sound as well.

I'm not sure books are exactly the right way to go... look for tutorials in the net and if you got problems, try to figure out if you need to fix them or not and then ask around in forums or irc. There are people willing to help.

That's about as much help as I can offer, after having not been able to finish several game projects myself :)
 
You mention you have some programming experience allready, how much?

It is important to know the fundamentals of programming before specializing into something in particular. Creation of variables etc is merely the specifics of a language. You need to understand some key data structures and algorithms which will turn up again and again in your chosen projects. Understanding things like linked lists and trees are vital if you want to be able to understand some of the things which will be talked about at gamasutra etc . So find a good book on Data structures and algorithms (I beleive the one I used at university was simply called Data Structures and algorithms, published by Prentice Hall).

A game engine basically consists of updating a game world in response to user input and presenting that game world to the user in some way.

So the basic steps that any game has to do are.
Get user input. (Mouse movement, clicking, typing commands etc)
Update world with response to user behaviour and any game AI. (Player has moved, bullet has moved forward 1 tick, enemy AI decide to turn/shoot)
Render game world and present to user. (Text description, 2d drawing, 3d drawing, sound).

As a simple game to start with which can have all these aspects without being too complex, why not try to write a 3d Tic-Tac-Toe(Noughts and Crosses) game? You can then start simple, say represent to board with text until it plays well then replace the text presentation with 2d/3d.

Just my thoughts,
CC
 
Mendel said:
There's more to making games than just programming. Think about these questions:

Are you sure you want to be a programmer?
Making even a relatively simple 3d game takes months if not years. Have you got the time? What about money?
Do you have a talented group or do you just want to make a small game by yourself, who does music, sound effects, levels, textures, art, etc?

my advice is, take small steps. Try maybe making a level or two to some already existing games, it really helps your future game design...
next try to make a mod for some relatively new game. After that you can start making plans for your own game. Good luck!

to be a succesful programmer, you need to think like this man...logically. :)
 
Try making something like this:
http://members.optusnet.com.au/ksaho/silly/game.zip

:LOL:

That isn't really a game, I just wanted to write some thinking AI and test the steps it uses. I decided to quickly turn it into something stupid the moment the idea hit my head.

Managed DirectX in C# is actually quite easy to use and set up.
Documentation isn't complete but I'm sure you can get lots of help if you need any.
 
Captain Chickenpants said:
So find a good book on Data structures and algorithms (I beleive the one I used at university was simply called Data Structures and algorithms, published by Prentice Hall).
I can recommend "Introduction to algorithms", by Corman et.al., MIT press.

It´s a big one, but has become quite invaluable for me.

As for my personal advice, don't start out with your own engine, it'll prove impossible, and you migth loose your entusiasm early, because things don't work out. Try modding, its doable, yet challenging...

Good luck :D
 
Colourless said:
to be a succesful games programmer, you've got to be a little insane :D

Considering the average work hours per week at some companies... you're absolutely right!
 
sorak said:
Captain Chickenpants said:
So find a good book on Data structures and algorithms (I beleive the one I used at university was simply called Data Structures and algorithms, published by Prentice Hall).
I can recommend "Introduction to algorithms", by Corman et.al., MIT press.

It´s a big one, but has become quite invaluable for me.

As for my personal advice, don't start out with your own engine, it'll prove impossible, and you migth loose your entusiasm early, because things don't work out. Try modding, its doable, yet challenging...

Good luck :D

Of course I won't start programming a game engine. I know it takes small steps, I was just wondering what path should I take to make programming a game engine the final goal.

Thanks for the links and the books, they all was a big help. Their isn't much info about managed directx yet :(.
 
Games

I have a similar interests in understanding more about game programming. I'd like to learn one thing at a time, like starting with building a graphics engine. I've done programming in C++, C, Java, Assembly, and I've studied data structures and algorithms for those structures. I have also studied linear algebra and calculus, including differential equations. So I feel I have the knowledge to learn the basics. I just bought a book on managed C++. Are there any games that use the .NET framework? Is the game industry moving in that direction?

Anyway, I'm interested in a good book on OpenGL or DirectX9 to start with. Maybe build a simple program that renders a shape, textures it and applies some simple effects. Is there a "holy bible" of OpenGL or DirectX programming?

I'm not really hardcore into becoming a game designer as a profession, but I'm an avid gamer and would like to understand more of the underlying technology, since I already understand the basics of programming.
 
Tsmit42 said:
Of course I won't start programming a game engine. I know it takes small steps, I was just wondering what path should I take to make programming a game engine the final goal.

Pardon me the offtopic, but this just brought up my memory about a Monty Python joke... You know the one where there is this guy that does Chartered accountancy or somesuchthing and who enthusiastically wants to become a lion tamer. He even has his own hat! Well anyways, after some discussion he decides to take small steps towards lion taming from chartered accountancy... like through banking! :D ;D
 
How to create a video game

Hello.
Can you help me in taking first steps of creating video games.
Can you tell what program do I need to use and stuffs like that.
I have plenty of time and I want to use , so I would be greatful if someone can help me.
You can message me on striko0@net.hr

Thanks
 
Last edited by a moderator:
Back
Top