GNOME OPW: the bi-weekly progress report

Hello everyone, I’ve seemed quiet during the past two weeks since I have been fighting with Vala, Javascript and Clutter. My short term goal is to port GNOME game Swell Foop from Javascript to Vala. After the first two weeks of warming up practices, this one is a tough one. There was a dark time to get started. Because both languages are new to me and Clutter is even newer, reading the Javascript code, understanding the logic and translating them to the equivalent Vala implementation was really a challenge. Anything seemed not working as you expected.  But I still think it would be better to make my hands dirty enough before throwing questions on IRC. Luckily Robert has provided a excellent case study(Lightsoff) to follow. Working through his code really made my life much easier. So today I’m very glad to show you my latest progress: a basic but running Swell Foop:

Vala version of Swell Foop

Did I just say running? It can run, load the theme and layout the actors but can’t response the mouse interaction at the moment. Anyway, I’m very excited to make it run. It is a tangible progress and will serve as my test field for adding the remaining functionality.

By playing around with Lightsoff and Swell Foop, I’ve been very impressed with the cool animation effects provided by Clutter. Comparing with these Clutter-powered games, other GNOME games look a little bit dull. I guess it might be a good idea to use Clutter more in other games. Maybe another round of game modernization?


10 responses to this post.

  1. Awesome work!


  2. Very funny to see gnome-games rewritten in JavaScript, then in Vala, then in… what’s next?


    • I have no idea. But Vala does provide a easier way than plain C to write GNOME/GTK+ app. Javascript does too but its syntax seems more alien than C-like Vala for a typical new contributor who probably has C/C++/Java background learned in college.


  3. Posted by Lapo on January 12, 2012 at 1:39 pm

    I’ll happily help yo with some graphics and design if you’re working on games refresh.


  4. Animation is the new black.


  5. Posted by Flo on January 12, 2012 at 2:46 pm

    Looks nice. I wasn’t aware that gnome-games folks are trying to get rid of js as well.


    • Most of gnome-games are written in C so it makes sense to port to Vala. There are only two Javascript games, seemingly not actively maintained due to the lack of good JS programmer?


  6. Why rewriting this game in vala ? I’m currently rewriting my game (monkey-bubble) in javascript for simplicity.


  7. You can use any language you feel comfortable to write your game. I actually had the same confusion. Both Javascript and Vala are officially supported by GNOME I guess. It is two favors of programming. If you prefer built-in OO syntax and static-typing, you can use Vala. If you prefer dynamic language (hate write/compile/run cycle), you can use Javascript/Python/Ruby.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: