What is Gluon? Gluon is a way of creating and playing games, and for players and makers of games to get together and talk about their shared interest. Use the powerful Gluon Creator to build the games, interact with other makers and players of games on the GamingFreedom.org network site, and play them on any of the many supported platforms with one of the Gluon Player applications. To learn more, read about The Gluon Vision.

Planet Gluon

Getting back to FOSS contributions

Laszlo Papp - Thu, 01/05/2012 - 21:52
Hi,

Unfortunately, I have been busy recently with a couple of serious real life issues. Yeah, our life is not always an easy-peasy cakewalk; we sometimes think it is getting very grim. I was traveling back to Hungary about three weeks ago when I got the news my dear father had deceased after a stroke. It was two years ago, when I last saw him, but I still clearly recall his activities. What a great person, he will be extremely missed.

It was not an easy situation, Christmas and New Year's Eve for us, especially for my mother who has spent 46 years with my father in this material life. I have tried to take care of my mother mentally and financially as much as possible. As for me, it was much simpler to accept the fact than I thought even though I loved him a lot. I prayed a lot for his soul during this period, especially during the funeral to reach the most appropriate position ever. I have a good poem for the situation that I would like to share (probably a good candidate for my pall when I reach my "end"):

For the soul there is neither birth nor death at any time. He has not come into being, does not come into being, and will not come into being. He is unborn, eternal, ever-existing and primeval. He is not slain when the body is slain.

- Bhaktivedanta VedaBase: Bhagavad-gita As It Is 2.20

Unfortunately it took an effect on my leisure time FOSS contribution and I had to withdraw my mentorship help of the Google Code-In session. Thanks to Lydia for helping me with that. I also had to withdraw my help from the KDE and Qt5 contributions that I previously discussed with David Faure. I am really sorry for those, again.

The good news is that, I am now entirely back to Helsinki and can concentrate on amending the time spilling regarding these activities. I have also been organizing a Qt MeetUp [1] in Helsinki next week. It is also a sort of KDE 4.8. release party. Hope to see some of you there.

I would like to wish a happy new year for you with a lot of FOSS acitivities. :)

[1] http://www.meetup.com/QtEverywhere/Helsinki-FI/533242/?a=bn5_l1#946032
Categories: Planet Gluon

KDE Mobile and Gluon reports

Laszlo Papp - Thu, 12/01/2011 - 12:50
Hey hey :)

As you may have already known: I have taken a subtle hint at the end of my previous blog post about the "KDE Mobile on Harmattan sprint". I would now like to show what has been happening. I will be much shorter this time than usual. =)


KDE Mobile on Harmattan sprint

The KDE Harmattan sprint has really been an amazing event for me in my life. Very impressive to see people caring about KDE on handset platforms, like this shiny N9 and Harmattan. You can read our wikipage about the issues we realized in advance and discussed thoroughly at the sprint:
http://community.kde.org/KDE_Mobile/Harmattan


Social event with the KDE e.V. 2011 sprint participants

You can find a more detailed story about the sprint on the following page:
http://dot.kde.org/2011/11/30/kde-harmattan-sprint-makes-advances-mobile-space


Gluon Player for Harmattan

I have also worked on Gluon a bit at the sprint, and also later as a post-sprint
activity in my leisure time. I am really thankful for the help and feedback I
was able to get from the people about the sprint, but as well as about the
Harmattan Gluon Player. Here you can find some screenshots of the current state:

 Game List Page


Game Details Page

Note, there are no proper margins yet on the pages. That is because, for the time being, I decided not to hack around. The relevant qt component version will be having the facility "UiConstants.DefaultMargin". This is not available yet on the PR 1.1 firmwares, but will probably come along with the PR 1.2 update. Disclaimer: we do not really have mature games yet for N9, thus this follow up is only about the Gluon Player application, not the games themselves.

Space Invaders MenuSpace Invaders Game




Future plans:

I would really like to say again. please stay tunned. The story is definitely not over! Having had the KDE Harmattan sprint in this success: I started to deal with creating an Android target in scratchbox. since Qt on Android has been coming along very nicely, I would also like to start the researches about the KDE Android development. I will be trying to organize a KDE Android sprint as soon as the technology of ours make it possible. Thank you for reading, really! ;)
Categories: Planet Gluon

Join us at the Qt Contributors' Day

Dan Leinir Turthra Jensen - Wed, 10/05/2011 - 18:57
Back in June, an event was held in Berlin called the Qt Contributors' Summit. This was such a success that the team decided that it should not be the last time something like that happened. So, to further this success, Nokia's Qt Frameworks Division has offered KDE a whole day of unconferencing at the Qt Developer Days in Munich later this month.

If you wish to take part in furthering the collaboration between KDE and Qt, and indeed other projects, then join the Qt Contributors' Day on Monday the 24th of October at the Dolce Munich Unterschleissheim. To join in, send me an email at admin@leinir.dk to that effect :-)

You don't have a ticket to Developer Days, you say? Well, not to fret! The KDE e.V. has been given a bunch of tickets to be given out to community members. To get your hands on one of these tickets, give me an email at admin@leinir.dk to inform me of this.

Please note! If you decide that you want to join us, get in touch with me BEFORE the end of this week! (i.e. before Sunday the 9th, which is when i send off the list of people requesting tickets and the like to the e.V. board for evaluation).

So - come to the Qt Contributors' Day at Developer Days 2011 in Munich, and let's make this thing epic! Qt 5 is ahead, and with the launch of the Qt Project, we have more to say than we ever did before! :-)


Qt Contributors' Day happens here! ;-)

Categories: Planet Gluon

GDC Europe and the Desktop Summit

Dan Leinir Turthra Jensen - Wed, 09/07/2011 - 01:07
Lately, the Gluon team has been pulling a whole lot of work together, which is why you've not been hearing about us all that much unless you've sat in the channel with us. As you most likely know, the Google Summer of Code and Season of KDE tutoring programs ran over the summer, and Gluon of course took part in both. That is not what this blog entry is about, at least not directly - i simply mention it because as we are now at an end, we are getting closer to our next release, which will happen once the three projects are merged into master.

What this blog entry is about is what we've been up to over the last few weeks - specifically attending the enormously successful Desktop Summit in Berlin, and immediately following this GDC Europe.

Desktop Summit

While at the Desktop Summit, the Gluon team took part in various events, some of which got filmed. Unfortunately, as it turns out, the recording equipment seems to have more or less exploded, and while they're working on it and hope to still be able to gain at least some of the presentations, i thought it best to publish this none the less.

The first event we took part in was the lightning talks, where Felix Rohrbach spoke about his Season of KDE work implementing support for the Achievements module in the Open Collaboration Services draft.

Felix Rohrbach on Achievements in Gluon from Dan Leinir Turthra Jensen on Vimeo.



The next event, unfortunately without video here, was our presentation. This had both Arjen and myself on stage, where we first talked about how this was our second aniversary in our current form, with the Gran Canaria Desktop Summit being the initial event which allowed us to eventually formulate our vision. After this, we showed off Gluon Creator, and what we can do with it. Finally, Shantanu showed up to show off his work on the distribution system - the part which allows you to push games directly from inside Gluon Creator and download them using any of the Gluon Player applications. From a personal viewpoint, let me just say - while the presentation fell apart due to broken network, it is still very impressive stuff!

Similarly without video, but very productive, we had our BoF, which unlike last year, where we spent the time brainstorming about the future direction of Gluon, we spent helping those present getting to grips with how to build games using Gluon. This event further showed that we need to get those screencasts done, showing how to use Gluon Creator to build games. If you want to help us with this endeavour, drop by the channel and we'll talk ;-) Scripts for the first few of them are already done, and they primarily need to be recorded.

Finally, of course, hacking went on. One of the things which we spent time on (Arjen specifically) was the particle system. So, when he had something to show off, we recorded this little video, where you unfortunately cannot see just how fast the whole thin is - but this is drawn eight times on top of itself, and there is no perceivable slowdown. Impressive stuff :-) And this, i'm told, is entirely unoptimized as it stands, so expect impressiveness when it's merged into master later ;-)

The First Gluon Particles from Dan Leinir Turthra Jensen on Vimeo.



GDC Europe

At the Qt Contributor's Summit in Berlin, Sulamita Garcia from the Intel AppUp team came up to me and asked two questions: Were i available in mid August, and would i like to go on stage to talk about Gluon. I'm always happy to talk about Gluon to anybody who'd like to listen, and it just so happened i was available at that time. So, as it turns out, they would like to bring Gluon to GDC Europe for an AppUp event. Over the next few weeks (six weeks from the invitation was extended until GDC Europe was due to happen) we worked on putting together something to show off there.

As it turned out the AppUp Lab got cancelled, but this happened at such a late time that everything else was already ordered, so Arjen and i went merrily on our way to Cologne, checked into the hotel and eventually got our passes. We walked around on the floor, talking to as many people we could about Gluon and what we are trying to do for the Makers and Players of Games, and a lot of people were more than happy to hear what we had to say.

There was lots of interest in using our various libraries directly, and our distribution system hit home as well with many people. We also spoke with a supplier of payment solutions about what we might be able to do for our donation-based monetization concept, and got some very good insights on this.

Finally, of course, everybody likes a bit of swag, and Intel decided to sponsor us some really nifty t-shirts! With a graphic designed by Eigene "it-s" Trounev, Arjen, Bjoern, Monika and i looked dashing in our dark blue Gaming Freedom t-shirts. Here is Arjen looking confused on the final day of the event (sorry, didn't get to taking other shots, we were so much all over the place i totally missed taking pictures ;-) ):

arjen-gluon-shirt

Now, as the AppUp Lab event got cancelled, i now have the remaining t-shirts in two boxes here in my home. So, we came up with the idea that, other than making sure that the Gluon team gets some t-shirts to wear, we would give others the opportunity to get one as well. And as these ones are a bit special, we thought that it would make sense to make it a bit of a competition rather than simply handing them out: So, make a game with Gluon Creator and get it up on GamingFreedom.org (through http://test.gamingfreedom.org/ - or using Shaan7's GSoC work to do it directly from Gluon Creator), and get in touch with us about it, so make sure you're you, so you can get your t-shirt! Note, there are about 200 t-shirts in various sizes, so to make sure you get one, you will need to get there before everybody else - this is first come first serve after all... and who knows, there might be an achievement in this later on ;-)

Next?

The next steps on the path towards gaming freedom are many. Some of them are:


  • Merge the tutored projects in

  • Release a snapshot

  • Produce those screencasts to help people build games

  • Use those t-shirts constructively - want one? Make a game! :-D


Categories: Planet Gluon

Achievements for Gluon

Felix Rohrbach - Wed, 06/29/2011 - 16:50

Hi Planet KDE!

Yeah, I know I’m late, but here’s another Season of KDE student :) My name is Felix Rohrbach and I am working on a statistics and achievements system for Gluon.

What are Statistics and Achievements?

The simplest form of a statistic is a score, which is created during a game, and at the end of the game, it will be compared with the highest score you ever got in this game, and saved, if it is higher. More complex ones are arrays, where every index is connected to a certain event, like visiting some place in a RPG or getting a coin in a platform game. Another option would be to have more than one score saved, or to get an average score of all the times you played.

An achievement is on top of a statistic. An achievement defines that you need at least an score of X in a certain statistic to get this achievement, or you need to get X indexes in the array, etc. Additionally an achievement can have other achievements as dependencies. If you don’t have achieved all the dependencies, you won’t see the achievement.

What I have already done

Simple score statistics and achievements are already done. To use them, you need to create a Statistic Asset and a Achievement Asset in the project dock. Now, you can right-click on them to create a new statistic and achievement. Then, you connect the achievement with the statistic (just click on the button next to the label "statistic"). To change the statistic, you need to add a Statistics Component to an object in the Scene dock. Again, you need to connect that component to the statistic. Then it should look like this:

Now, you open your script component of that object (or add a new one) and type things like

this.GameObject.StatisticsComponent.statistic.score = 20;

to change the current score. To save the score at the end, you need to call

this.GameObject.StatisticsComponent.statistic.commitScore();

Now, Gluon will save scores for every user that plays your game. To see your achievements, you need to copy your game to /usr/share/gluon/games/ and to open the KDE Ext Player of Gluon. Select your game in the list of the installed games, go to the achievement tab and you should see something like this:

Plans for the future

First, I will work on more complex statistics (like the array one) and achievements (dependencies). Then the visual presentation of achievements needs to be improved (icon, progress bar). Other Gluon player applications might also get achievement support.

The most exciting feature is in a more distant future though: support of Open Collaboration Services server (show and sync achievements) :) But here, libattica and the server have to support this first, so I still need to wait some time before working on that.

Want to test?

You can find the code in the Gluon repository (git clone git://anongit.kde.org/gluon) in the branch "achievements". I would be happy about some constructive feedback or feature wishes, just leave a comment here or tell me on the #gluon irc channel about it (my nick is fxrh). Ah, and before I forget:

so you can speak with me there, too :)


Categories: Planet Gluon

Gluon GSoC update

Shantanu Tushar - Thu, 06/16/2011 - 21:49

(Quite some time since I last blogged, have been busy with life's "last exams" and a project work demonstration in which the examiner says I need to relax and enjoy more. Yeah, right cheeky)

I will be spending this summer working on Gluon as a part of Google Summer of Code 2011. The work will be mainly to add features that Gluon needs for the next release.

As the post title says, here is the stuff completed till now-

  • One problem with Gluon Player's library code was it didn't do the abstraction between Gluon Player's logic and Attica (KDE's OCS client library), thereby putting a lot of duplicate code at places. This has now been fixed by providing a proper abstraction layer between Gluon Player and Attica. This also gives the additional benefit of being able to use other protocols, if needed in the future.
  • Second, Gluon is now able to download and install games from the gamingfreedom.org server. This is not implemented in GUI, so usual testers will have to wait for some more time, as we are still working on using a standard archive library for our work, and resolve some non-technical issues.
  • Finally, the library has support to rate games. Again, the GUI for this is not yet ready.

Because GUI for some functionality is missing, there are no screenshots sad. But no need to worry,  it is one of the tasks I will be taking up next. Thanks for reading smiley

Categories: Planet Gluon

Plunging into Gluon and KDE with GSoC!

Pranav Ravichandran - Sat, 04/30/2011 - 18:07

Hello PlanetKDE and everyone! :)

In this post, I’ll try to lay out details of my GSoC project, Integrating the SMARTS Game AI System into Gluon.

Gluon:

Gluon is a powerful library that aids in game creation. It is also bundled with a compact GUI called GluonCreator, that eases game development and a Gluon_qtplayer for playing games developed in Gluon. Gluon has immense scope to become a gaming haven for Linux users.

Playing Ball in GluonCreator

A GameProject in Gluon is a collection of Assets like Sounds And Images. Scenes, a type of Asset, contain GameObjects that are the characters or objects in the game, Components that define the logic that drives these GameObjects.

Game AI:

Game Artificial Intelligence, pretty much a self-explanatory term, determines the behavior of game-characters based on the game scenario. Its primary aim is to bring NPCs as close to real life characters as possible, by mimicking real-life thoughts and responses of that particular character. Take, for instance, a first person game in which, if you mess with normally-jovial people on the road side, they bonk you on the head in response, or an ingame dog which simulates a real one (like chasing cats instinctively). Pardon me if those were lame examples :P

Computer Go would be a simple example of an AI implementation in gaming. It is similar to Chess, though Chess engines are more inclined towards brute force techniques(choosing the best move out of many based on the scenario). This is perhaps why Chess Engines can beat human GMs, and in contrast, the best Go Engine is still a novice.

Now, wouldn’t you want to play games with an interactive game character rather than a boring NPC which does the same stuff over and over? Wouldn’t you want to play against an NPC that shows natural intelligence and competitiveness rather than toggling its efficiency levels between ‘Easy’, ‘Medium’ and ‘Hard’? This is where Game AI pitches in! :D

SMARTS Game AI System:

Game AI development techniques have been evolving over time, and each technique has tried to squash the drawbacks of its predecessor. With this trend comes Behavior Trees, a prospective technique that patches holes in the presently widespread (Hierarchical) Finite State Machines(HFSMs). I’m not going to go into what HFSMs are and how they work. I’m beginning to imagine you yawning already O.O

A Behavior Tree is much like a Directed Graph. It consists of a Parent Node which defines what the behavior is. Upon execution, it runs its Child nodes based on a specific algorithm and employing different types of selectors. And how is this particular behavior node selected? Based on the result of a Perception System.

Ok, example time. Mr.Dog is an NPC who generally wanders around. A Mr.Cat now wanders into the scene which is inhabited by, uh, Dog. Dog, your perception system just triggered off. You just perceived a cat, and you’ve been wired to react to the condition ‘A cat moves into your territory’. What is your reaction going to be? Oh yes, you should be running that ‘Attack!’ Behavior Tree, which runs its child nodes in the order ‘Bark’, ‘Chase’, and ‘Bite’.

Sorry for the sadistic example :( But that’s a gist of how Behavior Trees work. In SMARTS, this concept is implemented in the following way:

  • All the behavior trees for the game are contained in a parent class called btBrain.
  • The characters in the game, called ‘GameObjects’ in Gluon, or Game Characters in general, can use these behavior trees to exhibit behavior.
  • The Perception System of the Game Character to external stimuli is contained in several classes which are subclasses of the btCharacter class. The btPerception class contains perception limit information as well as information atoms as instances of btPerceptionAtom, which reference bits of information found scattered throughout the game world, represented by instances of the btPerceptionInfo class.

In a nutshell, the btCharacter perceives its surroundings with the help of its perception system(btPerception, btPerceptionAtom, btPerceptionInfo), and exhibits a behavior accordingly by choosing a behavior from the btBrain class.

Stuff that I be doin’:

Hopefully I pulled that explanation off comprehensively, and that said, it would be easier now to highlight what I would be doing as part of my GSoC work for Gluon. As I said earlier, SMARTS uses the Behavior Tree structure, while Gluon is based on Components and Assets.

You’re going: “Oh yeah, you’re going to restructure SMARTS into a Gluon-like hierarchy, and then merge SMARTS into Gluon. So that Game Developers using Gluon would be able to incorporate the Behavior Tree technique in their Games!”

Right. If all goes well, and I don’t mess up. I intend to finish the project regardless of GSoC results, anyway. And oh yes, optionally, I would also be creating a KPart, a graphical frontend, for using the SMARTS Components and Assets. Kevin Whitaker’s awesome work in last year’s GSoC in coding a Node Creator Plugin for Gluon has ensured that the KPart would be an easy job. Thanks, Kevin!

Thanks loads:

To the Gluon Team, especially ahiemstra and leinir, who were patient with me and helped me through, and still help me all the time.
To the KDE Community, admins and mentors, for their help and confidence in me.
And to my friend Prasshanth who taught me Go :D

Resources used and for further study:

SMARTS Homepage
Behavior Trees and why FSMs are losing market.
And of course, the wonderful Gluon Team’s help :)

I’ll be back with another blog post later!

See y’around, people! :)


Filed under: kde
Categories: Planet Gluon
Syndicate content