TheGame

Ett 2D spel byggt i Godot med C# som innehåller en startmeny, timer och save/load funktionalitet.

Funktioner

  • Startmeny med knappar för Start Game, Load Game och Exit
  • Timer som räknar speltid i övre högra hörnet
  • Pausmeny med knapp i övre vänstra hörnet som innehåller:
    • Pause/Resume funktionalitet
    • Save Game (med anpassade save-namn)
    • Exit to Main Menu
    • Exit to Desktop
  • Save/Load System som sparar speltid och anpassade namn
  • Load Game Menu som visar alla sparade spel med anpassade namn, speltid och datum
  • Load Game knappen är automatiskt utgråad om inga sparade spel finns

Krav och Dependencies

Systemkrav

  • Godot 4.2 eller senare med C# support
  • .NET 6.0 SDK eller senare
  • Windows (testat på Windows, men bör fungera på andra plattformar)

Dependencies

Projektet använder följande .NET dependencies:

  • Godot.NET.Sdk - Godot's .NET SDK
  • System.Text.Json - För JSON serialisering av sparfiler

Installation och Setup

1. Installera Godot med C# Support

  1. Ladda ner Godot 4.2+ Mono version från godotengine.org
  2. Installera .NET 6.0 SDK från Microsoft

2. Öppna Projektet

  1. Starta Godot
  2. Klicka på "Import"
  3. Navigera till projektmappen och välj project.godot
  4. Klicka "Import & Edit"

3. Första Kompilering

  1. I Godot editorn, gå till Project → Tools → C# → Create C# solution
  2. Vänta tills kompileringen är klar
  3. Om fel uppstår, kontrollera att .NET SDK är korrekt installerat

Kompilering och Körning

Utvecklingsläge (Godot Editor)

  1. Öppna projektet i Godot
  2. Tryck F5 eller klicka på "Play"-knappen
  3. Första gången kommer du behöva välja scenes/MainMenu.tscn som main scene

Skapa EXE-fil (Windows)

Steg 1: Förbered Export Templates

  1. Öppna projektet i Godot 4.5
  2. Gå till Editor → Manage Export Templates
  3. Klicka Download and Install för att ladda ner templates för Godot 4.5

Steg 2: Konfigurera Windows Export

  1. I Godot editorn, gå till Project → Export...
  2. Klicka Add... och välj Windows Desktop
  3. Konfigurera följande inställningar:
    • Export Path: TheGame.exe (eller valfritt namn)
    • Runnable: (aktiverad)
    • Dedicated Server: (inaktiverad)

Steg 3: C# Specifika Inställningar

Under Dotnet sektionen:

  • Include Scripts Compilation: (aktiverad)
  • Include Debug Symbols: (inaktiverad för release)

Steg 4: Exportera EXE

  1. Klicka Export Project
  2. Välj destination och filnamn (t.ex. TheGame.exe)
  3. Klicka Save

Viktigt: Språkfiler (resources/languages/*.json) inkluderas automatiskt i exporten!

Steg 5: Testa EXE-filen

  • Den skapade .exe filen kan köras direkt på Windows
  • Språkväxling fungerar direkt i den exporterade versionen
  • saves/ mappen kommer att skapas bredvid exe-filen automatiskt

Felsökning Export Problem

Problem: "Export templates not found"

  • Lösning: Installera export templates via Editor → Manage Export Templates

Problem: "Failed to export project"

  • Kontrollera att alla scripts kompilerar utan fel först
  • Kör dotnet build i projektmappen för att verifiera

Problem: "C# assemblies missing in export"

  • Se till att "Include Scripts Compilation" är aktiverad
  • Kontrollera att .NET 8.0 runtime finns installerad på målmaskinen

Alternativ Kompilering via Terminal

# Navigera till projektmappen
cd c:\Repo\TheGame

# Bygg C# projektet
dotnet build --configuration Release

# Exportera via kommandoraden (kräver Godot i PATH)
godot --headless --export-release "Windows Desktop" TheGame.exe

Projektstruktur

TheGame/
├── project.godot          # Godot projektfil
├── TheGame.csproj         # C# projektfil
├── default_bus_layout.tres # Audio bus konfiguration
├── scenes/               # Godot scener
│   ├── MainMenu.tscn     # Huvudmeny
│   ├── Game.tscn         # Spelscen
│   ├── LoadGameMenu.tscn # Ladda spel meny
│   └── SettingsMenu.tscn # Inställningar meny
├── scripts/              # C# scripts
│   ├── MainMenu.cs       # Huvudmeny logik
│   ├── Game.cs           # Spel logik och timer
│   ├── PauseMenu.cs      # Pausmeny logik
│   ├── SaveManager.cs    # Save/Load hantering
│   ├── LoadGameMenu.cs   # Ladda spel meny
│   ├── SaveDialog.cs     # Save dialog
│   ├── GameState.cs      # Spelstatus hantering
│   ├── GameSettings.cs   # Inställningar hantering
│   ├── LocalizationManager.cs # Språkhantering
│   └── SettingsMenu.cs   # Inställningar meny logik
├── resources/            # Resurser som inkluderas vid export
│   └── languages/        # Språkfiler
│       ├── eng.json      # Engelska översättningar
│       └── sve.json      # Svenska översättningar
├── saves/                # Sparade spel (skapas automatiskt)
└── README.md             # Denna fil

Kontroller

  • ESC - Pausa/återuppta spelet
  • Musklick - Navigera menyer och knappar
  • Pausknapp (☰) - Pausa spelet (övre vänstra hörnet)
  • Enter - Bekräfta save-namn i save dialog

Save/Load System

Spara Spel

  1. Pausa spelet (ESC eller pausknapp)
  2. Klicka "Save Game"
  3. Ange ett anpassat namn för ditt save (eller använd standard-namnet)
  4. Tryck Enter eller klicka OK

Ladda Spel

  1. Från huvudmenyn, klicka "Load Game"
  2. Välj det save du vill ladda från listan
  3. Spelet kommer att fortsätta från den sparade tiden

Save-filer innehåller:

  • Anpassat namn (som du angav)
  • Speltid (timer-status)
  • Datum och tid när spelet sparades

Felsökning

Vanliga Problem

  1. "C# script compilation failed"

    • Kontrollera att .NET 6.0 SDK är installerat
    • Kör dotnet --version i terminal för att verifiera
  2. "Cannot find Godot.NET.Sdk"

    • Se till att du använder Godot Mono version
    • Återskapa C# solution via Project → Tools → C# → Create C# solution
  3. Save-filer sparas inte

    • Kontrollera att spelet har skrivrättigheter till projektmappen
    • Saves sparas i saves/ mappen bredvid den körbara filen
  4. Load Game knapp fungerar inte

    • Detta är förväntat beteende om inga sparfiler finns
    • Knappen blir automatiskt klickbar när du har sparat minst ett spel
  5. Språk växlar inte

    • Kontrollera att språkfilen finns i resources/languages/
    • Kolla Godot's output för felmeddelanden
    • Engelska används som fallback om språkfil saknas

🌍 Lägg Till Nya Språk

Skapa Ny Språkfil:

  1. Skapa ny .json fil i resources/languages/
  2. Exempel: ger.json för tyska, fra.json för franska
  3. Kopiera struktur från eng.json
  4. Översätt alla textsträngar
  5. Språket dyker automatiskt upp i settings!

Rekommenderade Språkkoder:

  • eng - English
  • sve - Svenska
  • ger - Deutsch (German)
  • fra - Français (French)
  • spa - Español (Spanish)
  • ita - Italiano (Italian)
  • jpn - 日本語 (Japanese)

Viktigt: Språkfiler i resources/languages/ inkluderas automatiskt vid export!

Utveckling

För att utveckla projektet vidare:

  1. Öppna projektet i Godot
  2. C# scripts kan redigeras i valfri IDE (Visual Studio, VS Code, Rider)
  3. Godot kommer automatiskt att kompilera om scripten när de ändras
  4. Använd Godot's debugger för att felsöka runtime-problem

Licens

Se LICENSE filen för licensinformation.

Description
a game about hacking
Readme AGPL-3.0 34 MiB
Languages
C# 77.3%
PLSQL 22.7%