Skip to content

Latest commit

 

History

History
46 lines (42 loc) · 1.88 KB

TODO.md

File metadata and controls

46 lines (42 loc) · 1.88 KB

Bitsy.py

TODO

  • Load save data
  • Render basic scene
  • Render sprites
  • Avatar movement
  • Tile / sprite animation
  • Render dialog box
  • Render text on screen
  • Render multiple lines of text
  • Dialog triggers
  • Intro cutscene
  • Room exits
  • Ending triggers
  • Collecting items
  • Variables
  • Logic parser (for dialog, exits, endings)
  • Implement branching logic interpreter (dictionary based??)
  • Item requirements for exits
  • Item requirements for dialog
  • Branching logic inter
  • Blips for interactions
  • Game music (tunes)
  • Room transitions

Logic

  • Dialog can contain text triggers (draw sprite, shaking/rainbow/wavy text, changing text color palette). Values of variables / items can also be printed to dialog.

  • Exits teleport players to room and coordinates.

  • Endings end the game.

  • Pagebreaks end current text box, force new text to move onto new box.

  • Lists display dialog:

    • Sequence list serves dialog in sequence, returning empty once all dialog is used.
    • Cycle list serves dialog in sequence, resetting to first dialog after reaching end.
    • Shuffle list returns a random dialog from the list each time.
    • Branching list chooses dialog based on logic, returning first valid branch. Branches can be iterative, containing further logic.
  • Locked property: indicates if exit or endings can be triggered.

  • Palette swap: swaps changes the room palette (persistent)

  • Avatar morph: changes avatar to another sprite (persistent)

  • Blip: plays a tone

  • Tune: change room tone

  • The number of an item in the players energy can be set/changed, as can variables.

  • Once logic is triggered, it runs till end of logic options.

  • Once dialog is entered, new text (from dialog or logic) is stringed together into a complete script. This text is then presented all at once (unless broken up by page breaks).