Skip to content

Oakamoore/keywords

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Overview

A terminal based typing game, inspired by wspeed and typespeed. It uses FTXUI to handle rendering in the terminal, and miniaudio to play audio files - which were generated using AutoTracker.

demo.mp4

Unmute to hear game audio

A terminal emulator that supports a 256 colour palette and ANSI escape codes is required for this program to function as expected

Choose between three different difficulties, that scale with each word that is typed, and aim for highscores to enter your name in the local leaderboard.

Installation

A C++20 compatible compiler is required for this program to function as expected

  1. Clone this project
git clone https://github.com/Oakamoore/keywords.git
  1. Step into the repository
cd keywords
  1. Build the project using CMake
# Configure the build
cmake -S . -B build

# Build project binaries
cmake --build build

A build configuration (Debug, Release etc.) can also be specified.

Disabling Testing

To prevent tests from being built alongside the program, append -D ENABLE_TESTING=0 to the above build configuration command.

Usage

Once the project is built, navigate to the newly created keywords/build/ directory, locate the executable, then run the game using:

./keywords

Disabling Audio

In-game audio is enabled by default. To disable it across an instance of the game, append no-audio to the above command.

Testing

Catch2

Once the project is built (with testing enabled in the build configuration), navigate to keywords/build/tests/, locate the testing executable, then run the tests using:

./keywords-tests

Planned Features and Contributions

There are plans to add support for different languages, and game modes.

This project is currently not open to contributions, though you are of course free to fork it and extend it in any way you deem fit. If you encounter any bugs, feel free to create an issue.

Releases

No releases published

Packages

No packages published

Languages