Spearmint logo

Spearmint is a heavily modified version of the Quake III Arena engine. It is directly based on ioquake3 (November 2018). It was originally intended to be used exclusively for creating new games but it kept the ability to play the Quake 3 data.

Spearmint is not compatible with Quake III Arena servers, mods (the QVM/DLL files), or demos (game recordings). If you want to play on Quake III Arena servers I would recommend using ioquake3 and my widescreen HUD mod.

Most interesting features for players:

  • Aspect correct widescreen.
  • High resolution font support (TrueType).
  • Bullet marks on doors and moving platforms.
  • Dynamic lights have smoother edges.
  • Four player splitscreen support.
  • Improved Bot AI.
  • Improved gamepad support.
  • Instagib mode.
  • Unlagged instant hit weapons (optional).

More eye candy:

  • Smooth corpse sinking.
  • Gibs and bullet shells ride on moving platforms.
  • Player shadow moves with model animations.
  • In multiplayer with gibs disabled, bodies no longer become invisible when gibbed.
  • Option to fade out explosion lights instead of shrinking them (set cg_fadeExplosions cvar to 1).

Support

Spearmint is no longer being developed since October 2018 (blog post). It may remain playable but due to lack of support it may not be a good base for creating a new game. There may be future updates to fix issues but it’s not a high priority.

For discussion / technical support, see clover.moe/open-source.

Modding Improvements

Spearmint has many new modding features and moved a lot of the engine functionality into the gamecode. It’s possible to create new cross-platform games without modifying the engine.

  • New shader keywords and game objects.
  • New networked variables can be added to players and game objects (playerState_t and entityState_t).
  • New system calls for CGame and Game VMs.
  • Merged UI VM into CGame VM so the CGame<->UI communication is more flexible.
  • Moved a lot of code from the server and client to Game and CGame VMs including;
    • Setting up the player input sent to the server (usercmd_t)
    • All of the bot AI
    • Drawing the console, chat input overlay, demo recording message, etc
  • The engine and game code have been split into separate repositories so it’s easy to fork the game code for mods.

See the Spearmint documentation.

Download

To play Spearmint Quake 3, after extracting the Spearmint download you need to copy the Quake 3 pak[0-8].pk3 files into spearmint-version-platform/baseq3/. If you don’t own Quake 3 you can purchase it or play using the data from the Quake 3 demo, Team Arena demo, or OpenArena 0.8.8. See the included readme for more details.

If you extract Spearmint 1.0.0 or later over a previous Spearmint version, you need to manually remove spearmint-patch-*.pk3 files from the baseq3 and missionpack directories. They were replaced with spearmint-baseq3-*.pk3 and spearmint-missionpack-*.pk3.

Spearmint 1.0.3

Spearmint 1.0.3 (July 10 2020) with support files for Quake 3 and Team Arena (full and demo versions) and OpenArena 0.8.8 without the new game modes. It is compatible with Spearmint 1.0.0. Announcement post.

Known issues; On Windows the keypad 5 key doesn’t work without numlock enabled and on macOS 10.6+ the client only executes mouse wheel control binds if wheel is turned multiple notches (SDL 2.0.8 bugs). Servers using sv_dlUrl for HTTP downloads need to set sv_allowDownload to 9 for UDP/HTTP or 8 for HTTP only to avoid a Spearmint 1.0.0/1.0.1 client error.

macOS

The macOS app is not code-signed so you may need to workaround the gatekeeper.

1) Give Spearmint permission to read files.

    Open Terminal and run:

    xattr -dr com.apple.quarantine /Applications/spearmint-1.0.3-macosx

    “/Applications/spearmint-1.0.3-macosx” should be where ever you have extracted the directory from the Spearmint DMG.

    Solves: Unable to locate data files. You need to install baseq3 in order to play.

2) Give Spearmint permission to run.

    Open Finder and locate Spearmint app. Hold Control key and click Spearmint to open context menu and then click Open in the context menu.

    Solves: “Spearmint” can’t be opened because it’s from an unidentified developer.

Addons

You can download additional Quake 3 levels at lvlworld. They are not recommended for use with the Quake 3 or Team Arena demos. You can download additional Quake 3 player models and skins at WorldSpawn and ioquake3. Place the pk3 files into the folder for the games use you using (baseq3, demoq3, tademo, baseoa).

Source Code

The source code for the Spearmint engine and the compatible Quake 3 game code is available on Github under the GNU General Public License version 3 or (at your option) any later version. There are additional license terms inherited from RTCW and ET.

Spearmint Credits

  • Zack Middleton (main developer)
  • Tobias Kuehnhammer (feedback / bug reports / Bot AI fixes)
  • And other contributors

Spearmint contains code from;

  • Quake 3 – id Software
  • ioquake3 – ioquake3 contributors
  • RTCW SP – Gray Matter Interactive
  • RTCW MP – Nerve Software
  • Wolfenstein: Enemy Territory – Splash Damage
  • Tremulous – Dark Legion Development
  • World of Padman – Padworld Entertainment
  • ioEF engine – Thilo Schulz
  • NetRadiant’s q3map2 – Rudolf Polzer
  • OpenArena – OpenArena contributors
  • OpenMoHAA – OpenMoHAA contributors
  • Xreal (triangle mesh collision) – Robert Beckebans

Past Releases

Spearmint 1.0.2

Spearmint 1.0.2 (November 3 2019) with support files for Quake 3 and Team Arena (full and demo versions) and OpenArena 0.8.8 without the new game modes. It is compatible with Spearmint 1.0.0. Announcement post.

Known issues; On Windows the keypad 5 key doesn’t work without numlock enabled and on macOS 10.6+ the client only executes mouse wheel control binds if wheel is turned multiple notches (SDL 2.0.8 bugs). Servers using sv_dlUrl for HTTP downloads need to set sv_allowDownload to 9 for UDP/HTTP or 8 for HTTP only to avoid a Spearmint 1.0.0/1.0.1 client error.

Spearmint 1.0.1

Spearmint 1.0.1 (November 15 2018) with support files for Quake 3 and Team Arena (full and demo versions) and OpenArena 0.8.8 without the new game modes. It is compatible with Spearmint 1.0.0. Announcement post.

Known issues; On Windows the keypad 5 key doesn’t work without numlock enabled and on macOS 10.6+ the client only executes mouse wheel control binds if wheel is turned multiple notches (SDL 2.0.8 bugs). Servers using sv_dlUrl for HTTP downloads need to set sv_allowDownload to 9 for UDP/HTTP or 8 for HTTP only to avoid a client error.

Spearmint 1.0.0

Spearmint 1.0.0 (October 10 2018) with support files for Quake 3 and Team Arena (full and demo versions) and OpenArena 0.8.8 without the new game modes. It is not compatible previous versions. Announcement post.

Known issues; On Windows the keypad 5 key doesn’t work without numlock enabled and on macOS 10.6+ the client only executes mouse wheel control binds if wheel is turned multiple notches (SDL 2.0.8 bugs). Servers using sv_dlUrl for HTTP downloads need to set sv_allowDownload to 9 for UDP/HTTP or 8 for HTTP only to avoid a client error.

Spearmint 0.6

Spearmint 0.6 (April 13 2018) with support files for Quake 3 and Team Arena (full and demo versions) and OpenArena 0.8.8 without the new game modes. It’s compatible with 0.5. Announcement post.

Spearmint 0.5

Spearmint 0.5 (October 13 2017) with support files for Quake 3 and Team Arena (full and demo versions) and OpenArena 0.8.8 without the new game modes. It is not compatible previous versions. Announcement post.

Spearmint 0.4

Spearmint 0.4 (July 13 2016) with support files for Quake 3 and Team Arena. It is not compatible previous versions. Announcement post.

Spearmint 0.3

Spearmint 0.3 (May 13 2016) with support files for Quake 3 and Team Arena. It is not compatible previous versions. Announcement post.

Spearmint 0.2

Spearmint 0.2 (November 13 2015) with support files for Quake 3 and Team Arena. It is not compatible previous versions. Announcement post.

Spearmint 0.1.1

Spearmint 0.1.1 (November 11 2015) with support files for Quake 3 and Team Arena. It’s compatible with 0.1. Announcement post.

Spearmint 0.1

Spearmint 0.1 (March 13 2015) with support files for Quake 3 and Team Arena. Announcement post.