Skip to content

ru2saig/fishy-merry-go-round

Repository files navigation

Fishy Merry-Go-Round

Here’s an not-so-satisfying GIF (that takes time to load) and a few screenshots:

I recommend you, dear reader, to watch the screen recording here: https://ru2saig.github.io/assets/recording.mp4.

Dependency Installation

The aquarium uses Raylib. Compile and install it (as a static library). For the latest information, check https://github.com/raysan5/raylib?tab=readme-ov-file#build-and-installation.

sudo apt install build-essential git libasound2-dev libx11-dev libxrandr-dev libxi-dev libgl1-mesa-dev libglu1-mesa-dev libxcursor-dev libxinerama-dev libgflw3-dev # Debian based systems

git clone https://github.com/raysan5/raylib.git raylib
cd raylib/src
make PLATFORM=PLATFORM_DESKTOP GRAPHICS=GRAPHICS_API_OPENGL_33 -j$(nproc)
sudo make install

Make sure you have a C/C++ compiler that supports at least C++20.

Compilation

git clone https://github.com/ru2saig/fishy-merry-go-round
cd fishy-merry-go-round

make -j$(nproc)
# binary is main.out

Running

With Scanner

With a scanner, print out a few copies of the templates found under resources/templates/.

Run the aquarium software suite with:

cd /path/to/fishy-merry-go-round/

MESH_GL_VERSION_OVERRIDE=3.3 ./main.out
python scanner.py --cam 2 --path resoures/textures/ # running the scanner application

For calibration, run scanner.py and adjust lights in the scanner box until the entire fish is visible in the preview window. Use the “s” key to take and save the image. The scanned fish will be visible in the screen, given sufficient space and time for it to load. It’s usually instantaneous. To exit the scanning, hit “q”.

A maximum of about 200 fish are visible well, on a 16:10 screen. Too many, and it can become quite the school!

With Pre-Made Artwork

Check release for the zip files; choose one and unzip the files under resources/textures/. Watch as the fish start spawning, one-by-one!

Here are the steps for that:

cd /path/to/fishy-merry-go-round/

unzip /path/to/MakerFaire23-<choose which one>.zip -d resources/textures/

# now, start with:
export MESH_GL_VERSION_OVERRIDE=3.3 # if using a Raspberry Pi
./main.out # MUST run from the root of the source code

Too Many Fish!

Simply remove everything under resources/textures/ (zip them up somewhere) and run it again. TODO: Working on a better system for this, which automagically clears the fish.

Artwork

All of the art in the zip files, and the textures under resources/textures is licensed under CC BY-SA 4.0. To view a copy of this license, visit https://creativecommons.org/licenses/by-sa/4.0/.

The fish templates were created by @kottimira_worma.

caustic.fs is based heavily on Beneath the Sea by zel. Distributed with a CC BY-NC-SA 3.0Attribution-NonCommercial-ShareAlike 3.0 Unported. To view a copy of this license, visit https://creativecommons.org/licenses/by-nc-sa/3.0/.

rays.fs is based heavily on Light rays by ElusivePete.

All the files in the zip’s were templates coloured in by the visitors of MakerFaire Hyderabad 2023. One love <3 to everyone who contributed a fish (or two).

Credits

T-Works for hosting the event and exhibit, and everyone who participated. Y’all are the best.

About

An interactive exhibit made for MakerFaire Hyderabad '23, at T-Works.

Resources

License

Stars

Watchers

Forks

Packages

No packages published