MinecraftGL - Utilitar - București - Lucrari 2020 Online

Informatii generale

Descriere

In cadrul acestui proiect am încercat să recreiez popularul joc Minecraft de la 0. Scopul în sine al proiectului este de a depăși provocările programării unui astfel de joc care constă într-o lume infinită generată procedural, cu care playerul să poată interacționa. Această lume trebuie sa poată sa fie salvată daca au fost făcute modificări, și regenerată de fiecare dată cand playerul merge undeva unde a fost deja.
Pentru a se putea realiza asta, lumea este împărțită in bucăți mai mici de câte 16x16x256 blocuri.
O altă provocare este generarea unei lumi care să arate interesantă și unică in mod aleator, dar care să se genereze mereu la fel cand playerul merge de 2 ori prin acelasi loc. Pentru a aduce ceva nou jocului original mi-am propus să fac generarea lumii un pic mai interesantă și să adaug mai multe sctucturi aleatorii și un sistem complex de regiuni.

Tehnologii

  Jocul este făcut de la 0(fără engine) în c++ folosind openGL pe post de librărie grafică. Fizica din joc a fost facută de mine, precum și partea de 2d pentru care am creat o librărie separată: https://github.com/meemknight/gl2d. Tot sub formă de librărie separată am și https://github.com/meemknight/pinnedVector.

Jocul merge momentan doar pe windows dar a fost programat astfel încât sa poată fi compilat ușor pentru alte platforme. Fișierul “winMain.cpp” conține implementarea jocului pentru windows și tot ce face e să deschidă o fereastră și să se ocupe de câteva funcții de io. Pentru a putea fi compilat pentru altă platformă, este suficient a rescrie acel fișier cu functiile de system corespunzătoare.
Librării externe folosite: glew, stb_image, stb_truetype, FastNoiseSIMD.h, siv::PerlinNoise

Cerinte sistem

Jocul merge pe windows 32 sau 64,
Poate fi jucat și cu un controller

Realizatori

Luta Vlad

  • Scoala: Colegiul National Ion Luca Caragiale
  • Clasa: 12
  • Judet: București
  • Oras: Sector 1

Screenshots