A 2D isometric local multiplayer clone of hole-io, written as assignment for university.
Find a file
2023-06-10 14:47:47 +02:00
assets Improved configuration of texture assets. Added VersatileSprite and proper factory 2023-06-05 00:12:17 +02:00
src Fixed movement stopping on gamepads when button is pressed 2023-06-10 14:47:47 +02:00
.gitignore Ignoring .idea folder 2023-04-26 22:28:07 +02:00
CMakeLists.txt Overhauled input system to support Game actions for buttons. Linked box2d as well 2023-06-08 00:54:01 +02:00
README.md Replaced reactphysics3d with box2d 2023-06-01 23:25:33 +02:00
TODO.md Overhauled input system to support Game actions for buttons. Linked box2d as well 2023-06-08 00:54:01 +02:00

Holesome

Inspired by hole-io.com

PADI 2023, Maximilian Giller, 5000149

What is this Game about?

Holesome is about holes! But not the kind you have seen before ...

Gameplay:

  • Navigate the environment as a hole
  • Eat the things that fall into you
  • Grow bigger to eat more things
  • Hide from enemies by closing
  • Damage your enemies by setting up traps
  • Eat your enemies and be the only one remaining

Style:

  • Isometric
  • Cute, but dangerous
  • Intuitive color coding

What is the goal?

The player controls a hole and has to consume as many objects as possible to grow. There are a variaty of Game modes that could be fun:

  • Eat as many objects as possible in a given time
  • Eat as many objects as possible, as well as all of your enemies and be the only one left
  • Eat as many objects as possible, but don't eat the bombs/etc., they will make you smaller again

Which components are included?

  • Physics: Core gameplay element to make the objects fall into the holes in a fun way
  • Controller Support: Use a controller to control the hole
  • Local Multiplayer: Play with up to 4 players on one device using split screen
  • Level Files: Levels are stored using a simple file format
  • Procedural Generation: Generate the levels procedurally to give the Game more variety
  • Menu: Because, duh

Potential expansions:

  • Multithreading: Improving performance by running the phsics in a separat thread and similar concepts
  • AI: Some holes could be controlled by AI, which makes singleplayer games more exciting
  • Online Multiplayer: Play with friends online

Project Setup

Install SFML and Eigen: sudo apt install libsfml-dev libsfml-doc libeigen3-dev

Compiling Box2D from source

Website: Box2D

  1. Make sure cmake, g++ and Doxygen (sudo apt-get install doxygen) are installed
  2. Clone the repository git clone git@github.com:erincatto/box2d.git
  3. Build and install the library
cd box2d
mkdir build
cd build
cmake -DBOX2D_BUILD_DOCS=ON ..

In case of "RandR headers were not found": sudo apt install xorg-dev.

cmake --build .
cmake --build . --target INSTALL