This wiki has been moved to https://github.com/SuperTux/wiki into the mediawiki branch.

Milestone 2 Design Document/Tasks

From SuperTux
Jump to: navigation, search
Milestone 2
Design Document


Code Tasks

  • properly GPL'ify the supertux-editor (COPYING file, GPL headers, etc.)
  • SDL2 migration (and all related side effect)

Sound and Music Tasks

  • Improve the sounds
  • Compress music more. The 40 MBytes of music make up two thirds of the source tarball.

Graphics / Sprites

  • Create SuperTux idle animations (stage1: blinking with the eye, stage2: tipping with the foot, stage3: scratching the head)
    • I've added the code for idle animations, we just need the graphics now. The blinking animation already exists, but it needs some tweaking - sik0fewl 06:25, 16 June 2008 (UTC)
    • [1]
  • when Tux dies he can fly behind blocks instead of in front of them, drawing order bug
  • Tux isn't centered properly to his collision box
  • repair jump Tux sprite (to dark black) (Grumbel)
  • do a 32x32 top-down water animation for the worldmap
    • use these tiles [2]
  • finish cannon graphics, also snowball graphics, death, etc (Grumbel)
  • Snowman graphics (death animation, turn-around graphics) (Grumbel)
  • Owl graphics (basically placeholder graphics right now) octo 07:53, 9 March 2010 (UTC)
  • some decor for ice tiles, cracks and stuff (Grumbel)
  • finish icecrusher graphics
  • deep snow tiles
  • icicle graphics for decoration purpose
    • [4] an okay job, but not the best -CT.da'Bomb
  • animate minibomb
  • think of a new way to represent the exit area (snow molted with smooth ground below or so)
  • add turn-around animation for smart-snowball

Editor / Developer Conveniences

    1. directly accessible powerups
  • finish editor improvements (MatzeB)
  • editor doesn't align Cannon and Krush and Krosh properly (grid is wrong)
    • I think it's using the 0,0-position of the image to align objects, not the hitbox. —octo 07:50, 9 March 2010 (UTC)

Meta / Organization

Menu System / Game Configuration

  • add gamma control to the option menu, see: int SDL_SetGamma (float redgamma, float greengamma, float bluegamma);
  • make aspect ratio option menu thing work
  • need to properly auto-detect and set aspect ratio on games first startup (i.e. on a 1280x1024 screen aspect must be set to 5:4, not 4:3)
  • option menu entries are currently not in sync with gameconfig
  • add scale-with-window option to magnification or something like that
  • make left/right change an option in the menu, let enter apply it (needed for fullscreen)

Levels / Scripting / Gameplay

  • level startup needs a fade-in, so does game startup, level abort and a few other places
  • add all fade-in/out effects to DisplayEffect
  • camera vertical scroll doesn't work properly in a small window (i.e. it doesn't move at all)

Other

  • aspect ratio init code (Grumbel)
  • think about peeking in relation to large screen size
    • Maybe disable peeking if the resolution is at a certain size or greater? Tux would just be centered. sik0fewl 18:34, 30 April 2009 (UTC)

Enemies

  • fix and cleanup all the enemy names - see Milestone 2 Design Document/Enemies for new names
    • A beginning has been made by renaming Kamikaze Snowball to Snowshot. There's not much consensus about the other changes though, see Meeting 2010-02-27. --octo 07:01, 5 March 2010 (UTC)
  • AngryBonusBlock: Have a bonus block type that comes to life when tux jumps against it and then chases Tux
Break the "only good stuff from bonus blocks" and "same look same behaviour" rules? --WolfgangB 01:27, 25 May 2008 (UTC)
Secret Maryo has a poisonous mushroom... if they break the rules, why not us? Also, bonus blocks already have varied behaviors. --Mathnerd314 04:23, 7 September 2008 (UTC)
  • create an enemy type that doesn't just walk straight into one direction, but does something different depending on Tux direction (ninja)
    • Is this a dupe of the Crystallo proposal for week 4? - sik0fewl 19:58, 15 May 2008 (UTC)
      • No, this enemy is intelligent (reacts to Tux) --Mathnerd314 20:43, 19 March 2010 (UTC)
  • Mr. Bomb: let the fuse burn after one touched it
  • Flying Snowball: Remove randomness, should be periodic and predictable
  • Flying Snowball: Change timings to match that of Milestone1
  • Flying Snowball: smoke effect for the motor seem to be to seldomly triggered
  • Icecrusher: gravitation instead of linear, facial expression.
    Gravitation has been done in revision 6403. —octo 19:19, 26 February 2010 (UTC)
  • Krosh (big icecrusher): add a larger version of Krush (the icecrusher), twice the size (4x4 files)

Postpone to Milestone 3

These are items that can be postponed until milestone 3, but are still welcome for milestone 2.

Code Tasks

  • separate lisp reader, tinygettext and other libraries properly out of SuperTux

Editor / Developer Conveniences

  • optimize the build process, building SuperTux currently takes ages (I don't see how we could speed it up..., MatzeB)

Levels / Scripting / Gameplay

  • fix console command set_game_speed() so that it doesn't slow down the console
  • replace "you found a secret area" with a special sound (Wansti)
    • why I like it the way it is. -ctdabomb
  • General: Do something about the walking speed, feels wrong at the moment, maybe a bit slower

Other

  • create SuperTux .xo Activity for OLPC (Grumbel)
  • Have particle throwing starting enemies (fireflower like)
  • add sprite scaling

Finished

  • document the behaviour of all badguys to be used in Milestone2 along with how they interact with each other - Milestone 2 Design Document/Enemies
  • reorganize the editor to something more like this SuperTux-Editor MookUp
  • Editor: show tile attributes in editor, especially for non-solid and unisolid there is often a very similar solid tile. Either add special editor-images for unisolid, some overlay icon for the tile selector or at least a hint in the status bar. (status bar done)
  • General: Get rid of enemies stacking on top of each other
    • What does that mean? —octo 07:45, 9 March 2010 (UTC)
    • I'm not sure if this issue still exists, but when one badguy falls on top of another and can't move left or right he will get stuck on top. - sik0fewl 16:53, 19 March 2010 (UTC)
  • SuperTux should stand on the ground when a level starts, not fall down (move all spawnpoints to 1 tile above ground)
  • paint tutorial board for backflip
  • draw a bigger arrow for when Tux is jumping out of the screen
  • Create more music tracks for IcyIsland or add BlastOffTek's pack or the music by semaJD [6].
    • semajd's music is added, we just need to add the music to levels
  • Mr. IceBlock: transparency looks horrible on dark backgrounds, Wiki had a better looking version floating around
  • Haywire: new bomb type (crazy pink bomb) that runs around after being touched
  • Mr. Bomb: Roll back to behavior of Milestone 1, get rid of particle effects
  • add PNG support for screenshots, BMP support currently broken
    • What's wrong with BMP support? It seems to work for me - sik0fewl 06:11, 13 June 2008 (UTC)
      • ACK, BMP-based screenshots work, at least with the SDL renderer. --octo 06:53, 5 March 2010 (UTC)
  • at large resolutions frame rate starts to sucks, but CPU usage continues to stay very low, is that a artifact of GPU use or something wrong with our timing/frameskipping code?
    • Fixed?
  • bug: can't walk left and jump while pressing ctrl, when going right the same works, might be keyboard specific (Microsoft Natural Ergonomic Keyboard 4000 USB suffers from it, on the same PC a PS/2 keyboard works, maybe kernel driver bug), capslock is bound to ctrl and ctrl is bound as action key, using space for action works as workaround (Grumbel)
  • peeking should stick instead of jumping back or jumping back should be limited to normal range that the camera can do
    • I think this is fixed or at least better now? - sik0fewl 18:34, 30 April 2009 (UTC)
  • add an cmd option --default and/or a menu entry "Reset to Default" to reset any changes to resolution or aspect ratio (or something along those lines) (cmd done, WolfgangB)
  • create an overview of the current levelsMilestone 2 Design Document/Levels
    octo 07:24, 11 January 2011 (UTC)
    1. New unisolid snow tiles
    2. Parallax backgrounds
      That's heavily used in Above the Arctic Skies. —octo 07:22, 11 January 2011 (UTC)
    3. Sector/Scripting use
    4. Crystallo and IceBlock badguys
    5. Add-ons + manager (To distribute these new levels, of course!)
      Incubator Island and octo's levels should do most of this
    6. Slopes and background tiles
    7. Moving platforms (ice platforms haven't been used yet...)
    8. Climbable ladders
      Ladders are not in the Milestone 2 document, but in Milestone 3. —octo 07:22, 11 January 2011 (UTC)
  • try to fix white-lines around graphics problems (MatzeB)
    • Where? -CT. da'Bomb
  • butt jump animation (Grumbel)
  • backflip animation (Grumbel)
  • Crystallo dead/dying sprites
  • Empty top/middle/bottom background image string should be handled as transparent image (more parallax backgrounds)
  • write TexturePacker to place multiple images on a single texture (better use of texture space and fixes bug with tiles having junk on the edge)
    • Fixed with non_power_of_two? --Mathnerd314 20:43, 19 March 2010 (UTC)
  • Malformed UTF-8 sequences should not be handled as fatal error, just insert '?' instead (happens with German translation) (fixed? MatzeB)
  • create some playable test levels for new stuff
    • Anything in particular? - sik0fewl 20:07, 15 June 2008 (UTC)
    Try these, since they're probably most noticeable to Milestone1 users: --Mathnerd314 04:23, 7 September 2008 (UTC)
  • remove border from menu screen or make it scalable for different resolutions
  • remove pictures from credits, looks to uneven that way
Really? I like the pictures. --WolfgangB 19:00, 29 April 2008 (UTC)
I do too. --Mathnerd314 00:05, 6 July 2008 (UTC)
  • replace old bomb with new bomb sprite
  • change game back to use Milestone1 single-sprite SuperTux (done)
  • switch supertux-editor over to CMake? (done, is now a simple Makefile)
  • when BigTux ducks, the camera moves/jumps, but should stand still (fixed, MatzeB)
  • there should be an script command to change the game speed (i.e. run in slowmotion)
  • Tux isn't animated when he dies (caused by "grow-right" and then "gameover" being set over and over again, so framecount is always 0) - sik0fewl
  • bring back single-sprite SuperTux (done)
  • jump with keyboard up (done, WolfgangB)
  • figure out a Jumpy replacement (Grumbel)
  • rename trunk/supertux-sharp to trunk/supertux-editor to make it clear that it is the primary editor (MatzeB)
  • Stay-on-platform snowball (done, WolfgangB)
  • snowball-launcher (done. WolfgangB)
  • integrate snowjumpy
  • use pink snowball for stay on platform, use normal snowball for straight forward walk
  • add a "scan for joysticks" to the "No Joysticks found" in "Setup Joystick" to allow hotplugging (done, WolfgangB)
  • peeking should work in in both X and Y at the same time (for use with second analog stick on todays gamepads) (done, WolfgangB)
  • add a way to enable the console from within the game
  • the menu should shrink instead of just disappear - sik0fewl
  • add a set_gamespeed() so that the game can run in slow motion for debugging [done]
  • fix default peek keybindings, seem to be wrong
  • Esc should pop the current menu (ie, back), not escape the entire menu - sik0fewl
  • bomb can't be carried, but should be able to - sik0fewl
  • make F10 toggle print-fps - sik0fewl
  • Spiky: Shouldn't alway sleep, either make it an option or better make a new enemy type for sleeping behaviour (Thats already done that way, there is Spiky and Sleeping Spiky).
  • Spiky: Walkcycle animation looks broken, there is a frame missing
  • Snowball(normal): Animation ruined
  • Snowball(stay-on-platfrom): Replace with female snowball graphic
  • Bomb: Replace graphic with new bomb graphic
  • fix editor so that it works without a mouse wheel (done, WolfgangB)
  • Translations for Chinese and Russian (Cyrillic)
  • InfoBox crashes when Text doesn't start with a marker character
  • create ice-spikes graphics (Grumbel)
  • create ice-tiles graphics (Grumbel)
  • create angry ice-block graphics (Grumbel)
  • Editor: sort (new) layers by z-value
  • peeking up/down keys seem to be unbound by default
  • fix/add/cleanup menu entry names and descriptions to be better understandable - [done, but should probably be reviewed before release]
  • create mountain and night background
  • create proper background tiles for level22 - all you need are the blue bg tiles and maybe some unisolid ones
  • new enemy type with more interesting walking pattern (follows Tux as long as Tux doesn't look, walks forward and backward, etc.), see Crystallo for a possible sprite
  • add 'recent files' to level editor
  • can't run while carrying an object, but should be able to
No, that is on purpose: Tux can't run when carrying heavy objects. So you can control where the player can not bring eg. the trampoline without a artificial "no stuff behind this line" object. Any reason why Tux should be able to run when lugging objects almost as big as himself? --WolfgangB 01:22, 25 May 2008 (UTC))
With *large* objects I might agree, but an Iceblock or any other 32x32 one isn't a large object, it just robs the gameplay from being dynamic. -- Grumbel 17:13, 28 May 2008 (UTC)
The speed limiting code has been deactivated in revision 6540. --octo 06:51, 5 March 2010 (UTC)
  • General: Get rid of bouncing snowballs killing normal snowballs and other unintended behaviour
  • Flying Snowball: Add acceleration/deceleration instead of linear up and down
    Isn't this the current behavior (revision 6402)? —octo 18:22, 26 February 2010 (UTC)
  • background graphics glitch at non-800x600 resolutions (black line where background tiles), reason for this is that background gets copied to a 1024x1024 texture with a black border, at non 800x600 resolutions the right edge becomes blended with this black border, need to add 1px border around the texture to fix this blending bug (alternative: use GL_NEAREST instead of GL_LINEAR)