When you decide you want to be a game programmer, and your right at the beginning... where do you start?
Maybe thinking, if I buy a complete engine already out there, im going to get my game out quicker (with less experience?)
The other option being learning how to write a full engine yourself first.
Being experienced enough to write your own engine, would take possibly 5-10 years of continual learning!
You need to know direct x+win32 or open gl, for starters.
An engine doesnt necessarily include a full 6dof map maker, and thats another place where you can opt to not learn something.
Because your engine is complete, you just make your map in 3dsmax for example.
But it can include one... and if you do that it means you must learn geometry creation tools also.. So that would lean you towards 3d modelling, and that will take you another part of your life to learn.
And at the end - you are now good enough to write a full professional engine on your own - maybe including geometry creating... but note - you still havent even finished a game yet.
My question is... do you really think youll be able to finish a game by buying someone elses engine without experience anyway?
And all this tool knowledge is so important for you to learn, and a quick fix into game programming doesnt exist!
engine programming
Started by rouncer, Sep 14 2007 02:10 AM
4 replies to this topic
#1
Posted 14 September 2007 - 02:10 AM
#2
Posted 14 September 2007 - 05:09 AM
You need to program on your own in order to understand what a game engine does. Most people think that game "engines" will make the game for them. This rarely happens.
Start off with a strong language. C++. Buy some books on it, or look at some tutorials. Do some Console based stuff so you know HOW PROGRAMMING WORKS. Work with classes and experiment with some things. Work with this for a few weeks, then read on...
Ok, now it's graphics time. Windows programming is a joke, so try SDL. It's important that you program console first so you get to know your compiler and how to organize your programs. Otherwise you will be lost when trying graphics.
Get a basic game down. Most don't know how important it is to create a simple game to see how game design all fits together. You would certainly not work on the next Boeing aircraft if you've never designed any other plane, would you? Would you build the next International Space station if you've never worked on any sort of Engineering feat in your life? Of course not.
It's not something that you can just throw time and energy at to happen. Eventually this will happen, but not now. You need to learn how to walk first, and get your bearings.
So my advice to you is....
Make a breakout clone. Sounds easy right? Most people say it's easy and never do it. If it's so easy, just spend a week on it and GET IT DONE. You will realize how gamestates work and you will work out some of the kinks that most people need to experience in order to program.
After you know how to program breakout, then try some 3D stuff. It's hard I know, but when moving onto DirectX/OpenGL you will understand the complexity of 3D games.
This is what you need. An understanding on what THE ENGINE is doing for you. Just going out and buying an engine will have no effect at all on your overall game. You need to understand exactly why it's helping you, and how you can save time buy using one.
Engines take out the need to re-invent the wheel with things that every game needs (sound, ability to blit images to the screen, etc.). However, if you don't know what the wheel is doing for you, what good is it?
I hope that explains it.
Bottom line: Spend some time learning a decent language (c++, Java). Do some console stuff first, then some 2D graphics stuff. Once you've made some sort of clone of an old game, you'll know you're ready for the next step. Try some 3D programming with DriectX and OpenGL. Once you understand how annoying these API's are, then go for the engine. You'll thank me someday.
-Gardon
Start off with a strong language. C++. Buy some books on it, or look at some tutorials. Do some Console based stuff so you know HOW PROGRAMMING WORKS. Work with classes and experiment with some things. Work with this for a few weeks, then read on...
Ok, now it's graphics time. Windows programming is a joke, so try SDL. It's important that you program console first so you get to know your compiler and how to organize your programs. Otherwise you will be lost when trying graphics.
Get a basic game down. Most don't know how important it is to create a simple game to see how game design all fits together. You would certainly not work on the next Boeing aircraft if you've never designed any other plane, would you? Would you build the next International Space station if you've never worked on any sort of Engineering feat in your life? Of course not.
It's not something that you can just throw time and energy at to happen. Eventually this will happen, but not now. You need to learn how to walk first, and get your bearings.
So my advice to you is....
Make a breakout clone. Sounds easy right? Most people say it's easy and never do it. If it's so easy, just spend a week on it and GET IT DONE. You will realize how gamestates work and you will work out some of the kinks that most people need to experience in order to program.
After you know how to program breakout, then try some 3D stuff. It's hard I know, but when moving onto DirectX/OpenGL you will understand the complexity of 3D games.
This is what you need. An understanding on what THE ENGINE is doing for you. Just going out and buying an engine will have no effect at all on your overall game. You need to understand exactly why it's helping you, and how you can save time buy using one.
Engines take out the need to re-invent the wheel with things that every game needs (sound, ability to blit images to the screen, etc.). However, if you don't know what the wheel is doing for you, what good is it?
I hope that explains it.
Bottom line: Spend some time learning a decent language (c++, Java). Do some console stuff first, then some 2D graphics stuff. Once you've made some sort of clone of an old game, you'll know you're ready for the next step. Try some 3D programming with DriectX and OpenGL. Once you understand how annoying these API's are, then go for the engine. You'll thank me someday.
-Gardon
#3
Posted 14 September 2007 - 07:26 AM
thanks alot!
#4
Posted 14 September 2007 - 07:31 AM
rouncer said:
My question is... do you really think youll be able to finish a game by buying someone elses engine without experience anyway?
Video game making is a team work, which each member having his own specialty: programming is one, netcode is one, art is one, sound is one, game design is one, and many others. Among programmers there are people specialized in the development of engines and libraries. And generally these are not amongst the least experienced.
So my advice would be that if you would like to be a game programmer, you first have to decide for yourself what you actually like to do in programming : high level or low-level programming, sound management, IA, and such ? And the only way you can decide about that is to start programming and learning from all possible sources, reading and comprehending.
If your specific interest is game-engine building, I would recommend not be too demanding on yourself and start by some basics like displaying and moving a 2D sprite on the screen. There you would have accomplished something already, learned something already: memory management RAM -VRAM, pointers, in short how the machine you spend your time on works, which is to me essential if you want to develop a game engine.
So definitely, if you want to build a whole game:
1- you can develop your own game engine, which would require that you spend several years R&D
2- you can buy a game-engine, but you will need programming skills anyway
3- in any case, if someone makes you believe you can develop a game just by buying a miracle sandbox solution and add time and ideas to it, without being required to add programming skills on your side, just run as far as you can
I've got a whole carrier in video games programming, and what I find rather odd is today's fashion of making people believe they only need powerful "design", "ideas" to make a good game. Just don't buy the idea, it's not gonna work, and you would simply have wasted your money.
My 2cts.
#5
Posted 07 October 2007 - 12:02 AM
I'm making a 3D FPS engine, and I'm making video tutorials showing how you can following along to make your own. If you are interested check out my site.
3D OpenGL, C++ Game Development Video Tutorials @
www.marek-knows.com
www.marek-knows.com
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users












