Skip to content

Gluon Decides on New Structure in Preparation for First Release

Tuesday, 20 April 2010  |  Leinir

Gluon empowers the creators of games and the players of games
Gluon empowers everybody: From the creators of games to the players of games, and back again

Those who have been following Gluon closely over the last months know that at the developer sprint in Munich in October 2009 the foundations were laid down for the Gluon vision. Put simply, Gluon provides a new way for game creators to make games and distribute them to the players of games. This was all written down in what is now The Gluon Vision on the Gluon wiki.

Those who have not been following it so closely may remember the technology preview which was released. This happened before the vision was created, and as such it contains the three libraries KCL, KGL and KAL, as well as the demo game Blok. Since then, a lot has changed:

  • The three libraries are now called GluonInput, GluonGraphics and GluonAudio.
  • Very heavy refactoring has happened to make GluonGraphics focus more on graphics, so that it no longer handles physics as well
  • GluonInput has essentially been rewritten from scratch, as it was at the time tied very tightly to evdev, a library which only exists on Linux/X11.
  • Blok has not yet been updated to the new code, and as such does not work in this alpha release. Rest assured, however, that this highly entertaining game will return, stronger and better ;)

The libraries are now in a soft freeze, and thus we release the first alpha: Version 0.70, codename "X-Ray". What this means is that any changes to the public API need to be done in a branch (or clone) of the Gluon repository, and not merged in until the changes have been discussed with the rest of the team. This is done to avoid Gluon becoming too much of a moving target. Note, however, that this is a soft freeze: We do not yet guarantee binary compatibility; that will not happen before 1.0. This style of development basically follows Qt's own model.

The first GluonEngine based game, Invaders, being edited in Gluon Creator
The first GluonEngine based game, Invaders, being edited in Gluon Creator

So, why the many changes?

The simple answer: The vision required it of us. To be able to support the vision of letting the makers of games push their games all the way to the players of games, we created a new library, GluonEngine. This is based around the concept that to allow people to create games, Gluon must reduce the amount of boiler plate work required of the makers of games to an absolute minimum. GluonEngine thus provides a system by which scenes are created by hierarchies of game objects, which are simply positions in the world, and which can be extended with new functionality by adding components to them.

To assist people in creating this without having to open a text editor and write the scenes by hand, the application Gluon Creator has been created. As seen in the screenshot above, the application is made up of a lot of dockable viewports, in the vein of Amarok 2's powerful Lego style interface layouting, with a default layout which it is hoped will work for most users.

The simple Gluon Player used to play Invaders
The simple Gluon Player being used to play Invaders

The game you see in the screenshot of Gluon Creator above is a simple Space Invaders clone, tentatively named Invaders. The game has been slowly developing over the duration of the last couple of months, and is the handiwork of Arjen "ahiemstra" Hiemstra from the Gluon team, who has been using it as a test bed for Creator itself.

Finally, the first, very simple Gluon Player application was created. There will be a Gluon Player for each supported platform. The first Gluon Player application simply loads up a GluonEngine based game, and starts the game. It was created in a very short period of time and in a total of 142 lines with copyright messages and everything, showing just how powerful GluonEngine system really is.

Where do we go from here?

The road ahead is clear: while GluonEngine and the three base libraries are already looking good, there is a multitude of functionality missing. So, the following is a round up of what will need to happen before the next release:

  • A proper editor viewport in Gluon Creator needs to be created, to allow for the more artistically inclined among us to position elements in the scenes. This is a vital element for Gluon Creator's success: If the visual artists are not able to work in the way they are used to, and forced to set values in the property view, Gluon Creator is unlikely to ever be used outside of the relatively narrow world of geeks.
  • Refactoring for GluonAudio and the GDL handling code needs doing. During the last few months, the code in these two systems have proven to be powerful, but slightly clunky to work with. As such, based on the experiences, some refactoring will need to be done.
  • GluonGraphics needs a proper system to handle materials and shaders, so as to allow for the connection of these items in a more pleasant manner than is currently the case.
  • Sandboxed Smoke based QtScript bindings for Gluon and Qt for the scriptable component, so as to allow the makers of games the use of the entire Qt API, but at the same time not simply give them the full API, which would include file access and network access. The reason this cannot be allowed is simple: The distribution method proposed for Gluon is based on a website of the same style as KDE-Look.org and such, and as such the scripting abilities need to be throttled in such a way as to not allow for simply accessing everything on the machines of the players of games.
  • Players. Not the physical kind, though players of games will, of course, be important to us, as much as makers. No, what this is, is the applications which will be used to fetch and play games on desktops and various mobile devices. A Plasma Widget for KDE SC 4's powerful Plasma desktop is in the planning stages, as is a client for Maemo. However, more are needed to cover the wide range of potential devices: MacOS X and Windows are not covered by the Plasma Widget, and neither is GNOME, even though otherwise capable of running GluonEngine based games. So: More Gluon Players!
  • Components. Lots and lots of components. The method by which the functionality of the game objects is extended, components, is such that while it is possible to write just about anything you can think of, Gluon should provide for all the base cases without the makers of games needing to write the same components over and over. So, amongst others, components for Physics are needed, whether based on Box2D or other libraries.

How can you help?

As you can tell from the section above, there is plenty of work to be done, and Gluon is by no means finished. As such, the Gluon team would like to invite you to drop by the Gluon IRC channel if you feel like you would like to help us with any of the points above.

Of course, you would likely wish to download this release as well. So, head on over to the Getting Gluon page and grab yourself a copy, while they're still warm!

Finishing Thoughts

The freedom of gamers as it is now is limited by the game industry's old fashioned insistence on limiting the distribution of games. Gluon aims at breaking this by providing both the makers of games and the players of games with a new platform for sharing the experience of playing games, and for providing feedback to each other - both in the form of comments and ratings, but also through a donation based payment system. So: There's a revolution coming where the freedom of gaming is at the center.

Comments:

Great Project - borker - 2010-04-22

Hi Gluons, firstly, congratz on all the work so far. Quick question: what types of games are likely targets for being gluon clients? Would it be useful for RTS or RPG type games, or is it mostly beneficial to arcade style gaming?

I am not a gluon dev but have - beer - 2010-04-23

I am not a gluon dev but have followed it a while. As far as I know has one target: 2d games. Target is not there yet. If (or maybe when) they fullfill the goal it should be possible to create both RTS and RPG type of games, but just in 2d

Hey, thanks! It's been hard, - leinir - 2010-04-24

Hey, thanks! It's been hard, but really good work so far :) As beer says, we're not aiming for any particular type of game, but are focusing on 2D for the time being. We may later branch into 3D (since the engine is entirely capable of handling it - the game world is 3D already, it's just the camera which is currently orthographic), but for now we are focusing on 2D so we don't have to worry about that part of it while we get the rest of the engine up and running as it should :) If you have any specific suggestions for making it easier to create certain types of games, please drop by the irc channel and we can take it from there :)

Sounds nice that you plan to - beer - 2010-04-26

Sounds nice that you plan to include 3d but I think it is a bid early for that

I would like someone could - Fri13 - 2010-04-26

I would like someone could make a nice looking building demolition / bridge building games. This is a newer version of old 2D DOS game. Made with Flash. 3D version of it would be even nicer! :-D http://www.physicsgames.net/game/Demolition_City.html I played the DOS game about 12 years ago (Win 98 just came out) and it was damn cool.

yes - sinemasever - 2010-04-30

I love to play <a href="http://www.yazarokur.com/sudoku/">sudoku</a> and <a href="http://www.yazarokur.com/sinema/">sinema</a>

I am not a gluon dev but have - linkslondon - 2010-05-07

I am not a gluon dev but have followed it a while. As far as I know has one target: 2d games. Target is not there yet. If (or maybe when) they fullfill the goal it should be possible to create both RTS and RPG type of games, but just in 2d <a href="http://www.edhardyone.com">Ed Hardy </a> <a href="http://www.uklondons.com">links of london</a>

Gluon - rockydutt - 2010-05-20

Gluon Creator has been created. As seen in the screenshot above, the application is made up of a lot of dockable viewports, in the vein of Amarok 2's powerful Lego style interface layouting, with a default layout which it is hoped will work for most users. <a href="http://www.hattoss.com/">Top Online Universities</a>