TODO.wiki
changeset 251 103e54e77c6f
parent 216 6f7c0c72bd12
child 303 b281fa4ed31f
equal deleted inserted replaced
250:9c711f1b4638 251:103e54e77c6f
    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.