Un personaj care ocolește o piatră sau trece în spatele unui copac într-un joc video probabil nu pare ceva deosebit de complicat.
Dar când am început să lucrez la Luni, în decembrie 2024, să fac asta în lumea izometrică 2D pe care mi-o imaginam a fost una dintre primele provocări pe care am vrut să le abordez.
Și, într-un fel, a fost și un test personal.
Fundația tehnică
Înainte să avansez prea mult cu dezvoltarea lumii, voiam să răspund la o întrebare simplă: puteam face un mediu izometric 2D să funcționeze așa cum mi-l imaginam?
Pentru mine, asta însemna să rezolv trei probleme esențiale: navigația, pathfinding-ul și depth sorting-ul. Consideram că, dacă reușeam să fac aceste sisteme să funcționeze împreună, aș fi avut încrederea necesară pentru a continua dezvoltarea restului jocului. Pentru jocul pe care voiam să-l creez, acesta era unul dintre cele mai mari obstacole tehnice de depășit. Am în minte și alte provocări tehnice pentru Luni, dar acestea vor face parte dintr-un alt capitol.
Trei provocări, o singură lume
Obiectivul era destul de simplu de descris: voiam ca personajele să se deplaseze natural într-un mediu izometric, să ocolească obstacolele și să se integreze vizual în lumea din jurul lor. Dar erau mai multe aspecte de luat în considerare.
Navigația determină modul în care personajele se deplasează prin mediul de joc.
Pathfinding-ul le permite să găsească un traseu către o destinație, evitând obstacolele.
Depth sorting-ul creează iluzia de adâncime prin afișarea personajelor și obiectelor în ordinea corectă. Când Orin trece în spatele unui copac, acesta trebuie să îl acopere. Când trece prin fața lui, situația se inversează.
Privite separat, aceste concepte sunt relativ ușor de înțeles. Să le faci să funcționeze împreună, într-un mod coerent, într-o lume izometrică 2D, era cu totul altceva.
Am petrecut aproximativ primele două-trei luni experimentând cu prototipuri C# în Unity, testând diferite abordări și construind treptat o fundație de care eram mulțumit.
Pe măsură ce dezvoltarea a avansat, am extins aceste sisteme puțin câte puțin, introducând diferite niveluri de înălțime, pante, obstacole animate și alte elemente care au adus propriile provocări.
Fiecare adăugare a însemnat să revizuiesc și să adaptez părți din sistemele existente, astfel încât totul să continue să funcționeze împreună.
Aproape doi ani mai târziu
De la primele experimente, Luni a evoluat considerabil. O mare parte din timp a fost dedicată dezvoltării mecanicilor de joc, creării și îmbunătățirii elementelor grafice, explorării direcției artistice, proiectării mediilor și construirii treptate a lumii jocului.
Primele prototipuri au făcut loc unui joc mult mai complet, cu o identitate vizuală care a evoluat prin numeroase încercări și ajustări.
Mai este încă de lucru, dar lumea pe care o vedeți astăzi este mult mai apropiată de ceea ce îmi imaginasem inițial.
Iar acele prime sisteme continuă să facă parte din fundația jocului.

