вторник, 30 декабря 2014 г.

Старые игры на языке Форт

Форт не надо путать с Фортраном. Они совершенно непохожи. Судите сами, чтобы напечатать результат сложения двух чисел на последнем достаточно набрать: "print *, 2 + 2". Форт требует совершенно иного взгляда на привычные вещи и эта операция выглядит в нем вот так: "2 2 + .". На этом месте большинство программистов закономерно теряет всякий интерес к продолжению знакомства с этим необычным языком. Тем не менее Форт завоевал некоторую популярность среди людей связанных с космосом. Им, зачастую, не так важен порядок выполнения математических операций или наличие в языке современных библиотек и фреймворков. Но они весьма ценят простоту Форта, скромность в использовании вычислительных ресурсов, а также независимость от чужого инструментария и методик программирования, которые он дает. (http://en.wikipedia.org/wiki/RTX2010) Процессор 80-х годов с аппаратной поддержкой Форта используется в космическом аппарате Кассини (Сатурн) и в недавно запущенной Розетте (комета 67P/Чурюмова-Герасименко).

Неудивительно, что именно инженер NASA (http://www.atariarchives.org/deli/cottage_computer_programming.php) Paul Lutus написал в 1981 году систему (http://www.virtualapple.org/docs/GraFORTH%20II%20Language%20Reference.pdf) GraFORTH для Apple II, предназначенную для создания развитых графических приложений и игр.

http://www.youtube.com/watch?v=4Fay38pUU7Y

Широкую известность Форт получил после знаменитой публикации журнала (https://archive.org/details/byte-magazine-1980-08) "Byte" (1980, август). В журнале приводился пример игры на Форте с исходным кодом: версия Breakout для TRS-80 под названием BREAKFORTH.



Ходят слухи, что Форт широко использовался в игровых автоматах Atari в конце 70-х. Никаких подтверждений этому мне найти так и не удалось. Истинно, тем не менее, что один из лучших разработчиков автоматов от Atari, (http://www.orubin.com/) Owen Rubin, действительно создал игру на Форте под названием (http://www.atarimuseum.com/orubin/yahtzee.html) Yahtzee. Но игра эта была написана для компьютера Atari 800 уже в 1980 году и, похоже, так и не была издана.

В Atari пытались использовать Форт по крайней мере со времени выхода 8-битных машин, таких как Atari 400/800. Идея была в использовании компактного языка, в духе современной "платформонезависимой" Java. Увы, реальность оказалась не столь радужной. Landon Dyer, один из Atari-разработчиков той эпохи вспоминает.

"Он (коллега по проекту портирования игры Donkey Kong) изначально хотел все сделать на Форте и не понял, что мы не можем потратить половину памяти картриджа для интерпретатора Форта только ради нашего удобства".

"Прискорбный факт состоит в том, что люди, привлеченные этим языком, кажется, меньше всего способны написать хороший код на нем. Отсюда и несколько катастрофических попыток создания видеоигр на Форте в Atari".

Одной из таких малоудачных игр на Форте была версия (http://en.wikipedia.org/wiki/Hat_Trick_(video_game)) Hat Trick (1987) для Atari 7800. Ее многие ругали за неповоротливость и некачественную анимацию. Кстати говоря, исходный код этой игры доступен для (http://www.atarimuseum.com/videogames/consoles/7800/games/source_code/HATTRICK.zip) скачивания.

http://www.youtube.com/watch?v=pxjQt4FNJpQ

Вообще, игр на Форте для 8-битных компьютеров Atari было написано не так мало и далеко не все из них были неудачны, как мы увидим далее.

Blockbuster (1981, APX). Написана на QS-FORTH. Головоломка.



Cyborg (1982, Sentient Software). Использован неизвестный диалект Форта. Текстовое приключение.



Tactrek (1982, APX). Написана на valFORTH. Стратегия.



Crypto Cube (1983, DesignWare). Использован неизвестный диалект Форта. Головоломка.



Body Parts (1983, PartlySoft Software). Написана на valFORTH. Карточная игра (?).

Maniac Miner (1983, Gentry Software). Написана на valFORTH. Аркада.



Simulated Computer II (1983, Carousel Software). Написана на valFORTH. Обучающая игра.



Around the World (1983, SUPERWare). Написана на fig-FORTH. Приключение/RPG.



PokerSAM (1983, Don't Ask Computer Software). Написана на fig-FORTH. Игра в покер, используется синтез речи.

http://www.youtube.com/watch?v=ba_xhYXjjFg

Abraxas Adventure #1 - Assault on the Astral Rift (1984, MMG Micro Software). Написана на valFORTH. Приключение/RPG.



Arkanoid (1987, Imagine). Написана на ES-FORTH. Аркада.



Очень любопытны следующие три квеста от польского разработчика (http://pl.wikipedia.org/wiki/Roland_Panto%C5%82a) Roland Pantola. Он создал их на диалекте Форта под названием Gam Forth.

A.D. 2044 (1991, L.K. Avalon).



Klatwa (1992, L.K. Avalon).



Wladcy Ciemnosci (1993, L.K. Avalon).



Далее -- одна из лучших игр, среди написанных на Форте для компьютеров Atari. Это вещь в духе Elite и SunDog под названием (http://en.wikipedia.org/wiki/Universe_(1983_video_game)) Omnitrend's Universe (1983, Thomas Carbone и Bill Leslie).



Написана она была на valFORTH с применением 3d инструментария, который создал William Volk. На этом закончим с Atari и перейдем к Apple.

(http://obsoletegamer.com/the-interview-william-d-volk/) William Volk... а ведь Форту определенно повезло с этим разработчиком! Он -- один из заслуженных ветеранов игростроения и свой путь начал со стратегии Conflict 2500 (1981, Avalon Hill), но самая популярная вещь, которой он занимался -- Return to Zork (1993). И он действительно любил Форт! Для компьютера Macintosh этот разработчик создал следующие две игры на этом языке.

(http://macintoshgarden.org/games/mac-challenger) Mac-Challenger (1985, Aegis Development). Написана на MasterFORTH. Симулятор Space Shuttle.



(http://www.gamasutra.com/blogs/WilliamVolk/20120330/167691/Flash_in_the_Pan_Its_like_Dj_vu_Mac_1984_all_over_again_.php?print=1) Pyramid of Peril (1986, Aegis Development). Написана на MicroMotion Forth всего за 30 дней. Приключение с видом от первого лица.



Система (https://archive.org/details/bitsavers_creativeSoct84_10481425) MacForth была первой серьезной средой разработки для Macintosh. На ней написано множество приложений и, конечно, (http://macintoshgarden.org/games/trivia-mirage-concepts) игр. Одной из таких игр была (http://en.wikipedia.org/wiki/ChipWits) ChipWits (1985, Doug Sharp и Mike Johnston), головоломка, одна из лучших в жанре "игр для программистов".



Любопытная RPG-игра (http://en.wikipedia.org/wiki/Citadel:_Adventure_of_the_Crystal_Keep) Citadel: Adventure of the Crystal Keep (1988, David Pavan и Dennis Zahorchak) тоже была создана на MacForth.



Несколько игр на MacForth сотворил и (http://www.amug.org/~glguerin/my/history.html) Gregory L. Guerin. Среди них: Star Trek: The Promethean Prophecy (1987-1988), Greed and Lust (1990), Math Shop (1990). Но наиболее интересными мне показались следующие две его вещи.

(http://www.old-games.ru/game/2685.html) Hidden Agenda (1988-1989). PC-версия написана на MVP-FORTH. Симулятор политики в Центральной Америке.



(http://www.old-games.ru/game/3250.html) Star Trek: The Transinium Challenge (1989-1990). PC-версия написана на HS/FORTH. Многожанровая игра в антураже Star Trek.



Осталось, пожалуй, вспомнить самую лучшую, по отзывам, игру на Форте. Речь о (http://www.old-games.ru/game/1915.html) Starflight (1986, Greg Johnson, Alec Kercso, Bob Gonsalves, T.C. Lee, Rod McConnell) для PC. Это большая игра, особенно по меркам Форта. В ней есть фрактальное генерирование планет, несколько экспертных систем и многое другое. По жанру это космическая RPG.

http://www.youtube.com/watch?v=9bJU6KdP5so

В интернете можно отыскать описание подробностей разработки, а также исходные тексты этой замечательной игры.

https://web.archive.org/web/20071009170046/http://meusite.uai.com.br/~mmand/starflight/
https://web.archive.org/web/20031209151126/http://www.sonic.net/~sage/sf/Development/TheMakingOfStarflight.htm
http://www.oocities.org/timessquare/maze/4979/lee.html

Чтож, существование Starflight -- еще одно подтверждение того факта, что Форт лучше всего чувствует себя в космосе, пусть даже виртуальном.

Mattel Intellivision и Дон Даглоу

Через год после выхода знаменитой Atari 2600 миру был явлен ее конкурент, созданный фирмой Mattel. Речь об игровой приставке Intellivision. Позволю себе рассказать несколько слов о ее устройстве и, конечно, об играх.



С технической стороны Intellivision можно было по праву назвать прорывом в области игровых приставок. 16-битный процессор (и это в 1979 году!), более серьезные, по сравнению с 2600, графические и звуковые возможности. Кстати, за звук отвечал знаменитый чип AY (им обладали ZX Spectrum, Yamaha MSX, Atari ST и другие системы). Еще интереснее, что данная приставка имела полноценную операционную систему в ROM, под названием EXEC. Функционировала она по событийной и объектно-ориентированной модели. Игровые объекты -- структуры данных из картриджа, получали системные оповещения о перемещении или столкновении с другими объектами. В графической части ПЗУ находилась коллекция общеупотребительных спрайтов, а также полноценный шрифтовый набор. В комплекте с приставкой имелось два необычных контроллера. Каждый имел цифровую клавиатуру и колесо с указанием 16 возможных направлений. Как и в случае с PLATO, многие интересные игры для Intellvision требовали живого противника для полноценной игры.

Mattel начали агрессивную рекламную компанию. Вот, например, ролик с участием известного ведущего и журналиста тех времен.



Что же могла противопоставить Mattel компании Atari в плане, собственно, игр? Давайте опять вернемся к бесконечной теме многопользовательских танковых сражений. Очередная подобная игра была выпущена одной из первых для Intellivision и случилось это в 1979 году.



Одним из дополнительных модулей к Intellivision был синтезатор речи IntelliVoice.



Его использовало совсем немного игр. Возможно, лучшая -- B-17 Bomber (1982), аркадный симулятор бомбардировщика. Вот как выглядела ТВ-реклама этой игры.



Весьма необычной как по визуальному оформлению, так и по сюжету была обучающая игра Microsurgeon (1982). Игрок управлял медицинским наноботом внутри человеческого тела.

http://www.youtube.com/watch?v=ORxLe6wHHIQ

На Intellivision существовали и RPG-игры. Advanced Dungeons & Dragons: Treasure of Tarmin (1982), пожалуй, не имела себе равных на тот момент среди приставочных игр такого жанра. Ее описание можно прочесть у этого известного cRPG-энтузиаста: [url]http://crpgaddict.blogspot.ru/2014/12/game-170-advanced-dungeons-dragons.html[/url]



Позже в RPG-жанре для Intellivision вышла не менее достойная Tower of Doom (1986).



Теперь мы переходим к, наверное, самой важной игре, созданной для этой приставки. Она называется Utopia (1981). Ее называют первым графическим "симулятором бога" и первой стратегией в реальном времени. А еще ее называют "Civilization 0.5".



Создатель Utopia, Дон Даглоу, в числе самых заслуженных ветеранов игростроения. В 1975 году он написал игру Dungeon для PDP-10, которая считается одной из первых cRPG (наряду с PLATO-играми того времени). Он же в 1991 году создал первую графическую MMORPG-игру Neverwinter Nights, а в 1993 -- первую стратегию в реальном времени с 3d графикой под названием Stronghold.




понедельник, 22 декабря 2014 г.

Музыка позднего Тима Фоллина

Несколько моих любимых вещей. Ведь раннего-то Фоллина все знают, правильно? Если нет, то я обязательно посвящу этой теме одну из следующих дневниковых записей!

Ecco the Dolphin: Defender of the Future (2002)

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

















Future Tactics: The Uprising (2004)

Обратите внимание на флейту -- она замечательна!



Starsky & Hutch (2004)

Отличная стилизация под кинофанк 70-х.



Lemmings (2006)

После этого проекта Тим Фоллин ушел из игр. Навсегда ли? В одной из прошлых заметок я писал о его недавнем проекте Contradiction. Так что надежда на возвращение этого талантливого композитора в мир игр все же остается.

http://www.youtube.com/watch?v=0zSc61md9wM

Хочется еще? Изучайте саундтреки к этим играм, там много интересного!

Два титана восьмибитной 3d графики

Речь пойдет об английских компаниях, делавших трехмерные игры для ZX Spectrum и Amstrad CPC.

Realtime Games начала свою деятельность с воплощения популярных аркадных 3d игр на 8-битных компьютерах.

3D Tank Duel (1984, клон Battlezone)

http://www.youtube.com/watch?v=nLs4p6wJNSw

3D Starstrike (1984, клон Star Wars)

http://www.youtube.com/watch?v=xZ91o9qUFFc

Starstrike II (1986)

Эта игра была уже оригинальной. Подвижность ее графики оценили многие критики.

http://www.youtube.com/watch?v=LUlCkXguDJM

С определенного момента разработчики Realtime Games начали пользоваться системой PDS development system (http://www.cpcwiki.eu/index.php/PDS_development_system ).

PDS представляла собой программно-аппаратное решение для разработки 8-битных приложений. Аппаратная часть включала в себя IBM PC-подобный компьютер Apricot PC и набор интерфейсных плат для Amstrad, ZX и других целевых плафторм.



Программирование осуществлялось на PC и результат по соответствующему интерфейсу передавался на 8-битный компьютер. PDS существенно облегчила жизнь для Realtime Games, Oliver Twins и других игровых компаний.

Carrier Command (1988)

Самая знаменитая игра этой компании, вышла на большинстве компьютеров того времени.



Battle Command (1990)



Кроме того, Realtime Games известна своими PC-версиями Elite и Elite Plus.

Полезные ссылки.

http://www.carriercommand.com/2012/05/inside-the-carrier-5-questions-for-ian-oliver/
http://www.worldofspectrum.org/interviews/OliverIan.htm
http://www.retrogamer.net/retro_games80/the-making-of-carrier-command/
http://www.crashonline.org.uk/29/realtime.htm

Incentive Software делала такие интересные вещи, как, например, Graphic Adventure creator -- конструктор игр-приключений. Однако, наибольшую популярность этой компании принесли игры на основе 3d движка Freescape.

Driller (1987), Dark Side (1988), Total Eclipse (1988), Castle Master (1990)

http://www.youtube.com/watch?v=wZAQafIrNn4

http://www.youtube.com/watch?v=1a62T6pQmDs

http://www.youtube.com/watch?v=Aac2Eo5b288

http://www.youtube.com/watch?v=KgAiS-O-2D4

В 1991 году Incentive Software выпустила на основе Freescape нечто в духе современного Unity3d, под названием 3D Construction Kit. Эта система включала в себя кроссплатформенный 3d движок, редактор уровней и скриптовый язык. Подробнее можно узнать здесь: http://www.3dconstructionkit.co.uk/



Полезные ссылки.

http://www.retrogamer.net/profiles/company/incentive-software/

Atari Video Music и прочее

Начну сегодняшнюю запись с синтезатора. Но не музыкального, а видеосинтезатора. Да, были когда-то и такие устройства. Функции они имели те же, что и современные плагины-визуализаторы для Winamp.

В 1976 году увидел свет аналоговый аппарат Atari Video Music для стерео HiFi-систем. Вот как он выглядел и функционировал.







Далее переходим к музыке David Lowe для игры Carrier Command (http://www.old-games.ru/game/2207.html). Это так называемая tape music, предназначенная для отдельного прослушивания на кассетнике.



Повеяло восьмидесятыми? Продолжим музыкальную паузу.



Данный клип связан с проектом, посвященным истории разработки игр в Великобритании: https://www.kickstarter.com/projects/1195082866/from-bedrooms-to-billions

Теперь хочу обратить внимание на любопытное описание проблем разработчиков Maniac Mansion, связанных с преодолением цензуры со стороны Nintendo:

http://www.crockford.com/wrrrld/maniac.html

Наконец, предлагаю посмотреть видео первого(?) аркадного автомата с текстурированной 3d графикой: Ridge Racer (1993, Namco).


Динамическая (интерактивная) музыка в старых играх

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

Смена темпа

Простейшее изменение параметра исполняемого произведения. В игре Space Invaders (1978) проигрывание 4-нотной последовательности ускоряется с уменьшением количества вражеских кораблей на экране. По схожему принципу исполняется 2-нотная секвенция в игре Asteroids (1979). Возможно, подобный подход был вдохновлен муз. сопровождением из фильма "Челюсти" (1975) во время атаки акулы.



Динамическая музыка может действовать на нотном уровне (MIDI, особые внутренние форматы муз. событий) или же на уровне целых звуковых дорожек (PCM). В последнем варианте простейшая смена темпа оказывается проблемой, ведь мы имеем дело с предварительно записанным звуком, а не с отдельными нотами, параметры которых можно менять на лету.

Микширование

Изменение громкости, включение-выключение отдельных дорожек в звучащей композиции. В игре Bomberman (1985, NES) к фоновой музыке добавляется еще один голос, когда герой берет один из "призов".



Музыку для игры Extase (1990, Amiga) написал талантливый композитор Stéphane Picq с использованием звучания знаменитого хора The Bulgarian Voices (вы могли слышать этот хор в телесериале "Зена — королева воинов"). Различные сэмплы воспроизводятся в ответ на манипуляции со стороны игрока, образуя уникальное музыкальное сопровождение каждого игрового сеанса.



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

Граф муз. фрагментов

Примечательны следующие слова Чайковского по поводу процесса сочинительства.

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

Система интерактивной музыки iMUSE (1991, LucasArts) занимается генерированием подобных швов и монтажных склеек. В зависимости от игровой ситуации из базы данных выбираются MIDI-отрывки и применяются различные виды переходов и аранжировок. Композитору, который работает с iMUSE-системой, приходится иметь дело с музыкальным "гипертекстом", продумывать разнообразные варианты соединения разрозненных музыкальных фрагментов, чтобы в игре зазвучало цельное, но уникальное для данного игрового сеанса музыкальное полотно.



Greg LoPiccolo (басист группы Tribe) сочинил динамическую музыку для игры System Shock (1994) с использованием системы, похожей на iMUSE, на основе технологии XMIDI Miles Sound System.

Алгоритмическая музыка

Композицию Song of the Grid из игры Ballblazer (1984, Lucasfilm Games)  можно слушать очень долго, так, впрочем, и не дождавшись полного ее повторения. Качество алгоритма  Riffology (автор Peter S. Langston, http://www.langston.com/Papers/amc.pdf) на удивление высоко, на уровне "серьезной" алгоритмической музыки того времени.

http://www.youtube.com/watch?v=i7V7B57Kbqk

P.S. Может быть, кому-то будет любопытно взглянуть на мой заброшенный текст: http://sovietov.com/tmp/game_sound/stage1/

О танках (в честь выхода Podcast №17)

В сегодняшнем видеоролике (http://www.youtube.com/watch?v=ZA00fjK-XBk ) можно увидеть игру Panther (1975). Увы, во всем интернете, кажется, нет скриншотов еще одной игры с PLATO -- Panzer (1977, разработана для Армии США), которая является развитием Panther по графике и в плане реализма. Даже на Cyber1 (интернет-эмулятор PLATO) этой игры не нашлось.

А вот другая игра для Армии США -- The Bradley Trainer (1981) на базе Battlezone. Это симулятор боевой машины пехоты "Брэдли".



Интересная вышла цепочка: Panzer для Армии США вдохновила создателей Battlezone, а уже сам игровой автомат заинтересовал военных, которые еще и условие поставили: адаптировать игру за 3 месяца, аккурат к выставке вооружений.

http://www.youtube.com/watch?v=vOhpjf9QUTE

Забавно сравнивать эту графику с графикой CT5 Flight Simulator, о котором я писал ранее.

Несколько ссылок на тему The Bradley Trainer.
http://www.atariage.com/news/Bradley/index.html
http://www.safestuff.com/bradley.htm
http://www.thelogbook.com/phosphor/1981/bradley-trainer/

Вспоминается еще и первая, насколько я знаю, российская игра о танках: Tankodrom 55491 (1992, ZX Spectrum) Вячеслава Медноногова. Танковые сражения и гонки на полигоне с видом сверху. Любопытно, что карта в игре соответствовала реальной местности: http://zx-pk.ru/showthread.php?t=9237&langid=1




Возможно, игра Tankodrom 55491 была создана под впечатлением также и от этого советского игрового автомата:

http://www.youtube.com/watch?v=tyNrrg_Nnt4

P.S. Интересующимся разбором внутренностей старых игр предлагаю прочесть анализ приставочной Contra в 7 частях: http://tomorrowcorporation.com/posts/retro-game-internals
P.P.S. Интервью с Ральфом Баером на Gamasutra: http://www.gamasutra.com/view/feature/130108/the_right_to_baer_games__an_.php

Mario для PC

В середине 90-х на пиратских сборниках можно было обнаружить странную shareware-игру под ДОС в духе Super Mario Bros. Она имела отличную VGA-графику с удивительно плавной экранной прокруткой и параллаксом, а также посредственный звук и всего четыре игровых уровня.

На самом деле речь идет об игре разработчика по имени Mike Wiering, который написал этот вариант Mario на Turbo Pascal в целях самообучения. Размер единственного файла игры -- 57480 байт! Слухи говорят, что на момент разработки (1994) автору было всего 18 лет. Майк не планировал издавать свое детище, а лишь хотел "обкатать" игровой движок перед созданием своих последующих, уже полностью оригинальных игр. Увы, бета-версия программы каким-то образом разошлась по рукам, а некие беспринципные граждане слепили из нее shareware-продукт, за который просили аж $15!



Исходный код Mario доступен на сайте автора: http://www.wieringsoftware.nl/mario/source.html
Начинающим игростроителям, особенно знакомым с Паскалем, и сейчас может быть поучительно исследовать программу.

Саму же игру можно скачать здесь: http://www.wieringsoftware.nl/mario/download.html

На основе движка Mario г-н Wiering сделал еще несколько платформеров, а также Mariokart-подобную 3d игру, размером всего в 80 кб: http://www.wieringsoftware.nl/mario/games.html



Подобная миниатюризация мне напомнила демосценерскую игру .kkrieger. Впрочем, когда-то и Turbo Pascal 3, весь, с компилятором и средой разработки, занимал всего... 39731 байт.

В конце 90-х все тот же разработчик увлекся функциональным программированием и языком Clean, и написал на этом языке несколько игр: http://cleangl.sourceforge.net/games.php
Для специалистов представляет интерес его дипломная работа (http://cleangl.sourceforge.net/thesis/CGL.pdf ) посвященная разработке Clean-библиотеки для создания платформеров.

Abuse и Лисп

Abuse (1995) считалась довольно популярной 2d стрелялкой для своего времени. Но, что особенно интересно, на деле это была не просто игра, а настоящий конструктор. Конечно же, там был редактор уровней, но не только он один. Джонатан Кларк, разрабочик Abuse, сильно увлекался языком Лисп, и в результате вся высокоуровневая логика игры была написана на этом языке (диалект Common Lisp). Более того, исходный Лисп-код распространялся вместе с Abuse и допускалась возможность модификации игры пользователем, благодаря встроенному интерпретатору. Надо сказать, код на Лиспе смотрится довольно органично, особенно в описании поведения врагов, чего, собственно, и стоило ожидать от классического языка для задач ИИ. Запустив Abuse с ключем "-lsf" и именем пользовательского скрипта, получаем уже свою собственную игру. К сожалению, мне неизвестно о существовании производных от Abuse разработок, кроме, собственно, авторского примера Pong в дистрибутиве. Кстати, игровой движок Abuse был написан всего за 4 месяца.

Следующая работа Джонатана Кларка, игра Golgotha, не получила коммерческого будущего. Тем не менее, исходный код обеих игр этого автора доступен для скачивания:

http://abuse.zoy.org/wiki/download

Что касается Лиспа, то в Golgotha он тоже присутствует в небольшом количестве, в виде интерпретатора Scheme, но до расширяемости и элегантности архитектуры Abuse этой игре далеко.

http://www.youtube.com/watch?v=OcW2nH2AbS0

Кстати, о Лиспе в играх. Компания Naughty Dog создавала достаточно успешные игры для PlayStation с использованием Лисп-подобного языка, такие как Crash Bandicoot (1996) и Jak and Daxter: The Precursor Legacy (2001).

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

Раннее 3d на игровых (и не только) автоматах

Speed Freak (Vectorbeam, 1977)



Tailgunner (Cinematronics, 1979)



Battlezone (Atari, 1980)



CT5 Flight Simulator (Evans & Sutherland, 1981)



Star Wars (Atari, 1983)

Motorola 68B09E (3 Mhz), конечный автомат с умножителями



TomCat (Atari, 1983, прототип)

Motorola 68010 (6 Mhz), Texas Instruments TMS32010

http://www.youtube.com/watch?v=nRAVJpS6UA0

http://jmargolin.com/tomcat/tomcat.htm

The Last Starfighter (Atari, 1984, прототип)

Motorola 68000, TMS32010



I, Robot (Atari, 1984)

Motorola 6809, спец. схема для генерирования 3d графики



Air Race (Atari, 1985, прототип)

Motorola 68000, 2 x TMS32010



Winning Run (Namco, 1988)

2 x Hitachi/Toshiba 68HC000 (12.3 Mhz), 2 x Motorola 68020 (12.3 Mhz)

5 x Texas Instruments TMS320C20 (25 Mhz)



Hard Drivin' (Atari, 1989)

Motorola 68010 (8 Mhz), TMS34010 (6 Mhz), TMS34010 (6.25 Mhz), ADSP2100 (8 Mhz)


Для интересующихся, еще несколько видео ранних 3D-тренажеров для летчиков.

http://www.youtube.com/watch?v=iMpQuclk2vg

http://www.youtube.com/watch?v=uy8sJ9AxvYI

У меня большое подозрение, что тренажер Link 1984 года использвал все ту же систему от Evans & Sutherland. Эти двое -- пионеры компьютерной графики. Помните видео с "проволочным" авианосцем от 1972 года? Это система LDS-1 с векторным дисплеем.

Подробнее о ней почитать можно здесь: https://archive.org/details/bitsavers_evansAndSuchure_8363649

Серия CT (continuous tone, "непрерывный тон") это уже системы с растровым отображением.



О CT-5 мне известно немного. Система управляется компьютером PDP-11, подключенным к компьютеру симуляции и процессору изображения. Последний состоит из двух частей: процессор текущей точки обзора и шесть канальных процессоров, по числу мониторов в CT-5. Каждый канальный процессор, в свою очередь, имеет 770 (число линий растра) дисплейных процессоров, совмещающих геометрические и растровые функции. Очевидно, это система с параллелизмом данных, не так уж сильно отличающаяся по архитектуре от современных GPU.

Несколько ссылок.

http://www.flightglobal.com/pdfarchive/view/1982/1982%20-%201104.html
http://design.osu.edu/carlson/history/lesson13.html




Tower of Babel: лучшее (на мой взгляд) творение Пита Кука

Пит Кук -- один из самых выдающихся разработчиков игр для ZX Spectrum. Необычный игровой процесс, интерфейс в духе Xerox PARC и, разумеется, подвижная 3d графика -- все это отличало его работы. В частности, игра Micronaut One заслуживает внимания за свою визуальную сторону.

http://www.youtube.com/watch?v=LfKUZRI90rI

Позднее Кук работал над знаменитой Grand Prix II для PC. Но, еще до того, он занимался играми для Amiga и Atari ST.

Остановлюсь чуть подробнее на Tower of Babel (1988), игре, первоначально вышедшей на Atari ST. Игра представляет собой головоломку в 3d пространстве, где под управлением игрока находится до 4 роботов с различными характеристиками. Роботами можно управлять вручную или же программировать их действия заранее. Игра весьма занимательная и у нее до сих пор есть поклонники. В игре есть и встроенный редактор уровней.

http://www.youtube.com/watch?v=6GO6iyAuZP0

Описание игры: http://www.washedashore.com/projects/games/3dgames.html

P.S. Небольшая выдержка из интервью с Питом Куком, 1987 год.

"All Pete Cooke’s games have been original, developed from ideas of his own. Has he ever considered doing an arcade licensed conversion, or working within a team?

‘No, I’m not interested. Well, I can’t say that about any arcade licence, but I can’t think of any offhand. I don’t like the philosophy behind them — the philosophy of the quick buck — and games I play are not like that. My favourite game to play is Revs, and it took me six months to crack it. Now that isn’t going to appear on an arcade machine, is it?

‘As for programming teams on such projects, I think they’re actually graphic designers, and looking at the games I don’t see any programming in them".

Mercenary

А все-таки жаль, что в тени Elite осталась такая замечательная игра, как Mercenary (1985)! Открытый мир, точнее, целая планета в распоряжении игрока, 3d графика от первого лица, нелинейный сюжет. В игре есть города, подземные сооружения и летающие платформы. Есть несколько видов транспортных средств. Игрок-наемник может выбирать, чью сторону из противоборствующих группировок принять, на кого работать, с конечной целью -- покинуть планету, на которой потерпел крушение.

Интересно, что Mercenary не выходила на IBM PC. Но, спустя время, программист-энтузиаст создал Windows-версии всей этой игровой серии: http://mercenarysite.free.fr/mddclone.htm

Попробуйте!

Обсуждение игры на форуме: http://www.old-games.ru/forum/showthread.php?p=328310

P.S. Кстати, Paul Woakes, разработчик Mercenary, известен еще и игрой Legends of Valour (1992), которая, в свою очередь, повлияла на авторов знаменитой серии The Elder Scrolls.

На ОГ (http://www.old-games.ru/game/2430.html ) пишут: "малоизвестная фэнтезийная РПГ на движке серии Ultima Underworld". Слова о принадлежности движка, конечно, не соответствуют действительности.

P.P.S. А вот "официальная" Windows-версия оригинальной Elite:

http://www.new-kind.com/download-elite-new-kind/

В честь 30-летия игры Дэвид Брэбен разрешил эту версию опубликовать. Но исходный код, похоже, так и останется под запретом (когда-то автор Windows-версии его пытался сделать доступным).

Z-Machine в FPGA, Sinclair ZX Spectrum Vega

Интерпретатор Z-Machine, на котором работали игры от Infocom, такие как Zork, теперь в "железе" (точнее на ПЛИС):



Игровая приставка "Спектрум". Собирают деньги. В команде известные личности, включая Клайва Синклера. Интерфейс, мягко говоря, аскетичный. Как играть в тот же Flight Simulation?

http://www.indiegogo.com/projects/sinclair-zx-spectrum-vega

Miegakure: платформер-головоломка в 4d пространстве

К сожалению, я не читал "Флатландии" (https://fantlab.ru/work231113 ), зато помню рассказ Брэдбери о том, как у незадачливых родителей ребенок родился в другом измерении, а в нашем мире вместо привычного человеческого тельца наблюдалась... пирамидка. Думаю, Miegakure -- первая попытка в игровой форме дать представление об ориентировании в 4d пространстве. На экране мы видим 3d проекцию этого пространства и можем в любой момент времени поменять одну из наблюдаемых осей.

Сайт игры: http://miegakure.com/

Статья в Wired: http://www.wired.com/2014/11/4d-game/

Музыкант в команде разработчиков игр

Бобби Принс иногда пишет любопытные вещи в своем блоге. Я говорю о том самом композиторе, который создал музыку, в частности, к сериям Commander Keen, Doom и Duke Nukem. Знаете, на чем эта музыка была написана? Был когда-то такой MIDI-редактор -- Voyetra Sequencer Plus. Появился он еще в 1985 году и стал первой коммерчески успешной программой такого рода для IBM PC:


Принс сетует, что в больших командах не прислушиваются к мнению человека, отвечающего за звук. Очевидно, для подобных команд с жесткой иерархией, состоящих из многочисленных узких специалистов типично отсутствие обратных связей и возможностей оперативно принимать решения. "Я отказывался от проектов, если ощущал, что люди хотят заполучить лишь музыканта, а не члена команды".

Вся заметка здесь: http://bobbyprincemusic.blogspot.ru/2014/11/working-with-game-developers.html

Музыка Принса на SoundCloud: https://soundcloud.com/bobbyprincemusic

Hydorah: бесплатная космическая стрелялка в духе R-Type

Предупреждаю, Hydorah -- игра сложная, в полном соответствии с классическими канонами!

Сайт: http://www.locomalito.com/hydorah.php

В игре очень неплохая музыка.

Вот здесь можно почитать о том, как музыка записывалась: http://www.locomalito.com/images/covers/Hydorah_making_of.pdf

А здесь послушать звуковую дорожку к игре: http://hydorah.bandcamp.com/album/hydorah-original-soundtrack

Шесть игр из воображаемого учебника

Если представить, что в будущем появится историко-теоретический учебник для факультетов разработчиков компьютерных игр, то какие именно игры туда могли бы войти? Необязательно это будут произведения, которые сейчас у всех на слуху. В начале XX века были очень популярны детективы про Пинкертона, но кто их сейчас вспомнит? Или другой пример: Бах, которого, напротив, забыли после смерти почти на столетие. Ниже я кратко перечислил несколько игр, подходящих, на мой взгляд, для вышеописанного учебника. Надеюсь к этой теме еще вернуться в будущем.

Pinball Construction Set (1982)

Простой интерфейс с курсором и перетаскиванием элементов позволял создавать разнообразные виртуальные пинбольные столы и обмениваться ими с друзьями. Уилл Райт упоминает о влиянии этой игры на создание SimCity и других его компьютерных произведений.

Knight Lore (1984)

Первая игра на движке Filmation. Knight Lore задала планку качества для последующих изометрических игр.

The Seven Cities of Gold (1984)

Стратегическая игра с примесями иных жанров, со свободой перемещений и случайно генерируемыми картами. Вдохновила Сида Майера на создание Pirates! и Civilization.

SunDog: Frozen Legacy (1984)

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

Little Computer People (1985)

Симулятор жизни маленького человечка. Предтеча Creatures, The Sims и прочих.

Déjà Vu (1985)

Игра-детектив, с которой началась новая эпоха графических приключений.


PuzzleScript: конструктор простых игр-головоломок

PuzzleScript это игра в создание простеньких игр уровня Sokoban. Но что, если я скажу вам, что тот же Sokoban описывается там всего одной строкой? Вот такой.

[ > Игрок | Ящик ] -> [ > Игрок | > Ящик ]

Фактически это означает, что если Игрок двигается (">") рядом ("|") с Ящиком, то ("->") двигаем и Игрока, и Ящик в одном направлении. Вот такое сопоставление с образцом и, в целом, игра в минимализм.

Сайт игры: http://www.puzzlescript.net/
Правила: http://www.puzzlescript.net/Documentation/rules101.html
Редактор: http://www.puzzlescript.net/editor.html
Галерея: http://puzzlescriptgallery.tumblr.com/
Обсуждение на LtU: http://lambda-the-ultimate.org/node/4869

Contradiction: игра Тима Фоллина

Если среди многочисленных именитых авторов музыки для игр мне зачем-то придется выбрать одного, я, не задумываясь, назову Тима Фоллина. О его творческом пути можно говорить долго, но путь этот заканчивается в начале 2000-х. И вот, недавно, Фоллин снова вернулся к играм, на сей раз в качестве автора Contradiction. Эта игра представляет собой детектив, реализованный в виде интерактивного фильма с живыми актерами. Обещается какая-то новая игровая система, не ограниченная примитивным выбором из немногочисленных сюжетных "веток".

Проект на Kickstarter: https://www.kickstarter.com/projects/139513174/contradiction

Судя по FB-странице, разработчики планируют закончить работу над игрой к Рождеству: https://www.facebook.com/baggycat

Handmade Hero: создание игры по-старому

Разработчик специнструментария для игровых компаний Casey Muratori (в его послужном списке такие популярные образцы middleware, как The Granny Animation SDK и Bink, а также сотрудничество с Jonathan Blow в разработке игры The Witness), затеял любопытный обучающий проект. Уже неделю он выкладывает в интернет видеозаписи процесса создания игры Handmade Hero. Что особенно любопытно, игра пишется с нуля, без применения каких-либо сторонних библиотек и фреймворков. Согласитесь, необычный подход для того, кто профессионально занимается как раз созданием "повторно используемых компонентов". Как бы там ни было, игра создается духе той самой "старой школы" old-games, а в видеоролике можно увидеть дневник с пружинным переплетом, такой же, как у Джордана Мехнера! Разочаровывающий момент: автор, на мой взгляд, слишком увлекся низкоуровневой работой с Windows, созданием класса окна и тому подобными вещами.

Рекламный ролик.


Архив вышедших видео: https://www.youtube.com/user/handmadeheroarchive

Пиксельная графика, которую мы потеряли

В самом деле, кто сейчас использует палитровую анимацию? Кто рисует в духе Марка Феррари, который иллюстрировал множество игр от Lucas Arts?

Смотрите: http://www.effectgames.com/demos/canvascycle/
http://www.effectgames.com/demos/worlds/ (спасибо за ссылку drugon)
Сайт художника: http://markferrari.com/art/8bit-game-art/

Игра Game of Life: Total War

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

Сайт: http://gameoflifetotalwar.com/
Правила: http://gameoflifetotalwar.com/how-to-play
Анализ: http://blog.samuellevy.com/post/49-game-of-life-total-war-an-analysis.html

Статья The Cargo Cult of Game Mechanics

Хорошая статья. Заметьте, что: 1) автор ничего не говорит про себя, не рисуется, не "растекается мыслью по древу", 2) дается множество исторических примеров, 3) поднимается серьезная проблема и речь идет об игровой механике, сути игрового процесса, а не об очередных скандалах в околоигровых тусовках.

http://acko.net/blog/the-cargo-cult-of-game-mechanics/

Первая коммерческая игра Джона Кармака

В 19 лет Кармак написал Тennis для Apple II. Игра была продана компании Softdisk. Что было дальше -- история известная.

https://www.facebook.com/video.php?v=891014474242678&set=vb.126630270681106&type=2&theater

Еще один блог? И опять о старых играх?!

0x5A4A это два начальных байта 6-байтной последовательности, которая задает первую галактику в игре Elite. Этот блог о теории, о программировании, о музыке и всем остальном, связанном со старыми играми. Создан он на основе дневника на форуме old-games.ru: http://www.old-games.ru/forum/blog.php?u=216782

Несколько полезных ссылок.

http://www.retrogamer.net/
http://fabiensanglard.net/
http://gamestudies.org/
http://crpgaddict.blogspot.ru/
http://www.hardcoregaming101.net/
https://classicalgaming.wordpress.com/
http://www.filfre.net/