Importance of an 'engine' in a basic game.

Member
Posts: 40
Joined: 2004.12
Post: #1
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!

Jericho
Quote this message in a reply
Member
Posts: 370
Joined: 2002.04
Post: #2
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?
Quote this message in a reply
Member
Posts: 86
Joined: 2005.01
Post: #3
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.
Quote this message in a reply
Member
Posts: 131
Joined: 2004.10
Post: #4
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.
Quote this message in a reply
DoG
Moderator
Posts: 869
Joined: 2003.01
Post: #5
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.
Quote this message in a reply
Luminary
Posts: 5,143
Joined: 2002.04
Post: #6
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.
Quote this message in a reply
Member
Posts: 40
Joined: 2004.12
Post: #7
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!

Jericho
Quote this message in a reply
Member
Posts: 110
Joined: 2002.07
Post: #8
OneSadCookie Wrote:Write a game, not an engine, or you'll never finish.

Write a game, not an engine, or you'll never finish.
Love thankx OSC to say the truth, i love you Love
Cry dont make mistake and hard code thing for simple games Cry
Quote this message in a reply
DoG
Moderator
Posts: 869
Joined: 2003.01
Post: #9
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!)
Quote this message in a reply
⌘-R in Chief
Posts: 1,252
Joined: 2002.05
Post: #10
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...
Quote this message in a reply
Member
Posts: 110
Joined: 2002.07
Post: #11
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
Quote this message in a reply
Member
Posts: 86
Joined: 2005.01
Post: #12
I find writing the engine to be a lot more fun than putting together the content.
Quote this message in a reply
⌘-R in Chief
Posts: 1,252
Joined: 2002.05
Post: #13
I love writing tools for developers. More than end user applications. It's definitely a much more difficult crowd to sell to though!
Quote this message in a reply
Member
Posts: 86
Joined: 2005.01
Post: #14
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.
Quote this message in a reply
Post Reply 

Possibly Related Threads...
Thread: Author Replies: Views: Last Post
  Install "Torque Game Engine Advanced" Problem mahdavi 1 3,929 May 25, 2009 11:48 AM
Last Post: SethWillits
  TrueBones Animations in Game Engine mrbones 0 2,970 Mar 29, 2008 12:22 AM
Last Post: mrbones
  2-D game engine Chris _h 9 7,075 Mar 8, 2007 01:08 AM
Last Post: nich
  Adventure game engine? sippan 33 15,539 Nov 13, 2006 03:04 PM
Last Post: Steven
  Blender Game engine snickrep 5 4,889 May 19, 2003 03:20 PM
Last Post: stevejohnson