Game Architecture

TAF is developed in, and runs on, Linux. It is programmed in C, and is compiled with the gcc compiler. It is a lean, fast program. The compiled binary is under 200 KB in size!

TAF is a GTK+ application, making use of the GTK toolkit for its windowing capabilities.

The colours and fonts for the program windows are defined in a CSS file called themes.css.

/* set the font and colour for the text view in the main window */
#game_view {
  font: 24px "DejaVu Sans Mono";
  color: #33F33F;
}

/* set the font and colour for the text view in the trace window */
#trace_view {
  font: 18px "Andale Mono";
  color: #FFFF00;
}

/* set the font and colour for the text entry field */
#text_entry {
  font: 20px "DejaVu Sans";
  color: #33F3FF;
}

/* set the font and colour for the digital countdown timer */
#timer_label {
   font: 140px "Deja Vu Sans Mono";
   color: #33F3FF;
   background-color: #000000;
}

/* set the background colour for text to black */
text {
  background-color: #000000;
}

Other settings are contained within the taf.conf file. This contains a hashed value that acts as a key to allow TAF to run on an approved computer. The other settings define the sound effects files that should be played for three different game events.

  • When a timed event is triggered.
  • When the timer is decremented because the player has received a clue.
  • If the game duration time has expired but the player has not completed the game. This is the "times up" sound.
# hash
.hash_value be933f64

# timed event triggered
.timed_event simple-game-countdown.wav

# decrement timer - clue given out
.decrement_timer arcade-retro-game-over.wav

# run out of game time
.timed_out timer-reached-zero.wav

## end ##

More from Dave McKay
All posts