Google Summer of Code Information

Last update 2013/03/23

Hedgewars @ Google Summer of Code portal:

• Organization Name

Hedgewars Project

• Description

Hedgewars is a turn based strategy, artillery, action and comedy game, featuring "the antics of pink hedgehogs with attitude" as they battle from the pits of hell to the depths of space.

Each player controls a team of several hedgehogs. During the course of the game, players take turns with one of their hedgehogs. They then use whatever tools and weapons are available to attack and kill the opponents' hedgehogs, thereby winning the game. Hedgehogs may move around the terrain in a variety of ways, normally by walking and jumping but also by using particular tools such as the "Rope" or "Parachute", to move to otherwise inaccessible areas. Each turn is time-limited to ensure that players do not hold up the game with excessive thinking or moving.

Hedgewars features a variety of different programming languages: with portability in mind: QT and SDL, two of the most used crossplatform are the only dependencies. The main graphical interface is written in C++ and QT and it is used for configuring your team and the game option as well as for starting the game. The engine is written in Pascal, using a very versatile compiler, FreePascal, with SDL used for handling rendering and IO. Finally the server for local LAN and multiplayer is written in Haskell, a very popular functional language. Then each mobile port has its own frontend written in the device native language (ObjC on iOS and Java on Android).

An important game dependency is Lua that allows users to write their own missions and game modes, so that the Hedgewars community can get more and more involved in the gameplay development. A lot of scripts have been written and most of them have been integrated officially in the game. The whole campaign and trainings and a few popular game mods have been written in Lua.

As said, portability is an important asset for Hedgewars: this game is available for Linux, Windows, Mac OS X, Android and iOS on x86, x86_64, PowerPC and ARM, and we are always looking forward to new ports.

Hedgewas has been featured on "Ubuntu Features" list and highly acclaimed in the "Ubuntu Games" section and it has been highlighted in the Top Free applications for the Mac Appstore launch. The development team has always been focused on FOSS events and has successfully took part in GSoC 2011, GCI 2011, GSoC 2012 and GCI 2012 (under the CGG umbrella).

• Home page

• Main Organization License

GNU General Public License version 2.0 (GPLv2)

• Veteran/New


• Backup admin


• If you chose "veteran" in the dropdown above, please summarize your involvement and the successes and challenges of your participation. Please also list your pass/fail rate for each year.

We made the jump during GSoC 2011 with SDL and Battle for Wesnoth vouching for us. We unexpectedly received a lot of attention with more than 80 proposals (20 of which of high quality): in the end the selection went down two projects, Android port and improved AI. The first one was highly successful and the project ended up in having an Android app on the Market. Unfortunately the second one was less successful because the student just disappeared in a week or so, despite having the best proposal written. In the end, this situation was not too bad as it allowed ua to concentrate our first-timers efforts in a single task.

Then we took a bite of GSoC in 2012, where we were granted 5 students working on 4 different topics. From the organization point of view it certainly has been interesting coordinating ten people (students and mentors) but results have been great. Last year projects involved programming a video uploader from the game session, designing a complete set of missions/campaign, writing the missing hooks for our pascal->c->emscripten->WebGL port, improving the opengl renderer and adding network multiplayer to the Android port. All projects ended up satisfactorily with only one student disappearing half course.

We also participated twice to GCI (2011 and 2012 under an umbrella org) where we fine-tuned our multitasking abilities and we were able to handle about a hundred of students, with lots of wiki contributions, a few translation updates and a lot of code commits in our repository. One of our students from GCI2012 has been selected as one of the grand prize winners.

• Why is your organization applying to participate in GSoC? What do you hope to gain by participating?

We are always looking for new ideas to come up and contributors willing to "get their hands dirty" with the code. Also taking experience from previous years, all mentors quite enjoyed being able to teach computer science targeted to open source to new students.

Additionally this is a great opportunity to get new people unfamiliar to foss and to our project working with us. By participating in this program we hope to keep introducing new people into the project and hopefully expand our development team.

Finally, we believe that the students will have successful projects that expand not only Hedgewars, but their own horizons as well.

• What is the URL for your ideas page?

• What is the main development mailing list for your organization?

• What is the main IRC channel for your organization?


• What criteria did you use to select your mentors for this year's program? Please be as specific as possible.

Hedgewars is composed of many, many parts, but luckily they are clearly separated. For example, the frontend, the engine and the server are three different executables with specific and well-defined ways of interaction. This setup has allowed different developers to focus on very specific parts of the game while gaining a general knowledge of other sections at the same time.

Thanks to this internal division, our developers are experts in their given field. Accordingly, we were able to select the best mentors for each of our selected ideas, thus securing the perfect match for the task at hand.

• What is your plan for dealing with disappearing students?

We will do our best to make the students feel as comfortable as possible and to make them at ease within the community. If we notice that a student is working uncomfortably or if there has been any form of conflict, we will talk to the student and come up with a plan to fix the situation. We do not think this would be an issue though, given that there are usually no problems within the community.

If a student doesn't show up for an extended period we will contact them promptly, investigate what issues have arisen and try to solve any problems. If we can not get in touch with the student we will leave their work untouched until either the program ends or they come back and resume their project.

• What is your plan for dealing with disappearing mentors?

We have selected mentors that are well known in the community and are often online for developing and helping newcomers, so this issue should not arise.

In the unfortunate case of this event, we would do all in our power to bring the mentor back. At the same time, we will ensure the student is able to get as much help from the rest of the development team as needed, and select a temporary mentor from our team as a replacement.

In case we can not contact the mentor in a reasonable time period, or in case the original mentor faces major problems and cannot continue his role, we would select a new mentor. Often there is more then one developer that has been working on a task. Thus, the chances are good that we will be able to find a new mentor who is very knowledgeable in the student's area and ready to assist them.

• What steps will you take to encourage students to interact with your project's community before, during and after the program?

We will encourage them to hang out in the IRC channel and familiarize themselves with the development team and other people from the community. We will also create an account for them on our web site so that they can post on the forum and be recognized on our game server. Finally, we will encourage them to play Hedgewars so that they know what they will be working on and can get the feel for the game and interact with the community at large.

If they have made important visual progress it can be showcased on the front page of to let the community give positive feedback and constructive criticism. If their task needs testing we will help them in building distributable executables so that they can test the changes with others and discuss these changes even more. This is a good way to both get feedback and get to know the community.

When they have finished the project they will hopefully have established a good relationship with the community and will be treated as any other developer. They will be encouraged to stay and follow up on their project or tackle a new one.

• What will you do to encourage that your accepted students stick with the project after Google Summer of Code concludes?

That's one of the most important points and for us there is certainly room of improvement. From our first participation, one of the students sticked with the project and actually became a mentor in the following run of the program but then he retired.

This year we plan to do more initial filtering by accepting proposals only from people who have submitted code committed in our sources: this will allow for higher quality proposals and for better selection among people willing to contribute. Additionally we plan to have short but in depth interview with each student to fully understand the real motives for participating to GSoC.

Finally, students will gain access to the source tree immediately from the start and will be treated like a full-time developer (with the pros and cons of that), so that the integration with the community can be swift and rapid.

• If you are a large organization who is vouching for a small organization applying to GSoC for their first time this year, please list their name and why you think they'd be good candidates for GSoC here:

Well Hedgewars is not much established nor large, but during this two year has gained some experience in working with various people. We also met and talked about GSoC to various people and in particular two organizations seem ready to participate in our opinion.

The first one is Bitfighter, an old school shooting game with all graphics computed at runtime. They are still small but have a fantastic community and for sure ready to mentor one or two people during summer.

The second one is Super Tux Kart, which absolutely needs no presentation. It has really improved over the years and we believe they can join the GSoC 2013 program safely.

User login

Copyright © 2004-2017 Hedgewars Project. All rights reserved. [ contact ]