Hatsune Miku illustration with Spearmint accessory
Spearmint

A video game engine based on Quake 3.

What is Spearmint?

Spearmint Quake 3 screenshot
Spearmint Quake 3 screenshot

Spearmint is a heavily modified version of the Quake III Arena engine. It is directly based on ioquake3 (November 2018). It was originally intented 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. You can discuss Spearmint on Discord (Fragmint★Wonderland).

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).
Spearmint logo
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.

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 gamecode have been split into separate repositories so it's easy to fork gamecode for mods.
See the Spearmint documentation.

Download

Buy Me a Coffee at ko-fi.com

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-0.x.pk3 files from the baseq3 and missionpack directories. They were renamed to spearmint-baseq3-1.0.x.pk3 and spearmint-missionpack-1.0.x.pk3.

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; Windows keypad 5 key doesn't work and macOS 10.6+ only execute mouse wheel control binds if wheel is turned multiple notches (SDL 2.0.8 bugs).

Past Releases

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; Windows keypad 5 key doesn't work and macOS 10.6+ only execute mouse wheel control binds if wheel is turned multiple notches (SDL 2.0.8 bugs).

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.


Addons

You can download additional Quake 3 levels at lvlworld. They are not recommened 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.

Misc

There was previously a discussion forum (Magical Clover Forum) which is now a read-only archive.

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
ioquake3 Elite Force MP patch - Thilo Schulz
NetRadiant's q3map2 - Rudolf Polzer
OpenArena - OpenArena contributors
OpenMoHAA - OpenMoHAA contributors
Xreal (triangle mesh collision) - Robert Beckebans

Spearmint Logo

Creative Commons License
Spearmint Logo by Zack Middleton is licensed under a Creative Commons Attribution-ShareAlike 3.0 International License.

Spearmint Logo with caption uses "M+ 1mn Medium" font from M+ Outline Fonts.

Hatsune Miku illustration with Spearmint accessory

Creative Commons License

Quake 3 Screenshot

Graphics copyright 1999-2000 id Software. Liberation Sans font is available under the SIL Open Font License.