18 |
18 |
19 == Various == |
19 == Various == |
20 |
20 |
21 * Document the interaction of engine/frontend/server network protocol |
21 * Document the interaction of engine/frontend/server network protocol |
22 * 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. |
22 * 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. |
23 * Document how the map drawing protocol work and how to implement the code for another frontend. |
|
24 * Document the format of the demo and save files. |
23 * Document the format of the demo and save files. |
25 |
24 |
26 |
25 |
27 = Code = |
26 = Code = |
28 |
27 |
29 == AI == |
28 == AI == |
30 * Make our AI use of the rope weapon to move and reach better positioning before firing. |
29 * Make our AI use of the rope weapon to move and reach better positioning before firing. |
31 * Make our AI know about drowning in any way. |
|
32 * Make our AI use any weapon of your choice. |
30 * Make our AI use any weapon of your choice. |
33 |
31 |
34 |
32 |
35 == Tools == |
33 == Tools == |
36 * 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. |
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. |
40 * Update and document the command line arguments parsing. |
38 * Update and document the command line arguments parsing. |
41 * Implement an handicap system allowing for increased difficulty on some teams instead of on the whole match. |
39 * Implement an handicap system allowing for increased difficulty on some teams instead of on the whole match. |
42 |
40 |
43 |
41 |
44 == GUI improvements == |
42 == GUI improvements == |
45 * Don't close room on admin quit if game in progress. |
|
46 * Enable private messages in our server. |
43 * Enable private messages in our server. |
47 * Allow kicking with reason. |
44 * Allow kicking with reason. |
48 * Modify the drawn maps feature so that users can see a preview of what the admin is drawing. |
45 * Modify the drawn maps feature so that users can see a preview of what the admin is drawing. |
49 * Rework the hat selection for hogs. |
46 * Rework the hat selection for hogs. |
50 * Make the preferences that are modifiable from engine (eg. volume) update the ones specified in the frontend, using a new network message. |
47 * Make the preferences that are modifiable from engine (eg. volume) update the ones specified in the frontend, using a new network message. |
51 * Rework the draw-map functions, adding different brush sizes, brush types and something new. |
48 * Rework the draw-map functions, adding different brush sizes, brush types and something new. |
52 * Drop a shadow effect to every widget in our frontend. This will help you: http://doc.qt.nokia.com/stable/qgraphicsdropshadoweffect.html |
49 * Drop a shadow effect to every widget in our frontend. This will help you: http://doc.qt.nokia.com/stable/qgraphicsdropshadoweffect.html |
53 * 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. |
|
54 * Rework the game map section (eg. instead of using a dropdown menu, use standard push buttons). |
50 * Rework the game map section (eg. instead of using a dropdown menu, use standard push buttons). |
55 * 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. |
51 * 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. |
56 * Enable some commands while in frontend: fpr example /leave ( = /part - for leaving room), /quit (disconnects from server), /exit (closes hedgewars), /addFriend, /removeFriend, /ignore, /unignore. |
52 * Enable some commands while in frontend: for example /leave ( = /part - for leaving room), /quit (disconnects from server), /exit (closes hedgewars), /addFriend, /removeFriend, /ignore, /unignore. |
57 * Implement proxying support for connecting to the Hedgewars server. |
|
58 |
53 |
59 == Graphics == |
54 == Graphics == |
60 * Make Hedgewars compatible with SDL-1.3: code compiles and launches fine but we have problems for input, due to the frontend/engine interaction. |
55 * Make Hedgewars compatible with SDL-1.3: code compiles and launches fine but we have problems for input, due to the frontend/engine interaction. |
61 * Set up a wifi protocol so that tablets can draw maps and send it to the dawn maps of Hedgewars. |
56 * Set up a wifi protocol so that tablets can draw maps and send it to the drawn maps of Hedgewars. |
62 |
57 |
63 |
58 |
64 == Engine == |
59 == Engine == |
65 * Make hedgehogs without a hat get special hats if there currently is a special occasion such as Christmas. |
60 * Make hedgehogs without a hat get special hats if there currently is a special occasion such as Christmas. |
66 * 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. |
61 * 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. |