Важная информация
  • IT’S BEHIND YOU - перевод на русский язык первой главы книги

    Уважаемый читатель, предлагаю вашему внимание перевод 1 главы книги британского программиста Боба Пейпа (Bob Pape), который занимался в основном созданием и конверсией компьютерных игр. Самой известной его работой, пожалуй, является конверсия игры R-Type для ZX-Spectrum. В этой книге он вспоминает основные вехи своей профессиональной деятельности. Кому это может быть интересно? Наверное, тем кто хочет посмотреть изнутри на жизнь и творческий путь рядового программиста параллельно отслеживая историю компьютерной техники.

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



    Обложка кассеты игры R-Type для ZX Spectrum

    IT’S BEHIND YOU: the making of a computer game
    by Bob Pape

    Глава 1. Начала

    В шестнадцать лет я закончил среднюю школу (Olchfa Comprehensive School) в городе Суонси (Swansea) (Великобритания, графство Уэльс, здесь и далее курсивом примечания переводчика) с дипломом 4 уровня (затрудняюсь точно определить уровень оценки, предположительно максимальная оценка 1, а минимальная 6, были еще неудовлетворительные 7-9). Шел 1977 год, время, когда выпускники могли легко найти работу (серьезно?!). Я сразу устроился в местную компанию Mettoys, которая разрабатывала и выпускала литые металлические игрушки больше известные как Corgi Cars, а позднее не соответствующие основному профилю компании компьютеры Dragon.

    Я был шестнадцатилетним стажером в должности коммерческого и производственного менеджера (управленцем-руководителем, у нас раньше такие должности назывались инженерными). Как часть программы устроенной компанией для четырех выпускников, мы поработали во всех ее отделах для осознания того, как работает эта единая система. В наши планы входило стать восходящими звездами менеджмента с полным пониманием всех частей компании способными "дать фору" любому, но на деле мы, конечно, были учениками, проработавшими "без году неделю" выполняющие самую неважную работу. Одним из таких мест был Компьютерный отдел, где правда не было неважных работ, просто операторы, работающие на компьютере и программисты пишущие программы. Я должен признаться, что, в то время те вещи, на которые я обратил внимание при работе программистов (при создании коммерческого программного обеспечения) вызывали у меня сильную скуку. Меня сильно увлекла идея стать оператором компьютера, работая в ночную смену и получая надбавку в 43% (!), произвольно одеваясь и игнорируя обязательную офисную "униформу". Когда мои два года обучения закончились я бросил гаечный ключ со словами, что не хочу быть менеджером чего-либо, а могу ли я работать оператором (у нас это было бы эквивалентом перейти из ВУЗа в ПТУ)? Я думаю, что это желание было бы проигнорировано, если бы не еще один стажер Ian также захотевший стать оператором, где мы с ним вскоре и оказались.

    Мне было 18 лет, когда я начал работать оператором на большой ЭВМ ICL 2960 (в числе прочих) и скажу откровенно, компьютер мне никогда не наскучил - это была хорошая работа: оплата была довольно высокой, а часы, проведенные с компьютером, были великолепны. Все изменилось, когда я прочитал двух страничный разворот газеты Daily Mail, о том, как сумасшедшие американцы начали продавать компьютеры, которые вы могли включить и использовать дома, да это же домашний компьютер!

    Если вы можете представить слова "домашний компьютер" сказанные насмешливо недоверчивым тоном комедианта вы бы получили представление на сколько глупым все это казалось в то время, но нет, были представлены фотографии чего-то названным PET и TRS-80, которые вы могли купить приблизительно за £1000 (это вам не ZX Spectrum за £125) и делать на нем кучу разнообразных дел таки как, Гм, баланс чековой книжки, составление рецептов на кухне, написание писем. К сожалению, нам пришлось дождаться появления Sinclair ZX81 пока мы не начали занимать действительно важными вещами, такими как управление атомной электростанцией. Но Daily Mail упомянула, что вы, да именно вы, читающий эту статью, могли собрать этот домашний компьютер и делать на нем какие-то вещи, программируя его и это заинтересовало меня. Тот факт. что кто угодно используя что-то названное Basic'ом может писать свои собственные программы и затем наблюдать за их выполнением, просто сразил меня наповал.

    В моей местной библиотеке была только одна компьютерная книга, содержащая в названии слово Basic, но, к счастью, это было лучшее, что можно было себе представить: "Illustrating BASIC (A Simple Programming Language) by Donald G. Alcock". Даже сейчас я считаю эту книгу одной из лучших написанных когда-либо компьютерных книг для начинающих дающей фору на мили таким сериям как "Для чайников" или "Руководство для полного идиота". После возвращения книги в библиотеку я купил копию для себя и затратив уйму времени на чтение был, восхищен, когда разобрался во всем написанном (знакомое чувство эйфории!). Я пошел и купил свой первый компьютер Sinclair Cambridge Programmable Calculator с немыслимыми восемнадцатью байтами памяти и потратил множество счастливых минут играя в Lunar Lander.


    Мой оригинальный калькулятор Sinclair с, пожалуй, самым ужасным аккумулятором известным человечеству. Но он все еще работает!

    ***

    Город Суонси имел только один компьютерный магазин. В нем также ремонтировали телевизоры и представляли на дисплеях "франшизу" Tandy с TRS-80, но в нем каким-то образом также продавались Commodore PET 2001. Хотя я не мог себе позволить купить одну из этих машин мечты, но книги и руководства были намного дешевле. В итоге я собрал смешанную библиотеку, объясняющую все о PET Jiffys и графических блоках на Tendy.

    Но, конечно, чтение не сравниться с практикой, и в конце концов я по железной дороге отправился в путь. Проехав поездом по Northern Line до High Barnet я совершил долгую прогулку до маленького компьютерного магазина на окраине Лондона, который продавал хитроумно модифицированную версию TRS-80 16K компьютера с встроенным модулятором, позволяющим использовать любой телевизор вместо обязательно дорогого монитора, становясь на несколько сотен фунтов дешевле, чем официальный TRS-80 и намного дешевле чем PET. Наконец-то у меня был мой собственный настоящий домашний компьютер.

    Теперь ничто не могло остановить меня, я даже накупил еще больше книг, включая две "David Ahl's BASIC Computer Games" и проводил недели за утраченным ныне искусством набора программ по листингу. Это были не какие-то особые игры, которыми я интересовался, просто все программы не похоже на предыдущие и готовые к вводу. Были даже книги, которые содержали листинг только одной целой программы, например, SARGON Chess (шахматы). Программы, поставляемые на кассетах из США, были дороги и их было трудно достать. Единственная реальной программой на кассете была текстовая "адвентюра" (приключение) Scott'а Addams'а которая была скопирована для меня (нелегально) (ах, как же это все до боли знакомо...) в магазине, где я покупал TRS-80.

    Мне нравилось играть в текстовые адвентюры, может быть потому, что это все что у меня было (нам в этом плане повезло намного больше), но адвентюры от Addams'а всегда имели замысловатый путь прохождения, а Snakes и Mongoose puzzle от Pirate's Adventure были особенно запутаны и до сих пор при воспоминании у меня вызывают улыбку. В любом случае настало время испытать себя в моей самой первой программе, индивидуальной программе, той, которую еще не видел никто. И я собрался написать игру Pinball.

    Это был полный провал, и я сдался на пол пути оставив эту затею. Забавно, но позднее я понял, что делал неправильно, но было уже поздно, так как все наработки были выброшены. Это была задача вычисления столкновения, я полностью "запорол" ее смешивая пробелы и пустые места в объектах, хотя они и выглядели одинаково как пустые блоки из ничего, но имеют тонкую разницу при проверке ASCII кодов. Движение мяча было тоже ужасно, но все это было написано на Tandy BASIC’е и я был в любом случае обречен на неудачу, но я был слишком наивным, чтобы осознать это тогда.

    Моя вторая попытка программирования на этот раз прошла удачно, и я действительно завершил создание этой программы. Garstly Grange было простым текстовым приключением, которое заставляло вас исследовать пустынный дом фокусника, но игра была вряд ли на уровне адвентюр Addams'а, здесь все специфические действия были достаточно жестко запрограммированы. Я имею ввиду, что здесь не использовался интерпретатор как в Infocom’s Zork или Gilsoft’s The Quill, здесь код был основан на построчных сравнениях IF THEN.

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

    ***

    Единственное что объединяло Garstly Grange с адвентюрами Scott Addams это разделенный экран каждый со своим скроллингом и эффект набора, которые я подсмотрел из какого-то журнала. Конечно, это был машинный код, но я понятия не имел что там делается и тем более как, я просто набрал цифры, а затем через магическую команду TRS-80 VARPTR половина экрана стояла на месте, пока другая продолжала прокручиваться. Я купил несколько книг по машинному коду в дни праздного шатания по магазинам и даже пытался их читать, но быстро сдавался всего через несколько страниц, все это просто не доходило до меня. Там не было синтаксического или логического объяснения за командами, которые я мог бы изучить, а скорее полная идея данного машинного кода на языке Ассемблер, Отладчики, Мониторы, PEEKs и POKEs - что все это значило!? Возможно, я слишком легко сдался, или, может быть, завершив программу, мне уже не чего было доказывать самому себе, но это все, что я сделал на TRS-80 за следующие четыре-пять лет (прямо скажем не густо). После увольнения из Mettoys я перемещался по стране как оператор компьютера со своим TRS-80, но никогда не испытывал желания сесть за компьютер и позаниматься творчеством. Я все еще покупал игры и утилиты и пользовался компьютером, но писал только небольшие программы на интерпретаторе BASIC'а на стационарных ЭВМ на работе. Я не знаю, что за ICL (International Computers Limited, имеется ввиду мощность) была заложена в этих машинах, но на ЭВМ 2980 мне пришлось поставить проверку времени в одну из своих написанных текстовых адвентюр, так чтобы она запускалась только после 18.00, иначе это могло подвесить всю систему. А это был лишь простой цикл на BASIC'е!

    Я забросил свой TRS-80 после своего очередного проекта. Разрабатывая Traveller RPG, я решил ни много ни мало, что 16K TRS-80 может легко поддерживать многопользовательскую игру по почте в части торговли. Я, конечно, повзрослел, но не избавился от своей наивности, которая зашла так далеко, что я стал набирать название планет и описание товаров, до того, как, я осознал, что здесь это никогда не будет работать. Позднее эту задачу David Bell и Ian Braben довольно элегантно решили в Elite.

    Я впервые наткнулся на язык программирования FORTH на страницах компьютерных журналов, где упоминалась целая концепция создания пользовательских команд и ключевых слов, которые бы делали именно то, что вы от них хотите, что привлекло меня. Больше никакой борьбы с ограничением интерпретатора языка BASIC: если команды не делали то, что вы хотели, тогда просто напишите новую. Лучшего способа выучить этот язык, как на специальной машине, посвященной FORTH, не было. Jupiter Ace возможно была самой глупой реализованной идей на ранней сцене домашних компьютеров (смотрите мою первую статью!). Да, в домашний компьютер был встроен компилятор/декомпилятор FORTH, что приводило к быстрым и компактным программам способным мгновенно захватить рынок, но корпус (кроме всего прочего) казалось был сделан из пластического материала похожего на бутылку от йогурта, а резиновая клавиатура сделана из поношенных остатков от ZX Spectrum'а (у него также была резиновая клавиатура), это еще мягко выражаясь.

    Я могу продолжить, упоминая крошечный 1К памяти, черно белый текстовый дисплей, тревожное скрипение и прогибание машины, когда вы с трудом нажимаете на клавишу, необходимость купить модуль расширения памяти перед тем, как сделать хоть что-то отдаленно интересное со всем этим (какие интересные подробности!). Но несмотря на все недостатки это был действительно отличный способ, чтобы выучить FORTH, как только компьютер стоимостью £90 появился в моем местном магазине Debenhams я довольно быстро его приобрел и начал кодировать игры для этой машины. Фактически, создание своих собственных игр было единственным возможным занятием, так как машина изначально была "мертвой" и пытаться раздобыть ЛЮБОЕ программное обеспечение для нее было пустой тратой времени.

    Печатая по ночам в своей спальне после работы, я сделал четыре 1K игры, одна из которых была микро адвентюрой, хранящая данные на экране, но скрывала это делая цвет текста и экрана одинаковыми и ограничивая игровую область несколькими строками внизу экрана!

    Первоначальный план состоял в том, чтобы попробовать заработать немного денег на этих играх, но из этого ничего не вышло, они не были даже разосланы для ознакомления, а сейчас их давно уже нет, но я понимаю, что обучение FORTH подстегнуло меня перейти с BASIC'а в машинный код, после этого просматривая книгу по языку Ассемблер для Z80, значение некоторых вещей стало доходить до меня.

    ***

    Я познакомился с ZX Spectrum'ом довольно поздно, где-то в 1984/85 и сначала купил модель 48К просто, чтобы играть в игры, в частности в Manic Miner. У меня действительно вообще не было намерения программировать на этой машине, поскольку я уже работал вольнонаемным оператором больших ЭВМ и иногда разработчиком для BBC Micro. Но работа "фрилансера" подразумевает текучку, так что когда не было работы я имел привычку играть в игры на Спектруме избавляясь от скуки лучше чем-либо еще. Первый раз я попробовал закодировать что-нибудь для Спектрума, когда журнал опубликовал как можно выполнять подпрограммы в ПЗУ вместо команд BASIC'а используя такие вещи как очистить экран, сделать пиксель видимым на экране, и, действительно это быстрее, чем использовать команду BASIC'a PLOT и я подумал... Гм... Если я могу сделать это 64 раза, то смогу сделать и пиксельную графику 8*8 появляющуюся на экране где я захочу.

    Я правильно подобрал сетку работая с теми пикселями, которые нужно было устанавливать, чтобы сделать это похожим на мяч и вызывал подпрограмму PLOT из ПЗУ 64 раза через несколько простых циклов в машинном коде. Тогда это был лимит моих знаний. Вся тяжелая работа была выполнена без Ассемблера, благодаря числам, сохраненным в память командой POKE и разбирательством как все это в целом работает. После нескольких неудач я все-таки получил свой мячик 8*8 появляющийся в любом нужном мне месте экрана. Вызывая 64 раза процедуру из ПЗУ даже из цикла в машинных кодах приводило к относительно медленной работе, поэтому я приобрел копию книги "The Complete Spectrum ROM Disassembly", чтобы посмотреть, что именно я вызывал и простой Ассемблер, работающий с кассетой, чтобы облегчить себе жизнь при кодировании, и бит за битом изучил оптимизацию кода, написанного мной. Как только я понял, я смог заменить восемь обращений к подпрограмме в ПЗУ простой командой LD (HL),n, я знал, что нахожусь на правильном пути!

    Пока все это происходило я купил копию Gilsoft's Quill Adventure System с помыслами написать адвентюрную игру, которую я бы смог продать, вероятно, как и у всех остальных купивших такую же копию. У меня было несколько идей для игр, но решив испытать и изучить эту систему целиком я взялся за версию старой классической Colossal Adventure от Crowther and Woods. У меня был листинг Colossal Adventure на Basic'е, который был напечатан в американском компьютерном журнале, так что описание комнат, объектов, сообщений, логика и команды были у меня перед носом и все что мне нужно было сделать это перенести все на Quill, что уже было намного проще.

    Quill был отличной программой, но чем больше я его использовал, тем больше осознавал его ограничения, особенно в отношении Colossal Adventure с ее длинными описаниями локаций и вещей, постоянной нуждой вывода текста снова и снова, тогда как он уходил за экран. Ели бы The Quill имел бы такую возможность как сжатие текста, раздельный скроллинг на экране и большую экранную область, вместить Colossal Adventure до заполнения лимита ОЗУ не было бы проблемой. Но он таких возможностей не имел, так что тут была только одна альтернатива, сделать все это самому.

    Именно здесь я реально изучил программирование на Z80 посвящая этому недели и внимательно проходя через The Quill с помощью Romantic Robot Multiface 1 и дизассеблер, делая заметки, где я обдумывал обращение к различным подпрограммам и пытался перенаправить в мои блоки кода. Изнутри The Quill был очень аккуратным куском кода, что делало отслеживание подпрограммы очень легким и так же это был очень безопасный кусок кода, обращение к подпрограммам обрабатывалось чисто, почти без затирания значений регистров, что позволило вклинить мои собственные подпрограммы довольно просто. Что действительно удивило меня, это как быстро я нашел способ делать такие вещи как: систему компрессии и декомпрессии текста, подпрограмму вывода строки в 42 символа (6 точек на пиксель), и благодаря этому я однажды осознал, что я наконец хочу сделать и как это сделать, используя код ассемблера Z80, и подставив его, что казалось самым простым способом.

    В итоге я получил единый блок кода, в который я добавил около сорока команд для The Quill: внедрил сжатие текста и печать на экране в 42 символа, авто форматирование текста, сохранение и загрузку ОЗУ, звуковые подпрограммы, а базу для системы игровой графики я надеялся добавить позже. Еще я дал имя программе: The Enhancer.

    The Enhancer был первой мною написанной вещью на которой я думал есть шанс сделать деньги и кто больше понимал на рынке программ так это Gilsoft, так я и решил нанести им визит остановившись на варианте поговорить на старом PCW Computer Shows, думая, что как только они увидят мою игру они сразу решат, что с ней можно сделать, а возможно ухватятся за меня! Я наконец поговорил с одним из них, но компания не проявила к этому особого энтузиазма, возможно потому, что они уже выпустили свое дополнение, называющееся The Patch, которое дал The Quill раздельный скроллинг, сохранение памяти, звуковые подпрограммы и некоторые манипуляции с флагами, и так же потому что они запускали еще одно дополнение The Press которое позволяло сжимать ваше текстовое приключение вдобавок к дополнительным функциям из The Patch.

    Конечно я думал, что моя версия утрет нос The Patch/Press, особенно после обзора в журнале, где упоминалось, что упаковка всего текста игры может занять до восьми часов, а мой пакет делал это практически мгновенно и что я должен был сделать так это попытаться найти другую компанию, которая могла бы этим заинтересоваться. Но было тяжело оставаться оптимистом, особенно когда ты начинающий и эта старая наивность все еще управляет тобой, так что я принял как должное, что никто не хочет мой код и вернулся в Соунси полностью разочарованным.

    ***

    Пока я изучал все тонкости машинного кода Спектрума мне по-прежнему приходилось зарабатывать на жизнь, поэтому я согласился конвертировать интегрированный бизнес-пакет, который продавал предыдущий работодатель Val для BBC Micro для работы на CPM машинах, а конкретно под старый компьютер Apricot. Как побочный бизнес Val, мой бывший босс, имел десять тысяч клавиатур пианинного типа, которые он пытался продать пользователям таких компьютеров как Spectrum 128, BBC и C64 под именем Echo Musical Synthesizer вместе с Echosound Amplifier - небольшим пяти ватным усилителем, для того чтобы вы могли услышать. то что вы играете, но продавались они не очень хорошо. Эти десять тысяч клавиатур были разобраны, и должны были бы наконец собраны вместе, но это делало их слишком тяжелыми из-за металлического корпуса и больших размеров клавиатуры, что подразумевает увеличение стоимости почтовых услуг доставки, откусывающих большую часть доходного пирога.

    За все время объем продаж составил около восьмидесяти единиц, так что шанс продать остальные 9'920 устройств казавшимися такими изящными были очень небольшими, так что все могло случиться так, что все это придется просто отнести на свалку.

    Несмотря на это каким-то чудом менеджер Val договорился с Currys Electrical, чтобы забрать все остатки для национальной Рождественской распродажи Spectrum 128K при условии, что клавиатуры будут представлены в сборе несмотря на смехотворно малое количество оставшихся недель до дня распродажи.

    В старом гараже вне офиса была установлена линия сборки и члены семьи были привлечены чтобы собрать десять тысяч клавиатур. С какой-то компанией из двух человек был подписан контракт на сборку платы интерфейса, а ближайшая Kempston Micro Electronics Ltd. поставила пластические корпуса для них, которые по факту были корпусами от старых интерфейсов для джойстиков, имена которых были стерты, а некоторые отверстия корпуса были расширены (вручную сразу для всех 10'000), чтобы подключить немного больший коннектор. С программным обеспечением было хуже, хотя Currys были заинтересованы только в версии для Спектрума они хотели пользователям предоставить возможность записывать и воспроизводить музыку, ни одна из известных программа не могла это сделать.


    Обложка кассеты Organ Master – не потребовала расходов на переделку.

    Val обратились к создателям оригинального ПО для клавиатуры, но их не устроило как большое время для разработки, так и высокая цена, так что они решили обратиться к кому-либо еще, а поскольку они знали только одного человека программирующего для Спектрум, то я получил эту работу. Я не могу вспомнить предложили ли мне ее или я сам вызвался, но я уже бежал вокруг района Лондона West End в поисках копии ассемблера Laser Genius от компании Ocean Software который как предполагалось поддерживал работу под 128K Spectrum (но не делал это) и любые книги машинного кода для 128K (что не так).

    Это была настоящая хакерская работа, поскольку я поставил жучок в подпрограмму генерирования ноты для того, чтобы перехватить какая клавиша была нажата и как долго она удерживалась, чтобы потом все это сохранить крайне неэффективным, тупым способом. Если бы у меня был опыт по лучше, то я бы сделал все иначе и переписал бы все, но для Val время деньги, так что за два дня я внес правки в главную программу на Basic'е, добавил подпрограмму на машинных кодах для доступа к дополнительной памяти для машины 128K и внедрил мою заплатку записи/загрузки.

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

    Мой первый вклад в коммерческое ПО был уже в продаже (или точнее поступил в продажу), но все что было сделано был небольшой взлом в чьем-то чужом коде, хуже того не тем, чем я мог бы гордиться. Я закончил конвертацию с BBC в Apricot и вернулся домой безработный и готовый возобновить мое программирование на Спектруме, от которого был отлучен.


    Загрузочный экран программы Organ Master - созданный мною как редкая вспышка моих графических способностей

    Если никто не заинтересовался редактором адвентюр тогда я дам людям то, что они хотят, а они хотели бы … еще один клон Manic Miner'а. Да я понимаю полную несерьезность этого сейчас, но тогда это казалось хорошей идеей и я использовал слово клон умышленно, поскольку пытался продублировать Manic Miner так близко как это было возможно, используя логику, которая тогда уже была сделана, все что мне было нужно так это понять, как это работает, и я мог сделать это! Из графики Miner Willy слепленной из оригинала я сделал перемещающегося персонажа причем более плавно чем в оригинале и прыгающего вокруг экрана, падающего через разрушающиеся блоки, перемещающиеся на ремнях конвейера и все остальное чему только я мог подражать, все благодаря нескольким спрайтовым подпрограммам написанных мною и магии машинного кода Z80.

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

    ***

    Пока я пытался достичь удачи и славы при помощи маленького прыгающего человечка мне все еще приходилось зарабатывать на жизнь, и я случайно наткнулся на следующую возможность. Читая компьютерный журнал, я заметил, что компания, создававшая обучающие программы для BBC Micro, была расположена в Суонси, более того адрес находился недалеко от места моего проживания и я решил познакомиться с ними. Я не искал работу, просто возможность пообщаться на тему домашних компьютеров и программного обеспечения без какой-либо конкретной темы, но на мое счастье они хотели выпустить BBC версию своей программы для Спектрума, но была ли мне интересна данная конверсия? Конечно, тогда была эпоха "домашнего кодирования" H.S. Software была создана по этому подобию, какой-то человек работал буквально в спальне дома, но все делал профессионально с приличным копированием на носители, печатью и упаковкой, и мы вдвоем с ним сработались очень хорошо. Я согласился конвертировать пару его BBC игр Fire Fight и Splashdown сложив вместе подпрограммы в машинном коде, которые я использовал для них и как надеялся для будущих игр. Подпрограммы были простыми, общие куски кода: скроллирование коробки с размерами X-Y вверх, вниз, влево, вправо, перемещение спрайта вокруг экрана, печать символов двойного размера и некоторые звуковые подпрограммы, основанные на The Enhancer.


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

    Игры были смешением машинного кода и Basic'а с графикой из версии BBC, конечно не сравнимой с Ultimate или Imagin, она была крайне упрощенной, впрочем, как и игровой процесс, но программы были направлены на детей 5-8 лет обучая их чтению и произношению, так что была надежда на снисхождение. Игра получила обзор в журнале Crash в сентябре 1987, где была оценена как "очень мило представленная и веселая игра" а графика была "захватывающей и привлекательной". Я сделал еще две игры для H.S. Software продолжающих эту серию Pyramids и Sploosh, после чего мы решили пока подождать, посмотрев, как они будут продаваться, чтобы решить, нужно ли конвертировать остальную часть серии.

    ***

    Я не знал, что делать дальше, поэтому заглянул на местную Биржу занятости. Я не видел объявлений о наборе программистов для создания компьютерных игр и пообещал себе, что буду зарабатывать как минимум £5000 в год создавая игры, что звучало немного хорошо для моих невинно наивных ушей. Как-то разговаривая с кем-то по телефону из города Southampton из компании Designmaker, меня попросили прислать кассету с демонстрациями моих программ, так что я взял своего убийцу Manic Miner'а содержащего один экран с тремя или четырьмя этажами (я мог даже управлять рисованием кирпичиков и плиточных персонажей) с Miner Willys ходящего с четырьмя скоростями перемещения вперед/назад по различным препятствиям. Я совместил скроллирование экрана с кодом из H.S. Games включая копию The Enhancer и документацию к нему и отослал все вместе.

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

    Признаюсь, я был одним из тех самых смеющихся "рецензентов" позже, когда я имел возможность посмотреть на некоторые из присланных в Designmaker материалов, но вы мне не поверите, если узнаете мусорный уровень этих работ (просматривая новые игры в Steam’е еще как поверим!). Я, конечно, ничего этого не знал в то время, но чувствовал, что мой талант наконец-то заметили (ха!) и с нетерпением ждал встречи с Designmaker в маленьком городке Neathгороде недалеко от Соунси. Как ни странно, я никогда раньше не слышал и не сталкивался с тем, что крупный издательский дом компьютерных игр находился так близко от меня. Я предполагал, что это был первый намек на те трудности и проблемы, которые так скоро встретятся на моем пути.

    Следующая глава >>

    Приложение

    Ссылка на документацию The Enhancer: http://itsbehindyou.atwebpages.com/a...structions.pdf

    Для тех, кого заинтересовала данная книга

    Официальная домашняя страница книги: http://itsbehindyou.atwebpages.com/index.html
    Страница Bob Pape на WorldOfSpectrum: https://worldofspectrum.org/archive/people/bob-pape
    Упоминавшаяся книга по Basic'у: https://books.google.com/books?id=i5...sec=frontcover

    Другие статьи автора: https://zx-pk.ru/list/author/7587-PATHNK

    Комментарии 10 Комментарии
    1. Аватар для Spectramine
      Spectramine -
      Спасибо, интересно.
    1. Аватар для SfS
      SfS -
      Спасибо. Очень интересно читать.

      Позволю замечание: так и прёт машинный перевод.

      Например "мой бывший босс, имел десять тысяч клавиатур пианинного типа" звучит не по-русски.
      Стоит исправить на "У моего бывшего босса имелось десять тысяч клавиатур пианинного типа". Или "У моего бывшего босса было десять тысяч клавиатур пианинного типа".

      Фраза "скроллирование коробки с размерами X-Y" вообще что-то сродни классическому "голый проводник бежал по крыше вагона"...
      Лучше заменить на "прокрутка прямоугольной области экрана".

      В общем, ещё раз спасибо. Работа отменная в плане содержания. Но, надеюсь, найдётся время вычитать и поправить ляпы формы.
    1. Аватар для PATHNK
      PATHNK -
      SfS, Спасибо за справедливые замечания. Это как раз тот случай, когда больше боишься неправильно передать смысл. Вторая глава очень скоро будет опубликована, третья почти закончена, будет еще интереснее, так что, как говорится, оставайтесь с нами!
    1. Аватар для Manwe
      Manwe -
      А можно ссылку на « смотрите мою первую статью»? Хочется почитать про Forth.
    1. Аватар для SfS
      SfS -
      Цитата Сообщение от PATHNK Посмотреть сообщение
      SfSСпасибо за справедливые замечания.
      Пожалуйста Критиковать мы все любим

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

      Цитата Сообщение от PATHNK Посмотреть сообщение
      Вторая глава очень скоро будет опубликована, третья почти закончена, будет еще интереснее, так что, как говорится, оставайтесь с нами!
      Не дождётесь (С) !

      - - - Добавлено - - -

      Кстати, посмотрел оригинал. Там немного не так.

      Например:

      One of those places was the company Computer Department where there really were no crap jobs,just the Operators running the computers and the Programmers writing the software.
      Вы перевели настолько толерантно, что смысл немного утерян:

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

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

      - - - Добавлено - - -

      Но вообще - классная книга, конечно. Жаль, что английский плохо знаю.
    1. Аватар для PATHNK
      PATHNK -
      Цитата Сообщение от Manwe Посмотреть сообщение
      А можно ссылку на « смотрите мою первую статью»? Хочется почитать про Forth.
      Тык. Подсказка: на этом сайте если кликнуть на ник и выбрать пункт "Просмотр статей", то можно получить их полный список.
    1. Аватар для Bedazzle
      Bedazzle -
      >>подпрограмму вывода строки в 42 символа (6 точек на пиксель),

      скорей 6 точек на символ
      42*6=252, что влазит в ширину, оставляя чутка незанятых пикселей

      >>поставила пластические корпуса

      пластиковые

      >>скроллирование коробки с размерами X-Y

      прямоугольной области
    1. Аватар для nzeemin
      nzeemin -
      Перевод местами сильно хромает.
      "... но я уже бежал вокруг района Лондона West End в поисках копии ассемблера Laser Genius от компании Ocean Software который как предполагалось поддерживал работу под 128K Spectrum (но не делал это) и любые книги машинного кода для 128K (что не так)."
      Я таки пошёл смотреть что значит это "что не так" в конце.
      Там "none whatsoever" - "всё равно ничего [не нашёл]".
      Т.е. смысл тут потерялся совсем.
    1. Аватар для Vatr
      Vatr -
      "Позднее эту задачу David Bell и Ian Braben довольно элегантно решили в Elite."

      Ian Bell и David Braben - так лучше )
    1. Аватар для PATHNK
      PATHNK -
      Цитата Сообщение от Vatr Посмотреть сообщение
      Ian Bell и David Braben - так лучше )
      Ну хоть здесь не моя вина.
  • Yandex.Direct

  • ZX Banner Ring

  • ВКонтакте