Что нужно для переноса классической игры на новую платформу?
Вопрос
Я подумываю о запуске достаточно сумасшедшего хобби-проекта, который растянулся бы на несколько лет и включал бы дизассемблирование и программирование на OpenGL.
Почти закончив свое третье приложение для Android, я должен сказать, что мне нравится платформа, и я буду программировать для нее.
Теперь давайте возьмем классическую игру Carmageddon в качестве кандидата на портирование.
Вопрос сводится к следующему:
- Какие инструменты использовались тогда?
- Какие конкретные знания были бы ценны для такого рода задач (математика и общие знания gamedev в стороне)?
Редактировать:Юридические вопросы в сторону.
Решение
Общий подход заключается в реализации эмулятор процессора и / или системы, в которой размещались устаревшие игры, а затем запускать двоичные файлы игры как есть (или только слегка измененные).
Этот подход, конечно, не так эффективен, как настоящая перезапись / перенос оригинальной работы, например, он не позволяет вам каким-либо образом модифицировать игру, даже исправлять существующие ошибки, но он также очень практичен, поскольку, воссоздав одну хост-систему, можно запускать десятки различных игр.
Инструменты для серьезного переписывания / переноса приложения являются распространенными инструментами обратного проектирования программного обеспечения:
- дизассемблеры (в частности, для процессора Z80, который был довольно популярен у производителей аркадных игр)
- декомпиляторы (если у вас есть некоторое представление о том, на каком более высоком языке была написана игра)
- Google ;-) (я имею в виду поисковые системы Интернета в целом), поскольку поиск даже фрагментарного исходного кода или информации, относящейся к целевой игре (или даже к играм, созданным на той же системе), может дать мощный толчок проекту.
Прежде чем вы слишком продвинетесь в любом подобном проекте, я предлагаю вам отстаивать законность проекта и что вы запрашиваете официальное разрешение у соответствующих правообладателей и т.д.
В данный момент я не могу найти это, но я помню историю о ком-то, кто недавно возродил давно несуществующую игру (!), работающую на ныне устаревшем оборудовании / системных хостингах, и все же кто попал в беду при попытке продать (или это было даже бесплатно?) "возрожденное" приложение...