gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

Coding > Game Engine

#175822 - brave_orakio - Tue Feb 15, 2011 3:51 am

So how does one make a game engine? I've built a level editor and a sprite drawer(Both of which I continually update), but I have no idea on how to make a game engine.

Where does one start if one were to start making a game engine for gba/ds and maybe soon after release a 3ds?
_________________
help me

#175823 - headspin - Tue Feb 15, 2011 3:55 am

Game engines can take forever to finish. It's probably best to create a new game project and then work on the engine in the process of making a game. That way you don't end up never finishing a game engine, instead you will have a game with a re-usable engine for another game.
_________________
Warhawk DS | Manic Miner: The Lost Levels | The Detective Game

#175824 - Dwedit - Tue Feb 15, 2011 4:51 am

I have the opposite problem, make the engine, never make the game :)
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."

#175825 - brave_orakio - Tue Feb 15, 2011 5:55 am

Quote:
I have the opposite problem, make the engine, never make the game :)


Hahahaha!

Quote:
Game engines can take forever to finish. It's probably best to create a new game project and then work on the engine in the process of making a game. That way you don't end up never finishing a game engine, instead you will have a game with a re-usable engine for another game.


I see. But then, I don't even know what a game engine looks like.

I thought before that a game engine is some sort of GUI where in you can put stuff here and there and then run the game(Essentially a level builder where you can run the game immediately after building your level so you can test it).

I guess I asked cause I've not seen a game engine for the GBA or DS around here and thought maybe I could build one. Anyway thanks for the advice! I should probably concentrate more on my tools in the meantime.
_________________
help me

#175826 - sverx - Tue Feb 15, 2011 10:01 am

brave_orakio wrote:
I thought before that a game engine is some sort of GUI where in you can put stuff here and there and then run the game


It could also have NO GUI. Actually the 'engine' is the set of functions that -given the proper input (graphics, configuration, scripts[!])- make the expected behavior happen. But it could be started as a very small set of basic functions and then expanded as you need it.

#175830 - gauauu - Tue Feb 15, 2011 3:52 pm

I would just do what headspin suggested. Design your game, and make it work. But the whole time you are designing, be thinking:

If I wanted to make another similar game with different graphics, maps, scripts, characters, etc, what choices do I need to make now to ensure that that will be as easy as possible with this same code?

When you finish, you will (hopefully, if you designed well enough), have a clear line between your game engine and the game-specific assets/scripts.

#175833 - brave_orakio - Wed Feb 16, 2011 1:34 am

I see. So a game engine can be a library of more advanced functions other than the basic library.

Like say, how one would implement the display of the background or how one would implement some of the graphical effects, game events, etc.
_________________
help me

#175835 - gauauu - Wed Feb 16, 2011 3:48 pm

Yes, although often it can be more like a framework than just a library, in that in a library, your app has full control, and just calls the library.

In a framework, the framework often handles the "main loop" and calls out to your code.

#175842 - brave_orakio - Fri Feb 18, 2011 2:05 am

I see. No more manually creating a while loop and just hope that the stuff you make the device do can be handled by the device. That makes things easier for development alright, but that does sound a little complicated to develop
_________________
help me