author | richarddeurtje@gmail.com |
Tue, 24 Jan 2012 00:20:47 +0000 | |
changeset 200 | f56abd8cfc50 |
parent 198 | 6ed8811347fc |
child 215 | 55f40e0633a6 |
permissions | -rw-r--r-- |
196
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
1 |
#summary Where to find possible task, todos, fixmes and new ideas. |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
2 |
#labels Featured,Phase-Requirements,Phase-Design,Phase-Implementation,Phase-QA,Phase-Support |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
3 |
|
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
4 |
= Introduction = |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
5 |
|
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
6 |
Welcome! If you are reading this page you might be wondering how you can help the Hedgewars project! Fear no more, we've set up a good list of ideas that you might tackle while getting to know the sources! |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
7 |
|
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
8 |
As always, we'll be glad to help you in this quest! Just join our IRC channel and ask the devs directly! The possible ideas are divided by category and some might be easier than others: just pick the one you feel most confident with. |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
9 |
|
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
10 |
= Documentation = |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
11 |
|
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
12 |
== Doxygen == |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
13 |
|
198
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
14 |
* Add doxygen documentation to server for the haskell sources. |
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
15 |
* Add doxygen documentation to ios frontend for the objc sources. |
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
16 |
* Add doxygen documentation to engine for the freepascal sources. |
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
17 |
* Add doxygen documentation to android port for the java sources. |
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
18 |
* Finish the doxygen documentation of the QT frontend and the c++ sources. |
196
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
19 |
|
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
20 |
== Various == |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
21 |
|
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
22 |
* Document the interaction of engine/frontend/server network protocol |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
23 |
* Document how the engine launches a game, from setting up the window, to updating the opengl renderer, from loading up contents, to cleaning up memory. |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
24 |
* Document how the map drawing protocol work and how to implement the code for another frontend. |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
25 |
* Document the format of the demo and save files. |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
26 |
|
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
27 |
= Code = |
198
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
28 |
|
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
29 |
== AI == |
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
30 |
* Make our AI use of the rope weapon to move and reach better positioning before firing. |
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
31 |
* Make our AI know about drowning in any way. |
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
32 |
|
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
33 |
== Tools == |
196
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
34 |
* Refactor the frontend networking layer into library calls from hwengine, in a similar fashion to what's done on iOS and Android, using QT framebuffers. |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
35 |
* Create a conversion tool callable by the frontend to convert our demo files to standard video or uploadable files. |
198
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
36 |
* Write a simple shell script (bash, ruby, perl, python, awk...) to update the localization strings and propagate the diff to all the localized files. This task doesn't require coding or having an i-Device, just basic shell scripting. |
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
37 |
* Create an easy-to-use theme editor, outlining all the necessary files for our themes. |
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
38 |
* Make a cross-platform tool (for instance a script) that identifies new phrases in our mission, traning and gameplay scripts and adds them (marked untranslated) into our lua locaization files. |
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
39 |
* Turn savefiles compatible between iOS and desktop format. This involves getting familiar with engine protocol and keybind interaction. |
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
40 |
|
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
41 |
== GUI improvements == |
196
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
42 |
* Don't close room on admin quit if game in progress. |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
43 |
* Enable private messages in our server. |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
44 |
* Allow kicking with reason. |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
45 |
* Expand the drawn maps feature so that all users in the room can draw on a shared canvas at the same time. |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
46 |
* Modify the drawn maps feature so that users can see a preview of what the admin is drawing. |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
47 |
* Rework the hat selection for hogs. |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
48 |
* Make the preferences that are modifiable from engine (eg. volume) update the ones specified in the frontend, using a new network message. |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
49 |
* Rework the draw-map functions, adding different brush sizes, brush types and something new. |
198
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
50 |
* Drop a shadow effect to every widget in our frontend. This will help you: http://doc.qt.nokia.com/stable/qgraphicsdropshadoweffect.html |
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
51 |
* Notify players about room name change: there should be a new message type added to the protocol. ("ROOM", "RENAME", "oldName", "newname"). A possible implementation could be to pdate the Qt-Frontend that it accepts messages of the format posted below at that it updates the room list; after accepting the message the user interface should reflect the name change. So room list gets updated and if player is in that room s/he'll see a notice message in chat about the room name. |
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
52 |
* Fill every tooltip and what's this text in every button of the frontend with appropriate description strings. |
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
53 |
* Rework the game map section (eg. instead of using a dropdown menu, use standard push buttons). |
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
54 |
* Create an advanced settings page, where to specify different screen resolution for windowed and fullscreen mode, different audio preferences, different quality configuration and so on. |
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
55 |
* Enable some commands while in frontend: fpr example /leave ( = /part - for leaving room), /quit (disconnects from server), /exit (closes hedgewars), /addFriend, /removeFriend, /ignore, /unignore. |
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
56 |
* When you download something from our DLC page, you usually have to restart the game to load the new contents. Propagate the right signals so that it gets loaded automatically and don't have to restart the game. |
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
57 |
|
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
58 |
== Graphics == |
196
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
59 |
* Port our renderer to OpenGL2 / OpenGLES2.0. |
198
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
60 |
* Make Hedgewars compatible with SDL-1.3: code compiles and launches fine but we have problems for input. |
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
61 |
* Set up a wifi protocol so that tablets can draw maps and send it to the dawn maps of Hedgewars. |
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
62 |
|
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
63 |
== Scripting == |
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
64 |
* Create a tutorial mission in lua to be included in our training section: this can involve using advanced techniques like portalling or explaining how to play entire game modes. |
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
65 |
|
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
66 |
== Engine == |
196
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
67 |
* Make hedgehogs without a hat get special hats if there currently is a special occasion such as Christmas. |
198
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
68 |
* Implement construction mode; this page http://hedgewars.org/node/1269 contains a general description of what we mean but you are allowed to improve or modify our concept. |
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
69 |
* Refactor the ammomenu in a sane way, separating the visual and store logic, allowing dynamic size, optimizing for performance, drawing in a single surface. |
196
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
70 |
* Allow participants in a game to view weapon sets and schemes before starting the game. This task could be carried out by showing an overlay window when mouse is over the scheme or weapon entries. |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
71 |
* Change the loading screen to show participating teams/players (and maybe even all the hogs if space is available |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
72 |
* Add the ability for themes to have stars high above the ground (comparable to clouds). |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
73 |
* Perform some engine cleanup, expecially in file loading, image flag handling and various TODOs and FIXMEs. |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
74 |
* Implement a better, faster land generation: for more details, visit http://accidentalnoise.sourceforge.net/minecraftworlds.html |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
75 |
* Sometimes you exit the game for a mistake and that's sad! Add a quick resume button to the game configuration for both local and network games. |
198
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
76 |
* Enable some commands while in engine chat, for example /quit to exit (you may want to just stop the game brutally with chForceQuit), /fullscreen to set the max window dimensions, /pause to pause the game, /bind for binding keys, /finish which would just have the game end by teleporting all hedgehogs out, then showing statistics (see chFinish). |
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
77 |
|
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
78 |
== Mobile == |
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
79 |
* Implement preferences/options in the Android port, basically allow the existing preferences options from the desktop version to the port using Android shared preferences. |
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
80 |
* Add in-game buttons for touch screen devices. |
196
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
81 |
|
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
82 |
= Q/A = |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
83 |
|
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
84 |
== Testing framework == |
198
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
85 |
* Add an expandable testing module so that we can trigger main server functions and check their return values. |
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
86 |
* Add an expandable testing module so that we can trigger main frontend functions and check their return values. |
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
87 |
* Add an expandable testing module so that we can trigger main engine functions and check their return values. |
196
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
88 |
|
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
89 |
== Other tests == |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
90 |
* Prepare a waterfall (eg. http://buildbot.libsdl.org/waterfall ) so that we are able to catch warning and compile failures early on. |
197 | 91 |
* Run valgrind on engine, report the leaderboard of most used functions and optimise them so that performance increases. |
198
6ed8811347fc
Updated with some comments from nemo
vittorio.giovara@gmail.com
parents:
197
diff
changeset
|
92 |
* Unify the translation files in something more usable, reducing the number of files and the repeated phrases. |
196
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
93 |
|
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
94 |
= Translation = |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
95 |
|
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
96 |
Pick a language of your choise! There is certainly need of an update or a revision or even a completely new language. |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
97 |
|
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
98 |
Here is the list of english files that require a translation: |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
99 |
|
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
100 |
* http://hedgewars.googlecode.com/hg/share/hedgewars/Data/Locale/hedgewars_en.ts |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
101 |
* http://hedgewars.googlecode.com/hg/share/hedgewars/Data/Locale/en.txt |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
102 |
* http://hedgewars.googlecode.com/hg/misc/hedgewars.desktop |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
103 |
* http://hedgewars.googlecode.com/hg/share/hedgewars/Data/Locale/missions_en.txt |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
104 |
* http://hedgewars.googlecode.com/hg/share/hedgewars/Data/misc/hedgewars-mimeinfo.xml |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
105 |
* http://hedgewars.googlecode.com/hg/share/hedgewars/Data/misc/hwengine.desktop.in |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
106 |
* http://hedgewars.googlecode.com/hg/share/hedgewars/Data/Locale/stub.lua |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
107 |
* http://hedgewars.googlecode.com/hg/project_files/HedgewarsMobile/Locale/English.lproj/About.strings |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
108 |
* http://hedgewars.googlecode.com/hg/project_files/HedgewarsMobile/Locale/English.lproj/About.strings |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
109 |
* http://hedgewars.googlecode.com/hg/project_files/HedgewarsMobile/Locale/English.lproj/Localizable.strings |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
110 |
* http://hedgewars.googlecode.com/hg/project_files/HedgewarsMobile/Locale/English.lproj/Scheme.strings |
6f44db041544
Crafted a TODO list for future reference
vittorio.giovara@gmail.com
parents:
diff
changeset
|
111 |
* http://hedgewars.googlecode.com/hg/project_files/HedgewarsMobile/Locale/hw-desc_en.txt |