TODO.txt for "tuxmath"

2010.Nov.10

These are the main (difficult) issues we would like to tackle
at some point:

1. Create an easy package for both tuxmath and t4k_common for people who
want to build from source but don't use the Git repositories.

2. Update distro packaging to reflect the t4k_common refactoring. 

3. The admin program needs to be finished, documented, and packaged.

3. LAN mode could use some further work.  We need to properly handle server
detection if the LAN has more than one server instance running. The code in 
game.c should display an appropriate end-game summary with the scores of all
players. Also, the server program could be made more robust and functional,
with ability to handle multiple simultaneous games, and more configurability.
One prerequisite will be to make mathcards.c/h thread-safe.

4. Removal of dead code and files now that t4k_common providing many functions.

5. Move linebreak code into t4k_common.

6. Move scandir, alphasort, and other replacement functions into t4k_common.

7. Dependable creation of dmg installer builds for Mac OS-X.

8. Remove ".txt" extensions from text files, with renaming of them to "*.txt"
at the time of building for Windows.

9. Improve teaching value of main game by reviewing any incorrectly answered questions
at the end of the game, and playing another game with only these questions.

10. Improve Factoroids with "prime numbers gun" and logically-arranged progression
of target numbers with each wave.



Older stuff:
2007.Oct.08
Build:
  * Make a relocatable binary for Linux (klik package?)

Older stuff:
2007.Oct.08
Build:
  * Make a relocatable binary for Linux (klik package?)
  * Refine NSIS installer for Windows (or perhaps executable
    itself) to create Start Menu link to options.txt file

Graphics:
  * Make game more "themable" (there is a pending request for an
    "Egyptian" theme with pyramids and an "Islands" theme with
    palm trees, etc.)
  * svg support - allow game to draw correctly at any resolution.

Interface:
  * Add more sound effects and music files
  * Speech mode
  * Add option for number-keys to control main menu and possible options
    (for mouseless scenarios where arrow keys might not be the available...
    is there such a thing as numeric-only keyboards for PCs???)
  * Implement lockfile to prevent multiple invocations.

Game Play:
  * More entertaining "victory" and "defeat" screens
  * Add option to review missed questions to end-of-game screens
  * Add option to play next game using missed questions from current game
  * End-of-level calculations, bonuses and animations
  * "Lesson server" with login - keep track of lessons completed, percent
    correct, etc. on a per-user basis, even if installation doesn't have 
    students log into computers individually.
  * Multiplayer mode - points go to whoever shoots the comet first.
  * Re-examine algorithm for spacing of comets (allow game to deliver
    problems faster even if the comet speed limit is not raised).

Documentation:
  * Finish README.txt
  * Finish INSTALL.txt

Options:
  * Make use of some of function keys(F1-F12) to toggle settings in-game
    (perhaps speed control, muting of music)
  * Save options.
  * Admin options screen / files
  * Command-line options based on grade-level (?)
  * Internationalization - use gettext() for all strings
  * Install some kind of security on --homedir, to make sure that
    tuxmath can write but that students can't edit the files by hand?

Code:
  * Optimize graphics blitting!!!
  * Abstract SDL_BlitSurface() calls

