puzzlescript icon indicating copy to clipboard operation
puzzlescript copied to clipboard

Misc Todo list

Open philschatz opened this issue 7 years ago • 0 comments

  • [x] squash all tsc errors
  • [x] fix game rendering performance bottleneck
  • [x] split parser up into separate files by using multiple semantics.addOperation('parse', {...} or by assembling the Object arg before passing it in.
    • See https://github.com/harc/ohm/blob/master/doc/api-reference.md#namespace-objects (& other docs)
  • [x] remove the Pairs classes by moving the getMatchedMutatorsOrNull onto the non-pair class and passing in an additional correspondingActionNode field

Then, we can start implementing:

  • [x] relative directions inside brackets ([ > Cat | ^ Dog ] -> ...)
    • [x] Get a working slow implementation to work
    • [x] Simplify the commands used to update the Cell so that we can keep caches in the Cell
    • [x] Use Bit Set to perform operations. See StackOverflow and maybe Bitset package or bitterset
  • [x] 16million colors
  • [x] LATE
  • [x] STARTLOOP
  • [x] expanding the rules per https://www.puzzlescript.net/Documentation/executionorder.html
  • [x] cell movement state ([> cat])
  • [x] different timing options (tick, when player presses, etc)
  • [x] player movement
  • [x] ACTION
  • [x] AGAIN
  • [x] redo a level
  • [x] support OR tiles on the left (condition) percolating to the right (action) even when in different brackets
  • [x] play a level and move to the next when win conditions are met
  • [x] record a level playthrough so it can be replayed as a unit test
  • [x] support flickscreen setting
  • [x] support zoomscreen setting (lots of redraws)
  • [x] detect win conditions
    • [x] support WINCONDITIONS section
    • [x] support WIN command in the rules
  • [x] CANCEL
  • [x] ellipses [ | ... | ] -> [ | ... | ]
  • [x] SFX commands
  • [x] undo
  • [x] CHECKPOINT
  • [x] render messages and message levels (screen 34x13 characters)
  • [x] sprites add on the right side of a Rule should be NO on the left side (be smart though) might only work if 1 sprite is being added. Speeds up evaluation since there will be fewer matches
  • [x] add https://github.com/yeoman/update-notifier
  • [x] Add comamndline arguments to pick the game, level, pixel size, resume, (& analytics?)
  • [ ] Add analytics reporting
  • [x] add accessibility renderer (wasd plays the game and arrow keys inspect the "screen")

/cc @jenniferharmon

philschatz avatar May 19 '18 21:05 philschatz