CHECKLST.txt 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. Useful checklists
  2. =================
  3. Things to remember when adding a new puzzle
  4. -------------------------------------------
  5. Write the source file for the new puzzle (duhh).
  6. Write a puzzle() statement in CMakeLists.txt containing all the
  7. necessary metadata. Optionally also a solver() statement, and any
  8. cliprogram() statements for extra auxiliary tools.
  9. If the puzzle is by a new author, modify the copyright notice in
  10. LICENCE and in puzzles.but. (Also in index.html, but that's listed
  11. below under website changes.)
  12. Double-check that the game structure name in the source file has
  13. been renamed from `nullgame', so that it'll work on OS X. Actually
  14. compiling it on OS X would be a good way to check this, if
  15. convenient.
  16. Add a documentation section in puzzles.but.
  17. Make sure there's a Windows help topic name defined in puzzles.but,
  18. and that it's referenced by the help topic field in the game
  19. structure in the source file.
  20. Check that REQUIRE_RBUTTON and/or REQUIRE_NUMPAD are set as
  21. appropriate.
  22. Add the new Unix binary name, and the names of any auxiliary solver
  23. binaries, to .gitignore.
  24. Write an instructions fragment for the webified puzzle pages, as
  25. html/<puzzlename>.html .
  26. Make a screenshot:
  27. - create an appropriate save file in `icons'
  28. - define <puzzlename>_redo in icons/icons.cmake if the screenshot
  29. wants to display a move halfway through an animation
  30. - define <puzzlename>_crop in icons/icons.cmake if the icon wants to
  31. be a sub-rectangle of the whole screenshot
  32. Check in!
  33. Put the puzzle on the web:
  34. - run puzzlesnap.sh
  35. - adjust the copyright in index-mid.html if the puzzle is by a new
  36. author
  37. - check that the new puzzle has appeared on the staging web page
  38. - test both Windows binary links, the docs link, the Javascript
  39. version and the Java version
  40. - run webupdate
  41. - test all those things once more on the live website