Back to the Pingus page
Todo: [ General | Sound | Music | Actions | WorldObjs | Leveleditor | Levels | Contrib | Worldmap | Bonus Items | Story | RoadMap | CleanUp ]

Pingus Revised TODO List/Roadmap

The aim is to create a new revised, improved, better smelling, softer, quicker, no colestorol, low fat, no-caffein, sugar free TODO list, and eventually have a roadmap ...


  • the option menu needs a complete redesign and cleanup.
  • we need some better looking loading and result screens for the game, which appear after a level was completed, the current once suck badly
  • There is also a TODO file in the pingus CVS tree which list some issues, but its not really sorted or something, its more my personal scratchpad, so I don't know how helpfull it will be.

    I guess there are quite a lot of things that I missed in this mail so feel free to do what you like when you find some other brokeness in the game.

    BTW: The FIXME's in the source code are not really usefull, since they cover most of the time internal code stuff, which would not be user visible and can be fixed at a later point.


    Level loading is currently not very fast and could probally optimized quite a bit (could probally become 400% faster or so). Currently the map is generated like this:

    This is not a bad aproch, but depending on the level, the number of modified tiles might not be very large, so we could probally just use the surfaces directly in a level instead of generating tiles. The tiles could then be generated on demand (which is already the case when the tile is empty). So the level loading could be seperated like this:

    With this aproach we could get nearly instant loading, especially when the surfaces are already loaded, which is the case on a retry. Problems that remain is the collision map, which currently might also suck a lot of loading time and the on-demand tile map generation which could need to long, so causing breaks in the game. This could be fixed by complicated CL_ClipRects around the tile, so that we can lower the size of surfaces which need generation.





    We need more WorldObj's or at least we should finish the ones that currently don't work correctly or are missing features (IceBlock, Conveyorbelt, SwitchDoor, etc.). We should also add generic particle generators, writing extra code for each and every particle effects sucks.


    Meta-Objects or Object Groups

    The editor should provide a way to handle meta objects or objects groups. For example a normal entrance consist of three layers, the background layer, the 'physical' entrance and a foreground layer, currently there is currently no way to insert such an object group at once. Grouping support is there but still primitiv. So the editor should provide a way to insert meta-objects just like normal groundpieces and other objects. Exporting object groups to meta-objects should also be supported.


    The levels are currently not balanced well. First levels need to be easier, and hardness must grow as levels advance. So basically all levels need a review and fixups if they probally broke with more current pingus releases. To acomplish that the levels format needs to be extended, something like this might work:

    Playability of some levels is open to discussion
        comments by cc (cagri coltekin)
          * Level 1:  -- somewhat playable.

    This extension should make it easier to keep the data connected to the level instead of keeping it seperate in some database.


    The contrib gui is basically working but it could still need quite some improvement. The Buttons could need some graphical touch-ups and the background should be animated or animatable, the background-types of the game could be used for such a thing, but this would need some restructuring of the World class. There should also be a way to release (or automagically download) extra level packs in the near future, which currently isn't really possible.


    To make Pingus more than a lose collection of levels we have the concept of worldmaps, which are basically the same as the worldmaps seen in Super Mario World or similar games. The basic concept is that all levels are not only ordered in a list, instead they are arranged in a graph. So the player as the possibility to to walk different paths, find bonus levels and finish a world without playing all levels. The screenshot at the right shows such a worldmap. Maybe ten worldmaps should be there in the complete game. A meta-worldmap might also be there to have quicker access to the worldmaps. There will also be a counter which counts how much percent of all the levels are finished and similar things.


    Bonus Items

    Pingus will have special items, basically different kinds of herring. Probally some special artefacts to trigger events. Each type of herring will be worth a specific amounts of points, the points will then act as a value on how much of the level is finished.

    Blue Herring
    Basic collectable item, similar to coins in Super Mario World
    Worth: 1 Points
    Red Herring
    Generic collectable item, similar to coins in Super Mario World
    Worth: 5 Points
    Golden Herring
    Generic collectable item, similar to coins in Super Mario World
    Worth: 50 Points


    In addition to the worldmaps there are plans for having a story. The story will mainly be driven by little cutscenes (not sure if animated or just statues) between the worldmaps and probally at special events like completing all levels with 100%. An intro and outro are also needed. There hasn't been yet decided on a story, only some lose ideas, see the story line thread and the mailing list archive. The cutscenes for the storyline might look like this:

    There isn't currently any working code for cutscenes and it hasn't been decided on a file format or similar things.



    In addition to this ToDo you should also have a look at the file ROADMAP in the top-devel directory of the CVS tree, it contains the stuff that should be fixed before the next release.


    Beside that the game needs some more features and feature cleanups, there is also a need for a code cleanup in some places.

    Copyright © 2002 Ingo Ruhnke, <>
    Last update: Fri Jan 11 12:35:17 2002