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.

  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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/629

    Skills: fpc
    Difficulty: medium
    People to bug: anyone
    Impact: more variety of game play and tactics

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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

User login

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