holesome/README.md

71 lines
2.2 KiB
Markdown
Raw Normal View History

2023-04-26 11:33:48 +02:00
# Holesome
2023-04-26 13:56:57 +02:00
Inspired by [hole-io.com](https://hole-io.com)
2023-04-26 11:33:48 +02:00
2023-04-26 14:24:25 +02:00
PADI 2023,
Maximilian Giller,
2023-04-26 11:33:48 +02:00
5000149
2023-04-26 22:48:15 +02:00
## What is this Game about?
2023-04-26 11:33:48 +02:00
Holesome is about holes! But not the kind you have seen before ...
2023-04-26 13:56:57 +02:00
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
2023-04-26 11:33:48 +02:00
## What is the goal?
2023-04-26 22:48:15 +02:00
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:
2023-04-26 11:33:48 +02:00
- 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
2023-04-26 22:48:15 +02:00
- **Procedural Generation**: Generate the levels procedurally to give the Game more variety
2023-04-26 13:56:57 +02:00
- **Menu**: Because, duh
2023-04-26 11:33:48 +02:00
2023-04-26 13:56:57 +02:00
Potential expansions:
2023-04-26 11:33:48 +02:00
2023-04-26 13:56:57 +02:00
- **Multithreading**: Improving performance by running the phsics in a separat thread and similar concepts
2023-04-26 11:33:48 +02:00
- **AI**: Some holes could be controlled by AI, which makes singleplayer games more exciting
2023-04-26 22:27:40 +02:00
- **Online Multiplayer**: Play with friends online
## Project Setup
2023-04-27 23:05:19 +02:00
Install SFML and Eigen: `sudo apt install libsfml-dev libsfml-doc libeigen3-dev`
2023-05-03 01:33:05 +02:00
2023-06-01 23:25:33 +02:00
### Compiling Box2D from source
2023-05-03 01:33:05 +02:00
2023-06-01 23:25:33 +02:00
Website: [Box2D](https://github.com/erincatto/box2d)
2023-05-03 01:33:05 +02:00
2023-06-01 23:25:33 +02:00
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`
2023-05-03 01:33:05 +02:00
3. Build and install the library
```
2023-06-01 23:25:33 +02:00
cd box2d
2023-05-03 01:33:05 +02:00
mkdir build
cd build
2023-06-01 23:25:33 +02:00
cmake -DBOX2D_BUILD_DOCS=ON ..
```
In case of "RandR headers were not found": `sudo apt install xorg-dev`.
```
cmake --build .
cmake --build . --target INSTALL
2023-05-03 01:33:05 +02:00
```