Gönderen Konu: Alpyre'nin oyun motoru "Sevgi Engine"  (Okunma sayısı 216 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı Ref

  • Yönetici
  • Özgür Retrocu
  • *
  • İleti: 3071
  • Advanced User Simulator
    • ae unutmadan
Alpyre'nin oyun motoru "Sevgi Engine"
« : 27 Mayıs 2025, 14:52:29 »
birkaç yıldır ortalarda görünmüyordu @Alpyre

meğer bununla uğraşıyormuş. Eski bir samcoupe'cu olduğu için onu da spectrumcu kabul ediyorum, birçok spectrumcu gibi o da kodlama ile barışık biri.

Amiga kodlaması yapıyordu ama görünüşe göre iyice ilerletmiş, bir oyun motoru ile çıkagelmiş. Çok gevşek bir lisans olan MIT lisansı ile yayınlamış.

Popüler tile editörü Tiled çıktılarını kullanabiliyormuş ama hangi özelliklere kadar destekliyor bilmiyorum.
guide dosyasında font, sprite, bob ve image editörlerinden bahsediliyor, henüz denemedim ama burada bir sıkıntı olacağını sanmıyorum.

Yani anladığım kadarıyla amos gibi kendi sprite bank'ı vs olan, C tabanlı olduğu için kolayca cross-develop yapabileceğiniz bir sdk geliştirmiş. Umarım aramızdan basit de olsa bir oyun yapan çıkar.


Aminetten indirdiğim önceden compile edilmiş binary'ler benim sistemimde çalışmadı :D version 0 cybergraphics.library istiyor, benim sistemde cybergrapX kütüphaneleri kurulu fakat bir RTG kartım yok. @Alpyre buna bir açıklık getirir mi acaba.


https://aminet.net/package/dev/c/Sevgi_Engine
https://github.com/alpyre/Sevgi_Engine

ChatGpt çevirisi:

Sevgi Engine, klasik Amiga bilgisayarlar için geliştirilmiş yeni bir açık kaynak video oyun motorudur. Sadece C programlama dili kullanarak yüksek performanslı Amiga oyunları oluşturmak için gerekli araçları sağlar ve temel (boilerplate) kodları üretir. Georg Steger tarafından geliştirilen mükemmel ScrollingTricks temeli üzerine inşa edilmiştir.

Özellikler
Performans
Tüm görüntüleme algoritmaları, tek tamponlu (single buffered) yerel Amiga yonga seti ekranında kilitli 50 fps hızında çalışacak şekilde tasarlanmıştır. ScrollingTricks’te yer alan Scroller_XYUnlimited2_64 algoritmasının optimize edilmiş bir sürümünü uygular. Fast RAM mevcut olduğunda büyük performans artışı sağlar.

Sistem Dostu
Tüm ROM sürümlerinde (2.0 ve üzeri) çalışmayı hedefler ve WHDLoad gerektirmeden temiz bir şekilde işletim sistemine geri dönmeyi sağlar.

AGA Desteği
AGA yonga setinin sunduğu tüm özellikleri destekler.

Kısıtlama Yok
Popüler Amiga video oyunlarında bilinen tüm görsel "trick"leri destekleyecek şekilde tasarlanmıştır ve daha deneysel efektlerin uygulanmasını da engellemez.

Kolay Geliştirme
Kod üretmek, oyun varlıklarını yönetmek, renk paletlerini düzenlemek vb. işlemler için Sevgi Editor adlı yerel bir editör programı sunulur. Oyun mantığı, animasyon ve olaylar gibi diğer bileşenler için C programlama bilgisi gerekir. Programlama ve derleme işlemleri Amiga OS üzerinde yerel olarak yapılabileceği gibi, Windows veya Linux bilgisayarlarda çapraz geliştirme araçları kullanılarak da yapılabilir. Sevgi Editor, Tiled ile oluşturulmuş haritaları içe aktarabilir.

Şablonlar
Hızlı başlangıç için derlenip çalıştırılmaya hazır oyun kodları üreten tür şablonları içerir. Bu şablonlar test varlıklarıyla birlikte gelir.

ptplayer
Müzik ve ses efektleri için Frank Wille tarafından geliştirilen harika ptplayer’ı uygular.

Üçüncü Taraf Bağımlılık Yok
Oyun çalıştırılabilir dosyası herhangi bir harici kütüphaneye ihtiyaç duymaz.

Dokümantasyon
Oyun motorunun kaynak kodu çok iyi yorumlanmış (commented) ve Amigaguide formatında detaylı şekilde belgelenmiştir.


Çevrimdışı dodogildo

  • Retro Meraklısı
  • ***
  • İleti: 122
Ynt: Alpyre'nin oyun motoru "Sevgi Engine"
« Yanıtla #1 : 27 Mayıs 2025, 15:23:22 »

Çevrimdışı Alpyre

  • RAAT
  • Retro Meraklısı
  • *
  • İleti: 111
Ynt: Alpyre'nin oyun motoru "Sevgi Engine"
« Yanıtla #2 : 27 Mayıs 2025, 18:32:38 »
Bak bu çok iyi oldu. Ben de buraya paylaşım hazırlayacaktım bugün. Teşekkürler @Ref :)

Aminetten indirdiğim önceden compile edilmiş binary'ler benim sistemimde çalışmadı :D version 0 cybergraphics.library istiyor, benim sistemde cybergrapX kütüphaneleri kurulu fakat bir RTG kartım yok. @Alpyre buna bir açıklık getirir mi acaba.

Editör'ün native ekranlara render ederken daha sade çizim yapmasını kodlamıştım ancak startup kodu cybergraphics.library'i her halükarda açmak isteyecektir. Sen bir CLI'den version cybergraphics.library yazsana bir hele? Gerçekten mevcut olmayabilir.

Umarım aramızdan basit de olsa bir oyun yapan çıkar.

Çıkarsa bu başlık altında yardımlaşırız, tabi uygunsa.

Çevrimdışı Ref

  • Yönetici
  • Özgür Retrocu
  • *
  • İleti: 3071
  • Advanced User Simulator
    • ae unutmadan
Ynt: Alpyre'nin oyun motoru "Sevgi Engine"
« Yanıtla #3 : 27 Mayıs 2025, 20:30:16 »
yıllar sonra sahalara bu şekilde girişin de efsane oldu alpyre :D tekrar hoşgeldin.

Editör'ün native ekranlara render ederken daha sade çizim yapmasını kodlamıştım ancak startup kodu cybergraphics.library'i her halükarda açmak isteyecektir. Sen bir CLI'den version cybergraphics.library yazsana bir hele? Gerçekten mevcut olmayabilir.

valla belgelerle geldim (ekte), şimdi bu çok eski bir harddisk, bu sürücü 10-20 senelik falan olabilir. fakat uae üzerinde bir mirror'u var bu diskin, şimdi ondaki kütüphaneyi aminetten yenisini çekerek güncelledim aynı hatayı veriyor. Belki benim sisteme özgü bir bozukluk olabilir. Üzerine temiz bir workbench kurdum (uae) mui falan kurduktan sonra yine cybergraphics.library hatası verdi. Son olarak yine uae üzerinde bir os3.5 + rtg (uae graphics) kurulumum vardı onda denedim çalıştı, fakat bu sefer proje açmak istediğimde "create" diyorum, hiçbirşey olmuyor, tekrar create butonuna basınca "proje zaten yaratıldı" diyor, sonra klasöre bakıyorum gerçekten yeni bir klasör oluşmuş, open project diyip o klasöre gidiyorum, aç diyince "bu klasörde proje yok" hatası veriyor :D sözü geçen klasörde anims.c anims.h dosyalarından başka dosya yok.

Sen en iyisi bize bir çalışan uae harddisk imajı hazırla, ya da imaj hazırlama rehberi hazırla, ordan bakalım

Çevrimdışı Alpyre

  • RAAT
  • Retro Meraklısı
  • *
  • İleti: 111
Ynt: Alpyre'nin oyun motoru "Sevgi Engine"
« Yanıtla #4 : 27 Mayıs 2025, 21:02:57 »
Sen en iyisi bize bir çalışan uae harddisk imajı hazırla, ya da imaj hazırlama rehberi hazırla, ordan bakalım.

Çalışan imaj hazırlama kolay. Ben asıl o sistemde neden çalışmadığını meraktayım şu an. İçinde şahsi veri yoksa o imajı gönderebilir misin? Doğrudan üzerinde testler yapayım. Programımın her sistemde hatasız çalışabilmesini isterim. :)

Çevrimdışı Skate

  • RAAT
  • Retro Meraklısı
  • *
  • İleti: 199
Ynt: Alpyre'nin oyun motoru "Sevgi Engine"
« Yanıtla #5 : 27 Mayıs 2025, 22:33:21 »
Eline sağlık @Alpyre.

Github'daki hem FRP, hem platform screenshot örneği, ikisinden birinin parallax içermesi gibi şeyler projeyi incelemeden "engine" lafını hak ettiğini gösteriyor.

Tiled benim de scripting sistemiyle birlikte kullandığım bir editör. Geçmişte bir kaç özellik eklettirmiştim. Hala da Discord development grubunu takip ediyorum. Böyle bir engine için bence de en doğru seçim olmuş. Sıfırdan tiledın özelliklerini kodlamak Amerika'yı baştan keşfetmek gibi oluyor.

Bunları henüz test edemeden ilk izlenim olarak yazıyorum. Umarım kısa sürede vakit bulup test edeceğim.

Çevrimdışı Ref

  • Yönetici
  • Özgür Retrocu
  • *
  • İleti: 3071
  • Advanced User Simulator
    • ae unutmadan
Ynt: Alpyre'nin oyun motoru "Sevgi Engine"
« Yanıtla #6 : 27 Mayıs 2025, 22:56:42 »
Sen en iyisi bize bir çalışan uae harddisk imajı hazırla, ya da imaj hazırlama rehberi hazırla, ordan bakalım.

Çalışan imaj hazırlama kolay. Ben asıl o sistemde neden çalışmadığını meraktayım şu an. İçinde şahsi veri yoksa o imajı gönderebilir misin? Doğrudan üzerinde testler yapayım. Programımın her sistemde hatasız çalışabilmesini isterim. :)

imaj 2GB ve içi 40 senelik amiga kodları, anılar irc logları ile dolu olduğundan göndermek istemiyorum :D ama neden çalışmadığını bulursam söylerim :D


Çevrimdışı Ref

  • Yönetici
  • Özgür Retrocu
  • *
  • İleti: 3071
  • Advanced User Simulator
    • ae unutmadan
Ynt: Alpyre'nin oyun motoru "Sevgi Engine"
« Yanıtla #7 : 27 Mayıs 2025, 23:30:30 »
şimdi birkaç sorum var, tabi ben yıllardır bu konu ile ilgilenmiyordum, retroskopta biraz konuşmuştuk ama bu kadar derine inmemiştik.

öncelikle cybergraphics sürücüleri hiçbir zaman ücretsiz hale getirilmemiş. Fakat satın alınabilecek biryer de bulamadım. Görünüşe göre herkes el altından install cd'sini birbirine kopyalıyor.

picasso96 (p96) de halen satılıyor, ama neyse ki o güncellenmeye devam ediyor, hatta bu sene başında yeni bir update çıkmış, yılda da en az 3 kere update görüyor bu güzel, konumuzla alakası yok ama legal cgx4 ararken bunu da öğrenmiş oldum.

elbette mui de hala sasg lisansı istiyor, onu da satın alacak yer yok. Keyfile elden ele geziyor.

Yani bu durumda legal olarak çalışan bir imaj paylaşmak da mümkün değil gibi. Bakımı yapılmayan ve satışı da olmayan sürücülerin dağıtılmasına bir itirazım yok ama ciddi bir kısıtlama gibi göründü bana.

cybergraphics.library'i ne için kullanıyordun sen @Alpyre ?


not: intuition.library'nin de cybergraphics.library ile uyumlu versionda olması gerektiğini hatırladım, sendeki versionları söyler misin kontrol edeyim?


edit: ekte snoopdos log'u var. bilmem faydası olur mu? ENVironment variable'ları set edilmemiş gibi duruyor. Sanırım bir install sorunu var.

os35 snoopdos log'unda editör çalışıyor, önce default "proje" klasörüne yazmak istiyorum (ama öyle bir klasör yok tabi) o yüzden fail oluyor (ama program hiçbir hata vermiyor)
sonra ramdisk'e deneme yapıyorum, yine hiçbir hata-başarı mesajı yok.
sonra yeni proje penceresini kapatıp, menüden open seçiyorum, ram'deki klasörü seçiyorum. diski kontrol bile etmeden o klasörde proje yok gibi bir hata veriyor. (alttaki asl libraryler requester açıyor,  (images/window olan girdiler bebim pencerelerin arka planındaki background imajları sanırım, her pencere açtığımda o girdiler çıkıyor.)

Çevrimdışı Alpyre

  • RAAT
  • Retro Meraklısı
  • *
  • İleti: 111
Ynt: Alpyre'nin oyun motoru "Sevgi Engine"
« Yanıtla #8 : 27 Mayıs 2025, 23:51:20 »
cybergraphics.library'i ne için kullanıyordun sen @Alpyre ?

Lisanslı Picasso 96 kullanıyorum.

elbette mui de hala sasg lisansı istiyor, onu da satın alacak yer yok. Keyfile elden ele geziyor.

Garip gelecek ancak MUI hala www.sasg.com üzerinden satın alınabiliyor (PayPal lazım ama).

Çevrimdışı Alpyre

  • RAAT
  • Retro Meraklısı
  • *
  • İleti: 111
Ynt: Alpyre'nin oyun motoru "Sevgi Engine"
« Yanıtla #9 : 28 Mayıs 2025, 00:21:39 »
fakat bu sefer proje açmak istediğimde "create" diyorum, hiçbirşey olmuyor,

Şimdi kaynak kodlarıma tekrar baktım da, burada verdiğin ipuçlarına dayanarak sorunun ne olduğu aşağı yukarı kafamda oluştu gibi. Nedense bazı sistemlerde (sanırım dosya sistemi ile alakalı) aynı dosya (veya dizini) mükerrer kilitlemek istediğinde Lock() başarısız dönüyor. Şimdi yeni proje oluştururken program dizin kopyalıyor ve alt dizinler ile karşılaştığında da rekürsiyon yapıyor. Haliyle üzerinde kilit bulunan dizin için yeni bir kilit isteniyor. Bunun başarısız olması koşulunu kodlamamışım :o. Yani tahminimce iki dosya kopyalıyor (anims.c ve anims.h), bir dizinle karşılaşıyor (muhtemelen assets dizini), Lock() başarısız dönüyor, bir hata koşulu yazılmadığı için hiçbir şey yapmadan o pencerede kalıyor. Tahminim bu tabi. İşin kötüsü bu hatadan nasıl kaçınılır aklıma bir fikir de gelmiyor.

Nasıl yapsam acaba? Biraz amatörce ama doğrudan C:'deki copy komutuyla mı kopyalatsam?

Şu ekteki deneysel Sevgi_Editor ile bir dener misin? Çalışırsa bu şekilde değiştireyim komple.

Çevrimdışı Ref

  • Yönetici
  • Özgür Retrocu
  • *
  • İleti: 3071
  • Advanced User Simulator
    • ae unutmadan
Ynt: Alpyre'nin oyun motoru "Sevgi Engine"
« Yanıtla #10 : 28 Mayıs 2025, 08:55:11 »
fakat bu sefer proje açmak istediğimde "create" diyorum, hiçbirşey olmuyor,

Şimdi kaynak kodlarıma tekrar baktım da, burada verdiğin ipuçlarına dayanarak sorunun ne olduğu aşağı yukarı kafamda oluştu gibi. Nedense bazı sistemlerde (sanırım dosya sistemi ile alakalı) aynı dosya (veya dizini) mükerrer kilitlemek istediğinde Lock() başarısız dönüyor. Şimdi yeni proje oluştururken program dizin kopyalıyor ve alt dizinler ile karşılaştığında da rekürsiyon yapıyor. Haliyle üzerinde kilit bulunan dizin için yeni bir kilit isteniyor. Bunun başarısız olması koşulunu kodlamamışım :o. Yani tahminimce iki dosya kopyalıyor (anims.c ve anims.h), bir dizinle karşılaşıyor (muhtemelen assets dizini), Lock() başarısız dönüyor, bir hata koşulu yazılmadığı için hiçbir şey yapmadan o pencerede kalıyor. Tahminim bu tabi. İşin kötüsü bu hatadan nasıl kaçınılır aklıma bir fikir de gelmiyor.

Nasıl yapsam acaba? Biraz amatörce ama doğrudan C:'deki copy komutuyla mı kopyalatsam?

Şu ekteki deneysel Sevgi_Editor ile bir dener misin? Çalışırsa bu şekilde değiştireyim komple.

Evet bu şekilde çalıştı sorun yok.

Sıradan kullanıcının ilk deneyimi çok önemli olduğu için (ömründen harcayacağı zamana değer mi diye tartar) hemen ilk karşılaştığım ui tuhaflıklarını yazayım:
Settings penceresinde cancel/Appy ya da en azından close butonu yok, halbuki yeri var, belki hidden kaldı?
game assets de aynı ama hadi o biraz sıkı bir pencere, bir de her pane'in kendi butonu var... tercihen bütün pencerelerin kapatma butonu olması iyi olurdu. Butonsuz pencerelerin dock edilmesi beklenir.

Text editör olduğunu tahmin ettiğim mürekkep-tüy ikonu ilk kullanımda çalışmıyor, yeni verdiğin dosyada "cubic ide" aranıyor (ve shell penceresinde fail oluyor) eskisinde (yeniyle proje açıp eskiyle yüklüyorum--) "cd failed return code 20" oluyor. Bunun sebebini settings'de aradım, sonra baktım pulldown menülerde ide settings varmış. Eski versionda bu boş geliyormuş, yeni versionda orada cubic ide yazılı. Bu benden kaynaklı olabilir mi diye düşündüm çünkü OS3.5 üzerinde deniyorum. Belki default editör boş ise bir uyarı gösterip otomatik olarak ide settings göstermek iyi olabilir.

templates klasöründe iki tane örnek dosya görüyorum platformer ve topdown şeklinde. Bunları açmayı denedim, şu anında dank etti, bir compiler olmadan bu pek işe yaramıyor.
Bu sebepten senin projen de açık kaynak olduğundan, en azından gcc'yi binary pakete eklemen iyi olabilir gibi geldi. Ayrıca bir compile butonu da iyi olurdu. böylece editörden çıkmadan oyunu deneme şansı olabilirdi. Ayrıca bunların adı templates yerine examples olsa daha iyi olurdu gibi, template olunca içi boş dosya bekliyorum. halbuki bunlarda sprite'tan arkaplana kadar herşey var(--bunları proje içinde göremedim belki klasörlerde unutuldu bilemiyorum, belki gerçekten templatedirler)

Yani kolay başlangıç ve müşteri toplamak için bence şu akış önemli: projeyi aç/yeni proje -> (editör seni bir şekilde examples çekmecesine yönlendirir-examples olduğu mutlaka görülür) -> compile butonuna bas -> oyun çalışır -> ekranda "esc to quit" yazısı görünür, esc'e bas oyun kapanır -> "hmm demek bu çalışıyor, bakayım nasıl yapmışlar?!"

Tabi söylemesi kolay :) bende sas/c kurulu ama şimdi evden çıkmak zorundayım, akşam tekrar göz atacağım.



Çevrimdışı Alpyre

  • RAAT
  • Retro Meraklısı
  • *
  • İleti: 111
Ynt: Alpyre'nin oyun motoru "Sevgi Engine"
« Yanıtla #11 : 28 Mayıs 2025, 10:05:04 »
fakat bu sefer proje açmak istediğimde "create" diyorum, hiçbirşey olmuyor,

Şimdi kaynak kodlarıma tekrar baktım da, burada verdiğin ipuçlarına dayanarak sorunun ne olduğu aşağı yukarı kafamda oluştu gibi. Nedense bazı sistemlerde (sanırım dosya sistemi ile alakalı) aynı dosya (veya dizini) mükerrer kilitlemek istediğinde Lock() başarısız dönüyor. Şimdi yeni proje oluştururken program dizin kopyalıyor ve alt dizinler ile karşılaştığında da rekürsiyon yapıyor. Haliyle üzerinde kilit bulunan dizin için yeni bir kilit isteniyor. Bunun başarısız olması koşulunu kodlamamışım :o. Yani tahminimce iki dosya kopyalıyor (anims.c ve anims.h), bir dizinle karşılaşıyor (muhtemelen assets dizini), Lock() başarısız dönüyor, bir hata koşulu yazılmadığı için hiçbir şey yapmadan o pencerede kalıyor. Tahminim bu tabi. İşin kötüsü bu hatadan nasıl kaçınılır aklıma bir fikir de gelmiyor.

Nasıl yapsam acaba? Biraz amatörce ama doğrudan C:'deki copy komutuyla mı kopyalatsam?

Şu ekteki deneysel Sevgi_Editor ile bir dener misin? Çalışırsa bu şekilde değiştireyim komple.

Evet bu şekilde çalıştı sorun yok.


Tabi ya. Ben de niye kendi kopyalama rutinimi yazdıysam? Kimi dos.library özellikleri derleyicideki SDK sürümüne göre derleniyor sanırım. Tabi program farklı bir ROM sürümü üzerinde çalıştırılınca böyle beklenmedik şeyler olabilir. Ben Editör ve araçların tamamında tüm kopyalama işlemlerini mevcut sistemin copy komutuna yaptırayım en iyisi.

Settings penceresinde cancel/Appy ya da en azından close butonu yok, halbuki yeri var, belki hidden kaldı?
game assets de aynı ama hadi o biraz sıkı bir pencere, bir de her pane'in kendi butonu var... tercihen bütün pencerelerin kapatma butonu olması iyi olurdu. Butonsuz pencerelerin dock edilmesi beklenir.

Editör arayüzünden ben de çok memnun değilim. Yığma inşaat gibi oldu biraz. Game Settings penceresinde Apply/Cancel'lik bir durum yok aslında, çünkü yapılan seçimler oyunun özelliklerini doğrudan belirliyor. Apply/Cancel mekaniğini için, pencere açıldığındaki ayar durumunu saklayıp, cancel'a basıldığında eski haline geri getirip pencereyi öyle kapatmam gerekecektir. Ayrıca pencerenin de modal olması gerekir (çünkü pencere açıkken de geliştirici oyunu derlemeye kalkabilir). Zor bir şey de değil aslında, yapılabilir. Esasında o penceredeki tüm içerik editörün ana penceresindeydi (direkt toolbar'ın altında). Assets ve Palettes pencereleri de ha keza. Çoğu zaman kısıtlı çözünürlüğü olan Workbench ekran alanını çok işgal etmemek için kendi kapatılabilir penceresine aldım ikisini de (aslında dediğin gibi dock'lanabilir pencereler olmalıydı bu ikisi, o tarz bir arayüz için MUI yeteneklerimi bayağı bir geliştirmem gerek). Bu pencerelerde yapılan değişiklikler toolbar'daki Save butonuyla doğrudan projeye kaydediliyor. Bilemedim ki şimdi nasıl yapsak?

...en azından gcc'yi binary pakete eklemen iyi olabilir gibi geldi. Ayrıca bir compile butonu da iyi olurdu.

Amiga geliştiricileri derleyici tercihleri bakımından çok ayrışıyor. Oyunun kod tabanının derleyici agnostik kılmak için bayağı bir çaba sarfettim. O yüzden herhangi bir derleyici yeğleyerek kitlenin bir kısmını kaçırmak istemem. Ama compile butonu kesinlikle olmalı çok haklısın. Hatta hemen ekliyorum.

template olunca içi boş dosya bekliyorum. halbuki bunlarda sprite'tan arkaplana kadar herşey var(--bunları proje içinde göremedim belki klasörlerde unutuldu bilemiyorum, belki gerçekten templatedirler)

Ya aslında onlar böyle üzerinde 1, 2, 3 yazan siyah beyaz tile'lar ve beyaz kutu şeklinde karakter sprite'ı olan template gibi template'ler olacaktı. Sonra baktım o şekilde motorun kapasitesini tam yansıtamıyor ve yazılması gereken animasyon kodlarını da iyi örneklendiremiyorum, piyasadaki ücretsiz asset'lerle biraz renklendireyim ortalığı dedim. Biraz fazla kaçtı sanırım.

Çevrimdışı Ref

  • Yönetici
  • Özgür Retrocu
  • *
  • İleti: 3071
  • Advanced User Simulator
    • ae unutmadan
Ynt: Alpyre'nin oyun motoru "Sevgi Engine"
« Yanıtla #12 : 28 Mayıs 2025, 13:08:47 »
Ben Editör ve araçların tamamında tüm kopyalama işlemlerini mevcut sistemin copy komutuna yaptırayım en iyisi.
Lale savaşçılarını disassemble etmeye çalışırken görmüştüm ki, AMOS neredeyse her işlemi romda/sistemde yüklü kütüphaneler üzerinden yapıyor. Bu debugging'i çok zorlaştırıyordu ama sanırım birçok farklı konfigürasyonun olduğu bir ortamda yapılabilecek en doğru şey.


Alıntı
Çoğu zaman kısıtlı çözünürlüğü olan Workbench ekran alanını çok işgal etmemek için kendi kapatılabilir penceresine aldım ikisini de (aslında dediğin gibi dock'lanabilir pencereler olmalıydı bu ikisi, o tarz bir arayüz için MUI yeteneklerimi bayağı bir geliştirmem gerek). Bu pencerelerde yapılan değişiklikler toolbar'daki Save butonuyla doğrudan projeye kaydediliyor. Bilemedim ki şimdi nasıl yapsak?
Docklama ile vakit harcama bence (ben örnek olarak bahsetmiştim). UI kaosunda yok olursun. Zaman içinde feedback gelirse not al, sana mantıklı gelen şeyleri implement et, mantıklı olmayanları da community'e açıkla ve geç derim ben.

Yani editördeki tüm değişikliklerin sadece save butonuyla kaydediliyor olması konusu açık değildi bence. Dediğin gibi, oraya biraz kafa yorup, ne yapsak diye düşünmen lazım :D


Alıntı
Amiga geliştiricileri derleyici tercihleri bakımından çok ayrışıyor. Oyunun kod tabanının derleyici agnostik kılmak için bayağı bir çaba sarfettim. O yüzden herhangi bir derleyici yeğleyerek kitlenin bir kısmını kaçırmak istemem.
Burada c kodlayabilen ama daha önce amigada birşey yapmamış insanları hedeflediğini düşünüyorum. Buradaki en büyük avantaj insanlara yüksek performanslı bir geliştirme ortamını hazır olarak sunabilmekte gibi geliyor.

Şahsen ben o ortamı kurana kadar kodlama hevesimi kaçırdım en son :D Ama biri bunu önüme koysaydı bana yumuşak bir iniş yaratmış olurdu. Yani sadece bu değil, yanında sağlam bir dokümantasyon da gerekiyor. Biliyorum bunlar sıkıcı şeyler ama doküman olmadan giriş yapmak aşırı zorlaşıyor, çok iyi bir amigaguide dökmanı ile başlangıç yapmışsın, zaten altyapı hazır gibi. Keşke bu tür işleri chatgpt'ye falan yıkabilsek süper olurdu.