A City Builder játékunk egy 3D-s városépítő szimulátor, ahol a játékos a város polgármestere, így a teljes város fejlődése a felhasználó kezében van. Fontos, hogy egy jól felépített, kiegyensúlyozott város megteremtése a cél, ennek érdekében lakóhelyeket, munkahelyeket és további épületeket kell építeni, amik biztosítják egyrészt hónapról hónapra a város pénzügyeit, másrészt a polgárok elégedettségét. A játékos, ha a várost pénzügyi csődbe viszi, vagy nem megfelelően építi fel a város struktúráját, így boldogtalanok a polgárok illetve, ha végzetes esemény következik be (meteor zápor), akkor a játék véget érhet.
A játékot OpenGL-ben alkottuk meg C++ nyelv alatt. A 3D világhoz szükséges rétegeket mi építettük fel, azaz magát a játék engine-t, a objektumok renderelését, shadereket, alakzatokat mind mi hoztuk létre, illetve a fényeket mi szimuláljuk a shaderben. A játéktér 5 alap alakzatból áll: Kocka, Gömb, Henger, Gúla, Kúp és ezeknek a kombinációjából állnak a komplex alakzatok, amiket a játékban ténylegesen láthattok. (Pl: Fa 4 db kúpból áll, amik kicsit el vannak tolva, hogy fa hatást keltsünk.) Továbbá a játék játszható 2D, 2.5D, 3D-ben egyaránt, ezt a grafikai beállításoknál lehet testre szabni.
A játék engine megvalósításához felhasznált ötletek nagyban köszönhetőek a Számítógépes Grafika (IP - 18KVISZGG) tárgyon tanultaknak, illetve a https://learnopengl.com/ weboldalon fellelhető forrásoknak. Azonban a project főleg csak az ötletek gondolatmeneteit tartalmazza, a tényleges kódókat mi írtuk meg teljesen átalakítva, rengeteg saját ötletekkel.
- Alapfeladat (1.5)
- Tűzoltóság (1)
- Oktatás (1)
- Nyugdíj (0.5)
- Erdők (0.5)
- Járművek (1)
- Perzisztencia (0.5)
- Konfliktusos bontás (0.5)
- Metropolis (0.5)
- Katasztrófa (0.5)
- Haladóbb grafika (1)
WASD : Kamera mozgatása
Bal klikk : Kamera forgatása
Jobb klikk : Építés, rombolás
R : Épület forgatása
Youtube videó: https://www.youtube.com/watch?v=ve_PdvcHhAM
Test Code Coverage
https://szofttech-ab-2023.szofttech.gitlab-pages.hu/group-10/sajtoskifli/city_builder/coverage_report.html
Static Code Analysis
https://szofttech-ab-2023.szofttech.gitlab-pages.hu/group-10/sajtoskifli/city_builder/cppcheck_analysis/index.html
Generated Documentation
https://szofttech-ab-2023.szofttech.gitlab-pages.hu/group-10/sajtoskifli/city_builder/doxygen_documentation/index.html
ImGui: https://github.com/ocornut/imgui/tree/docking
ImGui-FileDialog: https://github.com/aiekick/ImGuiFileDialog
Stb-image: https://github.com/nothings/stb/
GLM: https://github.com/g-truc/glm/
GLFW: https://github.com/glfw/glfw
GLEW: https://github.com/nigels-com/glew
ASSIMP: https://github.com/assimp/assimp
https://ambientcg.com/
https://texturer.com/
https://www.sharetextures.com/
https://www.pexels.com/
https://www.flaticon.com
https://www.freepik.com
Bővebben: Attribútumok