This wiki has been moved to https://github.com/SuperTux/wiki into the mediawiki branch.
Milestone 2 Design Document
| Milestone 2|
For the old forest page, see Milestone 3 Design Document
For the last voice meeting see: SuperTux Meeting 18. August 2007
This document is meant to give a reasonably detailed guide on what shall and shall not happen in Milestone 2. It is also intended as a complete replacement of other, incomplete or otherwise flawed, Milestone 2 documents floating around in this Wiki. This design document is written by Grumbel, question and comments are welcome, use the Talk page or the IRC channel for that. At the moment this document is a work-in-progress, meaning goals might change as time progresses. This document as not yet been approved by any other member of the SuperTux development stuff.
Doing a forest world turned out impractical with the current available and active man-power for that reason Milestone 2 got retargeted to a much smaller accomplishable goal.
Next Meeting Agenda (7. August 2008, 18:00 GMT)
- supertux.info status? integrate in main page?
- GP2x updates
- music submission: BlastOffTek music pack for Supertux.rar
- badguy name cleanup
- GP2x status
- large level, establishing milestone 2 'gold standard'
- editor news
- compiled data formats
- editor gui restructure
- present newly build levels
- what to do with Badguy::freeze()?
- what to do with level flipping (suggestion: ignore it)
- Wiki & SVN backup again
- uni-solid tiles shall be provided for all tilesets
- multi-layer parallax scrolling background tilemaps shall be used in all levels
- menu system should be replaced/reworked
- save system could need a rework as well
- language shall be changeable via the option menu, LANG environment variable shall only be used as default setting
- worldmap Tux sprite should get animations for left, right, up, down directions, not just a single one as now
The levels of Milestone1 lack verticality as well as unisolid tiles, Milestone2 should fix that by adding those elements. Also the levels should be shortened/split to avoid the need for reset points. Another important point is that each level should try follow a clear design premise instead of being more or less random collection of tiles and enemies. The levels from Milestone1 should be taken as a point of inspiration and starting point, not as something that is verbatim copied over to Milestone2.
The worldmap should be rolled back to that of Milestone1, i.e. a mostly linear map, but additional optional paths shall be added.
See Milestone 2 Design Document/Levels for a more detailed analysis of the current levels.
The test/ levels are currently quite a big mess, there needs to be cleanup to reduce them to those that are really needed otherwise its to easy to miss the ones that are important.
World 1 - Icyisland
World 1, the icyisland, was released with Milestone 1, the intend of Milestone 2 is to adapt it to the new engine features as well as improving it by adding new enemies and new gameplay elements. While level structure might be recyclable in many places, it will often need structural improvements to provide real use of vertical and horizontal scrolling, instead of just locking the player in a horizontal-only scrolling level. Things that need to be done:
- Jumpy shall be replaced with an enemy that fits better into the snow landscape, Jumpy himself shall be reused in a lava-like setting or in the bosses castle
- the walrus salesmen shall be added to the island
- some levels shall be separated out into optional paths, to provide a less linear path
- the old Milestone1 worldmap shall be used, not the one currently present in SVN
- iceblocks which will melt on contact with fire shall allow to lock paths in a level or lock secrets
- balanced platforms that start to rotate or move when Tux stands on them shall be provided
- water, in its simplistic tile form, shall be removed from all levels
- uni-solid/half-tiles shall be used to enhance the levels and provide optional paths
- bottom-less pits shall be either replaced by pits with spike at the bottom or allow Tux to climb back out of the pit
- there shall be auto-scrolling levels that force Tux to run by having a avalanche coming down behind him, the avalanche might either be simple snow or a large group of enemies
- the castle tileset shall be replaced with something that looks colder and features both snow and ice
- cave tileset shall be replaced with something that has a larger pattern, thus looks less ugly when tiled
- tiles picturing deadly spikes build out of ice shall be created
The text based intro and credits shall be replaced with cutscenes, showing the events that are described in the text. Instead of auto-scrolling text the game shall provide text that doesn't scroll, but instead only continues up on user interaction (i.e. press action button to see the next page of text). Text in cutscenes shall get printed letter by letter to the screen to provide a sense of 'motion'. Voice over from a story-teller might be consideration, while Tux, Penny and Nolok itself shall remain without speech.
Later in the development of Milestone2
Things to know
- data/levels/test/unisolid.stl show a few new features of Milestone2 (parallax scrolling, unisolid snow tiles, new water)
- News is there to be used, so if something interesting happens, write it down there
Code: - engine problems blending - monster activation should be dependent on tux position and not on screen position (like it is now) because it should be independent from aspect ratio (Note for level designers: Think that potentially the user can see the whole level in front of him) - Code for butt jump Objects: - new object to place images into levels (to replace info boxes): http://pingus.seul.org/~grumbel/tmp/md5/ca5c98b54e92b1317776c49970f2bbbe-info-boxes-done-right.png Menu System Rework: - Scrolling level selection list - Buttons in menus - Add info box below menu (with explanations) Profile system: - create profiles - delete profiles - load default profile on startup - Restart game on language change (do not put language change menu into the Pause-Options menu) Graphics: - running animation - butt jump animation - improve egg graphics, so it does not seem like a "snowball" - graphics for the stuff in "Creatures" Behaviour: - Angry Iceblock: like the mario blocks (in the castles) - Owl: unclear... Carriers objects and drops them at tux somehow, but not clear. - Canon: like in mario: shoots left/right - MiniBomb: accelerates, follows tux (but does not jump) - Eater: ? Snowmen: - take the jogger one for fall-down snowball - take the japanese one for the gun - take the "normal" one for stay on platform - take the "ninja" for following tux Enemy Code: - support for spawning k-children in an enemy (for spitter for example) Mods: - we might want to support "mods". A mod is defined in that it replaces stuff that is already there (instead of only adding new stuff). Undecided if we want it and how exactly. Controls: - we need to support jump with up and jump with button - support binding for left,right,up,down. allow double up+jump config Game mechanics: - no costs for reset points - Mailinglist discussion: do we want reset points? - Remove global coin counter, coin count is only per level now (similar to collectibles) - Add collectibles: per level, show them in the screen while playing the level - When you find a collectible, fade in collectible count for a short time - In pause mode show all collectible as once Mailing lists: - We want a separate team mailing list. Proposal: create supertux-user and supertux-team. make forward supertux-devel mails to supertux-user. supertux-team read everyone but write only for people with svn access... World1: - levels will be changed, and reworked to make use of the new features Yeti: - Sequence at end of castle: Tux find Yeti, Yeti jumps out of the window and flees
- New Badguy "Ice Crusher", falls down to crush Tux, then rises back up. Has a platform on its top
- Remove old Cannon, Dropper graphics and use new Cannon instead. Only shoots left and right
- Butt-Jump should easily be possible. Press down in midair to make Tux stop in mid-air and drop down vertically. Current effect is just fine. Don't forget to shake the camera.
- Figure out which Russian Translation to use (contact translators).
- Build test level using snow slopes.
- Do not use Ice Flower. It's not finished yet.
- Fix jumping Tux animation. It has weird black marks.
- Make Tux backflip animation smoother.
- New tileset for above-ground levels.
- New decorative tiles. Ice cracks, snowmen, cavemen, areas with more transparency, ...
- Frozen tree.
- The forum of supertux.info is currently broken or unmaintained. Should we shut down the server? Contact maintainer.
- Sounds for Ice Crusher, Flying Snowball, Snowball splashing against wall. Sound of rockets exploding is too loud.