Skip to content

This game was made during the Brussels Game Jam 2025 (7th to 9th march). The theme of this year event was "You'r a child"

Notifications You must be signed in to change notification settings

AntoDB/avoid_the_dark

Repository files navigation

Avoid the dark

Game during Brussels Game Jam 2025

1. Team

Team Of 5 people :
Git & Tech Manager : Antonin De Breuck Website
Game Design & Programer : Joe Nammour mail
Sound Design : Loïs Lajarreti itch.io
Musician : Adam Courtiol linktree
3D Artist : Shegan Tavares Das Neves | Artstation

2. Core Concept

Make a game were you remember your childhood (not always pleasant...)

3. Virtual part

Game Engine : Unity 6 Versioner : Github 3D Software : Blender Animation website : Mixamo

4. Physical integration

Launchpad => here

4.1. Switches

Esp 32 switch => here

4.1.1. MQTT Brocker

For MQTT, we wanted Unity to be the brocker (server) but that's not possible, so we wanted to host the brocker on a computer and have Unity and the ESP32s with the switches connect to it.
Antonin, the dev for this part, had a computer with firewalls that were too powerful, so the end nodes couldn't connect to it.

Solution:

We switched to a remote Raspberry Pi 5 (pinging Antonin's house).

Technique:

We wanted everyone to be able to reproduce the project so we decided that the brocker could be hosted.
We tested Paho with a python code that is here but causing too mush issues so we move to Mosquitto.
If you realy want to use a python script with Paho, first you need to install python on your ‘server’ (a computer can act as a server). After that, read the libraries part.

You don't need to run both at the same time (script with Paho and Mosquitto), and it wouldn't be possible anyway because they're both trying to use port 1883.
If you continue to use Mosquitto, you can simply ignore the Python script. Mosquitto is much more reliable, powerful and well maintained as an MQTT broker.
Another advantage is that Mosquitto will start automatically when you restart your Raspberry Pi if you haven't disabled it, so you can be sure that the MQTT service is always available.\

Here are the libraries to install:

Paho (local) : pip install paho-mqtt or pip3 for python3
Paho (remotely, which is what we had to do): sudo apt install python3-paho-mqtt
Paho was causing problems, so we switched to Mosquitto for the brocker. Mosquitto : sudo apt install mosquitto mosquitto-clients

Mosquitto configuration:
sudo nano /etc/mosquitto/mosquitto.conf

# Add these lines at the end of the file
listener 1883 0.0.0.0
allow_anonymous true

# Save (CTRL + X, Y, ENTER) and restart Mosquitto
sudo systemctl restart mosquitto

4.1.2. MQTT ESP32-1 Client

ESP32s are microcontrollers. They are mini programmable electronic cards. If you're familiar with Arduino Genuino, ESPs are the same thing, but more powerful and with a WIFI and Bluetooth chip.
We use them as physical integration with switches in real life.

4.2. Launchpad

4.2.1. Get signal

To use the colorized LEDs on the Launchpad, you need the RtMidi.core in the Unity project.
Use NuGetForUnity (available from the Asset Store)
Or download the library manually and import it
-> Finally, we use jp.keijiro.rtmidi to send colors on the Launchpad MK2.

Here the color table for the Launchpad MK2.

4.2.2 Send signal

To use the LEDs on the Launchpad, you need the RtMidi.core in the Unity project.
Use NuGetForUnity (available from the Asset Store)
Or download the library manually and import it

Enable support for native plugins in the Unity player settings
In EditProject SettingsPlayerOther Settings, make sure that ‘Allow “unsafe” Code’ is enabled

About

This game was made during the Brussels Game Jam 2025 (7th to 9th march). The theme of this year event was "You'r a child"

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages