Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
12
Добавлен:
20.04.2024
Размер:
17.2 Mб
Скачать

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-x cha

 

 

 

 

Еще мне удалось застать лекцию Ивана Шевчука, на которой он рассказал о том, как написал клон «Тетриса» на Verilog и заставил игру работать на FPGA — без всякого процессора и операционной системы. Подробности можно прочесть в его статье на «Хабрахабре», доступны и исходники с комментариями.

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

IT’S DEMO TIME!

Конкурсы демо — еще одна неотъемлемая часть фестиваля. К сожалению, все демки на большом экране я посмотреть не успел, но это упущение всегда можно наверстать, заглянув в соответствующий раздел на официальном сайте. Я же дождался своего любимого конкурса — ZX Spectrum Enhanced.

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-x cha

 

 

 

 

На этом снимке трибуна пустует, но к началу показа демо она была набита битком

Для непосвященных нужно пояснить: Sinclair ZX Spectrum — это компьютер 1982 года выпуска с 48 Кбайт доступной программам памяти и восьмибитным процессором Zilog Z80. Компьютер этот был невероятно популярен в России в конце восьмидесятых и начале девяностых и до сих пор продолжает оставаться стандартом для упражнений в написании демо, а также объектом для экспериментов в апгрейде. Enhanced в названии конкурса означает, что демо создавались не для оригинального ZX Spectrum, а для усовершенствованного.

Я был не одинок в своем любопытстве: зал наполнился людьми задолго до начала, которого пришлось подождать. Работы традиционно показывали не в записи, а на настоящем железе, и, судя по объявлению организаторов, чья-то работа привела машину в негодность, за что была дисквалифицирована (шутка это или нет, я так и не узнал). Когда компьютер заменили, народу были представлены такие демо, которых во времена классического ZX Spectrum существовать не могло: плавная анимация, трехмерная графика, полноцветная картинка без характерных для «Спектрума» цветовых «лесенок».

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

m

w Click

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

g

.c

 

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

Последнее демо (Space Invaders vs Mario) настолько поразило присутствующих, что те стали громко вопрошать о характеристиках компьютера. Узнав, что это ZX Evolution с четырьмя мегабайтами памяти и видеоадаптером, который поддерживает спрайты и плавный скроллинг, многие были разочарованы: все, что в нем осталось от классического «Спектрума», — это процессор, да

итот может работать в турборежиме 14 МГц вместо стандартных 3,5. Но еще больше оказалось тех, кто захотел немедленно приобрести это чудо русской инженерной мысли. Сделать это можно, зайдя по адресу tetroid.nedopc.com (правда, придется дожидаться пересылки из Новосибирска), а спецификации

инаборы деталей доступны на сайте разработчиков — группы NedoPC.

За всем сразу не уследишь, и здесь я постарался описать только то, что оставило наиболее яркие впечатления. Был еще, к примеру, семинар Алексея Тюрина, которого читатели Х знают по рубрике Easy Hack. Алексей рассказывал о своей в последнее время любимой теме — взломе протокола Cisco TACACS+. Я не без гордости отметил, что его семинар прошел с аншлагом. Были и другие интересные вещи: конкурс Realtime Projection (это как демо, но анимация проецируется на набор белых геометрических фигур), концерты и соревнования в скоростном написании компьютерных игр.

Кажется, эти люди соревнуются во взломе калькуляторов

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

m

w Click

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

g

.c

 

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

Конечно, Chaos Constructions — это мероприятие не для всех. Не каждый интересуется демосценой или старыми компьютерами, не каждого привлекает ковыряние в железе. Кого-то может смутить, что немалая часть участников

— это друзья по форумам или IRC. Но лично для меня «Хаос» — это уникальное место, где встречаются новые и старые технологии, инженерная мысль и настоящее искусство.

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

Сцена

 

 

 

df-xchan

 

 

 

w Click

to

 

 

 

 

 

m

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

e

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

РОЖДЕНИЕ

ANOTHER

WORLD

КАК ГЕЙМ-ДИЗАЙНЕР В ОДИНОЧКУ СОЗДАЛ

ЛЕГЕНДАРНУЮ ИГРУ

Евгений Зобнин androidstreet.net

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

Хорошие игры делать сложно, особенно когда нужные тебе

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

технологии еще не изобрели. Автор культовой игры Another World собственными силами создал виртуальную машину, векторный движок и средства разработки. Результат — игра невообразимого для своего времени технического уровня.

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Увидевшая свет в 1991 году Another World произвела фурор в игровом мире, обрела статус культовой и до сих пор считается одной из лучших игр всех времен. Необычный игровой движок, динамика боевика, отличный сюжет, проработанный игровой мир и просто любовь автора к своему детищу — все это сделало игру запоминающейся и во многом революционной. Однако с технической стороны Another World не менее, а может, даже и более интересна.

Эрик Шайи (Eric Chahi) потратил два года ежедневного труда на то, чтобы в одиночку создать Another World. Он написал движок игры, спроектировал дизайн уровней, нарисовал всех персонажей, объекты и фоны, записал звуки и вступительные ролики и даже нарисовал картинку для коробки с дискетой. Попутно ему пришлось изобрести аналог Flash — и это в конце восьмидесятых годов!

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-x cha

 

 

 

 

Хронология выхода Another World на разных платформах

1991 — Amiga, Atari ST

1992 — Apple IIGS, DOS, SNES, Mega Drive

1993 — 3DO

2004 — Game Boy Advanced

2005 — Windows XP, Symbian OS, Windows Mobile

2011 — iOS

2012 — Android

ЛОГОВО ДРАКОНА

В 1983 году мало кому неизвестная сегодня компания Cinematronics выпустила игровой автомат с очень необычной для того времени игрой Dragon’s Lair. Она не была прошита в постоянную память устройства или на магнитный носитель, как это обычно бывает. Вместо этого в автомате стоял привод LaserDisk — предшественник современных CD и DVD размером с грампластинку.

Кадр из оригинальной версии Dragon’s Lair

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

m

w Click

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

g

.c

 

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

Dragon’s Lair представляла собой интерактивный мультфильм, разбитый на множество частей и записанный на диск. В определенные моменты игрок должен был нажимать те или иные кнопки, и в зависимости от правильности и своевременности нажатия головка привода перемещалась к следующему эпизоду либо к эпизоду смерти героя.

По уровню графики и анимации Dragon’s Lair мало уступала диснеевским мультфильмам, и немудрено — к разработке приложил руку бывший аниматор студии Disney Дон Блут (Don Bluth). И это во времена, когда Digger был новой игрой, а до выхода первого Super Mario оставалось два года!

Неудивительно, что «Логово дракона» ждала популярность. За следующие тридцать лет игра была портирована на десятки различных платформ, включая PlayStation 3, Xbox 360, iOS и Android. Среди первых был порт на Amiga — едва ли не лучший компьютер восьмидесятых.

Именно порт Dragon’s Lair для Amiga в 1989 году увидел Эрик Шайи, к тому времени хоть и молодой, но уже опытный аниматор и программист. Почти сразу

вего голову пришла идея, что нечто подобное можно реализовать с помощью векторной графики, сократив при этом объем игры всего до одной дискеты вместо шести, на которых распространялась версия Dragon’s Lair для Amiga. Кстати, полноценное видео с лазердисков в ней заменили на спрайты, от чего анимация стала не такой роскошной. Векторная графика позволила бы обойти эту проблему.

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

Эрик на тот момент уже два месяца изучал ассемблер процессора Motorola 68000, и поэтому на реализацию proof of concept у него ушла всего неделя. Как оказалось, производительности 68000 вполне хватало для отрисовки десяти полигонов (закрашенных многоугольников) на скорости 50 кадров

всекунду. Этого было вполне достаточно для реализации полноценной игры для Atari ST и Amiga 500, где стоял тот же процессор.

20 КБАЙТ

Эрик Шайи убедился, что технология работает, но браться за саму игру было рано: требовалось средство создания векторных изображений и анимации, а готовых решений в то время еще не было. Шайи написал нужный инструмент сам на языке GFA Basic со вставками на ассемблере для лучшей производительности.

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-x cha

 

 

 

 

Самописный векторный редактор

 

Изюминка редактора была в том, что он не только позволял

 

создавать изображения и анимацию, но и включал в себя

 

движок самой игры, так что отлаживать и менять игровой

 

процесс можно было на лету. Движок представлял собой

 

виртуальную машину размером 20 Кбайт, которая запу-

INFO

скала байт-код игры, хранившийся на дискете. Эрик Шайи

 

объяснил такой подход тем, что просто хотел уйти от осо-

Заставка Another

бенностей ОС и аппаратной архитектуры и упростить раз-

World длится три

работку игры (байт-код не нужно было компилировать).

минуты, но занимает

при этом всего 58

В дальнейшем виртуальная машина позволила легко пор-

Кбайт в сжатом виде.

тировать игру на множество платформ.

 

В 2006 году Грегори Монтуар (Gregory Montoir), один из разработчиков ScummVM, дизассемблировал виртуальную машину и переписал ее на языке C++, а в 2011-м Фабьен Санглар (Fabien Sanglard) — сейчас работающий в Google — причесал его исходники и снабдил множеством комментариев. Поэтому сегодня у нас есть возможность узнать, как все это работало. Бинар-

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

m

w Click

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

g

.c

 

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

ник, запускающий игру, состоял из четырех основных компонентов: самой ВМ, менеджера ресурсов, рендерера и аудиомикшера.

Виртуальная машина была регистровой (в противовес появившейся позже стековой JavaVM) и включала в себя 256 регистров общего назначения; код исполнялся в 64 потока, которые последовательно передавали управление друг другу в режиме round-robin. Каждый из потоков отвечал за свой тип задач.

В одном потоке происходила отрисовка фона, другой контролировал передвижение персонажа, третий — отрисовку второстепенных движущихся объектов (например, птиц), четвертый рисовал анимационную заставку и так далее. Когда все потоки отрабатывали (необязательно все 64), изображение на экране обновлялось и все начиналось сначала — для создания следующего кадра.

Архитектура виртуальной машины

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

Соседние файлы в папке журнал хакер