Results 1 to 3 of 3

Thread: MinGRo game engine

  1. #1

    MinGRo game engine

    Initially I was reluctant to make it public, but after some time talking about it on GDR I decided to give it to the world. Let me copy from the GDR thread:

    After finishing Green Onions - The I Ching Saga I realize I did a big mistake: I worked in the game engine at the same time than in the game itself. Now I have an unfinished ugly game engine that uses an old library and a game filled with patches and workarounds because the engine doesn't work as expected.

    For my next game I decided not to start until I have a complete engine. Actually I was looking for one. I tested Unity, Game Maker and some less famous ones (Castle Game Engine, Tilengine...) but I didn't find something I like. All those game engines are cool and you can do great games, of course, but I don't feel comfortable with them as they look too much modern for me. I feel the need of an old-school game engine. I think I'm getting old.
    So, after some months working on it I have a not-yet-complete old-school game engine with:
    • A stage based game loop, much like a finite state machine. Actually inspired by Delphi/Lazarus' application libraries.
    • Component based stuff. You need something? Extend the component base class, add it to the game application object and you can use it when you need it.
    • An event manager. Quite proud of this part. Didn't plan to add it but things are quite simpler since I added it.
    • Configuration file and command line options parser. It is extensible (i.e. define new commando options) and parses some common ones.
    • A quite flexible hardware accelerated sprite engine. Despite the "hardware accelerated" part I think I can optimize it a lot.
    • A tile based map engine. It also uses the hardware accelerated capabilities of your computer, but I think I can optimize it too.
    • A simple maze generator. It generates RAW data (i.e. can't use it directly in the tile map) but I think it adds some flexibility.
    • Arcade user input (keyboard only ATM). Arcade means one 8 direction stick with several action buttons.
    • A general purpose Finite State Machine. This was one of the few things I did correctly in my previous engine, but I didn't use it in Green Onions. Blame me. I deserve it.
    • A general purpose message subsystem. Needs more testing and I'm not sure it works or it is useful.
    • Semi-complex bitmap resource manager. Actually it's quite simple but it is the key to use the hardware accelerated sprite and tiles.
    • IFF file support. Did I say it's an old-school engine, didn't I?
    • An old school map editor.
    • One command-line simple tool to extract and build tileset bitmaps.

    A lot of the inners are inspired by Ken Silverman's Build engine and Diana Gruber's Action Arcade Adventure Set.

    The engine isn't yet finished: it lacks joystick input, the GUI needs more work, needs a lot of optimizations... but I'm tempted to release an alpha package. May be when I write a simple example game. Anyway you can take a look here.
    No signature provided yet.

  2. #2
    Thanks to Trello I was able to do a better planning of what's pending. Last changes added the joystick input, better keyboard and mouse input, improvements in the map editor and several bugfixes. Next image shows the map editor as it is right now:


    The bad thing is that I really dislike the GUI system I designed. It really sucks. Also it is confusing for the user (even myself!). Before to release the first Alpha and start with a game I'll write a new GUI from scratch, may be using Allegro 4 GUI as reference.
    No signature provided yet.

  3. #3
    This week I worked mostly on the GUI and it is finished. May be not complete, but it works and includes most of the stuff I need to build game configuration menus. Right now it can be managed by keyboard and mouse. Default GUI style is minimalistic but can be changed easily just extending the TmngDialogStyle class and assigning such object to the dialog property.

    This is how a small dialog looks in the map editor:
    No signature provided yet.


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts