Всем привет.
Пару лет назад я пытался развить идею раскраски спектрумовских игр с тем, чтобы придать им новый блеск и сделать их тем самым привлекательнее. Это было бы проще, чем создавать полноценные римейки (я думаю, во многих случаях геймплей и звук и так удовлетворительны, а вот графику было бы совсем неплохо улучшить).
К сожалению, мой топик по моему же недосмотру выродился во что-то холиварное.
Теперь к этой теме можно вернуться
Итак, вашему вниманию предлагается первая попытка реализовать полуавтоматическую раскраску игр. Реализована она благодаря эмулятору UnrealSpeccy и идее товарища SMT о поиске/замене спрайтов.
Взгляните на рисунки ниже и найдите 10 отличий
Я пока раскрасил только этот уровень, и то не полностью. Вероятно, раскраска местами слишком агрессивна, но я хотел как можно более выпукло продемонстрировать, чего можно добиться.
Саму игру можно скачать отсюда:
Рапида
Онлайндиск
(просто распаковать и запустить src.exe)
Как это работает. Эмулятору на вход подаётся два набора рисунков -- "исходные" и "новые".
Перед тем, как рисовать кадр, программа ищет рисунки из набора "исходных" и в случае успеха заменяет их рисунками из набора "новых". Всё очень просто.
"Новые" рисунки изначально создаются в двойном разрешении (для экрана 256*2 х 192*2), поэтому графика будет не только цветной, но и гладкой. В изготовлении новых рисунков я применял тот же фильтр, что и разработчики Head Over Heels PC.
Разумеется, этот подход далеко не всегда применим (понятно, что нужна спрайтовая игра, а не ELITE и не Stunt Car Racer), кроме того, существуют проблемы при наложении спрайтов друг на друга, цветовых коллизиях и тому подобных вещах. Однако для многих проблем у меня есть идеи их разрешения.
Пожалуй, основная проблема сейчас -- производительность. Программа из архива работает на моей машине без проблем, но в целом увеличение количества обрабатываемых спрайтов может здорово затормозить весь процесс.
У меня есть мысли по поводу различных оптимизаций, которые (по моим оценкам) могут ускорить процесс раза в два, а то и больше.
Кроме того, в Анриале существует "волшебный" параметр "t-states/frame число тактов в кадре)", который вроде как вообще может снять все вопросы с производительностью, но я пока с ним не разобрался (если кто-то подскажет, буду счастлив!)
Вот. Жду отзывов. Если кто-то захочет тоже чего-то пораскрашивать, с огромным удовольствием поделюсь технологией, ибо сам я программировать умею гораздо лучше, чем рисовать и раскрашивать, поэтому обилия цветных красивых игр ждать от меня не приходится..
P.S. Наверно, сделаю ещё посты на WOS и Retroremakes.com