Tails Adventure is a Sonic the Hedgehog spin-off game, released for Game Gear and featuring Tails in a solo role. Opposed to other Sonic titles with fast-paced gameplay, Tails Adventure is a metroidvania game with emphasis on exploration, collecting items and backtracking. It's a unique "hidden gem" of the series that couldn't get attention it deserves due to low popularity of Game Gear.
This project aims to bring Tails Adventure experience to modern platforms, pushing away Game Gear limitations and implementing some improvements:
- Balance changes: rebalanced gameplay, enemies and bosses, to make the game more challenging
- QoL improvements: more responsive controls, pause menu, item hotswap
- Display support: runs in any resolution and refresh rate, displays subpixels, allows adjusting internal resolution to "zoom out the camera"
- Input support: keyboard, gamepad and touchscreen input, rumble and analog stick support, customizable mappings
- Save system: automatic saving, convenient data select menu in Sonic 3 style
- Mod support: simple mod system to embed custom assets, easily modifiable formats like TMX and TOML
Also, it was made from the ground up in C++ without using any game engines to be less bloated, maximize performance and portability. Effort is put into making the framework as lightweight as possible, able to run on weak hardware.
Levels (fully): Poloy Forest, Polly Mt. 1, Cavern Island, Caron Forest, Green Island, Lake Crystal, Polly Mt. 2.
Levels (partially): Volcanic Tunnel, Lake Rocky.
Items: Regular Bomb, Remote Bomb, Napalm Bomb, Triple Bomb, Remote Robot, Hammer, Teleport Device, Speed Boots, Radio.
Sea Fox items: Vulcan Gun, Anti-air Missile, Extra Speed.
Controls can be remapped with Options -> Controls -> Map keyboard / Map gamepad.
Action | Keyboard | Gamepad |
---|---|---|
Move | Arrow keys | Left stick or D-Pad |
Jump (A) | Z | A |
Use item (B) | C | B |
Previous item | A | LB |
Next item | D | RB |
Start | Enter | Start |
Toggle fullscreen | Right Alt + Enter | - |
Binary releases for Windows, Android and Linux (amd64) are available at Releases. If your platform is not supported or binary release is not working properly, you may build Tails Adventure Remake from source (don't worry, it's not as hard as you might think).
To build Tails Adventure Remake, you need to install C++ compiler, Make, CMake and git. The installation process varies through different distros and package managers, here is a few examples:
# Debian and its derives
sudo apt install build-essential cmake git
# Arch and its derives
sudo pacman -S gcc make cmake git
After installing required libraries, run following commands to clone repository, build and install Tails Adventure Remake:
git clone --recurse-submodules https://github.com/mechakotik/tails-adventure
cd tails-adventure
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DTA_UNIX_INSTALL=true
cmake --build . -j$(nproc)
sudo cmake --install .
This will install Tails Adventure Remake system-wide and you'll be able to see it in your applications menu. To uninstall, run this command in tails-adventure/build
directory:
sudo make uninstall
To build for Windows, you need to install MSYS2. After installing, run this command in MSYS2 MINGW64 shell to update packages:
pacman -Syu
If it asks to restart shell, restart it and run this command again. After MSYS2 is fully updated, run following commands in MSYS2 MINGW64 shell to install dependencies, clone repository and build Tails Adventure Remake:
pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-ninja mingw-w64-x86_64-cmake git
git clone --recurse-submodules https://github.com/mechakotik/tails-adventure
cd tails-adventure
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DTA_STATIC=true
cmake --build . -j$(nproc)
cmake --install .
Build result will be located in tails-adventure/build/output
directory.
The Android project is located in android
directory. However, some of the necessary files that are not part of Tails Adventure Remake are missing and need to be copied from SDL sources.
If you have a Unix-like environment, you may use setup.sh
shell script in android
directory, it will automatically copy all the needed files. If you are not able to run shell scripts, you'll have to copy all the files mentioned in the script manually.
After copying the necessary files, you may just open android
directory as a project in Android Studio and build using it.
Contributions are welcome! Just be sure to follow project's code style (use clang-format to format the code automatically) and write clear descriptions of changes that you are making. To get started, you may search for TODO in source code.