O'yin dvigatellari uchun dam olish - Game engine recreation

O'yin dvigatellari uchun dam olish video turi o'yin mexanizmi remastering jarayoni, bunda yangi o'yin mexanizmi noldan a deb yoziladi klonlash kabi asl o'yin ma'lumotlarini yuklash qobiliyatiga ega bo'lgan asl nusxadan musiqa, to'qimalar, skriptlar, shaderlar, darajalar va boshqalar. Yangi dvigatel ushbu ma'lumotlar fayllarini o'qishi va nazariy jihatdan ularni asl nusxasidan farq qilmaydigan darajada yuklashi va tushunishi kerak. To'g'ri dvigatel klonining natijasi ko'pincha eski o'yin endi ishlatib bo'lmaydigan zamonaviy tizimlarda o'yin o'ynash qobiliyatidir. Shuningdek, bu jamoatchilik bilan hamkorlik qilish imkoniyatini ochadi, chunki ko'plab dvigatellarni qayta qurish loyihalari ochiq manbaga ega. O'yin dvigatellarining dam olishlari o'yin noshirlari uchun foydali bo'lishi mumkin, chunki qayta yaratilishdan qonuniy foydalanish uchun asl ma'lumot fayllari talab qilinadi, chunki o'yinchi qonuniy ravishda qayta yaratilgan o'yinni o'ynash uchun asl o'yinni sotib olishi kerak (bu erda batafsil ma'lumot berilgan) o'yin dvigatellarini rekreatsiyalar ro'yxati ).

Motivatsiya

O'yin dvigatellarining rekreatsiyalari klassik o'yinlardan yangilaridan foydalanishga imkon berish uchun qilingan operatsion tizim versiyalar, so'nggi apparat yoki hatto umuman mo'ljallangan operatsion tizimlardan butunlay boshqacha. Yana bir turtki - bu dvigatelni tuzatish qobiliyati xatolar ko'pincha asl dvigatellari bilan qiyin yoki imkonsiz (sezilarli istisnolardan tashqari, qarang) jamoatchilik patch ) dasturiy ta'minot qo'llab-quvvatlanmaydigan bo'lsa tashlab ketilgan dastur, bilan manba kodi mavjud emas.

Usullari

Tepadan pastga

Qachon o'yin dvigatellari rekreatsiyalari a yuqoridan pastga qarab rivojlanish metodologiyasi, birinchi bosqichda umumiy o'yin funktsionalligi dasturlashtirilgan va tuzilishi aniqlangan. Keyinchalik, keyingi bosqichlarda, natijada paydo bo'ladigan vosita asl o'yinning o'ziga xos tafsilotlariga moslashtiriladi, ko'pincha teskari muhandislik, disk raskadrovka va asl nusxasini yaratish. Misol OpenRA tomonidan qo'shilgan xususiyatlarga asoslanib toza xonani qayta amalga oshirish[1] asl nusxasini o'rnatmasdan, natijada xatti-harakatlari asl nusxadan farq qiladigan o'yin dvigatellariga olib keladi.[2] Yana bir misol To'liq yo'q qilish dvigatelni qayta qurish Bahorgi dvigatel, natijada yana ko'plab o'yinlar uchun ishlatilgan. Odatda, ushbu yondashuv faqat "" emas, balki asl xatti-harakatlarning yaqinlashishiga olib keladi.soat aylanishi oqilona "bir xil xatti-harakatlar. Ijobiy tomoni, ishlaydigan kod tezroq mavjud bo'lib, natijada paydo bo'lgan manba kodi o'ziga xos, bitta o'yinga kamroq bog'langan va boshqa o'yinlar uchun umumiy o'yin mexanizmi sifatida ishlatilishi mumkin.

Ostin-ustin

Aksincha Tepadan pastga o'yin dvigatellarining rekreatsiyalari, ma'lum bir o'yin uchun pastki qismdan yig'ilmagan / dekompilyatsiya qilingan versiyalar ko'pincha asl nusxadagi harakatlarni aniq takrorlash imkoniyatiga ega. Bunday hollarda, o'yin yadrosi pastdan yuqoriga qarab yaratiladi teskari muhandislik asl nusxasi yig'ilmagan ikkilik bajariladigan, CPU uchun ko'rsatma. Rivojlanish bosqichida bu kamchilikka ega bo'lib, uzoq vaqt davomida ishlaydigan prototip mavjud emas. Bundan tashqari, salbiy tomoni shundaki, natijada olingan kod ushbu bitta o'yin bilan juda bog'liq bo'lib, ko'pincha xunuk ("pseudo-")yig'ilish kodi "[3][4]) va umumiy o'yin mexanizmi sifatida deyarli ishlatilishi mumkin emas. Misollar CSBWin yoki OpenTTD. Ko'pincha, natija "o'yin dvigateli" emas, balki "o'yin dam olish" yoki "o'yin kloni" deb nomlanadi. MAME video o'yin dvigatellarini taqlid qilish loyihasining namunasidir, shuningdek, o'yinlarni aniq namoyish etish uchun ushbu falsafaga amal qiladi.

Manba kodlari portlari

Ba'zan, ba'zi dvigatellar / o'yin yadrolarida bo'lgani kabi ScummVM, asl ishlab chiquvchilar, asl nusxasini etkazib berish orqali loyihalarga yordam berishdi manba kodi (keyin ularni chaqirish mumkin manba portlari ). Bu aniqlik va harakatni minimallashtirish uchun eng maqbul holat. Misol Po'lat osmon ostida.[5][6]

Shu bilan bir qatorda

Emulyatsiya klassik tizimlar yoki operatsion tizimlar dvigatelning dam olishiga alternativa; masalan; misol uchun DOSBox ning taniqli emulyatori Kompyuter /MS-DOS atrof-muhit. Statik kompilyatsiya asl ikkilikka asoslangan yana bir yondashuv bajariladigan, potentsial taqlid qilishdan ko'ra yaxshiroq ishlashga olib keladi; Masalan, 2014 yil ARM ning arxitektura versiyasi StarCraft uchun Pandora.[7][8][9] Boshqa alternativa manba portlari manba kodi mavjud bo'lgan kamdan-kam holatlar uchun; misollar Jagged Alliance 2[10] yoki Uy dunyosi[11][12][13] (ko'proq misollar Mavjud manba kodi bo'lgan tijorat video o'yinlari ro'yxati ).

Shuningdek qarang

Adabiyotlar

  1. ^ "OpenRA / OpenRA". GitHub. Olingan 2018-08-30.
  2. ^ Rivojlanish maqsadlari ochiq joy github.com
  3. ^ Chiqarish: Starcraft pyra-handheld.com saytida "Ko'rib turganingizdek, u x86 qismlarini demontaj qilishdan unchalik farq qilmaydi, farqi shundaki, uni boshqa 32bitli kamar uchun kompilyatsiya qilishingiz mumkin (uning 64bitda ishlashining iloji yo'q .."
  4. ^ Xaos Windows (va Linux, MacOS X, Pocket PC) uchun orqaga qaytadi Dungeon Master Entsiklopediyasida "Taxminan 120 ming qatorli psevdo-assambleyalar tili. Aqlsiz ish. Ammo u ishlaydi."
  5. ^ "Oxirgi o'zgarishlar". ScummVM.org. 2012 yil 2-avgust. Olingan 14 iyul, 2013. Po'lat osmon ostidagi ko'mak, bizga asl montaj manba kodini taqdim etgan Revolution Software tufayli amalga oshirildi!
  6. ^ Manba kodi "Temir osmon ostidagi manba kodi yig'ilish tilida (415,225 bayt) xxxx" (2005)
  7. ^ Steinlechner, Peter (2014-03-10). "Starcraft für ARM-Handheld kompilyert" (nemis tilida). golem.de. Olingan 2014-03-25.
  8. ^ notaz (2014-03-04). "StarCraft". repo.openpandora.org. Olingan 2014-03-26.
  9. ^ notaz (2014-03-04). "Starcraft". openpandora.org. Olingan 2014-03-29. "Manba yo'q, port yo'q" qoidasi to'liq to'g'ri emas, siz statik kompilyatsiya orqali portga o'xshash (lekin bir xil emas) narsalarni olishingiz mumkin. Shunga o'xshash narsalar bir necha marta ba'zi DOS o'yinlari uchun M-HT tomonidan bajarilgan. O'yin ham xuddi shunday yondashuv bilan Android uchun o'zgartirildi.
  10. ^ Burnes, Endryu (2004-02-25). "Jagged Alliance 2 manba kodi o'rmon yong'iniga qo'shiladi". ign.com. Olingan 2012-12-23.
  11. ^ Larjant, Endi (2003-10-08). "Homeworld manba kodi chiqdi". Mac o'yinlari ichida. Arxivlandi asl nusxasi 2013-10-12 kunlari. Olingan 2011-01-10.
  12. ^ "Arxivlangan nusxa". Arxivlandi asl nusxasi 2012-08-04 da. Olingan 2014-03-30.CS1 maint: nom sifatida arxivlangan nusxa (havola)
  13. ^ pandorapress xodimlari (2011-06-23). "Hafta o'yini # 3 - Homeworld SDL". pandorapress.net. Olingan 2013-04-24. [...] chiqarilgan HomeworldSDL porti. [...] sizning Pandora-ga HomeworldSDL-dagi bolalar tomonidan qilingan ajoyib ishlarni boshdan kechirishga imkon beradi.