Как открыть dizzy

Обновлено: 02.07.2024

Текст немного скучный, потому что я добавляю много отсебятины не по теме.

Поэтому, текст подкатом.

В самом начале, мне надо было понять, стоит-ли вообще браться за дело. Поэтому, я начал с самого простого - со спрайтов.

Я воспользовался EmuZWin, в котором есть спрайтхантер, чтобы найти начало таблицы спрайтов.

Нашлось две таблицы спрайтов, одна для Диззи, вторая для всей остальной графики. Немного поэкспериментировав, я расшифровал следующим образом:

Заголовок 4 байта: ширина4х, высота, флаги1, флаги2. Данные (((ширина4х/2)*8)*высота) байт.

Флаги меня пока не интересовали, а вот данные (в процессе расшифровки Перлом) выводил примерно в таком виде:

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

Через модули Image::Mate и Imager все спрайты собрались примерно в такую картинку:

Теперь я примерно представлял, что работа будет несложная, но долгая. Но пока было неизвестно, как спрайты отображаются на экране. Поэтому, я перешел сразу к следующему этапу.

Первое, что игрок видит в игре - это игровой мир. И это первое, с чего я начинаю обычно.

Я воспользовался опять EmuZWin, в котором есть ещё и невероятно удобный дизассемблер.

Поставив на трейс, я поймал процедуру отрисовки спрайтов (заодно проверив местоположение таблицы спрайтов, которую уже расшифровал).

Данные спрайтов начинаются с A9DDh. В начале там два байта (или размер или внутренние переменные). Но ещё есть таблица CF9Ch на таблицу картинок A9DDh. Это просто список линков относительно начала таблицы картинок.

В результате, картинка со спрайтами превратилась в такую:

В процессе вывода спрайтов учавствовала таблица 725Dh.
Которую я расшифровал так:
4 байта: номер спрайта, х4, y, цвет + проницаемость.

Некоторые номера ведут на несуществующие спрайты, у которых второй байт равен 255. Очевидно, несуществующие спрайты указывали на картинки, которые в память Спектрума не поместились, но существуют на других платформах.

Благодаря opengl, я могу пользоваться белыми спрайтами, придавая им оригинальный цвет, прописанный в Диззи. Я только перевёл цвет из спектрумовского в 16-битный и усилил визуальную разницу между проницаемыми и непроницаемыми блоками.

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

Как оказалось, таблица 725Dh - это список, адресующий спрайты относительно левого нижнего края экрана.

Мир Диззи поделен на экраны.

Каждый экран описан в таблице 717Bh. Это список линков на таблицу 725Dh. Количество спрайтов в экране определяется как разница между текущим линком и следующим (на следующем экране начинается уже следующий список).

Получилась такая картинка:

Чтобы ходить между экранами, достаточно отнимать или прибавлять номер экрана. Верх и низ различаются на 22. Если-бы создатель игры не сделал карту такой последовательной, пришлось-бы выдумывать телепорты.

С картой была ещё одна проблема -- Диззи автоматически отодвигается от края экрана. Чуть-чуть задев верх одного экрана, сразу-же оказываешься внизу другого. В склееных экранах эта особенность сразу аукнулась. Например, из пещеры под Желтым богом совсем нельзя было выпрыгнуть. Вообще, из большинства пещер выпрыгнуть почти невозможно.

Пришлось в некоторых местах дорисовывать камни или ставить невидимые мини-батуты. Хитрость с выпрыгиванием из второго колодца теперь исчезла совсем.

Все таблицы спрайтов, которые я получал до этого, описывали нерушимые объекты.

Ещё одна, самая сложная, таблица 95DDh (иногда 95C9h, всё зависит от того, от 0 или от 1 считать) описывает двигающиеся объекты.

Каждая строка из 20 байт, в зависимости от типа, описывает и монстров и предметы и названия экранов и всё остальное. Так что мне не оставалось ничего другого, как назвать это "фанты".

Воспользовавшись трассировкой EmuZWin (и за это спасибо его программисту ещё раз), я нашел несколько процедур, в которых $IX вставал на таблицу фантов. Дизассемблировав их код, я получил следующие типы фантов:

0 - Пусто.
1 - Лазающие (пауки).
2 - Универсальные (монстры, объекты, батут).
3 - Задание скроллинга.
4 - Вещь на экране.
5 - Данные.
6 - Падающие (яблоко, сталактит).
7 - Надпись.
8 - Дополнительная жизнь.
128 - Используется только на 0 экране (он-же стартовый).

Часть типов выводится с помощью той-же процедуры, что и спрайты экрана, соответственно, начало данных кодируется также как и в обычных спрайтах.

Номер спрайта получается из нескольких байт: 3й + (6й & 0x3F), где 6й байт задаёт анимацию. 5й байт - задержка перед сменой кадра, где верхняя часть - максимальное, а нижняя часть - текущее значение. Координаты X4 и Y заданы в 1м и 2м байтах.

Пришлось отказаться от заданий скроллинга и надписей. Особенно жалко было скроллинга, потому что он анимировал воду, но ничем приличным его заменить пока нельзя. (Возможно, в будущем, я подберу замену, поработав с opengl плотнее).

Предметы в игре вызывают разнообразные акции.

Некоторые из них защищают от монстров, некоторые вызывают появление других предметов, некоторые двигают вещи, в-общем много всякого.

Найдя место в коде, в котором выдаётся звук удачного применения, я нашел подпрограммы работы с предметами. Акции предмет вызывает не тогда, когда выкладывается из инвентаря, а когда секунду полежит в нужном месте.

Автор Диззи типизирует предметы по номерам спрайтов в 3м байте (для чего он и собрал предметы в один ряд в середине спрайтового набора).
Предметы делятся на 6 групп:
1я состоит из одной полной колбы,
2я состоит из одной пустой колбы,
3я состоит из одной бутылки (0х8B),
в 4й находятся обычные предметы (< 0х8F и >= 0x95, кроме специальных),
5я состоит из одного факела (0х8F),
6я -- сборные предметы (т.е. > 0х8F и < 0x95).

Обычные предметы действуют очень просто -- надо найти фант по номеру из 0x12-го байта и активировать его. Обычно это фант универсального типа и в нём уже записано действие, которое надо совершить.

Практически все предметы в игре можно как-то применить. Исключение составляет магнит, у которого в номере фанта для активации записано "0". Вообще, "0" - это скелет на дне ямы-ловушки, но в данном случае, магнит добавлен для того, чтобы запутать игрока (ведь за один раз нести можно только один предмет, вот пусть игрок и побегает с магнитом).

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

Данные активных объектов пришлось довольно сильно переиначить, но их поведение и всё содержимое основано на диззасемблировании оригинальной игры. Что-то могло потеряться, но в процессе тестирования игра проходилась несколько раз, так что все основные функции работают.


Давным-давно, два английских школьника умудрились основать серию игр, ставшую легендарными играми для ZX-Spectrum. Да, речь про братьев Оливеров и их неподражаемого Диззи. Впервые услышал я про Диззи в начале девяностых в возрасте лет эдак девяти-десяти, когда мне рассказали, как подруга моей сестры играет в некую игру с бегающим и собирающим предметы яйцом на компьютере (!). Сам спектрум у меня появился чуть позже – в одиннадцать лет (это октябрь 1994 года), почти вместе с книжками серии «Как написать игру для ZX-Spectrum». И вот в книжке про написание игры на ассемблере была картинка из игры Dizzy-4. Увы, самой игры у меня не будет ещё год-два. Но всё-таки, в конце-концов, мне её купили, как сейчас помню, в ларьке в СПб на Балтийском вокзале. Кассета была известной многим студии “Михаил и Михаил” (MIM). Вот тогда-то я прочно запал на Диззи. Я играл в него с утра до вечера, разгадывая головоломки и собирая монеты. Много-много лет мне очень хотелось написать что-то подобное. В 1996 у меня даже получился невероятный примитив на бейсике. Много лет я методично приближался к своей цели. И вот именно сейчас, спустя 25 лет, у меня наконец-то получилось что-то более-менее играбельное. Вот о том, как написать такую игру, я и расскажу.

Сразу скажу, я понятия не имею, как устроен движок оригинального Диззи. Да и судя по играм серии на разных платформах, движки у них сильно разные даже на одной платформе, как разная и физика движения. В основе же моего движка – тайловая структура карты. То есть, вся карта собирается из кусочков 16x16 пикселей.
Выглядит это так:

Каждый тайл имеет маску проницаемости – такой же тайл, только с заливкой контура, где через этот тайл не может пройти главный герой. Используется эта маска только если тайлу назначено, что он является препятствием. Так же тайл может иметь атрибут переднего плана. В этом случае, он выводится перед Диззи и закрывает его собой. Ещё есть атрибут рисования тайла поверх фона, но за Диззи. Этот атрибут позволяет, скажем, сделать двигающийся тайл, выводящийся поверх тайлов фона (облаков, строений, ландшафта). Тайлы могут иметь заданную последовательность кадров анимации. Всего у меня доступно три типа анимации – анимация с заданием текущего кадра, циклическая анимация, однократная анимация. Задание текущего кадра позволяет переключать картинку по ситуации. Однократная анимация может применяться для растворения каких-то объектов-препятствий или, наоборот, для появления чего-либо. Для взаимодействия с тайлами им можно назначать имена.
Предметы, которыми оперирует Диззи, тоже точно такие же тайлы, как и всё остальное. В движке вообще всё является тайлами.
Взаимодействие между тайлами осуществляется с помощью условий и действий над участвующими в условиях тайлах (в некоторых действиях участвуют все тайлы карты).
Для написания условий игры у меня используется простейший интерпретатор, создающий цепочки классов взаимодействия, и понимающий следующие команды.

Возможны следующие условия:

  1. Пересечение тайла с Диззи: IfDizzyIntersection(«CAT») — данное условие сработает при столкновении с тайлом с именем «CAT».
  2. Отсутствие пересечения тайла с Диззи: IfNotDizzyIntersection(«CAT») — данное условие сработает при отсутствии столкновении с тайлом с именем «CAT».
  3. Пересечение тайлов между собой: IfIntersection(«FIRE_LEFT»,«FIRE_LEFT_BORDER») — данное условие сработает при столкновении тайла «FIRE_LEFT» с тайлом с именем «FIRE_LEFT_BORDER» (это движущийся влево огонь и граница его перемещения).
  4. Взятие тайлов в инвентарь (да, Диззи нужно отдельно разрешать что-то брать — могут быть неберущиеся предметы, как это было с мечом в камне из Диззи-4 — взять его можно только используя «липкие руки»): IfPickUp(«RING») данное условие сработает при попытке взять тайл «RING».
  5. Срабатывание таймера: IfTimer(«WAIT CAT») — данное условие сработает для тайла «WAIT CAT „при срабатывании таймера.
  6. Использование тайлов между собой: IfUse(“BOTTLE WATER»,«CAT») — данное условие сработает при взаимодействии тайла с именем «BOTTLE WATER» на тайле «CAT».

На данный момент это все возможные условия. Потом, может быть, появятся новые.

Когда условие сработало, выполняются какие-то действия (Action). Для некоторых условий действия только для одного тайла, а для других нужно описывать действие для двух тайлов ( скажем, при столкновении нужно задать каждому столкнувшемуся, что произойдёт с ним)

Этих действий много. Сейчас они такие:

Начало и конец блоков действий описывают (в зависимости от действия) ключевыми слоами
ActionBegin
ActionEnd

ActionFirstBegin
ActionFirstEnd
ActionSecondBegin
ActionSecondEnd.

Есть ещё команды, выполняемые до начала игры и к действиям и условиям не относящиеся:

  1. SetDescription(«BOTTLE WATER»,«БУТЫЛКА ВОДЫ»)- задать описание.
  2. CopyPosition(«FIRE»,«FIRE_POS») — перенести тайл в позицию другого тайла.
  3. CopyPositionOffset(«FIRE»,«FIRE_POS») — перенести тайл в позицию другого тайла со смещением.
  4. SetDizzyPosition(«DIZZY_START_POSITION») — перенести Диззи в позицию тайла. Позволяет задать место старта.

Особый тайл имеет имя «RESPAWN» — его нужно ставить там, где Диззи может погибнуть. Тогда Диззи возродится у ближайшего такого тайла.

А вот пример сценария:

Или вот:
IfDizzyIntersection("FIRE_LEFT")
ActionBegin
ActionSingle()
ActionEnergyUpdate(-1)
ActionEnd

Здесь уже написано, что при пересечении с огнём, Диззи должен терять энергию.

При запуске движок сканирует папку ScreenPlay и все найденные текстовые файлы обрабатывает как файлы сценариев, добавляя в игру.



Что касается физики работы движка, то я использую следующий подход.
Диззи имеет координаты относительно левого верхнего угла экрана X и Y и их приращения в текущий момент времени dX и dY. Так же у Диззи есть спрайты полоски взаимодействия ног и форма тела без ног (она нужна, чтобы с ней сравнивать, может Диззи подняться на преграду или нет).
Диззи хранит куда он идёт или прыгает: идёт влево, идёт вправо, прыгает на месте, прыгает влево, прыгает вправо (режим Move задан для каждого кадра анимации Диззи, сами кадры последовательности, ссылающиеся на следующий кадр анимации и движения).
Если под Диззи нет твёрдой поверхности, игроку отключается управление (MoveControl=false).
Если Диззи коснулся твёрдой поверхности из прыжка, но прыжок не закончен, Диззи продолжает движение в горизонтальной плоскости с имеющейся скоростью. Это даёт так раздражающие, иногда, перекаты после прыжка и является, собственно, тем, за что Диззи назвали Диззи.
Есть так же координаты левого верхнего угла экрана в пространстве карты Map_X и Map_Y.
Итак, сначала рисуется маска проницаемости тайлов, отмеченных как препятствие, через который Диззи пройти не может.

А дальше делается так

С такими настройками Диззи прыгает довольно канонично.
Поиграть в прототип игры можно вот тут.

Прототип редактора карт можно взять тут
В редакторе используются в режиме выбора клавиши insert для задания последовательности анимации и delete для удаления выбранных тайлов. В целом, редактор не совсем доделан и имеет некторые особенности в работе с ним.

Выглядит интерфейс редактора вот так:


Вот такой вот получился движок для создания игр про Диззи. Теперь надо как-то придумать сценарий и сделать полноценную игру.

А пока, вот видео, как всё это работает:

Буду очень рад, если кому-либо пригодится этот движок. Быть может, кто-нибудь сможет на нём сделать свою игру про Диззи.


P.S. Та самая кассета с Диззи от студии MiM.

image

Оставленный без внимания профильными изданиями, но любимый игроками, Диззи был феноменом среди блокбастеров в Великобритании середины 80-х. А история о том, как улыбающееся яйцо три года доминировало в топах программного обеспечения, — это наглядный пример «программирования в спальне», доведённого до абсолюта.

Близнецы Оливеры, только что освоившие новенький BBC Micro (один из ранних домашних компьютеров), приняли участие в конкурсе детской телепередачи The Saturday Show по созданию видеоигры. Они победили, оказавшись единственными, кто прислал настоящую игру, а не набросок, нарисованный мелком. Позже братья продали свою Gambit компании Acornsoft за 200 фунтов.

Обнаружив, что видеоигры могут приносить деньги, Эндрю и Филип Оливеры потратили следующий год на написание программ для различных издателей — сначала на своём BBC, а затем перешли на Amstrad (другой домашний компьютер). Затем, в сентябре 1985 года, братья посетили первую в истории ECTS (Европейскую компьютерную выставку), где познакомились с Ричардом и Дэвидом Дарлингами. Будущим основателям Codemasters требовались программисты-фрилансеры. «Их предложение заключалась в том, что если мы напишем для них игру, то получим 10 тысяч фунтов», — вспоминает Филип Оливер. — Но было одно условие: игра должна выйти к Рождеству». Поэтому братья поспешили домой и за шесть недель написали платформер Super Robin Hood. А продано было 100 тысяч копий игры.

image

Во время работы над следующей игрой для Codemasters — Ghost Hunters, Филип начал прорабатывать основной дизайн персонажа, которым стал Диззи. Как он объясняет: «Я сидел и работал над главным героем Ghost Hunters — рисовал его лицо. Но у меня было только три пикселя в высоту, четыре пикселя в ширину и четыре цвета. Особо тут не разойдёшься, поэтому мне стало скучно, и я начал набрасывать идеи. Мне пришло в голову, что на самом деле нам нужно, чтобы игрок проявил сочувствие к персонажу, и единственный способ — если он сможет видеть его лицо. Я подумал: лицо должно стать размером с персонажа. И мы сделали его максимально большим — мы могли отрисовать что-то вроде 32 пикселей в ширину и примерно 48 пикселей в высоту, и при этом быстро перемещать его. Разумеется, не было смысла пытаться создать реалистичного человека — в таком случае нужен мультяшный персонаж. Мы нарисовали глаза, рот и нос, приклеили пару ног. Руки всегда выразительны, поэтому мы их тоже наклеили. На то, чтобы придумать дизайн Диззи, ушло буквально полчаса».

Ghost Hunters вышла с более реалистичным главным героем — человеком. Но близнецы не стали выбрасывать свои наработки с яйцевидным персонажем. Они начали придумывать игровую вселенную, подходящую для этого героя. Эта творческая свобода в то время была нормой для программистов Codemasters. В ранние годы разработчиков брали на внештатной основе. Это обычно означало, что команда из одного или нескольких человек программировала игры из дома. Вдобавок к этому только программисты отвечали за свои проекты. Как говорит Эндрю: «Они никогда не заказывали что-то конкретное, и вам не надо было дожидаться утверждения. Вы писали игры и отправляли им готовый продукт».

С помощью Диззи Филип и Эндрю решили создать «невероятное мультяшное приключение» (Dizzy: The Ultimate Cartoon Adventure). Будучи популяризаторами, они хотели охватить массовую аудиторию, которая в то время была молода и неопытна в технологиях. Поэтому братья решили создать тематическую головоломку/платформер/приключенческую игру на основе сказок.

«Сказки известны и богаты на материал, их знают во всём мире, — утверждает Филипп. — Наша основная механика игрового процесса заключалась в том, чтобы взять предмет и отнести его туда, где можно использовать. Очевидно, что такое уже делали раньше, но это было завязано на ключах от запертых дверей, и я считаю это довольно скучным занятием». Таким образом, старая механика расцвела в сказочном мире. Волшебный боб, брошенный в нужном месте, вырастал в бобовый стебель, чтобы обеспечить доступ к высокой платформе. Непроходимую гигантскую крысу можно было увести, играя на дудке, взятой у Крысолова.

Процесс производства игры был уникальным для того времени. Как говорит Филип: «Мы разделили задний план и передний план, поэтому один из нас делал декорации, а другой брал всех движущихся персонажей».

К тому времени у ZX Spectrum был гораздо больший рынок, чем у Amstrad, поэтому Dizzy была разработана под эту систему. Братья ненавидели клавиатуру «Спектрума», поэтому писали игру на своих «Амстрадах», попросив друга — специалиста по электронике, — сделать кабель, способный передавать данные на Spectrum через порт для принтера. «Обе машины работали под управлением Z80, они были очень похожи. У них были немного разные графические форматы, но, поскольку мы создавали графику в небольшом редакторе, то просто добавили некоторые параметры для сохранения в форматах Spectrum и Amstrad. В дальнейшем мы делали то же самое с Xbox, GameCube и PS2», — объясняет Филип.

image

У Amstrad были и другие преимущества, помимо приличной клавиатуры. У машины имелся отличный дисковод, обеспечивающий произвольный доступ, высокую скорость и надёжность. Также к ней был выпущен дополнительный чип MAXAM, который можно было подключить к порту расширения на задней панели машины. Он стоил 80 фунтов и давал возможность писать на ассемблере для Z80 и компилировать его в машинный код. Это главная из причин, почему Оливеры могли так быстро делать игры — они не были привязаны к медленной и ненадежной магнитофонной системе записи в «Спектруме».

Братья также разработали технологии дизайна и программирования, чтобы придать Dizzy особый вид. «Мы создали фон из 255 спрайтов нестандартного размера, около 50 из которых были алфавитом и цифрами. Наш редактор позволял размещать любые спрайты в любом месте экрана с попиксельной точностью, с возможностью смешивания и перекрытия других объектов. Чтобы нарисовать дерево, мы накладывали несколько кусков ствола друг на друга, а затем добавляли несколько случайно расположенных «шаров» листвы. Всё, дерево готово. Наша программа позволяла переворачивать спрайты по горизонтали и вертикали, что помогло сделать вещи более уникальными и менее повторяющимися. Благодаря этому игры серии Dizzy выглядели довольно органично и сильно отличались от других проектов того времени, в которых использовались выровненные графические блоки 8×8. С помощью нашей технологии можно было заполнить весь экран, затратив меньше памяти, что позволяло нам создавать большие и интересные карты, которые способствовали успеху Dizzy».

Кстати, своё имя Диззи получил из-за того, что яйцевидный герой Оливеров крутит сальто во время прыжков. Акробатика в игру была добавлена ровно по одной причине — редактор братьев умел плавно вращать спрайты, и они обожали пользоваться этой фишкой.

image

Первая часть Dizzy, выпущенная в 1986 году, поднималась в чартах продаж довольно медленно. Впрочем, на игру работало сарафанное радио. «Она вышла, как и любая другая игра Codemasters в то время, без рекламы и рекордных продаж, хотя компания и получала тысячи писем от довольных фанатов. Другие игры Codemasters продавались в течение месяца после выхода, а затем про них забывали. Но Dizzy держалась на плаву очень долго. И год спустя, когда мы закончили Treasure Island Dizzy, первая часть всё ещё была в чартах. И когда мы выпустили новый проект, он сразу попал в топ».

image

С этого момента близнецы Оливеры превратились в конвейерную линию из двух человек, создавая игру за игрой и укладываясь в шесть недель на каждую. В Fantasy World Dizzy (третьей игре серии) они придумывали по две карты в день, рисуя их на бумаге, прежде чем написать код. Игра была завершена в течение месяца. В 1986 году на долю братьев приходилось семь процентов всех игр, выпущенных в Великобритании, и по их оценкам в следующем году около 50 процентов продукции Codemasters содержало их имена в титрах.

В этот напряженный период середины 80-х Оливеры часто занимались программированием по 20 часов в день, семь дней в неделю. Они стали экспертами по «выдаиванию» игровых франчайзов. Позже, после выхода первых игр про Диззи, братья занялись другими проектами Codemasters, такими как Advanced Pinball Simulator и Jet Bike Simulator. Как объясняет Эндрю: «Чтобы избавиться от скуки, мы делали игру серии Dizzy, потом брались за игру-симулятор, затем снова возвращались к Диззи, после — ещё один симулятор. А время от времени создавали что-то вроде 3D Starfighter».

image

Codemasters выпустила около 14 игр серии Dizzy на множестве платформ. Игровой процесс был схожим во всех играх (кроме таких ответвлений, как Fast Food — клона Pac-Man и Dizzy Panic — головоломки в стиле «Тетриса»). Высокие оценки игры получали уже редко, но серия сохраняла хорошие продажи. Dizzy была самым прибыльным франчайзом компании до появления Micro Machines, помогая ей пережить судебные споры с Nintendo и Sega. По иронии судьбы единственная игра, удостоенная хоть какой-то индустриальной награды, — The Fantastic Adventures of Dizzy 1991 года для NES, — это последняя часть, выпущенная Оливерами. Когда Codemasters погрязла в судебном процессе с Nintendo из-за выпуска чит-устройства Game Genie, братья поняли, что это помешает разработке игр, и вскоре ушли, сделав ещё пару частей Dizzy, которые были опубликованы только относительно недавно (в 2015 году Оливеры выпустили Wonderland Dizzy, а в 2017-м — Mystery World Dizzy: все они доступны бесплатно в интернете).

В 1991 году братья основали свою собственную студию Interactive Studios, которая в 1999 году сменила название на Blitz. Blitz Games закрылась в 2013 году, но в октябре того же года Оливеры вместе с давним другом и коллегой Ричардом Смитисом основали Radiant Worlds, чтобы разработать SkySaga: Infinite Isles для корейской компании Smilegate. SkySaga была амбициозной онлайн-игрой на основе вокселей, основанной на оригинальной концепции, разработанной членами команды Blitz Games Studios. В августе 2017 года Smilegate приостановила разработку SkySaga, а Оливеры и Смитис выставили свою компанию на продажу. В январе 2018 года британский разработчик и издатель игр Rebellion приобрёл компанию и переименовал её в Rebellion Warwick. Близнецы оставались в Rebellion до февраля 2019 года, после чего ушли, чтобы основать игровой консалтинговый бизнес.

image

В мае 2017 года Оливеры объявили, что будут работать над новой игрой Dizzy — первой за более чем 20 лет. В видео для проекта ZX Spectrum Next на «Кикстартере» они сказали, что игра будет вдохновлена классической книгой «Волшебник страны Оз» автора Л. Фрэнка Баума и будет называться Wonderful Dizzy. Новая часть вышла 18 декабря 2020 года. Делали её преимущественно российские разработчики, которые ранее выпустили замечательный ремейк Crystal Kingdom Dizzy для ZX Spectrum. Вот полный состав команды:

  • дизайн игры: Эндрю и Филип Оливеры;
  • программирование: Евгений Барский;
  • графика: Дмитрий Пономарёв, Олег Ориджин, Джаррод Бентли, Александр Фильянов;
  • заставка и слайды: Марко Антонио дель Кампо;
  • иллюстрации: Пётр Граткевич (PIT);
  • музыка: Сергей Косов.

Изначально выкладывал материал на ресурсе Идеальный Пиксель — сайт понравится всем фанатам ретро-игр и старых компьютеров.

Идо Эвги

Global WIPE - Каждая пятница в 14:00 по МСK.
Много интересного контента. Развитая Экономика.
Показать полностью.
Баланс экономики сохраняется после вайпа.
Компоненты Х1. Рейты Х2. Крафт Х2. Карьеры Х2. Печи Х3.
Прокачка скиллов. Внутриигровой магазин.
Подарки после вайпа за подписку в ВК.
MiningFarm. Kits.Teleport. RaidBlock. Shop. Карты сокровищ.
Оповещение о рейдах / вайпах в ВК. Запрет на Small Stash.
Удобный магазин сервера. Бесплатная рулетка.
Лимит на группы - 2 игрока.
Отзывчивая Администрация.

Нравится Показать список оценивших

Владимир Смирнов

Global WIPE - Каждая пятница в 14:00 по МСK.
Много интересного контента. Развитая Экономика.
Показать полностью.
Баланс экономики сохраняется после вайпа.
Компоненты Х1. Рейты Х2. Крафт Х2. Карьеры Х2. Печи Х3.
Прокачка скиллов. Внутриигровой магазин.
Подарки после вайпа за подписку в ВК.
MiningFarm. Kits.Teleport. RaidBlock. Shop. Карты сокровищ.
Оповещение о рейдах / вайпах в ВК. Запрет на Small Stash.
Удобный магазин сервера. Бесплатная рулетка.
Лимит на группы - 2 игрока.
Отзывчивая Администрация.

Нравится Показать список оценивших

Владимир Смирнов

Global WIPE - Каждая пятница в 14:00 по МСK.
Много интересного контента. Развитая Экономика.
Показать полностью.
Баланс экономики сохраняется после вайпа.
Компоненты Х1. Рейты Х2. Крафт Х2. Карьеры Х2. Печи Х3.
Прокачка скиллов. Внутриигровой магазин.
Подарки после вайпа за подписку в ВК.
MiningFarm. Kits.Teleport. RaidBlock. Shop. Карты сокровищ.
Оповещение о рейдах / вайпах в ВК. Запрет на Small Stash.
Удобный магазин сервера. Бесплатная рулетка.
Лимит на группы - 2 игрока.
Отзывчивая Администрация.

Читайте также: