Trello link here 👉 Trello Board
Design for cars, ball, goal posts, boosters, buttons, numbers, arrows, background, menu, titles.
The menu should highlight options such as:
- PLAY button – Choose to play 1V1 or MULTIPLAYER
- CUSTOMIZE CAR button
- SETTINGS button
- USER STATISTICS button
- EXIT GAME button
Users can change the resolution, the volume, and toggle fullscreen mode.
Users can check their stats: total played games, total play time, wins and losses.
A user can choose a car from a predefined list (different colors and styles).
The pause menu should include:
- HOME button
- RESTART button
- RESUME button
- Player 1: Move with **A & D**, jump with **N**, boost with **B**
- Player 2: Move with **← & →**, jump with **NumPad 1**, boost with **NumPad 2**
The ball moves upon collision with a car.
Defining game objects, environment limits, and object properties.
Ensures two users can play locally on the same device.
- Server creation
- Create Room functionality
- Join Room functionality
- Car wheels move based on input
- Wheels are on fire when boosting (only if car is moving)
- Background music (menu & in-game)
- Applause on goal
- Button click sounds
- Sounds for winning/losing
- Sound on ball collision
Boosters appear during the game, are collected mid-air, and activated via the boost button.
The game ends when the round timer hits 0.
The player with the highest score wins.
-
branch creation
Also, find all branches here 👉 View Branches
-
merges
Also, find all merges here 👉 View Merges
-
pull requests
Also, find all pull requests here 👉 View Pull Requests
Tests for car movement can be seen here 👉 View Tests. Tests were made for checking the:
- car boost
- jump functionality of the car
- ground movement of the car
Also, find issues here 👉 View Issues
We follow clean and consistent code standards throughout the project, as reflected in the scripts from this repository.
You can see some great scripts here and here.
- Singleton for Audio Manager 👉 View Singleton for Audio Manager
- Factory for Multiplayer 👉 View Factory for Multiplayer
- ChatGPT
- Claude.ai
- Deepseek
1. Learning
-
using ChatGPT, we learned about MonoBehaviour class in Unity: This information helped us to understand better the logic of every element in our code.
-
using Claude.ai, we learned about linking animations to objects in Unity: This information helped us ensure a great conectivity between the animations and the objects we wanted to apply the animation on, ensuring it's duration lasts as long as an event happens(example: pressing a certain key from keyboard).
-
using Deepseek, we learned about certain essential methods in Unity: This information helped us to understand better the functionality of Unity. Also, it learned us how to use memory in an efficient way.
Some examples:
- trimming an audio in code with ChatGPT
-
creating a dropdown for choosing the resolution in the settings menu with ChatGPT
-
implementing double jump for cars in the game with ChatGPT
We also provided the AI tools with screenshots from Unity and detailed context in our prompts, helping them better understand the structure and purpose of our project. This allowed for more accurate and relevant responses tailored to our specific development needs.
- The best results come from asking specific, clear, and context-rich questions.
- Complex problems require step-by-step instructions to get accurate and useful answers.
- Providing detailed information helps the AI fully understand the request and generate better solutions.
- Clear prompts save time.
Using prompt engineering significantly improved our development process by allowing us to:
- Quickly generate accurate and relevant code snippets without spending hours searching or debugging.
- Clarify complex programming tasks by breaking them down into simple, step-by-step instructions.
- Learn new concepts and best practices through targeted AI explanations and examples.
The offline demo can be seen on this link 👉 View Demo
The development of Speedball was made possible by a dedicated team made of:
- Andrei Ștefan - Our motion engineer: created the systems that give life and speed to the cars in Speedball.
- Bejan Ștefan - Our steady hand behind the servers and menus, dedicated to a flawless experience in game and careful testing.
- Lumînăraru Ionuț-Andrei - Our gameplay director: ensures the rhythm by managing the score, time and the ending of the rounds.
- Onisie Andreea - The artist and visual architect of the game: everything you see, hear and feel in Speedball wears her signature.
- Stan David-Florin - The engine behind the multiplayer: ensured stable connections, solid servers, a menu and scenes that work flawlessly.