Importance of an 'engine' in a basic game.
I am in the beginning stages of making a side scroller shooter using OpenGL and SDL, with OpenAL for sound, and I am asking the more experienced developers here as to whether I should start from scratch and make a decently advanced engine for the game - something akin to what is developed in the Enginutiy series on gamdev.net, or if a simpler engine would be sufficient. I have a design in mind similar to the old Contra series, but with a few added features. It would be a score-driven level-based game; not too complex, but something that looks nice and is fun to play.
Thanks for the advice!
Thanks for the advice!
Jericho
How experienced with programming are you? Obviously, using someone else's engine will reduce the code that you have to write, but it may not fit your needs entirely...
Did you ever wonder why we had to run for shelter when the promise of a brave new world unfurled beneath the clear blue sky?
Hey, a little bit of reusability goes a long way for your next project. I have a big folder of stuff on my file server of algorithms and other functionality that I've developed over the years, and one of these days I should solidify it into an engine.
Even if you don't plan for reusability it would be an excelent idea to modularise the heck out of the game. Meaning, keep sections of the game isolated from other sections. This will help keep things organized in your head and prevent parts of the code viralling to other parts of the code. So if there is a bug to be fixed, it will only be in one place and not many.
It's often difficult to see what you will need and often you'll over work an idea putting in many more features and options than you really need. Simplify as much as you can. Don't worry about speed or efficiency, that will be done later. First get a program that works. If the program is properly modularized it will be easy to see where the bottle necks are and to improve them. Don't bother optimizing until you reach this point as bottlenecks can end up being in places you do not expect.
It's often difficult to see what you will need and often you'll over work an idea putting in many more features and options than you really need. Simplify as much as you can. Don't worry about speed or efficiency, that will be done later. First get a program that works. If the program is properly modularized it will be easy to see where the bottle necks are and to improve them. Don't bother optimizing until you reach this point as bottlenecks can end up being in places you do not expect.
Keep in mind that a game engine and game framework are different things. A game engine is typically a tightly coupled system, where each parts depends on the other parts, whereas a game framework typically consists of different standalone modules. It is worthwhile trying to create a game framework, so that one does not have to reinvent the wheel with every project.
Create one game, then think about the engine. Once you are done, and want to make a similar game, you can extract the game engine by refactoring the original game and picking out parts that you need, which you can then generalise into a game engine for use in other projects, also. But, typically, a game engine has very specific functionality. Also, if you haven't made a similar game as what you want to make, yet, you will have a very hard time figuring out what to put into the game engine.
Create one game, then think about the engine. Once you are done, and want to make a similar game, you can extract the game engine by refactoring the original game and picking out parts that you need, which you can then generalise into a game engine for use in other projects, also. But, typically, a game engine has very specific functionality. Also, if you haven't made a similar game as what you want to make, yet, you will have a very hard time figuring out what to put into the game engine.
heed DoG!!!!
Write a game, not an engine, or you'll never finish.
An Engine is not something you write, it's the code you discover you can share between two similar games.
Write a game, not an engine, or you'll never finish.
An Engine is not something you write, it's the code you discover you can share between two similar games.
Very good advice, all!
Thanks for the pointers; I hope to have something to show in the near future produced between my sleeping and working hours!
Thanks for the pointers; I hope to have something to show in the near future produced between my sleeping and working hours!
Jericho
OneSadCookie Wrote:Write a game, not an engine, or you'll never finish.
Write a game, not an engine, or you'll never finish.
thankx OSC to say the truth, i love you
dont make mistake and hard code thing for simple games
OneSadCookie Wrote:heed DoG!!!!
Write a game, not an engine, or you'll never finish.
An Engine is not something you write, it's the code you discover you can share between two similar games.
I am the best counterexample to writing game engines myself, too. Oh well. I will prove myself wrong, one day, by actually finishing a game. Maybe. The possibility exists.
(Ah, who am I kidding!)
Best use of font size and color. Cheers!
I think the bigger half to finishing a game is actually liking it enough. I always get bored...
I think the bigger half to finishing a game is actually liking it enough. I always get bored...
FreakSoftware Wrote:Best use of font size and color. Cheers!
I think the bigger half to finishing a game is actually liking it enough. I always get bored...
the thing it to not spend 8 month on a pong game becoz you are making a complex engine for it
I find writing the engine to be a lot more fun than putting together the content.
I love writing tools for developers. More than end user applications. It's definitely a much more difficult crowd to sell to though!
FreakSoftware Wrote:I love writing tools for developers. More than end user applications. It's definitely a much more difficult crowd to sell to though!
That it certainly is; developers usually roll their own stuff, which is why I prefer just to hand out my utilities in free MIT-licensed source snippets.
Possibly Related Threads...
| Thread: | Author | Replies: | Views: | Last Post | |
| Install "Torque Game Engine Advanced" Problem | mahdavi | 1 | 3,490 |
May 25, 2009 11:48 AM Last Post: SethWillits |
|
| TrueBones Animations in Game Engine | mrbones | 0 | 2,650 |
Mar 29, 2008 12:22 AM Last Post: mrbones |
|
| 2-D game engine | Chris _h | 9 | 6,423 |
Mar 8, 2007 01:08 AM Last Post: nich |
|
| Adventure game engine? | sippan | 33 | 14,264 |
Nov 13, 2006 03:04 PM Last Post: Steven |
|
| Blender Game engine | snickrep | 5 | 4,532 |
May 19, 2003 03:20 PM Last Post: stevejohnson |
|

