3 puan yazan GN⁺ 2024-04-17 | 1 yorum | WhatsApp'ta paylaş
  • Descent 3 açık kaynak motoru, GPL-3.0 lisansıyla yayınlandı ve kullanmak için oyun dosyalarını ayrıca kendiniz sağlamanız gerekiyor
  • Bu yayınlanan sürüm, Kevin Bentley ve Jeff Slutter'ın geçmişte yazdığı '1.5' yamasını içeriyor
  • Söz konusu yama, Descent topluluğu tarafından kararlı hale getirildi
  • Kurulum ayrıntıları için USAGE.md, derleme süreci için ise BUILD.md dosyasının izlenmesi öneriliyor
  • Derleme veya çalıştırma sorunları GitHub tracker üzerinden bildirilirken, katkı yamaları GitHub üzerinden gönderiliyor

Yayınlanan motor ve lisans

  • Descent 3 açık kaynak motoru yayınlandı
  • Lisansı GPL-3.0
  • Bu motor, Kevin Bentley ve Jeff Slutter'ın birkaç yıl önce yazdığı '1.5' yamasını içeriyor
  • Söz konusu yama, Descent topluluğu tarafından kararlı duruma getirildi

Kullanım ve derleme

  • Motoru kullanmak için kullanıcının kendi oyun dosyalarını sağlaması gerekiyor
  • Kurulumla ilgili ayrıntılar USAGE.md içinde yer alıyor
  • Oyunun derleme süreci için BUILD.md içindeki derleme talimatlarının izlenmesi öneriliyor

Sorun bildirimi ve katkı

  • Derleme veya çalıştırma sırasında ortaya çıkan sorunlar GitHub tracker üzerinden bildiriliyor
  • Herkes katkıda bulunabilir
  • Geliştirici topluluğu, Discord'daki Descent Developer Network içinde bulunuyor
  • Yamalar GitHub üzerinden gönderilmeli

1 yorum

 
GN⁺ 2024-04-17
Hacker News yorumları
  • Bu oyunu gerçekten çok sevmiştim. Bu konseptin neden başlı başına bir tür hâline gelemediğini hiç anlayamadım.
    Gerçek bir “yukarı” yoktu, 360 derece serbest hareket mümkündü ve düşmanlar zekiydi, hatta keskin nişancılık bile yapıyorlardı. Eskiden buna inanılmaz zaman harcamıştım; şimdi de mutlaka denemek istiyorum.

    • Sormadınız ama modern oyunlar arasında aynı kontrol şemasını kullanan popüler oyun fiilen yalnızca Outer Wilds var. Bir shooter değil ama oldukça iyi bir macera oyunu.
      https://store.steampowered.com/app/753640/Outer_Wilds/
      Ancak bu alt türün doğrudan devamı sayılabilecek yapım Overload.
      https://store.steampowered.com/app/448850/Overload/
    • Elite Dangerous, 6 serbestlik dereceli kontrolün keyfini gerçekten iyi veriyor.
      https://youtu.be/T2-IHgNYaKA
      https://old.reddit.com/r/EliteDangerous/comments/16xi20a/dua...
      https://youtu.be/9U0KNVQmlcM
      Bu oyunu özlüyorum.
      “Bu konseptin neden bir tür hâline gelemediğini bilmiyorum” sözüne cevaben, bence bunun nedeni uzay uçuş simülatörlerinin ne yazık ki hep niş bir tür olması. Hatta uçuş simülatörlerinden bile daha nişti.
    • 2009’da çıkan Shattered Horizon adlı sıfır yerçekimli çok oyunculu bir shooter vardı: https://www.youtube.com/watch?v=xWsHxTFPxSE
      İlginç bir özellik olarak, giysinin gücünü kapatıp gizlenme moduna girebiliyordunuz; bunu yapınca tüm HUD öğeleri kapanıyor, patlama sesleri ya da kurşunların yanınızdan geçerken çıkardığı sesler gibi oynanış seslerinin çoğu da kesiliyordu.
      Evren kurgusuna göre bu seslerin tamamını giysi bilgisayarı üretiyordu ve uzay sessizdi.
    • Freespace, resmi olsun ya da olmasın, bir halefe oldukça yakındı. Freespace 2 muhteşemdi ve bugün oynansa da hâlâ iş yapar diye düşünüyorum.
      Günümüzde Elite Dangerous’ın modern versiyonu var, ama uçuş mekaniği uçak uçuş mekaniğine fazla yakın olduğundan Descent ile karşılaştırmak zor.
    • “Düşmanlar zekiydi, hatta keskin nişancılık bile yapıyorlardı” kısmını hatırlıyorum.
      PS1’de Descent 1 oynamıştım; kutusunda düşmanların oyun tarzına uyum sağladığı yazıyordu diye hatırlıyorum. Yaşlanıp makine öğrenmesi ve bazı yapay zeka teknikleri üzerine çalışınca, bunun tam olarak ne anlama geldiğini hep merak ettim.
      PS1’im gradyan inişi çalıştırıyor olamazdı; peki düşmanların oyuncuyu öğrenip uyum sağladığı iddiasının arkasında nasıl bir numara vardı?
  • Eşimle ben Descent forumlarında tanıştık; üç oğlumuzun isimleri Descent arkadaşlarımız KoolBear, Jediluke ve Mark392’den geliyor. Descent arkadaşlarımızın düğünlerine de gittik, ne yazık ki cenazelerine de; JinX’in huzur içinde yatmasını dilerim.
    D3’ü Descent serisinin en zayıf halkası olarak görüyordum, ama bu haber gerçekten sevindirici. Kevin’a teşekkürler.

    • Yıllarca sadece okuduktan sonra sırf bunu yazmak için sonunda hesap açtım. Senin ve Drakona’nın evlendiği zamanı hatırlıyorum. Tekrar tebrikler.
      Descent topluluğunda en son aktif olmamın üzerinden 15 yıldan çok daha fazla geçti. PlanetDescent e-postam kaybolunca ICQ hesabıma erişimi de kaybettim; artık internette DCrazy adını da kullanmıyorum. O zamanki erken ergen hâlimden biraz uzak durmak istememin de payı var.
      Yine de Descent, özellikle D3, yazılım mühendisliğine girmemde büyük etki yarattı ve o anılar için her zaman minnettarım.
    • KoolBear, Jediluke, Mark392 mi; bunlar çocukların isimleri mi?
    • Kali’de oynadığımız dönemden KoolBear’ı hatırlıyorum. Güzel anılar canlandı.
    • Çocuklardan birinin adının kelimenin tam anlamıyla “koolbear” olması fikrine bayıldım.
  • 12 yaşındayken Descent FAQ’sunu okurken IRC ile tanıştım; 14.4k modemle IHHD kurup oynamaya çalışıyordum. DEVIL ile bölümler de yapmıştım.
    Şimdi bir mühendis ve oyun geliştiricisiyim. Descent’i dünyaya sunduğunuz için teşekkürler. Üzerimde kişisel olarak çok büyük etkisi oldu.

    • Eskiden bir oyunu çalıştırmaya uğraşırken gerçekten çok şey öğrenildiğini sık sık düşünüyorum. Oyunu çalıştırmak için sorun gidermek büyük bir motivasyondu; oyun daha fazla bellek istiyorsa MS-DOS bellek optimizasyonu gibi şeyler bile yapmak gerekiyordu.
      Oyunu edinmenin kendisi bile çoğu zaman başlı başına bir yolculuktu.
      Bugünün çocuklarının telefonlarında sonsuz sayıda oyun var. Alttaki sistemle bağ kurmaları neredeyse gerekmiyor, çaba da gerekmiyor. Sadece indirip bir sonraki iyi görünen oyunu oynuyorlar.
      Bence bu kuşak bir şeyleri kaçırıyor.
  • Descent’in kontrol sistemi, birinci şahıs oyunlarda farede Y ekseni ters çevirmeyi benim için sonsuza dek kalıcı hale getiren şeydi
    Beynim 6 serbestlik dereceli düşünme biçimiyle tamamen örtüştü; ondan sonra tüm FPS oyunları, uçuş temelli olmasalar bile, buna uymak zorunda kaldı

    • Descent’i fareyle mi oynadın? Biz iki elimiz de klavyedeyken oynuyorduk. Sayı takımıyla bakış yönünü, yana kaymayı ve dönüşü; soldaki tuşlarla da hareketi ve ateş etmeyi yapıyorduk
      Bunu yapan sadece biz miydik?
    • Y eksenini ters çeviren oyuncular, birleşin!
      Descent de Flight Simulator 95 ile birlikte beynimi bozmakta pay sahibi oldu. Y ekseni ters çevrilmeden oynayamıyorum
    • Y eksenini ters çevirmeye o kadar alıştım ki hiçbir FPS’i varsayılan ayarlarla oynayamıyorum; oyun ayarlarında ilk değiştirdiğim seçenek bu oldu
      Keşke tüm oyunlarda varsayılan değer Y ekseni ters çevrilmiş olsa. Buna ne zaman alıştığımı bilmiyorum ama muhtemelen X-Wing oynarken ya da Quake oynarken olmuştur
    • Eski oyunların hepsinde, bugün Y ekseni ters çevirme dediğimiz şey varsayılandı
      Sanırım çekince burnun yukarı kalktığı uçak kontrol biçiminden geliyor. Çubuk, joystick, yoke hepsi böyle. Counter-Strike bunu bozdu :)
    • Gamepad ile üçüncü şahıs oyun oynarken iki ekseni de ters çevirmek isteyen tek kişi ben miyim diye merak ediyorum
      Sonunda, gerçekte iki kontrol biçiminin de aynı derecede sezgisel olmadığını hissettim; biri modern Zelda’yı fareyle düzgün çalışır hale getirene kadar beklemem gerekecek gibi
  • Birkaç arkadaşım Descent’i rekabetçi oynuyordu; sözde trichording olayını öğrenince şaşırmıştım. Hızı en üst düzeye çıkarmak için birden fazla tuşa aynı anda basıp üç eksende birden hareket etmek gerekiyor. Örneğin ileri/sağ/yukarı kombinasyonu
    En iyi oyuncular haritalarda çapraz biçimde ok gibi dolaşıyor
    Ben bunu hep Tribes’taki ski gibi, bir bug’ın özelliğe dönüşmesi örneği olarak düşündüm. Az önce depoya bakıp ipucu aradım ama sonunda bunun gerçekleştiği kod satırlarının çevresinde ilgili bir yorum bulamadım
    https://github.com/kevinbentley/Descent3/blob/142052a67d4318...

    • Bildiğim kadarıyla benzer bir durum birçok shooter oyununda mümkündü. Yana giderken ileri hareket edip çapraz koşunca, muhtemelen tasarımdaki dikkatsizlik yüzünden sqrt(x^2 + y^2) hızına ulaşıyordunuz; çünkü her yöndeki hareket hızı aynıydı
      Descent’te buna yukarı/aşağı ekseni de eklenince, sadece ileri gitmeye göre yaklaşık 1,7 kat hız elde ediliyordu
      Descent 2 ve 3’te öne doğru hızı artıran bir afterburner da vardı; enerjisi sınırlıydı ama oldukça hızlı doluyordu, %100 enerjide boost etkisi en yüksekti ve kalan enerji %0’a indikçe verimi düşüyordu
      Bu yüzden insanlar onu saniyede birkaç kez kısa kısa açıp kapatmayı, böylece çok kısa kullanımların arasında yeniden dolmasını sağlamayı ve düşük değerlere çakılmak yerine enerjiyi sürekli yaklaşık %95’te tutmayı öğrendi
      Gerçekten hızlı gitmek için 3 boyutlu çapraz hareket ederken afterburner’ı saniyede birkaç kez darbe gibi basmak gerekiyordu
    • Asıl tasarımcılar bunu bug ya da özellik olarak görmüyordu; daha çok üzerine pek düşünmemişlerdi
      Keşfedildikten sonra bazı tasarımcılar olumsuz, bazıları olumlu baktı; Descent’ten ayrıldıktan yıllar sonra ekip Overload yapmak için tekrar bir araya geldiğinde de bu tartışma konusuydu
      Eşimle ben D1’i modla düzeltip birkaç alternatifi denedik ve Mike/Matt/Luke/Dan ile o gün stüdyoda bulunanların önünde uçurarak demo yaptık. Sonunda “vektör bağımsızlığı basitçe iyi hissettiriyor” sonucuna vardık; bu yüzden Overload’a daha hızlı 1 boyutlu uçuş sağlayan normalize uçuş modu ile trichording modu arasında geçiş yapma özelliği eklendi
    • 2 boyutta 1x1’lik bir karenin köşegeni kenarından uzundur
      x ve y vektörlerini doğrudan toplayan naif bir uygulama, bileşke vektör üretir ve köşegen uzunluğu kadar, yani 1,41 kat daha hızlı olur. 3 boyutta bu daha da artar
      Bu, birçok eski oyunda çok yaygın bir bug ve aynı zamanda özellikti
      Quake yürürken bu bug’ı hesaba katıyordu ama zıplarken katmıyordu; bunun sonucunda hızı artıran daha karmaşık bir teknik olan strafe jump ortaya çıktı
    • Hesaba bakınca, bileşen girdileri topladıktan sonra nihai itki vektörünü yeniden normalize etmiyor gibi görünüyor. 2D bir oyuna indirgersek şöyle bir şey
      var playerX_input = Input.GetHorizontal(); // float in range -1 to 1
      var playerY_input = Input.GetVertical(); // float in range -1 to 1
      var playerVelocity = new Vector2(playerX_input, playerY_input);
      Artık oyuncu X’te 1 birim/frame, Y’de 1 birim/frame hareket edebilir; çapraz hareket edince hız vektörünün uzunluğu (1,1) vektörünün uzunluğu olan sqrt(2), yani yaklaşık 1,41 olur
      Bunu düzeltmek için kabaca şöyle yapılabilir
      if(playerVelocity.length > 1)
      {
      playerVelocity = playerVelocity.normalized();
      }
    • Rekabetçi ladder’daki en iyi oyunculardan bazıları, trichording sırasında dönüş kullanarak kavisli rotalarda “yönlendirme” yapıyordu
      Arkalarından takip ederken vurmak gerçekten çok zorlaşıyordu
      Birkaç ladder oyuncusuna karşı oynamıştım; beceri seviyesi tamamen başka bir boyuttaydı, şaşırmıştım
      O ilk oyunların bana bu kadar çekici gelmesinin nedenlerinden biri, fiilen bir beceri tavanının olmamasıydı
      O maçları streaming platformlarında izleyebilseydik gerçekten harika olurdu
  • “Birisi kısa süre önce Descent 3’ün kaynak kodunun açılıp açılmayacağını sormuştu” kısmı için referans bağlantı: https://news.ycombinator.com/item?id=40009248
    Gerçekten harika, teşekkürler

  • “Interplay’in bazı tescilli ses ve video kütüphaneleri kaldırıldı. Bunlar ACM ve MVE formatları. Eski ara sahnelerin çalışması için bir dönüştürücü yapmaya yardım etmek isteyen olursa kod bende var. Derlenebilmesi için o kodu stub’lamak biraz uğraş gerektiriyor” kısmına bakınca, bilgi olarak FFMPEG bu formatları destekliyor gibi görünüyor

  • Arkada onay almak için ne gerektiğini merak ediyorum. Karar alma sürecini biraz anlatabilir misin? Güzel bir şey ama bugünlerde fazla nadir

    • Kodu bunca zaman elimizde tutuyorduk; yaklaşık 15 yıl önce birkaç eski hatayı düzeltmeye çalışıyordum
      O zamanlar da kodu açma konusu gündeme gelmişti ama önce yamayı yayımlamak ve MVE decoder için bir alternatif bulmak istiyordum
      Birkaç gün önce burada başka bir yazının yorumlarını gördükten sonra sahibine e-posta attım; yayımlayamayacağımız kodu kaldırıp doğrudan ilerleyip ilerleyemeyeceğimizi sordum, o da “olur” diye yanıtladı
  • Wikipedia sayfasında şöyle cevher gibi bir bilgi buldum[0]
    “2002’de yayımlanan bir çalışma, Descent 3’ü kullanarak atmaca güvelerinin uçuş etkinliğini inceledi. Oyunun düzenleme modülünü kullanan araştırmacılar, dikdörtgen sütunların bulunduğu düz bir yüzeyden oluşan sanal bir ortam yarattı ve hayvan bu ortamda başarıyla yön buldu”
    [0] https://en.wikipedia.org/wiki/Descent_3#Other_uses

    • Epey çılgın bir iş. Güveyi bir VR makinesine sabitleyip üzerine feromon püskürtücü ve elektrotlar bile takmışlar; Clockwork Orange gibi bir sahne
      “Bu makalede, gerçekçi ve etkileşimli bir görsel ortamı mekanosensör ve koku uyaranlarıyla birleştiren; en yeni çok kanallı nörofizyolojik kayıt teknikleriyle birlikte kullanılan yeni bir böcek uçuş simülatörü tasarımı açıklanmaktadır. Bu sistem, günümüzde mevcut bilgisayar teknolojilerinden ve MEMS üretim tekniklerinden yararlanır ve atmaca güvesi Manduca sexta’nın gerçekçi kapalı çevrim uçuşu sırasında birden fazla merkezi sinir sistemi nöronunun etkinliğini paralel olarak incelemek için kullanılır”
      https://www.sciencedirect.com/science/article/abs/pii/S01650...
  • Birçok kişinin Descent’i sevdiğini duymuştum ve göze de harika görünüyordu. X-Wing ile Quake’in karışımı gibi de duruyordu
    Ama birkaç dakikadan fazla oynayamadım; uzun oyunculuk geçmişimde bu kadar hızlı vazgeçtiğim ilk oyun olmuş olabilir. İnsanı huzursuz eden bir hissi var; boks eldiveni takmışken mıknatıslarla uğraşmak gibi. Oynanış videolarını izleyince bile aynı hissi alıyorum