Blog

<−− TODO List — OTS TODO List — Walls Game −−>

TODO List — Vessel

2020 - May 29th todo

Vessel

On releasing Vessel.

  • Editor throws exception when in pos 255 because bg data is only 224 in size.
  • Add the background
    • Add a thunder / lightning effect with flash on windows
    • Light up bg bricks when lightning
    • Rain that falls onto blocks from an external block should show "hit" particles.
    • Improve window locations (rectangles only? Max size?)
    • Add thunder sound effect
    • Add rain loop (bit crush white noise).

Background steps done:

  • Background bug - placed blocks are invisible when placed over bg tile
  • Fix not clearing block when in certain scroll positions...
    • Draw green wherever blank space (as initial step)
    • Rain animation block
    • Castle brick 1 and 2
  • Leaderboards
    • Store top 5 scores
    • On lose, if score in top 5 then player can set initials (3 chars) and save
    • Flash score on game over menu when it's high score?
    • Add to main page - BEST: SPL 558833
    • Add leaderboards page - in main menu
    • redesign main menu to fit new Leaderboards entry
  • Add sound effects
    • Raining
    • Thunder
    • ka-ching for money getting
    • popping for spawning hearts
    • meteor detroys block
  • Stop replay file skipping straight to after first move
    • Is this already done?
  • Add level names
  • Fix bronze / silver / gold lines in levels
  • General QA
  • Animation when meteor destroys a block
  • Intro sequence.
    • Plumber goes to big castle
    • Thunder + lightning
    • Meets vampire at door
    • They exchange hearts and money particles
    • Both go into castle
    • (level start)
  • Scoring sequence.
    • Show vampire + plumber on screen during scoring
    • Spawn money + hearts as score is added
    • For gold bonus, more spawns etc.
  • Game over sequence (win)
    • When the final level is complete, there should be a splash page art piece
    • When final level is complete, go to game over screen. Then show splash art.
  • Create gif of a level playthrough (using replay system?)
    • Auto save to folder

Done:

  • Don't allow upward movement in non-editor mode
  • Good rotate button
  • Don't scroll past a level's bounds
  • Don't allow blocks placed on start position (e.g. 0100 block)
  • Don't play rotate sound for blocks that don't rotate
  • Render bug on second level (when screen width is too small? 10 or 12 vs. 16?)
  • On next level, scroll immediately to correct initial position
  • Add meteor special block for destroying block
    • Recalculate open connections correctly
    • Update multiplier block data in current level
  • Fix ugly bg tiles (background shading)
  • Lose game when place incorrectly (restart the level)
  • Game over menu
  • Update score on hud while scanning blocks
  • Updated scoreboard graphic
  • Add font for scoreboard
  • Show numbers on scoreboard
    • Show score
    • Show level name
    • Show multiplier
  • Store name in each level
  • Fix level 2 render bug with silver line
  • Main menu
    • New Game
    • Load Game
    • Instructions
    • Quit Game
    • Volume control (just mute / unmute)
  • Add graphics to main menu (some blocks at bottom of screen)
  • Working mute button
  • Replay system
    • User input 60 times per second
    • Forced Down is considered user action
    • Rotate is one of 4 user actions
    • Watching a replay is an alternative launch mode
    • (meteors, crosses etc. all work fine)
    • All level replays are saved automatically
    • Store in appdata folder with index name and timestamp
    • when running with -replay, check in appdata folder and working directory
    • On game load, immediately play replay.
    • User can still return to the main menu and play the game (returning to main menu disables replay mode)
    • Controls need to still work (don't disable left / right / rotate). Probably improve how replays work when doing this?
    • Do we want to store failed run attempts as a replay? Yes
    • Fix dot block problem (not save game related)
  • Refactor Board into Level and SaveGame.
  • Save game functionality (store current level data in level 32)
  • Load an in-progress game
    • Including current block + position
    • and score and multiplier
    • Need to handle original open pipe graphics. They should be left alone on level load even if they're now fully connected.
    • Need to think how to handle mid-level saving.
      • Current block in current position
      • Replay in an incomplete state, reopened to complete.
  • Make all the levels
  • Don't move block down from user input (down) if gravity moved the block down within the last .X seconds (avoid unintentional double move)
    • Something like a 0.2 second delay after an automatic DOWN, where DOWN input isn't accepted from user.
  • Make sure level 32 doesn't exist (and can't be changed in editor)
  • Don't allow player input while watching replay.
  • Problem with replay file playback?
  • "Consume" save file once loaded - should only be used to continue a play, not to retry a failed attempt.
  • If press retry, warn that this will reset current multiplier.
  • If press save and quit, warn that this will override the save.
  • In replay mode, don't show "save and exit", "retry" (should be "replay").
  • Fix up font rendering by adding kerning for specific cases
  • Improve instructions screen
  • Only draw bonus lines on internal blocks.
    • Remove old "Is this after a non-empty block" logic
<−− TODO List — OTS TODO List — Walls Game −−>