App

Tuxtype

Tuxtype

Version 1.00Source on GitHub

OVERVIEW

Tuxtype (Tux Typing 1.8.3) is an educational typing tutor game starring Tux, the Linux penguin, for teaching typing skills to children, with falling-word games, scripted lessons, and phrase typing that measures accuracy and speed. The Qompass repo is the Tux4Kids codebase (C / SDL) carried under the Qompass AI banner.

HOW IT WORKS

  1. 1Launch `tuxtype`; startup initializes hard-coded defaults, resolves data/theme paths, loads saved settings, then applies command-line overrides in that order.` — `Opts_Initialize()` → `SetupPaths()` → `LoadSettings()` → argv loop)
  2. 2From the title screen / menu, choose an activity: Fish Cascade, Comet Zap, Lessons, or Phrase Typing / Practice.
  3. 3In Fish Cascade, fish with letters/words fall from the top of the screen — type the letters to clear them so Tux can eat the fish.
  4. 4In Comet Zap, comets fall toward cities — type the letter on a comet to have Tux destroy it with a laser and protect the city.
  5. 5In Lessons, XML scripts run activities (including Practice and 43 progressive finger exercises `basic_lesson_01`–`basic_lesson_43`) in a specified order; in Phrase Typing, type phrases/complete sentences while accuracy and typing speed are measured.
  6. 6Optionally add or modify custom word lists with the in-game Word List Editor (bundled lists are read-only for ordinary users).
How it works, step by step — each step as the project's own documentation states it.

CONCEPTS

THE GAME LOOP — TYPE WHAT FALLS1 · PROMPTletters + wordsfall, or a phraseFish Cascade · Comet Zap2 · KEYSTROKEStype the lettersto clear the wordTux eats fish, zaps comets3 · SCOREaccuracy + speedmeasuredWPM — equation below4 · NEXTnext word, nextlesson stepthe loop repeatsSCRIPTED LESSONS + PHRASE TYPINGXML scripts run activities in order — Practice + basic_lesson_01 … basic_lesson_43phrase typing: complete sentences, accuracy and typing speed measured · custom word lists via the Word List Editor
The game loop across TuxType's activities: a prompt (falling letters and words in Fish Cascade and Comet Zap, or a phrase in Phrase Typing) is typed as keystrokes, accuracy and speed are scored, and the next word or scripted lesson step follows — as the upstream doc/README and src/ describe it.
\[\mathrm{WPM} = \frac{(\text{correct characters} / 5)}{\text{minutes}}\]

WPM is the words-per-minute speed the game reports in its practice mode. Correct characters is the count of correctly typed characters; minutes is the elapsed typing time in minutes; the divisor 5 is the standard typing-measurement convention of five characters per word. This is the game's own formula: src/practice.c computes (correct_chars / 5) / (total / 60000), with total measured in milliseconds.

The speed the game reports: correct characters, grouped five to a word, per minute — the standard typing-measurement convention, and the game's own computation.

CONFIGURATION

OptionDefaultWhat it does
`fullscreen` (`DEFAULT_FULLSCREEN`)`1` (on)Start in fullscreen display; `-w`/`--window` overrides to windowed
`sys_sound` (`DEFAULT_SYS_SOUND`)`1` (on)Allow in-game sounds; `-ns`/`--nosound` disables
`tts` (`DEFAULT_TTS`)`0` (off)In-game text-to-speech accessibility; volume `DEFAULT_TTS_VOLUME = 100`
`braille` (`DEFAULT_BRAILLE`)`0` (off)Braille mode; enabled by `-b`/`--braille`
`speed_up` (`DEFAULT_SPEED_UP`)`0` (off)Speed up gameplay for slower machines (`-sp`/`--speed`)
`debug_on` (`DEFAULT_DEBUG_ON`)`0` (off)Debug output (`-d`/`--debug`)
`theme_font_name` (`DEFAULT_FONT_NAME`)AndikaDesRevG.ttfTheme font; locale default `DEFAULT_LOCALE = en_US.UTF-8`, `DEFAULT_USE_ENGLISH = 1`
sfx_volume` / `mus_volume` / `sound_vol100` / `100` / `100Sound-effects, music, and overall sound volumes; menu music/sound default on (`1`)
`~/.tuxtype/settings.txt` `[General]` keys (WSL2/Arch build note)`window_width=1024`, `window_height=768`, `fullscreen=0` (example)Window size and fullscreen override written as a settings file before building/running

CONTROLS

ActionControl
Start the gametuxtype
Show helptuxtype -h` / `--help` / `-help
Show version and exit`tuxtype -v` / `--version` (version 1.8.3)
Fullscreen / windowed-f` / `--fullscreen`; `-w` / `--window
Sound on / off-s` / `--sound`; `-ns` / `--nosound
Accessibility (TTS) on / off-a` / `--tts`; `-na` / `--notts
Braille mode-b` / `--braille
Select theme`-t {THEME}` / `--theme {THEME}` (uses the theme if it exists)
Speed up gameplay-sp` / `--speed
Debug mode-d` / `--debug
Build from source`./configure` then `make` (deps on Arch/WSL2: `base-devel git sdl sdl_image sdl_mixer sdl_ttf sdl_pango libpng libjpeg-turbo libvorbis`)
Install on Ubuntusudo apt update` then `sudo apt install tuxtype

NOT COVERED

- The GitHub README is Qompass boilerplate (badges, quick-start, About/Support/FAQ) with no gameplay, option, or config documentation; all HOW/CONFIG/CONTROLS above trace to the primo clone's upstream `doc/README`, `doc/README.md`, `legacy_install.md`, and `src/` — no Qompass-specific Tuxtype changes were found in the sources read. - The GitHub quick-start line points at `qompassai/tuxtype/main/scripts/quickstart.sh`, but the embedded script body in the README clones `qompassai/dotfiles` into `$HOME/.local/bin/tuxtype`; the script itself was not executed or verified. - In-game menu key bindings (pause, quit, difficulty keys) were not sourced — `src/menu.c` / `src/pause.c` were inventoried but their key handling was not read line-by-line, so no keyboard controls are claimed beyond typing itself and the CLI flags above.

REFERENCES

  1. Tux4Kids — Tux Typing (upstream project)The upstream Tux4Kids project the Qompass repo carries: Tux Typing, the educational typing tutor game starring Tux, whose falling-word games, lessons and phrase typing this page documents.