Stu Andrews

There is a ME all LIFE and LIGHT

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.

The first game, Space Office Fight 1, was built in PyGame.

The second game, Space Office Fight 2, was built using Flash (not sure what version, maybe CS4).

Both of those can be, I think, classified as Game Engines. Definitely PyGame. Not sure what Flash is doing these days.

The third game, Ballikin, was built with a development tool for building software (Clarion), and a 3rdParty drawing tool (Capesoft Draw).

For Ballikin, I had to create the Game Engine myself.

image

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.

image

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.

image

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.

image

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!

So. Exciting news. Here’s a first look at Space Office Fight 3!
Mmmm, pretty stars :)

So. Exciting news. Here’s a first look at Space Office Fight 3!

Mmmm, pretty stars :)

Ballikin no more, Investigating Twine ..

.. And Construct2, Stencil and maybe Unity.

It’s been a while. 

But now the creative juices for making something “not work” are returning.

As is very obvious, Ballikin development has stopped. For the forseeable future. Bit sad. But there it is.

Am keen to see what Twine (http://twinery.org/) can do. Story telling and game development. Without worrying about graphics! Huzzah.

Ballikin, What’s Next?

Am thinking about Bows and Arrows. Skills (like Dual Wield and Multishot). Resistances and Damage (Cold, Fire, Poison). Other projectile attacks (ie Spells, or Boulders from a Jotun!). What think thee?

Alpha 49 Build Notes

Character Window
* (Update) “Bad Snails” added to the Harmed and Killed totals on the screen.
* (Fix) Trying to “Equip” (double-click on) Bricks or other equippable blocks wasn’t working.

Player Select
* (Change) Health and Level values moved into the…

View Post

Tonight working on Mob Ages (Young, Adult and Elder). To begin with, won’t be a huge thing, mostly just affect max health, experience given and item drops.

Alpha 48 Build Notes

Game Start
* (Change) On loading a Player/World, all “keyboard shortcut” tips are shown.
* (Change) Create buttons on Player and World windows are default, so you can click the enter key when typing in the name and it will auto-click the create button.
*…

View Post