Skip to content

Resources

lifning edited this page Aug 4, 2012 · 5 revisions

Similar projects

Search implementation

Useful references

Theory

  • "Beautiful Debugging" by Andreas Zeller. Chapter 28 of http://beautifulcode.oreillynet.com
  • Discussion of delta debugging and input minification might help us take an existing TAS and shorten it.

Emulation

Input-string "movie" formats

  • SMV, a format for storing SNES "speedruns" as snapshot- or reset-anchored input strings: http://code.google.com/p/snes9x-rr/wiki/SMV151
  • Timing and synchronization issues with these files due to the hackish nature of the old snes9x versions used to record them. Very difficult to reproduce these without going way out of scope for this project, though perhaps a libretro port of the older snes9x 1.43 (which might happen) would help.
  • BSV, a format similar to SMV used in previous versions of bsnes: http://gitorious.org/bsnes/pages/BsnesMovieFormat
  • Supported by RetroArch (formerly SSNES) and older versions of bsnes-qt.
  • There don't seem to be many published "runs" in this format on the internet.

Case studies

Super Mario World (SNES)

  • TASVideos runs for Super Mario World:
  • http://tasvideos.org/1944M.html (SMV143) Keeping state between levels makes it difficult for us to divide the run computation into individual levels--we would have to compute a different run for each possible set of power-ups with which Mario can start the level.
  • http://tasvideos.org/1945M.html (SMV143) "Credits early" RAM manipulation glitch. These non-intuitive endings should be easy to find as long as we use things like breadth/depth-first search, but might be overlooked as soon as we involve heuristics.
  • Map of RAM values in Super Mario World: http://www.smwcentral.net/?p=map&type=ram
  • http://alcaro.tk/ram.html seems to be dead.

Tetris (NES)