Oyun motoru rekreasyonu - Game engine recreation

Oyun motoru rekreasyonu bir video türüdür oyun motoru yeni bir oyun motorunun sıfırdan bir klon orijinal oyunun veri dosyalarını yükleme yeteneği olan müzik, dokular, Kodlar, gölgelendiriciler, seviyeleri, ve dahası. Yeni motor bu veri dosyalarını okumalı ve teorik olarak bunları orijinalinden ayırt edilemeyecek şekilde yüklemeli ve anlamalıdır. Uygun bir motor klonunun sonucu, genellikle eski oyunun artık üzerinde çalışamayacağı modern sistemlerde bir oyun oynama yeteneğidir. Ayrıca, birçok motor yeniden yapım projesi açık kaynak olma eğiliminde olduğundan, topluluk işbirliği olasılığını da açar. Oyun motoru yeniden oluşturma, oyun yayıncıları için yararlı olabilir çünkü bir yeniden oluşturmanın yasal kullanımı, bir oyuncunun yeniden oluşturulan oyunu yasal olarak oynayabilmesi için orijinal oyunu yine de satın alması gerektiğinden, orijinal veri dosyalarını gerektirmeye devam eder. oyun motoru rekreasyonlarının listesi ).

Motivasyon

Klasik oyunların yenileriyle birlikte kullanılmasına izin vermek için oyun motoru rekreasyonları yapılmıştır. işletim sistemi sürümler, yeni donanımlar ve hatta başlangıçta amaçlanandan tamamen farklı işletim sistemleri. Başka bir motivasyon da motoru tamir etme becerisidir böcekler bu, orijinal motorlarda genellikle zor veya imkansızdır (dikkate değer istisnalar dışında, bkz. topluluk yaması ) bir yazılım desteklenmediğinde eski ve kullanılmayan yazılım, ile kaynak kodu müsait değil.

Yöntemler

Yukarıdan aşağıya

Oyun motoru rekreasyonları bir yukarıdan aşağıya geliştirme metodolojisi ilk adımda genel oyunun işlevselliği programlanır ve yapı tanımlanır. Daha sonra, sonraki adımlarda, ortaya çıkan motor, genellikle tersine mühendislik, hata ayıklama ve orijinali profilleme yoluyla orijinal oyunun belirli ayrıntı davranışına uyarlanır. Bir örnek OpenRA topluluğun katkıda bulunduğu spesifikasyonlara göre temiz oda yeniden uygulamaları[1] orijinal yürütülebilir dosyayı sökmeden, bu da davranışları orijinalinden farklı olan oyun motorlarına neden olur.[2] Başka bir örnek de Toplam yok etme motor yeniden yapımı Bahar Motoru, bu da daha birçok oyun için kullanılmasına neden oldu. Tipik olarak, bu yaklaşım yalnızca orijinal davranışın yaklaşık bir sonucunu verir, "saat döngüsü akıllıca "özdeş davranış. Olumlu tarafı, çalışan kod daha hızlı var ve sonuçta ortaya çıkan kaynak kodu belirli, tek bir oyuna daha az bağlı ve diğer oyunlar için genel bir oyun motoru olarak yeniden kullanılabilir.

Altüst

Aksine Yukarıdan aşağıya oyun motoru rekreasyonları, belirli bir oyun için aşağıdan yukarıya birleştirilmiş / derlenmiş sürümler, genellikle orijinalin davranışını tam olarak kopyalayabilir. Bu durumlarda, oyun çekirdeği aşağıdan yukarıya yeniden oluşturulur. tersine mühendislik orijinalin demonte ikili çalıştırılabilir, talimat için CPU talimatı. Geliştirme aşamasında bunun dezavantajı, uzun süre çalışan bir prototipin olmamasıdır. Ayrıca olumsuz tarafta, ortaya çıkan kod bu tek oyuna çok özel bir şekilde bağlı, genellikle çirkin ("sözdemontaj kodu "[3][4]) ve genel oyun motoru olarak tekrar kullanılamaz. Örnekler CSBWin veya OpenTTD. Çoğu zaman, sonuç "oyun motoru" değil, "oyun rekreasyonu" veya "oyun klonu" olarak da adlandırılır. MAME oyunların doğru temsili için bu felsefeyi de takip eden bir video oyun motoru emülasyon projesinin bir örneğidir.

Kaynak kodu bağlantı noktaları

Ara sıra, bazı motorlarda / oyun çekirdeklerinde olduğu gibi ScummVM orijinal geliştiriciler, orijinali sağlayarak projelere yardımcı oldular. kaynak kodu (bunlar daha sonra çağrılabilir kaynak bağlantı noktaları ). Bu en iyi durumdur, doğruluk ve çabayı en aza indirmek için en uygun durumdur. Bir örnek Çelik Bir Gökyüzünün Altında.[5][6]

Alternatifler

Emülasyon klasik sistemler veya işletim sistemleri, motor rekreasyonuna bir alternatiftir; Örneğin DOSBox dikkate değer bir öykünücüsüdür PC /MS-DOS çevre. Statik yeniden derleme orijinal ikiliye dayanan başka bir yaklaşım çalıştırılabilir, potansiyel olarak öykünmeden daha iyi performansa yol açar; bir örnek 2014 KOL mimari versiyonu Yıldız Gemisi için Pandora.[7][8][9] Başka bir alternatif kaynak bağlantı noktaları nadiren kaynak kodunun mevcut olduğu durumlar için; örnekler Jagged Alliance 2[10] veya Ana dünya[11][12][13] (daha fazla örnek Mevcut kaynak kodlu ticari video oyunlarının listesi ).

Ayrıca bakınız

Referanslar

  1. ^ "OpenRA / OpenRA". GitHub. Alındı 2018-08-30.
  2. ^ Gelişim hedefleri Openra on github.com
  3. ^ Sürüm: Starcraft pyra-handheld.com'da "Gördüğünüz gibi x86 demontajından çok farklı görünmüyor, tek fark onu diğer 32bit yaylar için derleyebilmenizdir (64bit üzerinde çalışmasının imkanı yoktur .."
  4. ^ Chaos Strikes Back for Windows (ve Linux, MacOS X, Pocket PC) Dungeon Master Encyclopedia'da "Yaklaşık 120.000 satırlık sözde derleme dili. Yapılacak çılgınca bir şey. Ama işe yarıyor."
  5. ^ "En son gelişmeleri". ScummVM.org. 2 Ağustos 2012. Alındı 14 Temmuz, 2013. Bize orijinal montaj kaynak kodunu sağlayan Revolution Software sayesinde Çelik Gökyüzünün Altında desteği mümkün oldu!
  6. ^ Kaynak kodu "Montaj dilinde Çelik Gökyüzü Altında için kaynak kodu (415.225 bayt) xxxx" (2005)
  7. ^ Steinlechner, Peter (2014-03-10). "ARM-Handheld kompiliert için Starcraft" (Almanca'da). golem.de. Alındı 2014-03-25.
  8. ^ notaz (2014-03-04). "Yıldız Gemisi". repo.openpandora.org. Alındı 2014-03-26.
  9. ^ notaz (2014-03-04). "Yıldız Gemisi". openpandora.org. Alındı 2014-03-29. "Kaynak yok, bağlantı noktası yok" kuralı tamamen doğru değildir, statik yeniden derleme yoluyla bağlantı noktasına benzer (ancak aynı değil) bir şey elde edebilirsiniz. Bazı DOS oyunları için M-HT tarafından birkaç kez benzer şeyler yapıldı. Oyun da benzer bir yaklaşımla Android için dönüştürüldü.
  10. ^ Andrew Burnes (2004-02-25). "Jagged Alliance 2 Kaynak Kodu Wildfire ile Birlikte Verilecek". ign.com. Alındı 2012-12-23.
  11. ^ Largent, Andy (2003-10-08). "Homeworld Kaynak Kodu Yayınlandı". Mac Oyunları İçinde. Arşivlenen orijinal 2013-10-12 tarihinde. Alındı 2011-01-10.
  12. ^ "Arşivlenmiş kopya". Arşivlenen orijinal 2012-08-04 tarihinde. Alındı 2014-03-30.CS1 Maint: başlık olarak arşivlenmiş kopya (bağlantı)
  13. ^ pandorapress personeli (2011-06-23). "Haftanın Oyunu # 3 - Ana Dünya SDL". pandorapress.net. Alındı 2013-04-24. [...] HomeworldSDL limanını yayınladı. [...] Pandora'nızın HomeworldSDL'deki adamlar tarafından yapılan mükemmel işi deneyimlemesini sağlar.