NMORPG Notlari: Zaman Alan Detaylar
3 min read

NMORPG Notlari: Zaman Alan Detaylar

2020 yilina girmeden bir video, Ocak ayi bitmeden de kontrollerin ve karakterler-objeler arasi etkilesimin test edilebilecegi bir demo yayinlamak istiyordum lakin projeye ayiracak vakit olmadi.

Peki, yazdan bu yana vakit ayirdigim seyler neler oldu?


Dusuk poligon sayili modeller kullandigimdan bahetmistim. Modellerin bazilari hemen kullanabiliyorum, bazilarini da kullanima hazirlamam gerekiyor. Ornegin, ozellestirilebilen karakter modellerinde her uzuv icin 10–30 arasi secenek bulunuyor. Oyuncunun kiyafet/zirh secimine gore bu seceneklerden biri gosterilip digerleri gizleniyor.

Karakter yeni eldiven giydiginde iki eldeki modeli de degistirmek, kiyafetin rengini ayarlamak, karakterin deri rengini modelde dogru gostermek icin yazdigim kiyafet modulu sanirim son zamanlarda en fazla vakit alan is oldu.

Modellerde kullanilabilir renklere karar vermek, modellerin ust uste binip garip gorunmesini engellemek (migfer ya da sapkanin saci, maskelerin sakali gizlemesi gibi) gereginden fazla vakit harcamama sebep oldu. Ilk defa karsilastigim bir problem olunca, icime sinen bir cozum bulmam icin bircok deneme yapmam gerekti.

Modelleri degistirmiyorum, ancak modellerin tek tip gorunmemesi icin renk ve dokularla oynamam gerekiyor. Cokomel’in uzerindeki kagidi cikarip duzlestirdiginiz gunleri hatirlayin. Modelleri de boyle soyup duzlestirince elinize UV map denilen buyukce bir resim dosyasi cikiyor. Modelin gorunusunu degistirmek icin bu UV map dosyasini istediginiz gibi boyamaniz gerekiyor.

Bazen de model uzerindeki her hucre, rengini asagidaki gibi gorunen bir renk atlasindan aliyor. Nispeten daha basit olsa da, hangi hucrenin hangi regi degistirdigini bulmak icin Blender ile modelleri acip (bazen her modeli), karakteri ya da nesneyi ozellestirmek icin paletin neresini degistirecegimi ogrenmek, butunlugu bozmadan paleti yeniden renklendirmek ve yeni paleti projeye eklemek gerekiyor. Bunu ilk kez yaptigimda, simdi basit gorunen bir islem icin saatler harcadigimi itiraf edeyim.

Baska vakit alan, ama model degistirmeye gore eglenceli olan is harita olusturma ve kameranin gostedigi alandaki kisimlari otomatik olarak “yesillendiren” bitki ortusu sistemini kurmak oldu. Denemelerimde haritalar o kadar yesildi ki, projenin gelistirme suresindeki adini “Grassland” yapmistim.

Bitki ortusunu olustururken, mumkun oldugunca “prosedurel” yerlestirme kullaniyorum. Zemin rengi, egim ve yukseklige gore hangi bolgelerin agacli, hangilerinin calili ve tasli olduguna karar veren bir modul kullaniyorum. Agaclarin ve kayalarin ic ice gecmesini engellemek, yuruyus yollarinin ulasilabilir olmasini saglamak ve karakterin kaya ve agaclarin cevresinden dolanmasini saglamak icin onlarca saat denemeler yapmisimdir.

Agac ve kayalar gibi karakterin uzerinden atlayamayacagi ya da icinden rahatca gecemeyecegi nesneleri yurunebilir alan haritasindan cikarmak, bitki ortusu her degistiginde (yer sekilleri degistiginde ya da yeni agac/kaya modelleri eklendiginde) bu islemi tekrarlamak, sonra bunu otomatik hale getirmek icin bol bol kod yazmak, bu sure nasil gecti diye dusundugumde aklima gelen islerden birkaci.

Ilk hazirladigim videolarda, karakterin saga sola deli danalar gibi kosmasi haricinde bir mekanik olmadini soylemistim. Su siralar, karakterin elindeki kilic, kalkan, asa ve diger neslelere gore yurume, kosma, saldirma animasyonlarini organize etmeye calisiyorum.

Tipki modellerde oldugu gibi, animasyonlari yapacak vaktim de yok ve hazir animasyonlar kullaniyorum. Karakterin hareketine, hizina, durumuna gore oynatilacak animasyona karar vermek, iki animasyon arasi gecis kosullarini belirlemek zor olmasa da, epey zaman aliyor.

Sadece durma-yurume-kosma arasi animasyon gecisini ve karakterin dururken ve yururken hangi hareketlerle donmesi gerektigini ogrenmem, bunu en sade haliyle animasyon sisteminde uygulamam, her gun en az bir saat ugrastigim halde haftalar surdu.

Isleri basitce halletmek icin gereken hileleri ogrenmeden once, yavas yavas asagidaki canavara donusen bir animasyon ekranim vardi ve yine de istedigim gibi davranmadigi oluyordu.

Son olarak, diger her seyden daha cok zorlandigim is, oyunu yayinlayacagim Steam hesabi icin gerekli materyalleri hazirlamakti. Oyunun adina bile karar verememisken, ona yakin formatta logo cizme, daha gelistirmenin cok basindayken ekran goruntuleri hazirlama, metinleri yazma birkac aksamimi aldi.

Oyun ile ilgili planlarimi gozden gecirmeme, hayran oldugum RPG ve MMO’larin hangi ozelliklerini en basit halleriyle oyuna dahil edebilecegimi dusunmeme ve elbette oyun gelistirmenin, onlara pis hile ve kodlamadan ibaret olmadigini idrak etmeme firsat tanidigi icin iyi bir tecrube oldu.

“Elbet bir gun” eklemeyi planladigim ozelliklerden bahsedecegim bir sonraki yazida gorusmek uzere.