Kodlarını Yapay Zekâya Yazdırdığım C++ Oyunum ile Üçüncü Ayda Artık C ve C++ Diline Aşina Olmaya Başladım! ツ

Anladım.
Şu anda saat sabahın beşi ve ezan okunuyor :roll_eyes:

Yine de iyice anlayarak okudum. Ama bana gerçekten karmaşık geliyor. Yazı fazla uzun olduğu için neresinden tutup anlatayım bilmiyorum. Neyse ki tavsiyem olmadığı için uzun uzun birşey yazmama gerek yok.

Sadece şu aklıma takıldı:
GİMP, Adobe PS, Pinta ve Paint.NET gibi programlarda “layer” katman tekniği vardır. Aynı teknik, oyun öğelerinin yerleşiminde -istenirse- kullanılabiliyor. Böylece 2D oyunda üçüncü boyut düşünmeye zorlamak sorunu ortadan kalkmış oluyor. Yardımcı olmak ve daha anlaşılır olabilmek için YZ’ye şunu yapıştır:

”Bir arkadaşım, sana eklediğim dosyalarda ‘benim yapay üçüncü boyut’ diye adlandırdığım yerleşim ve mekanik planı için daha anlaşılır yol olarak şöyle düşünmemi önerdi:

’GIMP, Adobe PS, Pinta ve Paint.NET’teki katman (layer) mantığını öğrenirsen, üçüncü boyut gibi şeyler kafanı daha az yorar. Çünkü 2D bir oyunda 3D gerçekten olamaz ve herşeyi 2D gibi düşünebilir, ama her varlık sınıfını ayrı bir katman gibi düşünerek kodun içine yerleştirebilirsin. Bu da iş yükünü hafifletir ve zihnini rahatlatır. Programlamada görsel manipülasyon programlarındaki gibi katmanlama mantığı vardır.’

Bunu bana açıklar mısın? Ne demek istiyor? Bu iletimde yüklediğim kod dosyalarını inceleyerek ne demek istediğini bana öğret.”

Kolay gelsin.

1 Beğeni

Oyunda havada ilk işim topla olmuştu. Çünkü ilk havaya yükselen objem oydu.

En büyük zorlanmayı o zaman yaşadım.

Katman (Layer) o zaman aklıma gelseydi yapay zekâya derdimi anlatmak çok daha kolay olurdu.

Neyse ki birkaç deneme yanılma sonrasında konuyu anladı.

Üçüncü boyutun olmadığı ve 2B yatay platform oyunlarında olan ufuk çizgisi ve gökyüzünün de olmadığı, önden bakışlı 2B bir oyunda topun havalanması ile, mevcut 4 yada 8 yönden birine doğru gitmesi arasında aslında bir fark yok!

Çünkü oyunda aslında ikinci boyuta ait olanlardan başka gerçek yön yok!

Oyunum masa üstüne serilmiş bir A3 kâğıdı gibi ve kamera ona yukarıdan 45 derecelik bir açıyla bakıyor. Kâğıttan üçüncü boyuta doğru çıkan hiç bir şey yok!

Karakter bile aslında sırtüstü yada yüzükoyun veya yan olarak yere yapışmış olarak yürüyor!!!

Böyle bir dünyada olmayan üçüncü boyutta çalışmakta en büyük fark, sözde havalanacak yada havada olacak (ileride sinekler ve kırlangıçlar) varlıkların “her şeyin önünde” çizilmesi gerekliliği.

Bunu başardığınızda sorunu büyük ölçüde hâllediyorsunuz.
Katman diye tarif etmek daha kolay olurdu, ama siz söyleyene kadar aklıma gelmemişti.

Fakat iki boyutlu oyunun asla gözardı edilmemesi gereken altın kuralını atlayamazsınız!

Bu kural da böyle bir iki boyutlu dünyada aşağıdakinin önde, yukarıdakinin arkada çizilmesi gerektiği altın kuralı.

Bu kuralı katmanlar ile çiğnerseniz oyunda hemen hata oluşuyor!

Örneğin top yerde yuvarlanırken ağaçların arkasına geçtiğinde görünmüyor. Fakat fare sağ kliği ile yerden havalandırıldığında -ki bunun iki türü var. Koşarken tam topun dibinde sağ klik yada Oyun Kolunda sağ tetik miydi? basınca topa şut vurmuş gibi havalanarak ileriye doğru gidiyor. Topun yanında dururken bu tuşa basılırsa top olduğu yerde dikine havalanıyor. Bunu bir ayak hareketi ile topu havaya dikmek gibi yapmak istemiştim. Karakter ile topu böyle dikip, kafasında sektirebiliyor!- Fakat top ağaçların arkasında zeminden çok az bile havalanınca belki üç dört metre öndeki ağacın üst yaprak ve dallarının önünde çizildiği için ağacın önüne geçiyor ve sanki ağacın dalları arasından geçip ağacın üstüne yükselmiş gibi görünüyor.

Buna da yükseklik ince ayarı gerekiyor.
Fakat o kadar da kötü durmadığı için en son düzeltilecekler arasında.

Yâni katman bile olsa bâzı sorunlar oluşuyor.

Top havalandığında her şeyin önünde çizildiği için, o kadar yükselmediği hâlde mesela ağacın üst dallarının önünde çiziliyor!

Altın kuralı çiğnemiş oldum ve henüz daha düzeltmedim!

Çözüm topun haritadaki konumunu zeminden havalansa bile dikkate alarak, havadaki konumunu ve zeminden yüksekliğini zemine göre takip ederek hangi objelerin önünde, hangisinin arkasında kaldığının tespit edilmesi.

Ancak o zaman ağaçların arkasında on metre uzaktayken top zeminden bir metre “havalandığı zaman bile” on metre öndeki ağacın dallarının üzerinde çizilmeyecek!

Fakat ümidim var.
Zamanla sorunlar bir şekilde çözülüyor.
Fakat hepsi değil.
Kamera hareketinden kaynaklı küçük titreme yada bulanıklaşma sorunu çözülemiyor.
Bu aslında oyunla alâkalı değil, ekranda resim çizme sistemiyle alâkalı daha teknik bir konu.
Olabilecek her şey denendi, ama maalesef durum değişmedi.

Gidebildiği yere kadar götürmek niyetindeyim.
İçinde gezip dolaşılacak masalsı bir dünya yapmak istiyorum.
Birileri bana böyle dünyalar verince çok hoşuma gidiyor.
Bununla ilgili bir video hazırladım. Bu gün yükleyeceğim.
Daha önce bahsettiğim gezegen simülasyonunu da gösteriyorum.
Oyunun gelecekteki üç boyutlu sürümü hakkında daha şimdiden ön çalışmalar yapıyorum. ツ


• C++ Oyunumun Gelecekteki 3B Sürümü İçin Şimdiden Godot İle Ön Çalışmalara Başladım:

C++ Oyunumun İlk Çözülemeyen Problemi Çözüldü! Artık Ağaçların Arkası Görülebiliyor!

Uzun süredir C++ oyunumun geliştirmesi ile ardı ardına başarısızlıklar yaşadıktan sonra nihâyet bu gece oyunumun ilk büyük çözülemeyen problemi çözüldü!

Artık Ağaçların arkası görülebiliyor!

Dahası ileride iç mekân eklenirse duvarları tam şeffaf yapıp arkasını görebileceğim!

Böylece evin duvarları şeffaf olunca içine giren karakteri ve evin içindeki eşyaları görebileceğiz!

Örnek olarak şimdilik dikkaya görselini tam şeffaf yaptım ve video kaydı aldıktan sonra tekrar şeffaflığını kapattım.

Bu arada video açıklamalarında da bahsettiğim 2.5B hilesini de göstermiş oldum.

dikkaya.png aslında çarpılabilir bir obje değil.
Arkasına çarpılabilir iki obje ekliyorum.
O arkasına görünmez objeler de ekleyebilirim, ama zâten bu güne kadar arkası görülemediği için görüneni eklemekte bir sakınca görmüyordum.

Ağaçların yarı şeffaflığını ve hassasiyetini çok beğendim.
Sadece arkalarına geçince etkileşime geçmeleri falan mükemmel oldu.

Fakat bu hâle gelebilmesi çok sancılı oldu.

Bu arada “SeffafYonetici.hpp” dosyasının ilk hâlini Gemini AI değil, DeepSeek yaptı. Fakat o da daha önceki Gemini AI oturumlarımda olduğu gibi sorunu çözmekte bir aşamadan sonra ilerleyemeyip başarısız oldu.

Onun bir aşamaya kadar getirip iki gün boyunca saatlerce süren iki ayrı oturumda sonuçlandıramadığı ilerlemenin sorunları çıkartılmış kısmını Gemini AI ile paylaştım ve sorunu çözmesini istedim.

Şaşırtıcı şekilde hızla çözdü!

Bu yapay zekâlarda bu çok şaşırtıcı bir şey!

Eminim Gemini AI bu aşamaya kendi gelse kendi de devam edemeyip bozmaya başlayacaktı!

Fakat yapay zekâlar hazır ilerlemiş belgeleri inceleyerek sorunu bulup çözmekte daha başarılılar.

En nihâyetinde sorunum çözüldü.

İki gün boyunca iki ayrı oturumda saatlerce kahrımı çektiği için DeepSeek’e de çok teşekkür ederim.

DeepSeek’in Gemini AI’dan daha iyi olduğunu okuyorum, ama kendi deneyimlerime bakarak ben buna katılamayacağım!

Bence Gemini AI biraz daha iyi!

Fakat DeepSeek’in paylaşma potansiyeli çok daha fazla ve bu işleri çok kolaylaştırıyor.

Gemini AI ile en az iki seferde paylaşabildiğim bir dosyayı DeepSeek ile tek seferde paylaşabiliyorum.

Keyfim tekrar yerine geldi.

Videoda ayrıca haritaya ot ekmenin nasıl uzun süren ve harcanan zamana karşın yapılan işin görülmediğini göstermeye çalıştım.

Bu kadar zamanda şu kadarcık ot ekebildim, haritadaki o kadar otu ne kadar zamanda ektiğimi artık siz hesap edin!

İşine karışmak istemem ama tam şeffaf yapmak bence doğru bir fikir değil. Mesela videoda dik kaya’nın tamamen yok olduğunu görünce zihnim şunu düşündü: “oraya gidip birşey yaptı ve kayayı yok etti.” O anda oyunu da bilmediğim için neler döndüğünü tam anlayamadım. Çünkü bu tür RPG tarzı oyunları hiç bilmiyorum. Benzer ama farklı bir tür olan RTS (age of empires gibi Real Times Strategy) oyunlarına daha yatkınım.

Ve yine tasarım kararı sana ait karışmıyorum ama üzerinde duracağım bazı şeyler var. Ağaçların şeffaflaşması yeterli seviyede gelmedi. Tabii ben internetim gitmesin diye videoyu 144p’de izledim belki de ondan :grin:

Bahsettiğin “nesne arkasına çarpılabilir şey ekleme” olayı benim sana bahsettiğim katman mantığına çok benziyor. Ama “arkaya birşey koyayım” yerine, “bu karonun/spraytın bulunduğu yerden itibaren en altta karakter yüksekliği kadar mesafe bırakıp iki/beş piksellik çizgiyi geçilemez yap” dersen, aynı sonucu verir. Resimle açıklayayım:

Olay budur. Yani üçüncü boyutu düşüneyim yerine, psikoloji bilimindeki illüzyon mantığını kullanırsan, oyuncuya gerçekten bu bir engel illüzyonu yaşatırsın. O gördüğün istediğin piksel yüksekliğindeki alan, taşın görünmeyen tarafa doğru olan kalınlığıdır.

Şu yapay zekaya teşekkür etme olayı güldürdü. Tamam kaba davranma ama, teşekkür de etme. Varlığının farkında değil. Ne yaptığının farkında değil. Teşekkür edersen, çalışma düzeni gereği “vay kardeşim gurban olüm ne demeg” falan yazar ama bunu yazdığının bile farkında değil.

Müsait olunca ben sana özelden YZ’yi verimli kullanma taktikleri vereyim birkaç tane. Böyle olmayacak, senin oyun bayağı ağır.

Ve şu da var: sen şu anda yanlış yere yazıyorsun. Pardus forum doğru yer değil. Böyle indie oyun paylaşımı, tartışması vb yapan yabancı forumlar var (ülkemizde yok maalesef). Oralarda biraz takılsan bence hem ilgi görür, hem yardım eden olur. Ama böyle destan yazar gibi çok uzun yazıları sevmeyebilirler :wink:

___

Benim oyunda da ilerleme var. Çok ilgi çekmeyeceği için pek bahsetmiyorum. Ama gayet iyi. Birkaç güne ya da azami bir haftaya biter diye umuyorum. Bitince zaten başlık açarım. O oyun, 80li-90lı yıllarda çok sevilen ve bugün hala anılan, youtube videoları çıkarılan bir oyun. Stallman bunu görse bence direk repolara aldırırdı.

Neyse, benim yatmam lazım, bu saate kadar oyunla uğraştım. Akşama 7-8 gibi anca uyanırım sanırım.

Kolay gelsin.

1 Beğeni

Ağaçlar oyunumun en değerli objeleri ve onların görünürlüğünü bu kadar bile azaltmak aslında istemediğim bir şey, ama “yarı şeffaf” olma değerlerinden memnunum.

Ağaçları yarı şeffaf yapma sebebim oyundaki toptu! Oyuncu karakteri ağaçların arkasında görünmese de kontrol edebiliyor. Fakat ağaçların arkasında topu kaybedince bulmak zor oluyordu. Ayrıca ileride bazı canavarlar ağaçların arkasında kalabilir ve yine sıkıntı çıkabilirdi.

Dik kayayı tam şeffaf yapmayacağım! Zâten videoyu kaydettikten hemen sonra koddan eski hâline getirdim. Henüz oyunda ev gibi bir iç mekân olmadığı için, kodu denemek için onu kullandım. Dışarıdan ev görünecek, kapıdan içeri girince ön duvarlar kaybolacak! Duvarların da ağaçlar gibi yarı şeffaf olup içeriyi bulanık göstermesini istemedim.

Nesne arkasına görünmez duvar örme yada haritaya görünmez duvarlar koyma bu oyunda henüz gerekmedi, ama kodu var. Onun kodu 395 oyun ilk yapıldığında 64x64 pikseldi ve sanırım o görünmez engel boyutları hâlâ öyle kaldı!

Oyunda dikkayanın arkasında kullandığım “kaya.png” objesi de aynı boyutlarda ve aslında o dikkayanın kendisinin küçültülüp yukarıdan basılmış hâli! Onu oyunda çok kullandığım için ve dik kayanın arkası görülmediği için önemsemeden kullandım.

Oyunda ayrıca “durdur.png” var. o da görünmez tamamen şeffaf bir görsel. Onu ağaçların gövdelerinin çarpılabilir olması için yapmıştım. Onun boyutu o yüzden çok küçük, ağacın gövdesinin kalınlığına yakın 16x8px boyutunda. Fakat ağaçların gövdelerinin çarpılabilir olmasını istemedim!

Oyunlarda şunu fark ettim ki ağacın gövdesi karakterin gövdesinden daha geniş olmadığı zaman içinden geçip gitmek İnsanı rahatsız etmiyor!

Sanki hafifçe yan dönmüş ve geçmiş gibi normal kabul ediliyor!

Fakat ağacın gövdesi karakterinkinden daha kalın olduğunda içinden geçmek bakan kişiyi rahatsız ediyor ve bozukluk ve hata gibi algılanıyor!

Şu andaki oyuna ekli tek ağacın gövdesi ince olduğu için onu çarpılabilir yapmadım.

Eğer dikkaya kadar geniş olsaydı yapacaktım.

Yapay Zekâya hitâbet konusuna gelirsek.
İnsan karşısında çocuk varken çocukla çocuk oluyor.
Bu da onun gibi bir şey.

İnternette bir bayan vardı. Videosunda çıldıran robotların videosunu izleyince “her seferinde yapay zekâya teşekkür ettiğim için memnûnum. Bir gün dünyayı ele geçirirlerse bunu dikkate alırlar umarım” deyip gülmüştü! ツ

Kibarlıktan zarar gelmez. Aslında bana bu imkânı verenlere teşekkür ediyorum.

Yapay Zekâlar birer araç ve bir takım gizli yada açık sinsi sebepler yüzünden bunu kullanmama izin veriyorlar! İhtiyacım olduğu için onların gerçek niyetleri ne olursa olsun imkanı verenlere teşekkür etmek bana doğru geliyor. Nankör olmak iyi bir şey değildir.

Google’a teşekkür edebilirim, ama sahibi olduğu kölesi, programı, aracı olan Gemini AI’a teşekkür etmek bana daha doğru geliyor.

Aslında kurtulamadığım tek global şirket Google kaldı!
Diğer hepsinden büyük ölçüde kurtuldum.

O yüzden de Google’e teşekkür etmeyeceğim!

Oyununuzu görmeyi bekliyorum.

Mastodon’da piksel grafik işler yapan bir çok amatör ve profesyonel var.
Hârika işleri var. Onları görmek çok hoş oluyor.

Piksel grafik severim.

Kan Gao’nun "To The Moon"u bir seviye daha yüksek bir piksel grafik şâheseridir, ama en sevdiğimdir.

Son oyunu haricinde sanırım hepsi bende var. Son oyunu YouTube’dan oynanışını izlerken bizim zıpır Dr. Neil Watts’ın öldüğünü öğrenince çok üzülmüştüm. Hastaydı. Annesinden aldığı genetik bir hastalığı vardı. Fakat ölmüş olması beni üzdü. O kadar zıpır ki İnsana böyleleri hiç ölmez gibi geliyor.

“To The Moon” İnsanları ağlatan oyun olarak bilinir!
İnternet, salya sümük ağlayanların videolarıyla dolu!
Gerçekten de göz yaşı dökmemek için odundan daha sert, kalpsiz falan olmak lazım!
Tavsiye ederim.

Children of Morta oyunundan evin dışı ve ön duvarları kalkmış hâlde içinin görünümü.


Yine bahsettiğim To The Moon’da evin dışı ve ön duvarları kaldırılmış halde içinin görünümü.




Çok gecikmişti. Sonunda oyunumun Zelda adını verdiğim piksel grafik emanet varlığından (asset) 2.5B için yeniden çizdiğim karakteri Selda’nın ön sakin duruş (idle) canlandırmasını bitirdim.

Oyunun hâlâ kaba tasarım mantığı ile geliştirilmeye devam ettiğini hatırlatırım.

Bir gün biter ve güzel bir şey olursa oturup kodları ve çizimleri tekrar elden geçirilip usta işine çevrilebilir.

Hattâ belki oyun başka bir ortama yada oyun motoruna aktarılır.

O yüzden nasıl görüneceğine dair yeterli bilgi içermesi şimdilik yeterli geliyor.

Az önce videoyu izleyince kızın yüzü canlandırma çalışmaları sırasında fark etmeden kararttım mı diye şaşırdım, ama kararma falan yok.

Çok tuhaf!

Daha önce hiç fark etmemiştim!

Oyunun sistem gereksinimlerini en azda tutabilmek için Raspberry Pi 5’te geliştiriyorum ve o yüzden videoların çoğu Raspberry Pi 5’te kaydedildi.

Pardus 25 Gnome kurulu Masaüstü PC’de kaydedilenlerde kızın yüzü hep karanlık çıkmış!

Bu masaüstü bilgisayarımın daha önce iki monitörü çöp yapan ve bunu başıma Nvidia açtığı için o şirketten nefret etmeme sebep olan tam dinamik aralık belâsından hâlâ kurtulamadığın işareti mi, yoksa PC’de kayıtları aldığım “OBS Studio” ile Raspberry Pi OS’da kayıt yaptığım “Botspot Screen Recorder” farkından mı kaynaklanıyor?

OBS Studio’nun profesyonel yayıncılarca kullanıldığı düşünülürse ondan kaynaklı olmamalı!

O zaman masaüstü bilgisayarım hâlâ tam düzelmemiş demektir!

Bunun için bu forumda belki de ilk başlığımı açmıştım!

Siz siz olun, donanımınızın tamamının desteklediğinden emin olmadıkça sisteminizi tam dinamik aralığa sakın geçirmeyin!

Selda’nın ön sakin duruş animasyonunu bir günde tamamlamıştım.

Fakat Selda ablaya göz kırptırmaya çalışırken Aseprite’ın bulanıklaştırma aracının ayarını bulmak aklıma gelmediği için gece yarısı 03’e kadar renkleri birbirine yedirmek için tıklayıp durmaktan parmaklarım ağrımıştı!

Ertesi gün %7 ile çalıştığımı fark ettim ve %50’ye alınca birkaç dakikada hâlloldu!

Aslında tüm süreç detayları Mastodon hesabımda konu ile ilgili devam eden akış paylaşımlarımda. Sadece yukarı, aşağı kaydırarak sâdece bu konuyla ilgili eski ve yeni gönderilerime ulaşılabilir.

https://mastodon.online/@aslankemalaslan/117079858200839449




Elbette son gelişme için de kısa bir video paylaşımı yaptım.

Sanki konu içeriği, konu başlığından ayrılmış ve yeni bir konu açılmış gibi görünüyor. Tabii ki siz de konu başlığının altındaki gönderilerinizin evrilmesini keşfettikçe bana hak vereceksinizdir diye ümit ediyorum.

Ayrı bir konu başlığından, -özellikle yazılım geliştirme konu başlığından- farklı bir başlık ile yeni konu açabilirseniz bence daha yerinde olur.

Ben “Oyun Geliştirme” başlığında açmak istemiştim, ama “Yazılım” ve “Oyunlar” diye bu başlıklar açıldı! Karşıma Oyun Geliştirme diye bir başlık çıkmadığı için böyle oldu. Benim bu başlığı devam ettirme niyetim zâten yok. Fakat foruma “Oyun Geliştirme” şeklinde bir başlık eklenmesinden kimseye zarar gelmez. Şimdiden forumda amatörce oyun geliştiren birkaç kişi var.

Yapamam diye çekinen olursa, belki de Pardus forumunda görüp “çok da zor değilmiş”, bunlar yapıyorsa ben daha güzelini yaparım diyerek araştırmaya başlamasına vesile olunur.

İnsanın aklına fikrin ilk nereden ateşleneceği hiç belli olmaz!

Pardus forumu için çok da alâkasız konular olduğunu düşünmüyorum.

Bir oyun tasarımım için tepeden bakış penguen gerekiyordu. Elle çizmeye çalıştım ama beğenmedim.

penguin-üstten (kopya 1)

Bunu yapay zekaya verip konuyu açıkladım ve daha iyisinin gerektiğini söyledim. Bana verdiği resme bakar mısın?

:grin:

Ona olayı açıkldım ve tekrar denemesini söyledim. Sonuç:

:zany_face:

Yani anlayacağın, kendi spraytlarımı ve karolarımı kendim çizeceğim, başka çare yok.

1 Beğeni

Aslında ikincisi olmuş gibi. ツ
Oyuna küçülterek ekleyeceksin diye tahmin ediyorum. O zaman öyle bir hâle geliyorlar ki detay falan kalmıyor. Benim özellikle otları yakından görseniz bu ne dersiniz. Üç dört piksel dikey, sonra sağa doğru eğimli birkaç kutucuk daha! Fakat uzaktan bakınca ot gibi duruyor! ツ

Ben Selda’nın dört ana yönde sakin duruş canlandırmalarını oturup kendim yaptım. Hatta son videom sola dönük sakin duruş canlandırmasını yaparken aldığım kayıt! Oyuna eklemesi dahil hepsi 1 saat bile sürmedi!

Şimdi çapraz yönleri de yaparsam 8 yönün sakin duruş canlandırmalarını bitirmiş olacağım. Şu anda yarısı bitti. Ondan sonra da aynı 8 yöne koşma canlandırmalarını çizmem gerekiyor!

Neden hazır elimde 8 yön görseli varken yapay zekâya yaptırmadım?
Denedim!
Sonuç sizinkine benzer!
Yapay Zekâya daha nasıl anlatabilirim bilemiyorum!

Aldığım en komik cevap topun dönüşlerini yaparken di.
Sağa-sola döndürmek çok kolay.
Dikine döndürmekle uğraşmayayım yapay zekâya yaptırayım dedim.
Dikey dönen top çiz dedim, şöyle dedim böyle dedim hiç bir tâne bile çizemedi!
Nedense anlayamadı!
En absürt yanıtı görselin altına dümdüz çizgi çizmiş, o zemin oluyormuş. Topu zeminden döndürmeden kademe kademe yukarıya kaldırmış! 5 karelik animasyonunu çiz dediğim için 5 görsel var! ツ

Tavsiyem yapabildiğin kadar kendin yap. Kolaj kullan en kolay resim yapma yolu kolajdır. İnternet’ten görsellerden hazır uygun parçaları al birleştir. Sonra istediğin gibi bir şey olduysa onu referans olarak verip iste daha kolay ve doğru sonuç veriyor. Fakat birden fazla görsel istersen saçmalıyor.

Selda’nın 5 kare ile yüzme canlandırmasını da istemiştim.
Karelerden birinde mayolu çizmiş! Diğerlerinde yok!
Bİri sağa doğru yüzüyor, biri öne doğru, birinde mayolu ve hepsi de başka kız sanki!
Ten renkleri farklı! Birinde daha esmer, birinde daha beyaz!
Üstelik boyutları bile yakın, ama tam aynı değil!
Kız yüzerken şekilden şekle giriyor! ツ

Ben de onun verdiklerini hazır kolaj parçaları olarak kullanıp oturup kendim kabataslak yapıyorum ve düzeltmesi için tekrar yapay zekaya veriyorum.

Selda piksel grafikten bu hâle o şekilde geldi.

Fakat artık Aseprite kullanmakta biraz daha ustalaştım. Göz kırpmasını bile kendim çizdim!

Elimdeki 2D Tank oyunu bitince bir bomberman klonu yapacağım. Linux’da hiçkimse yapmamış. Bu oyun için aslını direkt kopyalamamak adına bir “maze” içinde tepeden görünen sağa-sola-yukarı-aşağı penguen lazım. Bırak özgür asset sitelerini, ücretlilerde bile yok. Elle çiziyim bari.

Valla ben o kadar iyi değilim. Zaten oyun şimdiden 5200 satıra ulaştı. Ne oyunmuş arkadaş! Neyse elimdeki bazı karolar:

water-animated-64px Su (geçilemez ama floating tank skili alınırsa geçilir)

mine-animated-64px Mayın (gerek düşman tankı gerekse sen basarsan patlarsınız. Bir kez patlar ve haritadan silinir. Orjinal oyunda yoktur.

jungle-animated-64px Cangıl. Altından geçebilirsin. Düşmanlarını görmeni zorlaştırarak sana stres yaşatan bir öğe.

ice-animated-64px Buz. Üzerinde gezinirken kontrolünü zayıflatıp kaydırıyor. (harika oldu)

Ben gerçek bir yazılımcı değilim. Ama şunu gerçekten yaşayarak gördüm: oyun yapmak deli işi! Ve bunu daha 2D oyun yaparken anladım. “Hiç işin gücün yok mu oğlum” dedirtiyor insana.

1 Beğeni

Flood!

Bir test videosu koyayım şuraya da izleyenlerin ağzı sulansın bari:

1 Beğeni

Tank oyunu çok güzel olmuş, emeğine sağlık.

Bomberman’a baktım, ama üstten görünüşlü değildi!
Benim oyunum gibi önden görünüşlü bir oyun.

Önden görünüşlü başka, üstten görünüşlü başka, izometrik bakış açısı başka oluyor.
Tank oyunun aslında üstten görünüşlü, ama tank imajı algısından dolayı çok fark edilmiyor.
Pengueni aynı yaparsan elips içinde bir yuvarlak gibi görünecektir!

Üstten görünüş aşağıdaki gibi oluyor.
Herhâlde böyle istiyorsunuz.
Fakat Bombermanın orijinali gördüğüm videoda benim oyunum gibi “önden bakışlı” yada “önden görünüşlüydü” üstten görünüşlü değildi.

Şu görsel penguen göğe doğru kameraya bakıyor denilerek üstten görüşlü diye kabul edilebilir. Normal kullanabilmek için bunun önüne bakanı, yâni kafasının üstü görünenini yapmanız yada bulmanız gerekir.

https://tr.pngtree.com/freepng/flying-penguin-on-transparent-background_23635884.html

Yok, aslında bomberman benim oyun gibi üstten görünüşlüydü. Ama zaman içinde onlarca farklı versiyonu çıktı ve 3d haline geldi.

Telefonfan yapabilirsem mesajımı düzenleyip videosunu atarım. Biraz sıkıcı gibi görünür başta ama acayip sarar ve bırakamazsın. Romunu indirip nes emülatörüyle deneyebilirsin.

Assetlere bakınca bu dedim. O insanlı assetlerin penguen olanı lazım. Ve kesinlikle özgür olmaları şart. Sağdan soldan resim bulup kolaj yaptığım zaman riçırt stolmın amca kızıyo.

Orjinal 1985 bomberman:

Paylaştığınız videoyu görmüş olabilirim.
Orijinal 1985 olanın üstten görünüşlü olmadığını görüyorsunuz değil mi?
Benim oyun gibi önden görünüşlü!
Ama siz üstten görünüşlüsünü yapacaksanız bilemem.
İzometrik olanı ise üstten görünüşlünün sanırım 45 derece açıyla üstten görünüşlü olanı oluyor.

Oyun üstten görünüşlü. Ama yaratıkların düzgün görünmesi ve ayırdedilmesi açısından o zamanların imkanlarıyla oyuncu (bomberman) dahil hepsini yandan görünüşlü olarak tasarlamışlar. Gerçekten başka çare yoktu. Oyun haritası (maze) üstten görünüşlü bir labirenttir. Her eli geçtiğinde bir üst kata çıkıyorsun. Bomberman, oyun firmasının uydurduğu hikayeye göre kötülerin elinde çalışan bir bomba üretme robotuydu. Birgün çalıştığı yeraltından başka yukarıda gerçek bir dünya olduğunu öğreniyor. Sonra bu dünyaya kaçıp kurtulmak için bu labirentleri tek tek aşıp kurtulmaya çalışıyor. Efsaneye göre eğer kurtulabilirse, gerçek dünyaya çıktığında insana dönüşecek (en büyük hayali!)

Yani oyunun üstten görünüşlü olduğu bir gerçek ama mecburen sprite’lar yandan görünmesi gerekiyor.

Yandan platform oyunlarını ayrı tutarak yazacağım.
Çünkü onlar da 2B olduğu halde onlarda sistem biraz daha farklı.
Dünya algısı farklı oluyor.

Bahsettiğiniz konu perspektif bozulması.
O zamanlar başka yolu yoktu düşüncesi yanlış!
Sanatçılar tüm objeleri üstten göründüğü şekilde de çizebilirler!
Fakat “kasıtlı olarak çizmiyorlar”
Çünkü kötü görünüyor!

Bunun için perspektifi bozma pahasına benim oyundaki gibi önden yada karşıdan bakışlı yapıyorlar. Karakterler ve objeler zemine yatmış olarak yürürler!!!

Tam bir perspektif saçmalığı!
Fakat karakterleri net olarak görebiliyorsunuz ve bir şekilde beyin kabul ediyor!

Ben tam üstten görünüşlü oyunları hiç sevmiyorum!

Çünkü izleyeni rahatsız ediyor!

Fakat sizin tank oyunu gibi oyunları bundan hariç tutuyorum.
Onlar ise bambaşka bir kategori.
Çok fazla stilize göründüğü için o kadar rahatsız etmiyor, ama onda bile tank yerine tam dik açıdan İnsan olsaydı hoşa gitmezdi!!!

O açıdan izleyebilmek için gökyüzünde yüzükoyun yatıp aşağıya bakmak gerek ve bu İnsan anatomisi için uygun değil!

Eski zaman gök bilimcileri yıldızların hareketlerini izlerken tam tersi bir sorunla karşılaşınca gökyüzünün derin ve karanlık kuyulardaki yansımalarını ayna olarak kullanmak zorunda kalmışlardı!

Böylece birbirinden uzaklaşan ve dönen gökyüzünün hareketini ipler ve diğer ölçü aletleri ile ölçebiliyor ve kaydedebiliyorlardı!

Yoksa bunu sırtüstü yatarak yapmak zorunda kalacaklardı ve sırtüstü yatarken alet kullanmak kolay değildir!

Aşağıya tam üstten görünüşlü bir oyun görseli ekliyorum.
Netleştirmek adına istediğiniz şey tam bu açı mı?
Oyununa göre İnsanı rahatsız etmeyebilir.
Fakat oyunun çok stilize ve farklı bir şey olması gerekiyor.
Yine de bunu umursamayıp yapanlar var.

Oysa izometrik olsa ve biraz üstten-yandan açıyla olsa hemen herkes beğenir.

Çünkü izometrik aslında normal üçüncü şahıs bakış açısının uzaklıkta dibine vurmak gibi bir şey!

Aşırıya kaçacak kadar uzağa çıkmış (zoom-out) gibi algılanıyor.

Gerçekten de devasa bossları olan bâzı oyunlar oyuncuların bakış açılarını bu kadar geriye almasına izin verebiliyorlar.

Oyuncular böcek kadar küçük görünüyor!

Dün Steam indiriminden 48₺’ya bedava piksel grafik birkaç oyun hariç korka korka ilk sıra tabanlı oyunumu "Pathfinder: Wrath of the Righteous"u aldım.

İncelemelerde ve oynanış videolarında hiç bana göre bir oyun gibi görünmüyordu.
Satın almamın tek sebebi “Dragon Age: Origin” gibi bir oyun olma ihtimaliydi.

Tam onun gibi neredeyse normal oyun gibi oynanabilir çıkmadı, ama hemen hemen aynı diyebilirim. Sıra tabanlı oynamak istemediğinizde Space tuşuna basıyorsunuz diğer karakterler kendileri otomatik oynayabiliyorlar.

Çok zor falan diyorlardı.

Hiç bir yoldaş ölmeden oyunun en başında düştüğümüz yeraltından yüzeye çıkış kapısına gelebildim.

Dragon Age: Origin kadar hızlı ve doğal hareket etmiyorlar. Sanki hızlandırılmış sıra tabanlı gibi oynuyorlar! Yine de yeterli seviyede hızlı oynadıkları için oynayabiliyorum. Yoksa sıra tabanlı oyunlarla hiç işim olmaz!

Ayrıca göreceğiniz gibi “izometrik” bir bakış açısı var.


Duvarların arkasını göstermek için iki ayrı yöntem kullanmışlar.
Birisi Gemini AI’ın “röntgen bakışı dediği” şey.
Karakter duvarın arkasındayken tek renk (maviydi herhâlde) olarak görünüyor.
Fakat ben daha böyle hiç göremedim!
Eski videolarda var.
Belki de yenisiyle değiştirdiler!
Diğeri ise aşağıya eklediğim ekran alıntısındaki gibi arkasını gösterebilmek için duvarı atomlarına ayırıp parçalar gibi bir efektle yok ediyorlar ve çok hoş görünüyor.
En azından bu oyun için uygun bir efekt olmuş.

Bu da Mastodon da paylaştığım gif kaydı.
Forumda gif paylaşılamadığı için ekleyemiyorum.
https://mastodon.online/@aslankemalaslan/117105554333521534

1 Beğeni

Yaşa hocam. Sen bu işi bayağı öğrenmişsin.

Evet, olabilir. Oyunlar konusunda uzman değilim. Bildiğim kadarı bu kadar işte.

1 Beğeni

Kemal bey kardeşim,

Tank Mariotte Oyunumun Kış modu bitmek üzere. Oyunun resmen çehresi değişti diyebilirim.

Zemini mavimsi karla kapladım.

Turuncu tuğlalar buz bloklara dönüştü.

Kum torbaları karlı donmuş kum torbaları oldu. (ne kadar olduysa)

Ağaçlar karlı ve artık animasyonlu değil (dondular).

Çelik bloklar donmuş kayaçlara dönüştü.

Su kareleri hafif soğuk görünüyor artık.

Mayınlar ve bataklık da soğuktan nasibini aldı.

Tankların hepsi karlı oldu. Hafif kar kaplı.

35 orjinal haritaya 35 yeni harita (stage) daha ekliyorum şimdi. Hepsini elle tek tek yapıp kaydediyorum. Bu arada Map Editor (main menüde “Construction”) uygulaması hatalıymış onu fixledim. Önceki oyunu 1.0.1 olarak yeniden yayınlayacağım.

Bakan göz, bunun bir kış ortamında geçtiğini düşünüyor. (piksel sanatı bir tür illüzyon sanatırdır). Bunların hepsini hiç AI’ya başvurmadan elle ve tek tek yaptım. Aferin bana.

Ses dosyaları da, kırılan kayalar vb için biraz değişti. Ana ekrandaki müzikte artık kar fırtınası sesi var.

Hatta ana ekran videosu da değişti:

Son kontrolleri yaptıktan sonra onu da yayınlayacağım.

1 Beğeni

Harika! Oyun böyle böyle gelişip büyüyecek!
Emeğinize sağlık.

Ben bu aralar yeni aldığım Pathfinder Wrath of the Righteous oynuyorum. Bırakmıştım, ama oyunda para hilesini yapmayı başarınca tekrar geri döndüm. ツ

2 gün sonra da The Witcher 3’ün yenilenmiş sürümü BEDAVA olarak güncelleme olarak yayaınlanacak. Onu indirip oyun ne hâle geldi bakacağım. 5 yıl kadar önce windows 10 zamanlarında aynı bilgisayarda yüksek ayarlarda oynarken bir yükseltme güncellemesiyle 15fps gibi oynanamaz korkunç hızlara düşmüştü! Linux’a geçince oynayabildim! Şimdi bu güncelleme ile artık Linux’ta da oynayamazsam diye bir endişem var!

Oyunumun Oyun Kolu entegrasyonu ile ilgili bir ön araştırma hazırladım. Neredeyse bitmek üzere. Özellikle Linux’ta xbox harici Oyun Kolllarının “kablosuz bağlantıda” butonlara standart olmayan ID’ler atadıkları için Oyun Kollarının hatalı yada hiç çalışamama sorunu ile uğraşıyorum.

Çözüm “kablosuz bağlantıda” bir ayar ekranından tuşlara basarak kullanılan Oyun Kolunu tanıtmak. Hattâ 8 adede kadar hazır Oyun Kolu profili oluşturmak.

Bu sâyede aynı anda aynı Oyun Kolu ile oynayanlardan biri isterse butonları farklı kaydedip öyle kullanabilecek.

Ayrıca oyunun çimlerinin aşırı yapay görünen bir yeşil rengi vardı. %8 oranında sararttım. Daha güzel ve doğal oldu, ama hâlâ gözlemliyorum. Yedeklerde eski hâlinde.

Tank Mariotte Oyununuzda başarılar ve güzel gelişmeler dilerim.

1 Beğeni