Game Architecture
March 6, 2022•298 words
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 ##