The image verification code you entered is incorrect.

Lazarus/FreePascal and Morabaraba

| |

This weekend, I decided that for far too long now I've been avoiding thinking about a GUI for AHEM (Adam's Happy Electronic Morabaraba). I recently nailed the stupid backs that were causing the AHEM engine to segfault when compiled under Cygwin, and so I now have a single codebase which will compile cleanly for Linux and for Windows. Of course it's just command-line and therefore not much fun to play with, so it needs a GUI. In the back of my mind, I've been worrying away at some constraints:

  • Same codebase must support Linux (at least KDE and Gnome) and Windows (and ideally MacOS X)
  • Should ideally have a nice, fluffy IDE and debugger to simplify the graphics stuff
  • Must easily be able to consume DLLs/SOs (so that the existing AHEM engine can be built into a library and used without changes to the engine)
  • Must not impose significant software dependencies (this is what ruled out .NET/Mono) which complicate installation
  • For preference, should not require me to learn (yet another) programming language
  • Should be reasonably stable and well-documented

To be honest, I have made a number of false starts, using Visual Studio.NET, Kylix/Delphi, KDevelop and various others - but always one of these constraints would bring me up short. And it's annoying, because the AHEM v0.4 engine is so much better than the old .NET 0.1 version, but I have to keep that one up for download as it's the only one with a usable GUI. Sigh.

Well, things have taken a turn for the better. This weekend I discovered Lazarus , a sort of Delphi-like IDE and class library built on the FreePascal compiler. Now it's been some years since I hacked Pascal/Delphi, but it seemed to come back quite quickly - and within a couple of hours I had something which can manage a not-too-unattractive graphical Morabaraba board. With a little more effort I managed to create an AHEM shared library and get this to have some limited conversation with the new GUI. So, life is good, and you should expect to see AHEM v0.5 with GUIs for Linux and Windows fairly soon - still with a single codebase!

What is more, the Indy component suite (originally for Delphi) is being/has been ported to Lazarus, which means that it should be quite straightforward to produce a version which can also act as a client to the Free Internet Morabaraba Server (forthcoming attraction, apologies for not blogging it yet). With these tools in place, computer Morabaraba will have reached some level of maturity, and hopefully other developers will face less of a mountainous task in getting involved - just building an engine is obviously much simpler than building an engine, a GUI, network components and all the rest!


Reply

  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <p> <br> <h1> <h2> <h3>
  • Lines and paragraphs break automatically.
  • You may use [acidfree:xx] tags to display acidfree videos or images inline.
  • Images can be added to this post.
More information about formatting options Captcha Image: you will need to recognize the text in it.
Please type in the letters/numbers that are shown in the image above.