November 9, 2010 by openbytes
They say be careful what you wish for…
On a previous TechBytes show, we were having a discussion about the one Windows binary that we would want a native Linux version of. I had decided to put aside the traditional request of Photoshop and made mention of a software package that I had seen on Windows, which has rather a large following that allows simple game creation. I noted at the time that looking at the package (Gamemaker) it appeared that the facility to realize your gaming idea’s without having to delve into months of learning a language are what seemed to be the “selling point” of the package and also appeared to be very popular with its community.
I believed that a Gamemaker type program would be beneficial to the Linux platform and that currently there was nothing similar to its drag and drop style game creation on Linux. I was wrong. I was very wrong.
A listener to the TechBytes show (Tez) kindly sent me a link to GameEditor which after looking at turns out to be everything I mentioned previously and much more. I’ll give you the views of someone who has now been looking at it for about two days. I’d like you to keep in mind though that I cannot possibly go through all the features that GameEditor has to offer and I would hope if simple cross-platform game development appeals to you that you go and take a look yourself.
The name GameEditor doesn’t give any clues to the scope of usage you can get from this package, there are many “Game editors” but most of these are simply a game that allows you to modify sprites and change the sound. GameEditor 1.4.0 is so much more. Released under the GPLv3, you are free to produce whatever you want (providing you also release your works under the GPLv3) if you want a comercial license then there is a fee to pay, which is fair enough.
GameEditor (GE) is offered as a generic binary for Linux and after unpacking it to the directory of your choice, giving it executable permission, you are off and running. The download is approximately 30 meg, so it’s not going to take you long to have it up and running.
GameEditor works off an ethos that doesn’t expect people to be coding elite in order to make software. With that in mind though, it offers a scripting language where even more power can be brought from the software. At its simplest level GE provides a drag and drop type interface where sprites can be placed, instructed to act on a keypress and with a click of a button graphics/sound and all other manner of events can be added to your games.
For the more seasoned programmer, GE has a script language which allows C code to be incorporated to further extend the results achieved from GE and harness its power.
Whilst all these features make GE a very useful package, it has another surprise under its belt, cross-platform deployment. Obviously at a src level you are going to be able to run software on any platform GE has been developed for, but GE also allows you to create binaries as Windows executables, Mac OS X, Pocket PC, (Linux obviously!) and means to export to the iPhone and iPad . Impressive? I’d say so.
Whats also impressive are the media file formats supported, with all the regulars in there – jpg, png, bmp, gif, ogg, mp3 (and many more) whats also surprising is support for the mod and s3m formats too.
GE is not a compiled language. From what I can tell it uses a runtime which your code is attached to. This produces a single file that whilst will be larger than a standard compiled language (like for like) does mean that it simplifies the deployment, which I would assume would be good news for a new Linux developer who may be slightly baffled with deployment issues/implications.
On tests of a few basic creations (and some examples from the website) performance is as would be expected. I think todays machines are very capable of running the software created with GE and whilst your imagination is the only limit to your 2d, I believe you can be rest assured that you won’t find your creation too taxing for any PC released in the last few years.
I can’t say GE is just what Linux needed (like its just been released), because its been around for a long time and it was my own ignorance of it that caused me to ask the question on the TechBytes show. Now that I have discovered it (thanks to a kind listener) I am very excited by this project. I’ve had a chance over the years to look at many projects aimed at people who have had little coding experience and maybe want to spend more time being creative than learning a language. GE allows for this “instant creativity” and next time someone with no coding experience says to me “I want to make a game” blissfully ignorant of the potential complexities of doing such a task, I can refer them to GameEditor.
The fact that GE allows deployment to other platforms makes it a very viable choice to many others too. Whilst file sizes may be larger than those you would create with a “traditional language” is that really an issue these days? I suggest not and the time saving creating a project with GE added with its cross-platform feature will, in my opinion negate any such concern if for example its a 2d game you wish to create. For those who feel that creating a game by defining events through menus is beneath them, the script language which allows incorporation of C code can let them be as “l337″ as they please. 
I would like to think that this package is more aimed toward the amateur developer/bedroom coder. Whilst there is no reason you cannot produce professional results with it, I think it’s the ability to dive straight into being creative will be the “selling point” for many.
For a quick look (in a promotional video way) of features and results of GE:
You can visit the homepage of GameEditor here.
 Said in jest of course, but I wanted to emphasize that GameEditor is not just for the absolute beginner or coding baffled.
 I have been unable to fully test all the numerous deployment options on their relevant platforms.
You can also contact me on Skype: tim.openbytes
If you are new to this blog (or have not yet read it) please take time to view the OpenBytes statement, here.