User:Gabba
This page is related to Summer of Code 2010 |
See the list of Summer of Code 2010 Ideas |
Contents
Contact
IRC: gabm
- I'll be on IRC approximately from UTC 15:00 to 22:00.
Wesnoth forums and GNA!: gabba
Languages spoken: French, English, Spanish
Introduction
I'm on my third year of a four-year bachelor's degree in Software Engineering at École Polytechnique de Montréal, in Québec, Canada. This is my last summer as a student, since I graduate next winter.
I've been itching to contribute to Wesnoth for a long time, but the lack of time and especially the size of the codebase were a serious barrier. The Summer of Code seems like the ideal opportunity to start what I hope to be a long-term commitment.
Experience
I was team leader on several large-scale school projects, with good results. I also completed successfully a large number of solo projects.
- School team project: assemble a robot complete with motor, wheels, microcontroller and sensors, and program it to follow lines traced on the ground and detect and avoid obstacles. This was developed in C/C++ under linux, and cross-compiled for the microcontroller.
- School team project: Program a 3D Pinball game and an editor to create different pinball tables. The choice of technologies was imposed: C++ (for the backend) and Java (for the editor's interface), with JNI and JAWT to glue them together. We used XML to save the pinball tables (using the Xerces library), the Box2D engine for the physics simulation, OpenGL for graphics, FMOD for sound, and a couple smaller libraries for things like calculating the convex shell of a 3D model. We modeled our objects in 3d Studio MAX.
- School team project: refactoring of our earlier pinball game to add multiplayer gameplay on the network. We chose to implement a client-server architecture where the physics would be calculated on the server; all players share a dome-shaped table and compete for points. Technologies used: the server runs under linux, and we have a Windows XP client and a Windows Mobile 5 (Pocket PC) client. We coded in C++ and C# this time, and we used the RakNet (network), Bullet (physics) and Irrlicht (graphics) libraries.
Open Source Involvement
Battle for Wesnoth: I'm on the forums since 2005. I played a lot, of course, and mainly contributed ideas, especially in the domain of AMLA (units improving beyond their maximum XP level). More recently I submitted a few patches:
- https://gna.org/patch/?1162 (initially not accepted, was picked up by someone else but I'm willing to finish the work if the patch gets dropped again)
- https://gna.org/patch/?1528
- https://gna.org/patch/?1556
TA Spring (http://spring.clan-sy.com): Contributed a lot of ideas, many of which were implemented; for instance the terrain map that determines regions of the map that hinder or accelerate unit movements. I also submitted one or two small patches.
Irrlicht engine (http://irrlicht.sourceforge.net/): submitted a patch.
RakNet engine (http://www.jenkinssoftware.com/, public source code but not open-source): submitted a patch.
Gaming experience
I'm very passionate about games, and I like collecting and playing all the classic games in every genre, be they recent or old. I also love playing open-source games and following their development. My favorite genres are strategy games, RPGs, and shooter/RPG hybrids. As far as opponents go, I prefer playing against an AI, however I regularly have LAN parties with my friends (and yes, we play Wesnoth!). I also play online from time to time.
In games, I like a good mix of story and gameplay, but I'm certainly better at creating the gameplay part than the story part of a game.
Wesnoth playing experience
I've played the main campaign (Heir to the Throne) several times, as well as a few others. As said above I regularly have a game of multiplayer Wesnoth.
Communication skills
Language
French is my mother tongue, but I'm perfectly fluent in English, both written and spoken. And I can hold a conversation in Spanish.
Social skills
I'm familiar with forums and the flame wars that can erupt; I generally keep my cool and try to be diplomatic, until people calm down and start reasoning instead of shouting. I give and take constructive advice, but I don't follow every random suggestion that's thrown at me either.