Skip to content

Use Anki and Quake3 together to gamify your flashcards study sessions

License

Notifications You must be signed in to change notification settings

Alpha-Rome0/anki-quake3

 
 

Repository files navigation

Updates

  • added Team Arena support
  • added CTF support
  • added support for Powerup pickups
  • You now keep your hard earned ammo when respawning.

Installation

  1. Download this source and build it. Instructions here: http://wiki.ioquake3.org/Building_ioquake3
  2. Follow instructions below

Anki Quake 3

This project is a fork of IOQuake3 (http://ioquake3.org) designed for learning gamification in conjunction with the Anki flashcard software package (https://apps.ankiweb.net/).

Basics

  • You can start single player games with bots using this special build of IOQuake3
  • You will not be able to pick up any weapons, ammo or powerups off the ground. You will have to earn those by doing Anki reviews. Bots will pick up items/weapons and shoot you with them though.
  • You start the game with a Railgun and Rocket Launcher, with no ammo. You can request ammo for them at the cost of 5 anki reviews for each ammo pack (this is configurable).
  • Similarly, you can request Health or Armor.
  • When you request items, the bots become paused and will not attack you.
  • You can then alt-tab into Anki, which has been notified of your target review count.
  • Perform all your reviews in Anki.

Anki Quake 3 screenshot

Limitations

Setup

  • copy all *.pk3 files from your Steam install (C:\Program Files (x86)\Steam\steamapps\common\Quake 3 Arena\baseq3) into anki-quake3/baseq3
  • Launch the game once so that it'll create a user profile (start ioquake3.x86_64.exe), but exit right away as we need to do some more setup
  • After exiting, open windows explorer and paste this path: %APPDATA%/Quake3/baseq3
  • Open q3config.cfg in a text editor, and add the following lines at the bottom (you can change the key bindings)
    • bind r "request_rail" //this requests rail slugs, and starts review mode (pauses bots). You can press it multiple times
    • bind t "request_rockets" //this requests rockets, and starts review mode (pauses bots)
    • bind f "request_health" //this requests health, and starts review mode (pauses bots)
    • bind g "request_armor" //this requests armor, and starts review mode (pauses bots)
    • bind q "anki_decrement" //if you want to use software other than Anki, you can use this key to manually fulfill reviews
  • Copy the Anki add-on script (https://raw.githubusercontent.com/lucwastiaux/anki-quake3/master/code/python/Anki_Quake3.py) into %APPDATA%\Roaming\Anki2\addons
  • Start-up Anki, you should see a red bar at the top saying Quake III Anki - Waiting for connection
  • You are now ready to start a game, launch the game using ioquake3.x86_64.exe +set sv_pure 0 +set vm_cgame 0 +set vm_game 0 +set vm_ui 0 (those command-line parameters are important, otherwise IOQuake3 may end up using code from the Steam install)
  • Start a single player game. Wait a bit for the bots to join
  • Alt-tab into Anki. You should see a red progress bar at the top showing how many reviews you have to do. Do your reviews and when you alt-tab into Quake3, you should now have 5 railgun slugs.

Optional setup

Anki and Quake3 need two-way communication, and this is done using UDP sockets. Quake3 will open one on port 27960. The python script running the Anki add-on will open one on port 27975. This is configurable at the top of Anki_Quake3.py. You can change these ports if necessary.

This configuration entry (to be placed in q3config.cfg) allows you to change the host/port anki is listening on. seta cl_ankiHostPort "127.0.0.1:27975"

About

Use Anki and Quake3 together to gamify your flashcards study sessions

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 93.7%
  • C++ 2.4%
  • Objective-C 1.6%
  • Makefile 0.4%
  • HTML 0.4%
  • Assembly 0.4%
  • Other 1.1%