After 4 months of training, about 1300km, 2 pair of shoes, 2 half-marathon and a lot of sweat, I finally ran my first marathon last Sunday. I ran the 42.195 kilometers of the Quebec City Marathon in 3 hours, 34 minutes and 15 seconds. I’m quite happy with my time but I know I am capable of better. Despite a cramp in my left legs at 8 kilometers from the finish line that lasted a couple of minute, everything went really well. I had a lot of energy, I was focused, I had a lot of fun but my legs was simply too weak to withstand the pace at witch I started the race. For the first 25 kilometers I was running at a 4:40 min per kilometer pace, which would have get me around the 3 hours and 20 minutes mark. But eh, it was my first marathon and 3:34:15 is a fairly good start!
Did I mention that this thing is hard? The 4 month of training, all the long and sweaty run under the burning summer sky, all the speedwork and tempo run and the final 42.2km are a real challenge. But you know what? Two days after the event I am already thinking about witch marathon I’ll run next year.
For now I have a local 10k race in two weeks. It will be my first 10k race and after a 42.2km I guess this 10k will feel quite short!
It is already over, those last 12 weeks went by really fast and I must say they were 12 weeks of total awesomeness! In the beginning of the summer I have set myself a bunch of goals that I wanted to reach and I’m very happy to say that I have reached them all! I wanted to port Nibbles to Clutter, I wanted the port to be very similar to the original on the gameplay side and I also wanted to introduce some great animation in order to give a touch of bling to the game. All of which I believe I successfully completed.
Of course the game is not bug free, there’s more work that need to be done but don’t worry, I’m not going anywhere. I will continue my work on Nibbles as long as it’s needed. I really enjoy working on this kind of project and I’m looking forward for the inclusion of my gnibbles-clutter branch into the master branch of gnome-games in a near future.
I have produced a screencast to showcase the current state of my branch as of August 16 but really, the best way to appreciate the animations is to compile the code and try it for yourself. Most of the animation currently in place are subtle you probably won’t be able to appreciate them in this screencast but here we go.
The first half of the summer went quite fast. I worked hard to get something really close to the original version of Nibbles but implemented with the Clutter Toolkit. At the beginning of the GSoC I have set some goals I wanted to achieve and I’m glad to say that I reached them successfully.
I’ve been able to implement an almost complete clone of Nibbles with the Clutter Toolkit. Enough words and here’s a quick and dirty screencast I’ve produced a few week ago demonstrating the result:
As you can notice, there’s nothing flashy or outstanding to see in this screencast. As I said, it’s basically a clone at this point. That’s in the next few weeks that I’ll implement animations and effects on worms, bonuses and level. I have a couple of ideas in mind to make the game more beautiful and more enjoyable but if you think you have a good idea for an effect or animation that could be applied to the game, don’t be shy and share it with me!
GSoC coding kicked off last week and I didn’t spent the week with my arm crossed. First off, I created a small wiki page including a TODO/Progress chart and how to get your hands on the code I’m writing. It’s a good place to see where I am at with my progress.
So where am I exactly after a week of coding? Okay, I’ll be honest and admit I’ve been coding for a little more than a week. As you can notice on the wiki page, I managed to re implement the canvas with Clutter where the game take place. This part was quite simple and straight forward. Next step was being able to load levels on the new board. I studied and tried multiple approach to implement and draw levels but I’ve stopped with something similar to what was previously in place but more modular and of course, making good use of clutter.
I also started my work on porting each worms to clutter. After giving it more thought I decided to differ a little from what was planed in my initial proposal. My initial proposal suggested implicitly to create new theme for each worm and process a lot of useless and greedy animation on each worms as they move. With my new approach casual Nibbles player won’t even notice that worm have changed. Using a custom ClutterTexture to fill each actor of the worm with a repeating texture. The result is promising as you can see on these early screenshots.
On the first screenshot you can see the current version of Nibbles, and on the second, the early Clutter version. (click to enlarge)
Nibbles - Current version
Nibbles - Clutter version
My goal for the first half of the summer is to literally clone the current version of Nibbles to Clutter. That’s in the second half of the summer that I’ll make things shine and add animations. As you can see on these previous screenshots I believe I’m off with a good start !
Last week I ran the Quebec City International Half-Marathon. That was my first half-marathon ever and I managed to run it in 1:35:13 at a 4:31 minutes per kilometres pace. The race was a blast. I’m very proud of my result considering this was my first race ever. I didn’t want to start too fast so I began the race slowly at a 5:00 pace and then gradually accelerated until the end of the race. I ran the first half in 50:08 minutes and the second in 45:05 so I guess I managed my race nicely! The last 5 kilometers were awesome, because I was always accelerating throughout the race I was always passing other runners. But around the 17th kilometers I passed a guy who simply did not want to get passed. We began a little chase game and passing each other constantly until the very end where we were literally sprinting for the last hundred meters. We finished with a difference of 4 milliseconds between our finish times.
This first half-marathon was the first step of a bigger plan. August 30 I will run the Quebec City Marathon and this week is the first week of my 16 weeks training plan leading me to the race. It’s clear my ultimate goal is to qualify for Boston (which means running the marathon under 3:10:00). I made my training quite hard (peaking at 105 kilometers a week), but I take this thing seriously. I’m clearly addicted to running and I make my life evolve around it. I’m careful with my nutrition, I cross train and obviously I train 6 days a week.
The increasing popularity of running these days is surprising. The Quebec City International Half-Marathon had 38% more registration this year. And it’s my understanding that it is the case for several race across the world. It’s nice to see so many people running and taking their health seriously.
Let me introduce my self. My name is Guillaume Béland. I’ve been accepted in this year edition of the Google Summer Of Code. My project consist into converting Nibble to Clutter and add some awesomeness to it. I’m very excited with the idea of working with the GNOME Community this summer and I can’t wait to start hacking on my project.
For those interested in my proposal, I made it available to the public, you can consult it here. Take note that this is an initial proposal and things are subject to change a bit. If you have any comments or suggestions to make, feel totally free to share them with me.
Throughout the summer, I’ll blog frequently about my progress and frustration and of course I’ll post several screenshots and screencast of what’s happening with Nibble. So this is it, I’ll be back soon with some real update !
For the second year in a row, I’ll be part of the Google Summer Of Code ! That’s right, this year I’ll be working with GNOME on Converting Nibble to Clutter! I couldn’t be happier with the outcome of my applications this year. I applied to two organisation, GNOME and Pidgin. My application for Pidgin was to replace GtkIMHtml with a WebKit widget and use it everywhere in Pidgin (chatview, debug window, etc). It was with surprise that last week I received an e-mail telling me that both my proposals were accepted and that I needed to choose which one I wanted to complete.
I really liked my Pidgin’s proposal and I was trilled to complete it this summer, however it was the second proposal I wrote so obviously my second choice. I had to turn it down but I’m happy to see that someone else will take my place and do this work this summer.
So I’ll be working with the GNOME Community, wow, unbelievable. I’m really trilled about this. I’m really glad my ideas to improve Nibble were well received and I can’t wait to start hacking on it. I feel my time spent coding my little Pong game will be useful in the next few months!
I’ll share my applications and ideas with the whole GNOME community later this week when the end of semester craziness slack off a bit
We’ve just announced the list of accepted mentoring organizations for Google Summer of Code 2009. After reviewing nearly 400 applications, we finally narrowed our selection to 150 Free and Open Source projects. The accepted projects are now busy adding details about their participation in GSoC to the program website, but you can already take a look at the list of accepted projects and their Ideas lists.
Life is good. Organizations to which I’m planning to propose project are all accepted. I already finished my first proposal and currently investigating a second proposal. If I can make tree of four very good applications before April 3, the student application deadline, I’ll be more than happy.
On a sad note, my mentoring organisation from last year, Neuros Technology, weren’t selected this year. Sad for them, they seemed to have great ideas for their Neuros LINK.
Pong! is just a simple PONG game I’ve been writing for the past 2 weeks or so. I always wanted to code a pong game since I started my study in computer science but I always postponed the project for various reason. It’s just a couple of week ago that I finally found the excuse to start working on it. I wanted to learn to use the Clutter library!
Pong!
First of all, I was amaze with the ease I actually did that game. Clutter is very straight forward and I had no problem at all to catch the basics concepts and as for the Pong game itself, my passion for math (and vector calculus) have been a blessing when it came to calculate the ball trajectory and speed.
I know that a pong game is nothing fancy but I’m fairly proud of the result. It also gave me experience with Clutter and Cairo. All the code is written in C (because I love C) and depend on GTK+, Clutter-0.8, Gconf-2.0. The game is not complete, well sort of. You can play without worry but there’s no preferences windows and the corner aren’t as polished as I would like but still, completely usable.