Skip to content

marcusaasjensen/its-magic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

🌲🪄 It's Magic - Distributed Interface Game Project 🪄🌲

Welcome to our immersive game project developed at Polytech! This project was created as one of our final college projects, designed to enhance interaction and immersion using distributed systems across multiple devices.

📜 Overview

To ensure optimal interaction and an immersive experience, we designed a distributed system utilizing several devices. Each device plays a specific role, offering complementary perspectives and functionalities.

🎯 Game's Goal

The game is designed for three players:

  • Two players on the interactive table.
  • One player using both the vertical screen and the phone.

Objective: As a group of three wizards, your goal is to prepare a potion by following these steps:

  1. 🍄 Harvest Ingredients: Collect all required ingredients in the forest and store them in the bag.
  2. 🥣 Prepare the Cauldron: Throw the ingredients into the cauldron inside the house.
  3. 🪵 Heat the Cauldron: Move the cauldron to the chimney when you hear strong bubbling sounds.
  4. 🔥 Light the Fire: Use the bellows to ignite the fire under the cauldron.
  5. ⚗️ Finish the Potion: Once dark blue bubbles appear, pour the potion into a flask.

⚠️ Caution: Be careful not to drop the potion!

✨ Features

  • Interactive Table: Provides a top-down view of game scenes like the forest and workshop. Players can gather ingredients and manage resources for potion-making.
  • Vertical Screen: Offers detailed side views (front, back, left, right) for enhanced immersion in key environments like the forest and workshop.
  • Mobile Phone: Acts as the main launch point for the application, enabling interactions like blowing into the microphone to ignite fires and managing brightness to change the time of day.
image image

👆 Device Interactions

⬇️ Interactive Table

  • Multi-touch Selection: Handle cooperative or individual tasks for harvesting ingredients and manipulating objects.
  • Drag and Drop: Interact with objects in scenes like the forest and workshop. Use the magic wand to reveal parts of the side view on the vertical screen.
image image

➡️ Vertical Screen

  • Slash Interaction: Cut ingredients in the side forest scene to make them fall onto the interactive table.
  • Tap (Individual): Navigate scenes by clicking on doors and interacting with objects.
  • UI Communication: Use the UI to indicate object locations and get hints for crafting the potion.
image image image

📱 Mobile Phone

  • 💨 Blow into Microphone: Ignite fires in the workshop to prepare potions in the cauldron.
image image image image
  • 👜 Throwable Inventory: Manage collected ingredients in the inventory to inform other players about the collected items.
image image
  • 💡 Environment Brightness: Change the time of day to collect night-only ingredients like fireflies.
image image image

⚙️ Technical Details

The project was built using:

  • Unity 3D 2022.3.20f1 for both top and side views.
  • Android Studio for the phone app.

All clients communicate through a WebSocket server.

Setup Instructions

  1. Build the Android App:

    • Use Android Studio to build the app from the Client/Android folder.
  2. Build Unity Clients:

    • Build separate executables for the top and side view clients in Unity 3D.
    • Update the config.json file with the correct IP address and port (use config.template.json as a template).
  3. Run the Server:

    • Navigate to the Server folder and run npm install, then npm run start with the appropriate port.
  4. Run Unity Clients:

    • Run each Unity instance on separate computers for the table and vertical screen.
  5. Launch the Android App:

    • Start the game on the phone. If the app crashes, simply restart it.

Enjoy the game! 🎮

About

🕹️ Last year school project about an immersive game using distributed systems.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •