Skip to content

zegalur/extremum

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Extremum

Extremum Game Logo

This is one of the games I made a long time ago using the Motor Engine.

A dynamic 3D shoot-'em-up game made during the engine’s development as a project to test various features. To play the game, you need a gamepad connected. You can plug in multiple gamepads to enable single-screen multiplayer. Have fun!

⚠️ DISCLAIMER: This is an old resurrected C++ game I made many years ago. The code quality varies, and the English may not be perfect.

Showcase

Gameplay GIF
Gameplay Video: (YouTube)

Game Controls

  1. To play the game, you need a gamepad connected.
  2. Plug in multiple gamepads to enable single-screen multiplayer (YouTube).
  3. (keyboard) F5 - Quick Save.
  4. (keyboard) F8 - Quick Load.
  5. (gamepad) R1, L1 - Shoot.
  6. (gamepad) X,B - Change Weapon.

Installation

You can download a pre-built release or build it from scratch with git and cmake using the instructions below.

  1. Download the repository along with all submodules:
git clone https://github.com/zegalur/extremum.git
cd extremum
git submodule update --init --recursive
git submodule update --remote --recursive
  1. This game uses the Motor Engine with Lua bindings.
    Install all libraries required to build the engine as described in:
    https://github.com/zegalur/motor-engine

  2. (Windows) You need to install boost-algorithm (use ./vcpkg install boost-algorithm).

  3. Configure, build, and install the game:

# (Linux or MacOS):
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
cmake --install build --prefix install

# (Windows - MSVC):
#   Replace `C:/dev/vcpkg/scripts/buildsystems/vcpkg.cmake` 
#   with the correct path to your `vcpkg` CMake toolchain file.
cmake -S . -B build -DCMAKE_TOOLCHAIN_FILE=C:/dev/vcpkg/scripts/buildsystems/vcpkg.cmake
cmake --build build --config Release
cmake --install build --prefix install --config Release

# (Windows - Clang or MinGW):
#   Replace `C:/dev/vcpkg/scripts/buildsystems/vcpkg.cmake` 
#   with the correct path to your `vcpkg` CMake toolchain file.
cmake -S . -B build -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -G "MinGW Makefiles" -DCMAKE_TOOLCHAIN_FILE=C:/dev/vcpkg/scripts/buildsystems/vcpkg.cmake -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release
cmake --install build --prefix install
  1. If the build fails due to missing packages, install them and try again until the installation completes successfully.

  2. Congratulations! You can now run the game from the install/ directory:

    • run_game.bat (Windows)
    • run_game.sh (Linux, MacOS)
  3. (Optional) For making a Windows release ZIP-package (in tmp/), use:

cpack --config build/CPackConfig.cmake -B tmp

Third-Party Assets

This game wouldn’t be possible without these excellent resources:

Fonts (Used For Static Images):

  1. Airborne GP by Gustavo Paz (site)

Fonts (Files Included):

  1. Comfortaa by Johan Aakerlund (site) (OFL)
  2. OSP-DIN by OSP (site) (OFL)
  3. Free Mono Bold - font from GNU FreeFont (site). Its licenses (GPLv3 with the GNU FreeFont Font Embedding Exception) are available in LICENSE-FreeMonoBold.txt and LICENSE-GLP-3.0.txt from the assets/data/fonts.

Music:

  1. 12 Music Loops by SubspaceAudio (CC0) (site)

Sound Effects:

  1. Missile Lock Detected by ryanconway -- https://freesound.org/s/165504/ -- License: Creative Commons 0
  2. ferry_engine_pulse.wav by suonidigenova -- https://freesound.org/s/55053/ -- License: Creative Commons 0
  3. Weapon_SciFi_Blast_Big_Sequence_Stereo.wav by Nox_Sound -- https://freesound.org/s/673794/ -- License: Creative Commons 0
  4. Explosion.wav by BigDino1995 -- https://freesound.org/s/569900/ -- License: Creative Commons 0
  5. fakebang_3.wav by vacuumfan7072 -- https://freesound.org/s/349033/ -- License: Creative Commons 0
  6. Bricks/Stones/Rocks/Gravel Falling by iwanPlays -- https://freesound.org/s/567249/ -- License: Creative Commons 0
  7. rockfall2a.wav by AlanCat -- https://freesound.org/s/389303/ -- License: Creative Commons 0
  8. Rocks.wav by adamgryu -- https://freesound.org/s/336023/ -- License: Creative Commons 0
  9. Falling Rock.wav by spookymodem -- https://freesound.org/s/202098/ -- License: Creative Commons 0
  10. Plane Loop.flac by qubodup -- https://freesound.org/s/184723/ -- License: Creative Commons 0
  11. laser by bullsquid_ -- https://freesound.org/s/768431/ -- License: Creative Commons 0
  12. Modern RPG Automatic Rifle Loop.mp3 by Wakerone -- https://freesound.org/s/513345/ -- License: Creative Commons 0
  13. snd_ImpactHeavyWood03.wav by dorian.mastin -- https://freesound.org/s/381609/ -- License: Creative Commons 0
  14. Game Pickup by IENBA -- https://freesound.org/s/698768/ -- License: Creative Commons 0
  15. Game Pick Up by IENBA -- https://freesound.org/s/762911/ -- License: Creative Commons 0

License

Made by Pavlo Savchuk (aka zegalur).
Game code is released under the MIT License. Game graphics is CC0. (Both - where applicable.)
Third-party assets may have their own licenses attached as LICENSE-[asset-type].txt or INFO-[asset-type].txt.

About

An old 3D shoot-'em-up game made for testing the engine. Made with Motor Engine.

Resources

Stars

Watchers

Forks

Packages

No packages published