Google Summer of Code 2012 - Ideas List
Hedgewars @ Google Summer of Code portal: http://hedgewars.org/gsoc.html
Here you can find a growing list of ideas that we think students would enjoy coding and that would make a great addition to the game.
For each idea there are a short description and some details on difficulty, a list of people you should bug on IRC for more information, some non-compulsory skills and what impact it would make on the game.
The idea description is just to give you a taste of the work: we'd rather have the student application concentrate on telling us *how* they'll solve the thing, more than convincing us they figured out what the idea is about.
Of course we're always open to new ideas, so if one is not listed, propose your own proposal! Be sure to read the FAQ and to join our IRC channel.
- Mission: Training campaign
our campaign and our training needs love! For this project you should design an adventure from scrach and implement it with easy lua scripts; we have a lot of examples to learn from! Similarily, you could design some training missions to teach how to play the game.
Skills: lua, game design
Difficulty: medium
People to bug: mikade
Impact: campaign-like version of the game and training for newcomers - GL-ES 2 rendering / WebGL porting
our rendering system is based on opengl and it is really portable and powerful. Yet embedded device are a little clunky with standard OpenGL calls... Let's make Hedgewars run at full power with a new renderer, texture atlas and, why not, even a browser version!
Skills: fpc, opengl
Difficulty: difficult
People to bug: nemo, koda
Impact: faster graphics on embedded devices, allows for webgl port - New game mode
invent a new way in which hogs should play! For example you could implement planet mode: have you ever wanted to merge Hedgewars with Super Mario Galaxy (tm)?
Skills: fpc, physics
Difficulty: vary
People to bug: anyone
Impact: more variety in game play - Frontend Abstraction
as you'll know by now we have a common engine and serveral different frontends depending on the architecture. It'd be nice to have some common assets that could be shared across them. For example Network IO, saves, config files and credits list could be easily abstracted in some format and used by every implementation without rewriting too much code.
Skills: c++
Difficulty: easy
People to bug: unc0rr, nemo, koda
Impact: easier to backport changes and to keep frontends feature aligned - iOS and/or Android netplay
do you feel brave enough to implement the last major feature missing from the mobile ports? Let's implement the network stack for our best release ever and let's play with thousands of devices around the world. Pick the flavor you feel more confident with!
Skills: fpc/objc/java, ios framework, networking
Difficulty: medium
People to bug: koda, xeli, nemo
Impact: increased popularity and fun on mobile - Tick Tock
we were thinking of slimming down our timing/event system; depending on the implementation we will have some performance benefits and easier code. Read more here: http://code.google.com/p/hedgewars/issues/detail?id=318
Skills: fpc
Difficulty: difficult
People to bug: unc0rr, nemo
Impact: performance benefits, especially on embedded devices - Test framework
after reaching the n-th line of code, you often start wondering if what you wrote actually works. This project involves creating a test framework from scratch and apply it any module(s) of the game.
Skills: test modeling and validation
Difficulty: difficult
People to bug: unc0rr
Impact: making sure that our code does what we think - AI
even though computers are stupid, there's always room for improvement! Let's teach AI teams how to properly use weapons so that single play can become as fun as network play!
Skills: fpc, artificial intelligence
Difficulty: difficult
People to bug: unc0rr, nemo
Impact: makes single player and campaign more interesting - Do you speak Hedge?
we currently have more than 10 different files to be edited every time we update the strings of our game. That's not userfriendly, especially for the translators: is there a way to improve things a little bit?
Skills: translation tools, concurrent editing systems
Difficulty: difficult
People to bug: koda, nemo, unc0rr
Impact: attracting translation contribution more easily - Construction
we have random maps, static maps and hand drawn maps to play with already, but what about creating the map during the game and react to the other teams constructions. More details here: http://hedgewars.org/node/1269
Skills: fpc
Difficulty: medium
People to bug: henek, mikade
Impact: interactive map creation requiring tactics - HedgeWiirs
use the just released Freepascal compiler to port Hedgewars on the Nintendo Wii! Engine should run on its own, but the input method has to be completely redone for the Wiimotes and a (basic) frontend should be also provided.
Skills: fpc, c++
Difficulty: medium
People to bug: koda nemo
Impact: wiiiiiiiiiiiiiiiiiiiiiiiiiii - Network sync
since Hedgewars can be played across several platform we would like to have a way to keep the data folder synchronized, so that you can use you team and weapons on any platform on the fly.
Skills: haskell/c++, networking
Difficulty: medium
People to bug: unc0rr
Impact: making using many computers and phones easier - Mobile merge
it'd be nice to have a common frontend, at least for the mobile port! Are you able to design a gui from scratch, using mobile crossplatform libraries and to implement every feature of the current frontend?
Skills: gui design
Difficulty: difficult
People to bug: unc0rr, nemo, koda, xeli
Impact: having a similar UI across phones and tablets - Video output tool
allow exporting a game save or demo in a standard video format! This would make it really easier for sharing nice replays; bonus points if you implement a Youtube uploader!
Skills: c++, video coding
Difficulty: easy
People to bug: unc0rr
Impact: easier way to share replays and backward compatibility - Editors
not every one playing and wanting to contribute to the game knows how two code or how the game works. Creating a mission editor with helpful features or a theme editor will allow many more to create content.
Skills: c++/lua, qt
Difficulty: medium
People to bug: unc0rr, henek, mikade, smaxx
Impact: easier creation of content and therefore more content - New weapon(s)/utility
come up with a new weapon or utility to fill up our arsenal, or implement one that is requested by our fellow players. It is always fun to have a new and awesome weapon or smart utility to secure your victory!
Our weapon suggestion thread: http://www.hedgewars.org/node/629Skills: fpc
Difficulty: medium
People to bug: anyone
Impact: more variety of game play and tactics - Input system
we have some ideas that need exploring with esoteric keyboard layouts, on the fly gamepad, touchscreen/multitouch support, sdl2 input... we need some abstractioning.
Skills: fpc
Difficulty: medium
People to bug: unc0rr, nemo, smaxx, koda
Impact: improved controls for better gameplay experience - More stereo 3D
did you know that Hedgewars runs in stereo 3D (the one with the glasses)? Let's add more stereoscopic formats and autoswitch for 3D displays.
Skills: fpc, opengl
Difficulty: easy
People to bug: koda
Impact: stereo 3D is the fashion of tomorrow - Tablet drawn maps
adapt the hand drawn maps to work with touch devices such as the iPad or an external tablet!
Skills: c++/objc/java, ios or android framwork
Difficulty: medium
People to bug: unc0rr, nemo, koda, xeli
Impact: finding the artist that is in you - The return of Pas2C
we are secretely working on a Pascal to C parser, so that our engine code can be more easily integrated on third party tools.
Skills: compilers, fpc, c, haskell
Difficulty: difficult
People to bug: unc0rr
Impact: improved code portability - Variety
in our engine there are some corner cases that are often complex to implement. For example when you are disconnected from the server you are also expelled from the game, while you should be able to resume your game; or we could add a different map algorithm (http://accidentalnoise.sourceforge.net/minecraftworlds.html); or add a way to synchronise pause in multiplayer... help us identify such issues and fix them!
Skills: vary
Difficulty: vary
People to bug: anyone
Impact: removing hard to get bugs and offers a more accurate gameplay - Bug janitor
not fully conviced in any of the proposed task? Visit http://code.google.com/p/hedgewars/issues/list or http://code.google.com/p/hedgewars/wiki/TODO and help us getting through those lists.
Skills: c++/fpc
Difficulty: vary
People to bug: anyone
Impact: more polished and game working as expected - Insert your idea here
ok, so you don't like any of our ideas at all? Submit your own! Tell us what you would like to do and we can help you in writing a nice application.
Skills: vary
Difficulty: vary
People to bug: anyone
Impact: vary