Using a Game Engine vs Writing One Yourself
Hi there. I’ve built three “what I call” games over the past few years, and wanted to share my experiences with both using an existing game engine and writing one yourself.
Both of those can be, I think, classified as Game Engines. Definitely PyGame. Not sure what Flash is doing these days.
For Ballikin, I had to create the Game Engine myself.
What do you mean?
An example is, say, that I wanted to put lots of different sprites onto the screen. So I had to write the code to:
1. Load the image (making sure it existed, and that it was okay).
2. Put the image into the memory buffer of the draw tool, and store the reference somewhere.
3. Write code to retrieve the image when needed, resize it, alpha blend it.
4. Write the code to draw the image, in the right order (depending on the what / where of the object), to the screen.
5. And lets not forget good old dealloc (although it’s not that in Clarion), the clearing of the memory buffers.
That’s just the images. Similar tasks had to be done for the loading / saving of game data, the creation / life / death of game objects (Player, Mobs, Items, Blocks), the hud, and other segments of the game.
Writing the game engine was a very cool experience, even though I made a metric tonne of mistakes, poor decisions and questionable code.
Recently I was fortunate enough to get the Standard version of GameMaker for free, and then upgrade to the Professional version for not much more than free.
I’ve been spending a few nights coding away on Space Office Fight 3.
And let me tell you, using an existing (good) game engine eases my heart!
So much of the fiddly time-consuming code is not my problem anymore.
GameMaker has you doing a lot of stuff in code, which I really like. I love coding. But it also does automatically a lot of the management that I had to write myself when making Ballikin.
I know it’s good to have an understanding of most everything. And some brains can handle that. Mine can’t. I’m definitely of the “just get it done” movement. I’m not a super brain, I can’t use machine code to do cool things, and I’m definitely not into writing my own 3d game engines just for fun.
If you are a game developer wanting a challenge, come up with a simple game and try writing the engine that runs the game yourself. Maybe in C++, or C#, or Delphi, or even if you are one of the rare breed like myself, use Clarion!
But if you are okay not knowing how the engine works (just that it does), then give something like GameMaker a try!