BetterSpades, an Ace of Spades client targeted at low end systems (GL/ES 1.1). Runs on your grandmother's rig!
Clone or download
xtreme8000 See desc
* use glew for newer opengl functions
* remove old unused code
* correctly pick block color when block was previously damaged
* resolve ping thread dead-lock/crash
* add license header to ping files
Latest commit 3ef89a5 Sep 23, 2018

README.md

Build Status GPL DonateBTC

BetterSpades

  • Replicate of the great game Ace of Spades (classic voxlap)
  • runs on very old systems back to OpenGL 1.1 (OpenGL ES support too)
  • shares similar if not even better performance to voxlap
  • can run on "embedded" systems like a Steam Link

Why should I use this instead of ...?

  • free of any Jagex code, they can't shut it down
  • open for future expansion
  • easy to use
  • no hidden bugs

Quick usage guide

As of right now, you can download the newest stable version from the releases page.

You can get nightly builds here.

You can either:

  • use the client temporarily by extracting the downloaded zip into a new directory.
  • extract all contents to your current Ace of Spades installation directory (normally found at C:/Ace of Spades/), effectively replacing the old voxlap version

System requirements

Type min. requirement
OS Windows 98 or Linux
CPU 1 GHz single core processor
GPU 64MB VRAM, Mobile Intel 945GM or equivalent
RAM 256MB
Display 800x600px
Others Keyboard and mouse
Dial up network connection

Build requirements

These libraries and files are needed:

Name License Usage GitHub
GLFW3 ZLib OpenGL context Link
OpenAL soft LGPL-2.1 3D Sound env Link
inih BSD-3.Clause .INI file parser Link
stb_truetype Public domain TrueType font renderer Link
dr_wav Public domain wav support Link
http Public domain http client library Link
LodePNG MIT png support Link
libdeflate MIT decompression of maps Link
enet MIT networking library Link
parson MIT JSON parser Link
log.c MIT logger Link

You will need to compile the following by yourself, or get hold of precompiled binaries:

  • GLFW3
  • OpenAL soft (only needed on Windows)
  • libdeflate
  • enet

Follow the instructions on their project page, then place produced static libraries in libs/.

Some files need to be copied to the src/ directory.

This means:

source destination
dr_wav.h src/dr_wav.c
Make sure to uncomment #define DR_WAV_IMPLEMENTATION in Line 9
lodepng.h and lodepng.cpp src/lodepng/lodepng.h and src/lodepng/lodepng.c
libdeflate.h src/libdeflate.h
ini.c and ini.h src/ini.c and src/ini.h
parson.c and parson.h src/parson.c and src/parson.h
http.h src/http.h
stb_truetype.h src/stb_truetype.h
log.h and log.c src/log.h and src/log.c

Because state of copyright of 0.75 assets is unknown, you will need to get them here. Unzip the file and extract all contents to resources/ manually.

Windows

This project uses CMake to generate all Makefiles automatically. It's best to use MinGW for GCC on Windows. You can generate the required files by opening cmd.exe in the build/ directory and typing:

cmake -G "MinGW Makefiles" ..
make

You might need to replace make by mingw32-make if cmd tells you it could not find the first.

If everything went well, the client should be in the build/bin/ subfolder.

When starting client.exe, you will be greeted by a server list. Select a server on it to start playing! You can also start the client the same way as you did with the voxlap version by opening cmd and putting an aos:// link in as the first argument:

client.exe -aos://16777343:32887 //Connects to a local server

Linux

Compilation now works the same on Linux. Just change the build system to Unix Makefiles or leaving it as default will probably work too (cmake ..).

You can build each library yourself, or install them with your distro's package manager:

sudo apt-get install libgl1-mesa libgl1-mesa-dev libopenal1 libopenal-dev libglfw-dev libenet-dev

(this does not include libdeflate or lodepng which are a requirement too, see Wiki/Building for more details)

Start the client e.g. with the following inside the build/bin/ directory:

./client -aos://16777343:32887

macOS

The same instructions for Linux work on macOS aside from some minor differences. First, use Homebrew or MacPorts to grab dependencies:

brew install glfw enet

The development headers for OpenAL and OpenGL don't have to be installed since they come with macOS by default. libdeflate and lodepng should be installed and placed manually in a way similar to Linux. See Wiki/Building for more details.

Gallery


quite old

quite old

grenade fun

falling block animation

sniping on normandie

Donate

Donations are greatly appreciated 👍

1AeSfdVmbEX6VCqxCgk9WkzSA8XJkKr4FM

GPL v3