Milestone 2 Design Document/Tasks
From SuperTux
| Milestone 2 Design Document | |
|---|---|
Contents |
Code Tasks
- 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)
- Malformed UTF-8 sequences should not be handled as fatal error, just insert '?' instead (happens with German translation) (fixed? MatzeB)
- properly GPL'ify the supertux-editor (COPYING file, GPL headers, etc.)
Sound and Music Tasks
- Create replacements for missing sound files - see DataFiles
- Create more music tracks for IcyIsland or add BlastOffTek's pack.
- Compress music more. The 40 MBytes of music make up two thirds of the source tarball.
Graphics / Sprites
- Crystallo dead/dying sprites
- replace old bomb with new bomb sprite
- Done? - sik0fewl 03:29, 20 June 2008 (UTC)
- Create SuperTux idle animations (
stage1: blinking with the eye,stage2: tipping with the food, 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)
- 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)
- 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)
- butt jump animation (Grumbel)
- backflip animation (Grumbel)
- draw a bigger arrow for when Tux is jumping out of the screen
- do a 32x32 top-down water animation for the worldmap
- finish cannon graphics, also snowball graphics, death, etc (Grumbel)
- try to fix white-lines around graphics problems (MatzeB)
- 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
- animate minibomb
- paint tutorial boards for grabbing, backflip and run-jump
- think of a new way to represent the exit area (snow molted with smooth ground below or so)
- 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)
- add turn-around animation for smart-snowball
- add sprite scaling
- remove border from menu screen or make it scalable for different resolutions
Editor / Developer Conveniences
- 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)
- Slopes and background tiles
- Moving platforms (ice platforms haven't been used yet...)
- Climbable ladders and directly accessible powerups
- New unisolid snow tiles
- Parallax backgrounds
- Sector/Scripting use
- Crystallo and IceBlock badguys
- Add-ons + manager (To distribute these new levels, of course!)
- 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) - 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)
- add 'recent files' to level editor
Meta / Organization
- create a timeline what shall be done and when — Milestone 2 Design Document/Timeline
- discuss in the meetings what shall be done over the coming week — Next Meeting Agenda
- create an overview of the current levels (Grumbel) — Milestone 2 Design Document/Levels
- document the behaviour of all badguys to be used in Milestone2 along with how they interact with each other - Milestone 2 Design Document/Enemies
Menu System / Game Configuration
-
add an cmd option --defaultand/or a menu entry "Reset to Default" to reset any changes to resolution or aspect ratio (or something along those lines) (cmd done, WolfgangB) - 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
- 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)
- 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)
- replace "you found a secret area" with a special sound (Wansti)
- 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
- 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)
- 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)
- camera vertical scroll doesn't work properly in a small window (i.e. it doesn't move at all)
Other
- add PNG support for screenshots, BMP support currently broken
- 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?
- 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)
- General: Get rid of bouncing snowballs killing normal snowballs and other unintended behaviour
- Fixed in revision 6554 —octo 07:35, 9 March 2010 (UTC)
- General: Get rid of enemies stacking on top of each other
- What does that mean? —octo 07:45, 9 March 2010 (UTC)
- General: Have particle throwing starting enemies (fireflower like)
- Not on the Enemies page. Postpone to Milestone 3? —octo 07:45, 9 March 2010 (UTC)
- General: Do something about the walking speed, feels wrong at the moment, maybe a bit slower
- Mr. Bomb: Roll back to behavior of Milestone 1, get rid of particle effects
- Particle effects are currently deactivated in
src/object/explosion.cpp. --octo 07:08, 5 March 2010 (UTC)
- Particle effects are currently deactivated in
- Mr. Bomb: let the fuse burn after one touched it
- Haywire: new bomb type (crazy pink bomb) that runs around after being touched
- Initial version is done. Waiting for feedback and improvements. See Milestone 2 Design Document/Enemies --octo 07:08, 5 March 2010 (UTC)
- 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)
- Flying Snowball: smoke effect for the motor seem to be to seldomly triggered
- Flying Snowball: Remove randomness, should be periodic and predictable
- Icecrusher: gravitation instead of linear, facial expression, maybe screen shaking
- 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)
- merge AngryStone and Icecrusher, both do the same thing, just with different graphics (actually they don't, maybe they should?)
- "Angry Stone" follows Tux around, Krush and Krosh only drop down (not left/right/up) towards Tux. —octo 09:39, 27 February 2010 (UTC)
- The Angry Stone is currently not used in any level. It is used in
data/levels/world2/dfk-placeholder-1.stlanddata/levels/world2/castledoor.stl, but neither is contained in the World 2 worldmap. Wouldn't it be easiest to just remove Angry Stone? —octo 07:45, 9 March 2010 (UTC)
- Mr. IceBlock: transparency looks shit on dark backgrounds, Wiki had a better looking version floating around
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
- Is this necessary for milestone 2? - sik0fewl 20:54, 15 June 2008 (UTC)
- Probably not. -- Mathnerd314 00:05, 6 July 2008 (UTC)
- Is this necessary for milestone 2? - sik0fewl 20:54, 15 June 2008 (UTC)
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
- SuperTux should stand on the ground when a level starts, not fall down
- fix console command set_game_speed() so that it doesn't slow down the console
Other
- create SuperTux .xo Activity for OLPC (Grumbel)
Finished
-
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
