About Gluon
The Gluon project is an open framework for creating and distributing games - supporting the flow of the idea all the way from the author to the player of the finished game. Our current goal for our first stable release is to create games using 2D graphics. The reasoning behind this is that the niche for this type of visual is very large and so far untapped by specialized tools. In the world of 3D games, there are solutions such as Unity3D, which provide a distribution system, but in the 2D game development world there are no tools to provide a complete eco system for both the creation, distribution and feedback gathering.
To read on about this, please continue on to The Gluon Vision.
A Short History of Gluon
About Us

The Gluon team is made up of a number of people with a passion for games, and specifically a passion for making it easier for everybody to make and play them. We thought that you might want to see them, and as such, this page contains a list of the members of the team who feel closely enough connected with the project to be listed here. In essence, this is an elaboration on the Authors file from the source code, combined with a list of non-programming members of the team, such as documentation writers, graphics artists and so on.
Meet the Team
Add yourselves, guys! :)
A member of the Gluon team since the summer of 2009, Casper did the initial porting of Gluon to Windows.
Keywords: Windows, animation, CG
Favorite game: KSquares
email: casper dot vandonderen ad gmail dot com
freenode irc nick: cvandonderen

A member of the Gluon team since the summer of 2009, leinir designed the GluonEngine system, which he and Arjen then implemented. Outside of Gluon, he is currently finishing up his master's thesis at Aalborg University, where he and two other developers are working on a game AI system based on the behavior tree concept, named SMARTS, which is being integrated into Gluon as well.
Keywords: amarok, usability, furry, gay, music, beer.
Favorite game: Same Game
email: admin ad leinir dot dk
freenode irc nick: leinir
A member of the Gluon team since the Fall of 2009, Kim and Sacha implemented GluonInput and Kim is making Gluon compile on Mac. Outside of Gluon, he is currently looking for a job in the game industry while working as a programmer for hire.
Keywords: Mac, AI, input
Favorite game: Plays a lot of games
email: jungnissen ad gmail dot com
freenode irc nick: Adopta
The oldest member of the Gluon project. He starts alone 2 years ago to create a game library for KDE called KGLEngine... After meeting some people during Akademy 2009, he creates the GLUON project. KGL,KAL,KCL, 3 libraries which manage graphics, audio and input become main components of GluonLib
Sacha is French, he speaks very little english... and he is a medical student.... So, this guy is very strange... He speaks in third person :)
Keywords: Graphics, Audio, Input
Favorite game: 2D funny games is better than 3d bad games!
email: istdasklar AT gmail POINT com
freenode irc nick: DrIDK
The graphist of gluon!
Keywords: Zombie, blood
Favorite game: kill games and flower games
email:
freenode irc nick: it-s
Member of the Gluon team since September 2009, He started working together with Dan Leinir Turthra Jensen on what was to become the Gluon Engine code during the October sprint. The engine testing program he wrote for it grew to become Gluon Creator. Together with leinir he then set off to complete the base of the Engine code as well as the Creator. Outside of Gluon he works part-time as a programmer for the Dutch "Accessibility Foundation" and is one of the current leaders of the Heimr community.
Keywords: Game Programmer, Metalhead, Roleplayer
Favorite game: A tie between Baldur's Gate 2 and Tiberian Sun
email: ahiemstra at heimr d.o.t nl
freenode irc nick: ahiemstra
Glued to the Gluon project during Google Summer of Code 2010, Shantanu started working on the library for Gluon Player, which will later be used to create players on different platforms. He continues to develop the library, while simultaneously playing Invaders :)
Keywords: player, plasma, ui design
Favorite game: Xonotic
email: contact at shantanutushar dut com
freenode irc nick: Shaan7
Contact
To contact the Gluon team, there are several options:
- #Gluon on Freenode
- The primary course of interaction between the team members is the IRC channel, which you can connect to simply by clicking on the above link (if you have an IRC client set up to accept the link), or by connecting to the chat.freenode.net server, port 6667, and entering the channel #gluon
- The Mailing List
- The secondary point of contact for the team is the mailing list, which you subscribe to by sending an email to gluon-request@kde.org with the subject "subscribe". If you wish to see what has already been sent there, the archives can be found at https://mail.kde.org/mailman/listinfo/gluon
- The Forum
- Finally, we have a forum, hosted graciously by the KDE Forums, which is frequented by many KDE enthusiasts and soon, we hope, by Gluon enthusiasts who may be encountering KDE for the first time.
- Microblog Identi.ca
- You can follow us by subscribing to our group over on Identi.ca. If you're not on Identi.ca, most of the posts, there are forwarded to twitter on hashtag gluon as well.
- Facebook
- Gluon's Facebook page.
Reporting Bugs
Should you wish to report any bugs, please use the KDE bug tracker to report bugs to us. To do so, open up any KDE program, click Help and Report Bug... and select the Gluon application in the drop-down list. When you click Launch Bug Report Wizard you will be taken to the appropriate page for reporting bugs.
If you do not wish to do this for whatever reason, or lack the possibility of doing so, please go directly to our Bug Tracker and report the bugs through there. This is, in fact, the same site as the above method provides, but the dialogue will take you past the initial steps of providing information about version and software package.
Roadmap
Planned Features for Alpha 3: Gluon 0.72.0 (Alpha Particle) (In Development)
(Blockers block the release of this Alpha, Non-blockers do not but are nice to have.)
Core
Blockers:
- GluonObject Dependency Graph - Track dependencies between objects, like Components using Assets.
- Support serializing lists properly - Make it possible to store properties that are lists of objects.
Audio
Blockers:
- Initial Playlist support - Create lists of sounds and play them sequentially or in random order.
- Start using ffmpeg for decoding - One single dependency for audio decoding making it far more manageable.
Non-blockers:
- Last bits of cleanup - Audio will no longer depend directly on libsndfile, instead all will be handled by alure or ffmpeg.
- Advanced Playlist features - Script-based track advancement and others.
- Channels - Create channels that have a single-volume level for a set of sounds, like "Effects" and "Music".
Graphics
Blockers:
- General Performance Improvements - More intelligent rendering code should improve the performance.
- Cleanup - Some bits of API are not fully implemented yet and need to be updated.
- Context Management - Manually managing the OpenGL contexts means we can support rendering to multiple contexts.
- Particle Systems support
Non-blockers:
- Render to Texture - Already supported to some degree, fully implement support for it.
- Mesh Loading - Make it possible to load meshes from files.
Input
Blockers:
- Abstract Input Actions - Create actions that are independent of input device and can be remapped to use different devices.
Non-blockers:
- XInput2 backend - Use XInput2 to gain access to all devices and events from those devices.
Engine
Blockers:
- Scene loading process - Use the dependency graph to load all the necessary assets before starting the scene.
- Prefabs - Use a (collection of) GameObject(s) as an asset that can be reused.
- Physics Engine integration - Use an engine like Bullet and create a set of components that integrate it into Gluon.
- Asset Mimetypes - Determine what type of data is supplied by assets and make it possible to filter based on that data.
Non-blockers:
- Statistics and Achievement - Season of KDE project, implement a statistic tracking and achievement system.
- SMARTS Behaviour Trees - Summer of Code project, integrate the SMARTS behavior tree system into Gluon.
- Profile Support - Select which assets and other things to use based on device parameters.
Players
Creator
- Smoke*based QtScript bindings
- Scene*global scripts
Also see the todo page for features currently being implemented.
Planned Features for Gluon 1.0 (In Development)
GamingFreedom
- Up/Download Games with versioning
- Rate, comment games
- Up/Download assets
- Achievements
Creator
- Create/Save/Publish projects
- Download and Edit projects
- Edit/Play view, play in the editor
- Undo/Redo
- Docs (!)
- Project & Scene management
- Edit object properties
- Debug/Release mode
- Run on *nix, mac, win
Player
- Runs on *nix, mac, win, maemo, (other mobile platforms?)
- View, Download and play games
- Play without logging in
- Rate and comment from within the app
- Achievements, Donations, Highscores
- Sharing screenshots
- Rating screenshots
- Direct messages
Engine
- Object hierarchy consisting of components that may reference assets
- Asset objects that represent some piece of game data
- Integrated scripting through QtScript
- Modern game loop implementation (Fixed update, variable frame rate)
- Project objects that allow creation of games without compiling
Graphics
- Object-based rendering engine
- Fully fixed-function free rendering pipeline
- Complex shader-based material system
- Advanced post-processing effect support
- Extensive node-based material and effects editor available through Gluon Creator
Audio
- Full 3d positional audio support
- Streaming audio support using many audio formats
- Playlist support for background music with different track change triggers
- Dynamic background music generation
Input
- Multiple mice support
- Designed for game use
- Abstracts the native input system of the platform
Core
- Full*text declarative language to describe object structures
- Extend QVariant to remember the old object type when setting new values
- Extensible, modular object framework
Planned Features for Gluon 1.1
GamingFreedom
- Highscores
- Leaderboards
- Friendly stuff
- Recommend to friends & stuff
Creator
- Git versioning support
- Asset packages (Asset bundles from Unity)
- Tags for GluonObjects (for search, filter, findChildrenByTag...)
Audio
Planned Features for Post Gluon 1.1
- Realtime communication and everythhing
Screenshots
Gluon Creator
Gluon Player
The Gluon Vision

The Gluon project is an open framework for creating and distributing games - supporting the flow of the idea all the way from the author to the player of the finished game. The primary use of Gluon is to create games using 2D graphics. The reasoning behind this is that the niche for this type of visual is very large and so far untapped by specialised tools. In the world of 3D games there are solutions such as Unity3D, which provide a distribution system, but in the 2D game development world, there are no tools to provide a complete eco system for both the creation, distribution and feedback gathering.
Target Audience
The three main audiences of Gluon are game creators, game players and application programmers. Each of these are a user of one of the tools. The application programmers are a side-effect of the openness of the framework, but one which is no less important for that: A vibrant open source community is created from openness, not restrictions.
The Tools
To achieve the goals of the vision, a number of tools are devised to support each part of the distribution flow. Specifically Gluon Creator, Gluon Player and the underlying libraries.
Gluon Creator
Gluon Creator is the tool used by the game authors to bring their visions to life. It is a one-stop tool which allows the creative minds of the team to work together on their project, and allows them to finally publish it to anywhere the Gluon Player runs. It leverages the following technologies to achieve its goal:
- The Qt Framework
Qt is a cross-platform application framework written in C++ that allows great flexibility in creating new applications.
- The KDE Developer Platform
The KDE Developer Platform is a cross platform application development framework based on Qt which allows Gluon Creator to run across several desktop platforms with a little effort, while allowing the application to blend in with the native environment.
- Open Collaboration Services
(of which OpenDesktop.org is one implementation) is a set of technologies which allows for publishing and getting new items of information - including components, comments on the game, and many others.
The Distribution Site
The corner stone of the Gluon distribution system is called GamingFreedom.org and is a website which provides a wide range of functionality for both the creators of games and the players of games, and is based on the Open Collaboration Services mentioned above.
- Avatars
Simple as it seems, user avatars on community websites supply an important way of identifying friends: Humans are much faster at identifying shapes and colours than they are at identifying words, and as such a user avatar provides a straight forward way of doing this.
- Achievements
A relatively recent development in the world of gaming is that of achievements: The idea that in various games, there are other goals than those set down by the normal flow of the game, basically providing an extra game within the game. This concept is known as achievements. Each game will have any number of achievements, and most games publish information on how to achieve each achievement in more or less vague ways, but always the number of achievements in the game is public. As such, the players of games are then able to show their achievements. Gaming Freedom itself provides, in addition to the in-game achievements, a way of gaining achievements for the community itself (such as publishing a number of highly rated games, posting a number of highly rated comments, performing a lot of tagging and others).
- Discussions
To allow both the players and creators of games to speak and discuss with each other, every item on the website can be commented on: Games, players, creators, even other comments.
- Concepts
However simple it might be to create games with Gluon, it will still require skills that not everybody has. As such, Gaming Freedom provides a forum for people to write up and discuss ideas for games they might wish to create.
- Friends
One of the core concepts of community websites is that of adding people to a friends list. However, rather than having a flat, Facebook-like structure of everybody simply being friends, Gaming Freedom will let you structure your friends by adding tags to them - same as any other piece of information, except you are the only tagger for your friends.
- Player Profile
The profile of any player of games on Gaming Freedom provides a wide range of information on that player: What games they have played and how much, what Achievements they have gained, what comments they have made. For creators of games it also includes which games they have published.
- Ratings
Some people may be less vocal than others, but still wish to take part in the community in other ways - or simply wish to show their support or dislike of something in a non-vocal manner, rather than saying again the same things others have already said in a comment. So, they are then allowed to rate on each item on the website as well.
- Tags
The term tagging in Web 2.0 covers two different concepts: Broad and narrow folksonomies. A narrow folksonomy is the type of tagging applied on anonymous websites, where the tagging is based on a word being connected to an item of information. A broad folksonomy is used on sites which require logging in to allow tagging, and connects the user, the word and the item of information, so that the applicability of a word to an item can be weighted on how many users have assigned that word to the item. Gaming Freedom, as a community website, employs broad folksonomies, except for the friends page mentioned above, which only employs narrow folksonomies.
Gluon Player
The Player is the application used by the players of games to both play the games, but also communicate with each other and share information about the games. It is a way for them to enjoy Gluon based games, and to share their enjoyment with their peers.
Most important is, however, that Gluon Player is available in a number of flavours. While Gluon Creator is a desktop application, designed to be used on platforms designed to be used for content creation, the Gluon Player will run both on desktop platforms, as well as a number of content consumption platforms. In the infographic above is shown a number of icons around the Gluon Player icon: Windows, Linux (KDE, GNOME, XFCE and more), MacOS X, Maemo and more. In other words, Gluon Player will look native on all these platforms, and while it will support the same use cases, the way these use cases are reached is different between the platforms, due to their different form factors:
- Mobile platforms
...such as the Symbian^3 and MeeGo Harmattan based mobile phones with OpenGL ES support, as well as Android and others. These are essentially the lowest possible target for Gluon based games. They have very low screen resolution, and have only a simply digital joystick for navigation, and a few keys, if any, for extra input. The client for this class of devices is based on Qt only, and components requiring KDE technologies can be added conditionally.
- Tablet platforms
...such as the MeeGo platform and Android. They often have a touch screen, and often no hardware keyboard or keypad. The client for this class of devices is based on Qt only, but components requiring KDE technologies may be shipped with the client, but can also be added conditionally.
- Desktop and netbook platforms
...are together here, and mark the highest level of targets for Gluon based games. These have full OpenGL support, and any number of inputs. This class of devices often have much more space available for applications, and the KDE platform is thus available for development of the client itself.
The reason the KDE platform is only used for the desktop client is simple: the KDE platform is not yet universally available on all Qt platforms. Once that is the case, the KDE platform dependency can be introduced on the two other platform classes.
The Libraries
In the vision is stated that Gluon is an open framework. Because of this, it is important to note that while the main method of creating games using Gluon is to use Gluon Creator, it may not be the best solution for everybody. As such - any library created for Gluon is of course also free and usable by anyone directly through normal C++ code. GluonGraphics, GluonInput and GluonAudio are all available as separate libraries without being bound directly to Gluon itself or even each other.
- GluonGraphics
...is a modern graphics rendering library based on OpenGL and OpenGL ES. It is built completely around the modern programmable pipeline and enhances the core OpenGL functionality with additional tools like easy shader management and creation through an advanced materials system, mesh and texture loading and more.
- GluonInput
...abstracts away the tedious management of input on the many different platforms that Qt runs on. While Qt's own input system is sufficient for most traditional desktop applications, it is not capable of support many different devices at the same time. GluonInput provides device-independent actions for game programmers to work with as well as elements that allow simpler input on touch screen devices.
- GluonAudio
...provides a high level library based on OpenAL that can be used for positional audio and playing background music. It provides tools for loading and streaming audio files, creating advanced dynamic playlists for playing background music that responds to in-game events, configurable playback channels for different volume levels, and more.
- GluonSmarts
...is a state of the art game AI system based on the Behavior Tree concept. It provides both tooling and libraries for implementing this in any game engine, and of course includes components and assets for use with GluonEngine based games.
Licensing Explained
The license for all the items in Gluon itself (that is, GluonCore, GluonGraphics, GluonInput, GluonAudio, Gluon Creator and the various Gluon Player applications) is the GNU Lesser General Public License, version 2+ (LGPLv2+).
Game Licenses?
While the Gluon libraries and such are licensed under the license mentioned above, your options for licenses for your games vary depending on how you create them.
Games Based On Gluon GameProject
This type of game is a collection of assets distributed without compiling. They are the types of games created using Gluon Creator. Since these are entirely separate entities, and in licensing terms akin to a word processor document, or a movie file, the license options available for this type of game are as wide as for those:
You can choose any license you wish.
Games Distributed Through The Gluon Distribution System
This is our recommended method of game creation and distribution. This type of game is the same as above, except for an important difference: They are furthermore, uploaded to the Gluon distribution system, either manually or through the Publish functionality in Gluon Creator. These games are available to all users of the various Gluon Player applications.
For this type of game, you are free to choose any OSI approved license, however we strongly encourage the use of one of the Creative Commons licenses. Please use the Creative Commons license picker to choose the license most appropriate for you: http://creativecommons.org/choose/
Other Games
Other games are those using the libraries directly - an example of this is the Gluon team's own Blok game. These games can be licensed with any LGPLv2+ compatible license.