-1

У меня есть куча старых игр на базе DOS, которые я хотел бы запускать на современных окнах без эмулятора, такого как DOSbox, и как отдельную программу. Я заметил, что в то время пиратство не было такой большой проблемой, как сегодня, поэтому у меня есть доступ ко всем нужным файлам с оригинальных дисков.

Мне было интересно, могу ли я использовать старые файлы и переписать некоторый код (или всю игру), чтобы создать версию для современных окон для обработки. Другие мотивы для этого - то, что некоторые из старых игр для DOS, которые у меня есть, не будут работать с DOSbox по любой причине.

Я хочу знать, возможно ли это, а также указать правильное направление на навыки, необходимые для этого. Я хорошо разбираюсь в нескольких языках программирования (с ++, javascript, ассемблер и веб-языки) и думаю, что могу это сделать, но я не знаю, как взломать эти игры наизнанку и модернизировать их. Я планирую начать с Блейка Стоуна, который является одним из моих любимых.

2 ответа2

1

Я заметил, что в то время пиратство не было такой большой проблемой, как сегодня, поэтому у меня есть доступ ко всем нужным файлам с оригинальных дисков.

Я не знаю, откуда у тебя эта идея. Использование уникальных методов защиты от копирования для каждой игры в эпоху DOS было более распространенным явлением, чем сегодня.

Мне было интересно, могу ли я использовать старые файлы и переписать некоторый код (или всю игру), чтобы создать версию для современных окон для обработки.

Конечно. Технически ничто не мешает вам переписать всю игру. Обратите внимание, что я просто имею в виду то, что возможно, с технологической точки зрения. Многие популярные игры были "интеллектуальной собственностью", поэтому могут быть некоторые проблемы с точки зрения законности.

Я хочу [...] правильное направление к навыкам, необходимым для этого.

Первое, что нужно сделать, прежде чем тратить кучу времени на программный проект, это посмотреть, что уже сделано. Не бесполезно повторяйте кучу работы (и, возможно, выполняйте плохую работу), только чтобы потом узнать, что существует популярный переиздание, которое уже достигло ваших целей. Многие организации выпустили исходный код некоторых популярных программ, в том числе "id Software". (Комментарий JakeGould, упомянутый ранее на этой странице, относится к "открытому" исходному коду для "Wolfenstein 3D Engine". Игра Blake Stone просто использовала небольшое улучшение этого движка, так что проверьте этот движок.) Другие популярные переиздания / ремарки включают Descent] [(Descent 2 @ DDN ; и проект D2X и проекты с гиперссылками). Для WarCraft] [, есть War2.ru неофициальный порт / римейк. Клонами могут быть Stratagus (WarCraft 2) или FreeDOOM. Это всего лишь несколько подборок, основанных на некоторых играх, которые мне понравились (которые были популярны во времена Блейка Стоуна или вскоре после него). Существует много других, как видно из списка коммерческих видеоигр Википедии с доступным исходным кодом и списка видеоигр с открытым исходным кодом в Википедии.

0

Мне было интересно, смогу ли я использовать старые файлы и переписать некоторый код (или всю игру), чтобы создать версию для современных окон для обработки

Это так, но это потребует большой работы, так как DOS-программы ожидают прямого доступа к оборудованию, поэтому вам необходимо преобразовать все это в вызовы ОС, а также ожидать полного контроля над оборудованием и прерываниями, так что время может быть очень трудным для определения правильности. Некоторые очень старые игры для DOS ожидают, что тактовая частота процессора будет равна определенной частоте, а точная синхронизация будет работать должным образом, что мешает ОС (например, IIRC Digger ожидает процессор 4,77 МГц и не быстрее), поэтому даже это может не дать исходный код бежать без так много изменений, что вы в основном убиваете суть игры.

Я хочу знать, возможно ли это, а также указать правильное направление на навыки, необходимые для этого. Я хорошо разбираюсь в нескольких языках программирования (с ++, javascript, ассемблер и веб-языки) и думаю, что могу это сделать, но я не знаю, как взломать эти игры наизнанку и модернизировать их.

Обратное проектирование - это умение, которое вам нужно. Вы на самом деле не хотите делать необработанные вызовы ОС из сборки, и особенно ничего из того, что связано с графическим вводом-выводом (в этот момент вы будете, в основном, заново реализовывать C), поэтому вы в дальнейшем изучаете в основном преобразование сборки в C или другой язык высокого уровня.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .