4.4 KiB
Copilot Instructions for Game Engine Comparison Thesis
Project Overview
This is a master's thesis (praca magisterska) at Warsaw University of Technology (Politechnika Warszawska), Faculty of Electronics and Information Technology (EiTI). The thesis compares performance and capabilities of modern game engines, primarily Unity vs Unreal Engine.
Repository Structure
latex/- LaTeX thesis document using WUT-Thesis templatemagisterka_2/- Unity bullet-hell demo game (performance testing, newer version)games/unity/magisterka_1/- Unity bullet-hell demo (earlier iteration)My project/- Unity 3D Tic-Tac-Toe demo (URP pipeline)transcripts/- Interview transcripts with game developers (Polish)raw_observations/- Research observations and images
Performance Testing
Tools
- NVIDIA Nsight - Primary profiling tool for comparing GPU/CPU performance between Unity and Unreal implementations
Methodology
Performance comparisons are made using equivalent bullet-hell game implementations in both engines. Metrics captured include frame time, draw calls, GPU utilization, and memory allocation patterns.
LaTeX Thesis
Build Commands
cd latex
scons quick # Fast build using SCons
scons # Full build with all checks
Document Configuration (main.tex)
- Faculty:
\facultyeiti(Electronics and IT) - Thesis type:
\MasterThesis - Language:
\langpol(Polish) - Bibliography: BibLaTeX with
bibliografia.bib
Chapter Structure
Chapters are in latex/tex/ following pattern N-name.tex:
1-wstep.tex- Introduction and methodology2-przeglad-literatury.tex- Literature review3-silniki-gier.tex- Game engine characteristics (Unity, Unreal, Godot)4-metodologia.tex- Research methodology5-testy-wydajnosci.tex- Performance tests6-analiza-mozliwosci.tex- Capabilities analysis7-porownanie-wynikow.tex- Results comparison8-podsumowanie.tex- Conclusions
LaTeX Conventions
- Images go in
latex/tex/img/ - Use
\input{tex/N-filename}for chapters - Tables: caption above,
\label{tab:name}, centered - Figures: caption below,
\label{fig:name}
Unity Projects
magisterka_2 (Bullet Hell Game)
Namespace: Magisterka.BulletHell
Key architecture patterns:
- Bootstrap pattern:
GameBootstrap.csensuresGameInitializerexists viaRuntimeInitializeOnLoadMethod - Singleton managers:
GameDirector.Instancefor global game state - Object pooling:
BulletPool.csfor performance-critical bullet spawning - Component composition: Enemies use
[RequireComponent(typeof(Health))]
Core scripts:
GameDirector.cs- Timer, victory detection, difficulty pacingEnemySpawner.cs+EnemyController.cs- Enemy lifecycleBulletPool.cs- Object pooling with warm capacityPlayerController.cs- Player input and movement
My project (Tic-Tac-Toe 3D)
Namespace: TicTacToe3D
Uses Unity's Universal Render Pipeline (URP). Simpler architecture for 3D showcase:
TicTacToeGameManager.cs- Game logic, board generation, win detectionTile.cs- Individual tile interaction
Research Data
Interview Transcripts (transcripts/)
Polish-language interviews with Unity/Unreal developers.
Participant Criteria: Minimum 1 year of amateur or professional experience in at least one engine.
Question Template:
- Years of professional/amateur experience per engine
- Number of projects completed in each engine
- Architecture comparison (C++ vs C#)
- Collaboration workflows (working with teams, non-technical members)
- Official documentation quality
- Unofficial guides (YouTube tutorials, community resources)
- AI/LLM usage in development workflow
- Anticipated future features
- External tool support (Git, Blender, etc.)
- Free section (open-ended observations)
When working with transcripts, preserve original Polish text and speaker attributions.
Code Style Guidelines
C# (Unity)
- XML doc comments (
/// <summary>) on public classes/methods [SerializeField]for inspector-exposed private fields- Prefix private fields with underscore:
_spawner,_bulletPool - Use namespaces matching project:
Magisterka.BulletHell,TicTacToe3D
LaTeX
- Polish language for main content
- English abstracts via
\secondabstract - Follow WUT editorial requirements (margins, fonts per
wut-thesis.cls)