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

Gluon and KDE Mobile talks again

Laszlo Papp - Mon, 11/14/2011 - 13:46
Hey there again :-)

Luckily enough, I have been busy recently with a couple of conferences and meetups, like Gluon sprint, Qt Developer Days, Fruct10 conference and Qt MeetUp in Helsinki. I have a lot to report about since all of them were new and amazing experiences in my life that I could never really forget. Cozy environment, friendly people, interesting technical discussions and the like :)


Gluon Sprint

The event took place in Munich at the Nokia premises, the weekend before the Qt Developer Days. It was very fruitful from the technical point of view, so as it a very good occasion for having fun face to face with other Gluon volunteers.

You can read more about the Gluon sprint on the following page
http://dot.kde.org/2011/11/07/gluon-sprint-fall-2011



Group photo

Qt Developer Days

I am not sure where to start since there were so much happenings :) First of all, we had a company booth there with my current employer, called Symbio. This is a subcontractor company located in many countries all over the world. We had a lot of preparation for the event beforehand, like designing our own T-Shirts and providing demos for the volunteers, bringing rollups and variety of marketing materials.

A lot of interesting discussions from many points of view. I was able to get to know new people in the Qt world, which was already pretty awesome. Moreover, it was also a good occasion to meet old friends and buddies.

I was also able participate to the Qt Contributor Day to talk about and listen to Android and Qt, KDE and Qt discussions along with other interesting talks, such as inqlude.

As for me, it has been pretty impressive to see the stage of the Qt development opportunities on Android. I have seen some demos invoking OpenGL in the background, and .. let me just say a really loud "awesome"! ;)

I must admit: we were very lucky because we got an N9 for free without any loan contracts. Hence, pretty much for personal usage as well. I am really grateful for getting this amazing phone. Big kudos to Quim Gil and Nokia!

You can find the available videos about the event below:
Qt Developer Days 2011 Munich Highlights: http://youtu.be/FQMtg7pL82A
Qt Developer Days 2011 Munich Demos: http://youtu.be/39M5AKuyQOs



Symbio T-Shirt logo

Fruct10 conference presentation

The event took place in Tampere, Finland. I participated in the event on the ninth and tenth of November 2011. The program consisted of lectures provided by invited industrial and academic experts, community  presentations selected from the open call and demos on MeeGo and other Mobile Linux systems given by the regional groups, invited FRUCT teams and selected from the open call. I am really thankful for the organizers and decision makers for giving me the opportunity to talk about one of my favorite ongoing leisure projects: Gluon (Gaming Freedom). All my respect goes to the organizers, too. I am really happy about their support for such brilliant events as this. You can find the detailed program for the event at the following link:
http://www.fruct.org/conference10

I could present our vision, current project state and future plans. Thanks for the participants and the questions. I was really impressed with the feedback. Thank for you guys again for making it a success together. :)

I am also really grateful about Knut Yrwin's constructive feedback. I learned a lot from him, like I should look over the audience more, I should take a bit more breath during the talk for audience to let them think a bit more. Of course, I should also decrease my arm work during my presentations to not get the attention of the audience for my arms. :) Sounds funny, but I knew that from Knut Yrwin: these points make a whole lot of quality change into your talk. You just need to practice it in advance, if you are not mature yet with these practicalities.


Talk about Gaming Freedom (Gluon)

Fruct10 conference social event

We had a social event on Thursday evening 19:00-22:00 where various people were able to present their projects. I had taken the opportunity and then was presenting Gluon. It has really been a good occasion because I was even able to get a large TV for presenting the example games we have in Gluon, namely: Invaders and Apocalypse.

You can find the slides here for the demo session about Gluon:
http://posters.fruct.org/index.php?title=Gaming_Freedom

The presentation for the demo session had a bit interesting style. It had the Pecha Kucha Presentation Format. If you know nothing about this format, then in a nutshell:
"Pecha Kucha is a presentation technique where a speaker shows a definite number of slides (usually 20 or 15), each for 20 seconds. The slides are changed automatically during the talk."

I must admit I stopped this demo session relatively early and used the time for getting to know new people around.

Gluon demo on the TV

KDE Mobile talk at the local Qt MeetUp in Helsinki

As some of you may already know: we had MeeGo MeetUps in the past in Helsinki. It is a great opportunity for gathering local people with the same interests. As the MeeGo's state is clear, we are now heading to have a Qt MeetUp in Helsinki regularly not depending on MeeGo, Maemo or what matters big companies dictate. We had already one in the past in a pub close to Nokia, but it has been more like an adhoc meeting without too much organization. As for a start, it has already been excellent!

This time, we had a well-organized event with our sponsor. There were interesting technical talks, including me about KDE Mobile, but also about Software Abstraction and so on. Nevertheless, we had free drinks, chips, snack and everything. :) You can find the page of the meetup here:
http://www.meetup.com/QtEverywhere/Helsinki-FI/289971/

I was impressed with how the audience reacted to my KDE Mobile presentation. There were many interesting questions and a lot of feedback. I invoked the same slides as previously at the Mobile Linux Summit in Oulu:
http://fruct.org/sites/default/files/kde-mobile-laszlo-papp.pdf


Talking about KDE Mobile

As usual: I am really sorry for the long blog entries. I should blog more frequently with smaller entries. I will shortly come back about the "KDE Mobile on Harmattan sprint" results and feelings. Please do keep tunned! ;)
Categories: Planet Gluon

KDE Mobile and Gluon presentations at the Linux Mobile Summit (Also few words about Plasma Active and Mer)

Laszlo Papp - Thu, 10/06/2011 - 05:05
Hey there! =)

Unfortunately, I have been busy recently with a couple of real life issues, like moving into a new apartment, while simultaneously burning out a bit in my full time job. That is because of the continuous beheading that outsiders can also feel about our Harmattan project where we have tried for a long time to ship the best platform ever, and it is now fading away. I do wish to give my thanks to Nokia for providing the opportunity to take part in such a great project (as Harmattan is)! Luckily enough, I was able to attend a very fruitful and amazing summit during the last few days to get a bit away from the troubles and chill out a bit with very friendly people in a cozy environment.


General information about the Linux Mobile Summit conference

The event took place in Oulu, Finland, on 4-5th of October 2011. The city of Oulu is located in the northern part of the Baltic Sea, about 200 km from the Arctic Circle. The program consisted of lectures provided by invited industrial and academic experts, community presentations selected from the open call and demos on MeeGo and other Mobile Linux systems given by the regional groups, invited FRUCT teams and selected from the open call. I am really thankful for the organizers and decision makers for giving me the opportunity to talk about my two favorite ongoing leisure projects: Gluon and KDE Mobile. All my respect goes to the organizers, too. I am really happy about their support for such brilliant events as this. You can find the detailed program for the event at the following link:
http://fruct.org/MobileLinux2

FRUCT (organizer community) logo for the event
The first day, KDE Mobile presentation


Unfortunately, I had a very bad start of the whole traveling and conference as around 02:00 am, I felt asleep. The problem is that my plane was scheduled to leave at 06:20 am, and I was unable to wake up before 05:00 am, even when friends were calling me on the phone... :) You can imagine my trip from the bed to the airport. :p I did not have time for a shower, I forgot my identity card at home before the airplane trip (luckily enough, I had my driver's license with me :). After the arrival and welcome speeches, my colleague gave a very good presentation about "How to survive with Platform Security on Harmattan". The next presentation was mine about the KDE Mobile project. I had had a very rough weekend beforehand. I was very busy with the presentation, which you can now find here if you would like to check it out (Let me know if you need the source for any re-invocations or so):
http://fruct.org/sites/default/files/kde-mobile-laszlo-papp.pdf

Many thanks go to Eugene Trounev for the background of the presentation.

KAlgebra Mobile on N9
I had to hold back a meeting with some buddies because of the heavy work on this, but it was worth it for me after all because of the very positive feedback. One interesting point about the presentation was that, after submitting my slides to the event organizers, I noticed the announcement of the MeeGo Reconstructed project:
http://lists.meego.com/pipermail/meego-dev/2011-October/484215.html

After reading it, I thought it would be very cool to speak a bit about that to other participants. Mainly because, regarding the KDE Mobile project, it can provide a very useful base OS for Plasma Active, for instance. I wanted to talk about a couple of things: History, Plasma Active (shallowly), Qt5, KDE frameworks, KDE on Harmattan, Android, Mer and so forth.

The First day, the social event

After the many interesting and impressive presentations, the organizers were kind enough to take care of us and we got transported to a local place with excellent Sauna opportunity (Real Finnish way of enjoying the sauna ;) and we had free drinks (beer, but also soft drinks) and pizza. More importantly, pretty much fun everywhere. Had a good chat about insane things with the local site manager of a subcontractor company and with many other guys. :) Having fun after the dinner! ;)

Having fun after the dinner! ;)
The second day, the Gluon presentation


My hotel reservation was needlessly luxurious in my opinion, and I did really enjoy it. :) I have got used to cheap accommodations in the past because of the university apartment.  Also, KDE Developer Sprints: where we tried to keep the costs at minimum for the KDE e.V. board. My company sponsored the hotel room for me, so I am really thankful and happy about that. I had a small walk around in the city before the long conference day. I believe I was even a bit late; I missed the first presentation. :P The second presentation of the day was about Gluon, so I could present our vision, current project state and future plans. You can find the presentation on the following link:
http://fruct.org/sites/default/files/gluon-oulu2011.pdf

Note that, it is just a slight modification of the Gluon presentation slides that Dan and Arjen produced for this year's Desktop Summit in Berlin. All my respect to them for providing me the presentation, so I could concentrate more on my KDE Mobile presentation during the weekend. There were more people interested in game development (There was even another game development related presentation that day), so we could share our visions and paradigms. On the other hand, there were more presentations about Social Desktop, Collaboration and similar things. I could also present the Open Collaboration Services to them that we have been using in Gluon. They were all very fruitful discussions and I could really get to know very high-skilled and cool people. Unfortunately, I could not show the demos, for instance the Games we have built on Gluon as examples for the Community because I could not use my own laptop, but some people came to my place after the presentations, and I could show them some games.

Gluon Space Invaders on N950
The Second day, the end of the conference, Plasma Active and Mer

We had large hugs with other participants and they told me they are looking forward to seeing the KDE Mobile, Gluon and Plasma Active projects in the future. I feel it as respect, and it makes me happy. :p Actually, it sounds funny, but I "could not" leave the venue after the conference since I started listening to the ongoing Plasma Active and Mer IRC meeting on my N9 Nokia phone.

MeeGo Reconstructed
It has been a very hot and fresh topic with many ideas and enthusiastic people over there. It has been a bit hard for me to follow every post, but I think I got the gist of the discussion. By the way, it will be "repeated" this Thursday if you could not participate, 18:00 UTC if I am not mistaken. It sounds like a very interesting project, and I hope they can really build a commercial future for it, and also a nice community. Here you can find Aaron's invitation for the IRC meeting:
http://aseigo.blogspot.com/2011/10/meegonext.html

You can follow the meeting minutes here:
http://misc.chouchoune.fr/mer.log

Plasma Active Device Spectrum
Unfortunately, there were also some drawbacks in the organization:
1) It is a pity: a group photo was not taken
2) The presentations were not recorded, not even with simple audio recorders
3) There were not many photos taken during the presentations, the social event and other times. However I started taking some pictures about the presentations with my N9 the second day, that I will publish later.

All in all, it has been a very nifty summit. I hope I can join the next conference in November which will be held in Tampere. It is the next bit of the series from FRUCT.

I am really sorry for the long blog entries, but it seems when I start typing, I can not easily stop. ;)
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