This project is a 2D game developed as part of the Games and Visual Effects course during the winter term of 2023/2025.
The game is a puzzle game with an integrated AI that you can chat with through your allies. It can also control the allies and interact with objects.
Currently it's just a small demo with only one level but you can try it out yourself, we're sure that it'll be a lot of fun.
You spawn with two allies which you can talk to, use commands like "go to" and "interact" and which are your eyes (they can spot objects, places and tell you important information about them).
You can switch in between them with the buttons or with the right mouse button. You are also able to control them by clicking with the left mouse button on the map.
You can open the inventory after removing focus from the chat windows with "Escape" through pressing "E"
To get started with the game development, follow these steps:
-
Download Godot (Mono Version):
Godot Download
Ensure you download the Mono version for C# support. -
Install .NET 8:
.NET 8 Download -
Install Git:
Git Download
If you haven’t installed it yet, make sure to do so! -
Set Up SSH Key:
Setup SSH
Ensure you have an SSH key for accessing the repository. -
Install Git Large File Storage (LFS):
Guide to Install Git LFS -
Get a Gemini API key:
Get a key
After getting the key, make sure you save it somewhere, since it won't show up again. If you start the game without a key, it will prompt you to paste you key to the text field, after that it is safed and you shouldn't have to paste it again. -
Insert Gemini API key:
After starting the game, enter the API key in one of the chat boxes of the allies, close the game and restart.
-
Godot Documentation:
Godot Docs -
C# Documentation:
C# Docs
Git LFS (Large File Storage) is essential for managing large files such as textures and audio assets. After installing Git LFS, you can continue using Git as usual.
To track specific file types, use the following commands:
git lfs track "myfile.myending"
git lfs track "*.myending"For additional assistance, you can use:
git lfs help <command>
git lfs <command> -h-
Branching:
- You cannot push directly to the
mainbranch. - Create a branch and then submit a Pull Request (PR).
- You cannot push directly to the
-
Merging:
- You cannot merge into the
mainbranch without a PR that has one or more reviews and where all checks have passed.
- You cannot merge into the
-
C#
- We decided to use C# exlusively in Godot, so you can't use gdscript.
- C# specific Godot Documentation
-
C# Formatting:
- We adhere to standard C# formatting guidelines.
- Format the project with:
dotnet format Game.sln
- You may also configure your editor to format on save. Ensure that your code is properly formatted before making a PR, as unformatted code may cause tests to fail.
-
File Placement:
.tscn(scene) files must be placed inside thescenesfolder..cs(C# script) files must be placed inside thescriptsfolder.- Assets must be located within the
assetsfolder.

