2 puan yazan GN⁺ 2025-01-01 | 1 yorum | WhatsApp'ta paylaş
  • dca3-game, The Gang tarafından geliştirilen Dreamcast için bir GTA III/VC portu; eski konsolda Rockstar’ın açık dünya oyunlarını çalıştırmayı amaçlayan bir proje
  • Port, GTA III/VC’nin tamamen tersine mühendislikle elde edilmiş kaynak kodu olan re3 üzerine kurulu; Dreamcast geliştirme ortamı olarak KallistiOS kullanılıyor
  • CDI oluşturmak için Grand Theft Auto III veya Grand Theft Auto: Vice City kurulumuna ihtiyaç var; test edilen sürüm Grand Theft Auto: The Trilogy
  • Önerilen oluşturma yolu Google Notebook; manuel yöntem DreamSDK r3 ve git-scm gerektirdiğinden günlük kullanıcılar için uygun değil
  • Emülatörlerde beyaz overlay’den kaçınmak için trails seçeneği kapatılmalı; 24 bpp ve Anti Aliasing ise deneysel ayarlar olarak kalıyor

dca3-game’in niteliği

  • dca3, Dreamcast için bir GTA III/VC portudur
  • The Gang tarafından geliştirildi ve re3 üzerine kurulu
  • re3, GTA III/VC’nin tamamen tersine mühendislikle elde edilmiş kaynak kodudur
  • Proje Stefanos Kornilios Mitsis Poiitidis tarafından başlatıldı ve KallistiOS kullanıyor

CDI oluşturma: Google Notebook önerilir

CDI oluşturma: manuel yöntem

  • Manuel yöntem günlük kullanıcılara önerilmez
  • Grand Theft Auto III veya Grand Theft Auto: Vice City kurulumuna ihtiyaç vardır
  • Bazı sürümler çalışmayabilir; d4_gta.mp3 dosyasının bozuk olduğu örnekler vardır
  • Bozuk dosya içermeyen orijinal bir kopya gerekir; aksi halde süreç çalışmaz
  • Gerekli araçlar:
  • Depo, DreamSDK kabuğunda git clone --branch beta https://gitlab.com/skmp/dca3-game.git komutuyla klonlanır

GTA III derlemesi: liberty

  • liberty klasörü oluşturulur ve GTA III dosyaları kopyalanır
    • 2 CD-ROM sürümü kullanılıyorsa play disc’in içeriği de aynı klasöre kopyalanmalıdır
  • beta sürümünden liberty prebuilt elf indirilir ve dca-liberty.elf dosyası dreamcast klasörüne çıkarılır
  • GD-EMU için CDI make cdi-prebuilt ile oluşturulur
    • İşlem süresi yaklaşık 5–15 dakikadır
    • DreamSDK sorunu nedeniyle ilk çalıştırmada tamamen bitmeyebilir; aynı komutu yeniden çalıştırmak gerekebilir
    • Tamamlandığında dca-liberty.cdi oluşturulur ve boyutu yaklaşık 900MB olur
  • CD-ROM yazdırmak için CDI make FOR_DISC=1 cdi-prebuilt ile oluşturulur
    • Tamamlanma mesajı *** CDI Baked Successfully*** şeklindedir
    • Sonuç dosyası yaklaşık 700MB veya 260MB olmalıdır
    • Boyut doğru değilse rm -rf repack-data çalıştırıldıktan sonra ilgili adım baştan başlatılır

GTA Vice City derlemesi: miami

  • miami klasörü oluşturulur ve GTA:VC dosyaları kopyalanır
  • beta sürümünden miami prebuilt elf indirilir ve dca-miami.elf dosyası dreamcast klasörüne çıkarılır
  • GD-EMU için CDI FOR_DISC=2 make cdi-prebuilt ile oluşturulur
    • İşlem süresi yaklaşık 5–15 dakikadır
    • DreamSDK sorunu nedeniyle ilk çalıştırmada tamamen bitmeyebilir
    • DreamShell penceresini birkaç kez kapatıp prosedürü yeniden başlatmak gerekebilir
    • Tamamlandığında dca-miami.cdi oluşturulur ve boyutu yaklaşık 1.5GB olur
  • CD-ROM yazdırmak için CDI make FOR_DISC=1 cdi-prebuilt ile oluşturulur
    • Tamamlanma mesajı *** Repack Completed Successfully*** şeklindedir
    • Sonuç dosyası yaklaşık 700MB veya 550MB olur

Çalıştırma ve grafik ayarları

  • Emülatörde çalıştırırken grafik ayarlarındaki trails seçeneği kapatılmalıdır
    • trails açıksa 3D render’ın üzerinde beyaz bir overlay görünebilir
  • Grafik ayarlarında iki deneysel mod bulunur
    • 24 bpp: 640x480x24
    • Anti Aliasing
  • HDMI veya VGA çıkışta 24 bpp modunun açılması önerilir
    • Bu durumda da trails efektinin kapatılması gerekir
  • Anti Aliasing, trails ile birlikte veya trails olmadan çalışır
    • trails açıkken performans etkisi daha büyüktür
  • 24 bpp veya Anti Aliasing açılırsa ağır sahnelerde bazı geometriler eksik görünebilir
    • AA modunda bunun olasılığı daha yüksektir
    • İki mod birlikte kullanılabilir

Sorun bildirimi ve lisans

  • Sorun bildirirken TV/monitör ile VMU’nun fotoğrafı çekilir ve yeni issue açılarak problem açıklanır
  • Kod yalnızca eğitim, dokümantasyon ve modlama amaçlarıyla kullanılmalıdır
  • Korsan kopya kullanımı veya ticari kullanım önerilmez
  • Türetilmiş çalışmalar açık kaynak olarak tutulmalı ve uygun şekilde credit verilmelidir

1 yorum

 
GN⁺ 2025-01-01
Hacker News yorumları
  • Rockstar telif hakkı tarafı, re3 zamanındaki gibi kaldırmadan önce kaynak kodunun bir kopyasını bir yerde mutlaka saklamak iyi olur
    https://news.ycombinator.com/item?id=28402640
    https://news.ycombinator.com/item?id=26199879

    • re3 en azından bir biçimde yeniden çevrimiçi olmuş durumda
      https://github.com/halpz/re3/
    • re3 motorunu çalıştırmak için oyunun bir kopyası gerekiyor; neden bu kadar ileri gidip onu kaldırmak istediklerini pek anlamıyorum
    • RE3, tersine mühendislik sonucu ortaya çıkmış bir ürün; yani özgün kaynak ve mantığa dayanarak ABI uyumlu bir uygulama türetilmiş
      Bu alan her zaman gri bölgeydi ya da açıkça yasa dışına yakın duruyordu; Compaq’ın 1982’de BIOS’u temiz oda yöntemiyle yaptığını söylemesinin nedeni de tam olarak buydu
      Böyle şikâyetleri duydukça gözlerimi devirmeden edemiyorum. OpenRA gibi temiz oda uygulaması yaparsanız hukuken epey güvende olursunuz; ama başkasının fikri mülkiyetini kullanırsanız yeterince dikkat çektiğiniz anda kolayca kapatılırsınız
  • Keşke Dreamcast daha uzun ömürlü olsaydı. Pek çok kişi bu konsolun ne kadar harika olduğunu hafife aldı
    Yine de bunun büyük ölçüde Sega’nın sistemi daha güçlü biçimde zorlamamasından kaynaklandığını düşünüyorum. Aynı yıl çıkan PS2’den donanım olarak çok daha üstün olduğunu düşünüyorum ve Sega’nın, rakip cihazlara kıyasla Dreamcast’in ne kadar pahalı olduğunu da yeterince hesaba katmadığı anlaşılıyor
    Tabii XBOX nihai olarak kaderini mühürledi

    • PS2 Japonya’da bir yıldan fazla geç çıktı; Kuzey Amerika’da ise DC’den birkaç ay sonra geldi ama yıl sonu sezonuna denk geldiği için fiilen ertesi yıl çıkmış sayılırdı. Yine de yalnızca duyurulması bile DC’nin çıkışını ciddi biçimde zayıflattı
      Dreamcast’i gerçekten seviyorum, birkaç tane sahibim; eskiden KallistiOS ile kurcalamıştım ve benim için kişisel olarak PS2’den çok daha anlamlı, ama donanımının ezici biçimde üstün olduğu doğru değil
      GPU’da ilginç özellikler vardı; VRAM ve donanımsal doku sıkıştırma da iyiydi, bu yüzden görüntü kalitesi daha iyiydi. Ancak geometri işleme, aydınlatma, fill rate gibi daha önemli ölçütlerin çoğunda geride kalıyordu ve o dönemde çoğu kişi VGA çıkışını da kullanmıyordu
      “Emotion Engine”, SH-4’ün PowerVR ve AICA’ya basitçe bağlandığı zarif yapıya kıyasla kesinlikle hantal; ama saf kayan nokta/SIMD geometri işleme ve DMA’da daha fazla performans çıkarabiliyordu. Mimarinin sadeliği oyuncuların büyük çoğunluğu için önemli değildi
      İlk dönem bazı oyunlar donanımı kullanmak zor olduğu için berbat görünüyordu; ama PS2’nin ömrüne ve son dönem oyunlarına, özellikle Konami işlerine bakınca DC’nin kapasitesini epey aştığını görüyorsunuz. DVD de GD-ROM’dan nesnel olarak üstündü ve film oynatıcı olarak da iyiydi
      Xbox, Sega Dreamcast’i zaten bıraktıktan sonra çıktı; yani kader ondan önce çoktan belirlenmişti
      Sony PS2’nin performansını abartmış olsa da DVD sürücüsü vardı; geliştiriciler alıştıktan sonra grafikleri de daha iyi hale geldi ve güçlü serileri ile daha fazla S sınıfı oyunu vardı. Dreamcast’te arcade portlarının payı fazlaydı
      O dönemin kazananın her şeyi aldığı pazarında Dreamcast doğrudan bunun kurbanı oldu; 1998’de daha büyük bir oyun kütüphanesiyle çıksaydı belki dayanacak bir pisti olabilirdi
    • PS2’de DVD oynatma, devasa popüler serilerin desteği ve PS1’e yönelik çok olumlu tepki vardı
      Saf performansta Dreamcast ile nasıl karşılaştırılır bilmiyorum; ama GameCube ve Xbox’a kıyasla PS2 bu açıdan kesinlikle en alttaydı. Sonuçta oyunlar ve DVD oynatma yeteneği yüzünden bu fark önemsizleşti
    • Xbox, DC çoktan üretimden kalktıktan epey sonra piyasaya çıktı. Üstelik DC’de yer almış bazı kişiler Xbox’ta da çalıştı
      Bir bakıma Xbox, Dreamcast 2 gibi de duruyor
    • Dreamcast donanımının hangi açıdan bu kadar ezici biçimde üstün olduğunu düşündüğünü merak ediyorum. Hatırladığım kadarıyla CPU’su da daha yavaştı, GPU’su da daha yavaştı, belleği de daha azdı
    • Dreamcast’in Eylül 1999’daki ABD lansman fiyatı 199 dolar
      PlayStation 2’nin Mart 2000’deki ABD lansman fiyatı 299 dolar
      https://en.wikipedia.org/wiki/Dreamcast
      https://en.wikipedia.org/wiki/PlayStation_2
      Dolayısıyla Dreamcast, PlayStation 2’den çok daha ucuzdu. Daha pahalı demek yerine daha ucuz demek mi istedin, yoksa benim kaçırdığım bir ayrıntı mı var bilmiyorum
  • Okumaya değer: GTA üçlemesi ve IV’ün geliştirme hikâyesi [0]

    gta3’ün ilk prototipi Dreamcast’te çalışıyordu. Hepimizin Dreamcast’i vardı ve Phantasy Star Online oynuyorduk. Ama Dreamcast, Playstation 2 karşısında tutunamayınca uzun ömürlü olmadı ve biz de geçiş yaptık.
    [0] https://web.archive.org/web/20231120194646/https://insideroc...

  • Ekran görüntüleri burada
    https://dca3.net/screenshots/

    • Evet, tam GTA3 ekran görüntüsü gibi duruyor
  • Ayrı olarak, Sega 32X için harika bir 3D Sonic oyunu yeni çıktı. Doom tabanlı “Sonic Robo Blast 2”nin portu

    • Gerçekten çok uzun zamandır duymadığım bir isim. Muhtemelen 20 yıl kadar olmuştur
  • Modern Vintage Gamer bu sürüm hakkında harika bir video yayımladı ve onu fiilen gördüğü en şaşırtıcı port olarak nitelendirdi
    https://www.youtube.com/watch?v=6MFN7QiF83M

  • Retro computing gerçekten harika. “Eski konsol” kavramını tamamen tersine çeviriyor
    Daha iyi seçenekler olduğu için değeri azalan bir şey değil; geliştiricilerin hedefleyebileceği, kalıcı olarak değişmeyen bir bilgisayar hâline geliyor
    Üretilmiş konsollar bundan sonra da çok daha uzun süre dayanacak. Benim N64’üm de hâlâ gayet iyi çalışıyor ve Everdrive ile yeni ROM hack’leri çalıştırıyor
    Tüm donanım bozulsa bile emülatörler o mimariyi değişmez hâliyle koruyarak var olmaya devam edecek
    Eskiden “neden eski bir konsol için yeni yazılım geliştirilsin ki” diye düşünürdüm; ama böyle yeniden bakınca modern donanım için yazılım kullanmak kadar, hatta ondan da daha ilginç geliyor

    • Tamamen katılıyorum; hatta biraz daha ileri gidersem, eski konsol ve bilgisayarların uzun süre hayatta kalacak tek sanal makineler olduğunu düşünüyorum
      500 yıl sonra hâlâ hayattaysak, bugünün tarayıcılarını, .NET’i ve JVM’i hedefleyen kodlara kıyasla NES’i hedefleyen kodun çalışabilir olma ihtimalinin daha yüksek olduğuna inanıyorum
      Rakip sanal makineler iyi belgelenmiş olsa da aşırı karmaşık; üzerlerindeki kod da mevcut işletim sistemlerinin, tarayıcıların, hatta donanımın tuhaf davranışlarına bağımlı olma eğiliminde
      Ayrıca retro donanımın kendisi nihai dokümantasyon. Günümüzde erişilebilir ekipmanlarla tüm çiplerin içine bakabiliyor, yazılımla ya da FPGA ile kusursuz kopyalar oluşturabiliyoruz. Buna karşılık sanal makine dokümanlarında hatalar bulunabilir
      Bugünkü bilimkurguvari tahminim, yalnızca görece basit mimarileri hedefleyen yazılımların zamanın sınavına dayanacağı yönünde
    • Donanım zamanla bozulur; bunun nedeni de sızıntı yapan kapasitörler gibi şeyler gibi görünüyor
      Meraklılar ve tamir dükkânları bir kısmını bir süre hayatta tutabilir, PCBWay gibi yerler de yedek parçalar üretebilir
      Yine de emülatörlerin önemli olduğu konusunda kesinlikle katılıyorum. Donanım pratik olmaktan çıktıktan sonra bile bunları deneyimlememizi sağlıyorlar
      Ayrıca taşınma ya da kargo olmadan inanılmaz çeşitlilikte oyunu denemek mümkün. Özellikle save state desteği sunabiliyorsa FPGA çözümlerini de denemek isterim
    • Dreamcast uzun süre kalacak, ama oyunları optik disklerden oynama dönemi o kadar uzun sürmeyecek
      Dreamcast, Yellow Book standardının iki katı yoğunlukta bir format kullanıyordu; sürücüm bozulduğunda yedek sürücü almaktansa flash tabanlı bir seçeneğe geçmek çok daha ucuzdu
    • Sınırlı anladığım kadarıyla Dreamcast, o neslin en basit mimarilerinden birine sahipti. Sega, Saturn adlı canavar yapılı sistemden ders aldığı için homebrew hedefi olarak iyi olmuş olmalı
      GPU’su da erken dönem bir PowerVR tasarımıydı; bu yüzden GameCube ya da PS2’nin kendine özgü mimarilerini hedeflemek yerine modern mobil GPU bilgisinden yararlanma payı olabilir
      Elbette ilk XBox fiilen bir PC olduğu için PC oyunlarını port etmek daha basit olmuş olmalı; bu yüzden bu tartışmaya pek uymuyor
    • Retro makineleri daha “modern” biçimlere dönüştüren insanlar donanım tarafında da epey inanılmaz işler çıkarıyor
      Şu çılgın kişi taşınabilir bir PS4 yapmış: https://youtu.be/bJSLscnFd_M
  • GTA III’ün baştan Dreamcast ile uyumlu olacak şekilde kodlanıp geriye sadece kalan bağlantıları temizlemek mi kaldığını, yoksa birinin motorun devasa bir kısmını, belki de tamamını yeniden yazıp Dreamcast uyumlu hâle mi getirdiğini merak ediyorum

    • İkincisine daha yakın. Geliştirme sürecini takip ettim; kullandıkları numaralardan biri, model geometri verilerini üçgen listelerinden PowerVR’a daha uygun üçgen şeritlerine dönüştürmekti
      Bu sayede üçgenleri donanıma daha hızlı gönderebildiler ve buna paralel olarak kare hızı da arttı
      https://x.com/falco_girgis/status/1821266502412075174?lang=e...
      Bu arada Falco epey komik. Dreamcast ile ilgili paylaşımlarını sık sık o neslin konsol savaşları şu anda yaşanıyormuş gibi yazıyor
    • Decompilation projesi RE3’ten çıkan bir motor portu. Çalışır hâle getirmek için değişmesi gereken çok şey vardı
    • GTA III’ün iyi bilinen oyun motoru RenderWare ile yapılmış olması da yardımcı oluyor
  • Dreamcast donanımında çalışan video
    https://youtu.be/6MFN7QiF83M?si=kYSxVa0N2GDsrAfP

  • Gerçek donanımdan alınmış oynanış kaydı var mı?