6.2 C
София

40 години, откакто Elite стана най-забавното, което можете да имате с 22 килобайта

Retro Tech Week През 1984 г. пускането на компютърна игра беше съобщено в британските национални новини. Предполагаемата причина? Редакторът на новините очевидно е влязъл след обяд и е открил, че целият персонал го пуска.

BBC Micro Model B

BBC Micro Model B, работещ с Elite. Снимка: Ричард Спийд

Тази игра беше легендарната космическа битка и търговски симулатор Elite. Commander Jameson беше името на първия герой, който играчът можеше да контролира, и с течение на дните хиляди Commander Jamesons се отправиха да изследват осем галактики и 2048 планети чрез 3-D wireframe графики, реалистичен физически двигател и изумителни игра. Кодът използваше само 22 килобайта памет и играчите можеха да получат играта по пощата. Софи Уилсън, която проектира компютъра на BBC, на който се изпълняваше играта, описа Elite като „играта, която не можеше да бъде написана.“

Дизайнът му беше изключително необичаен. От една страна, това вероятно беше първата система с отворена вселена, и второ, тя не разчиташе на традиционни цели като високи резултати. Играчите можеха да търгуват между планетите, да опитват лов на глави или да убиват търговци за товари, да пренасят незаконни предмети или да копаят астероиди, ако си представят много бавно време.

Написана от Иън Бел и Дейвид Брабен, докато учеха в университета в Кеймбридж в Обединеното кралство, Elite беше пусната с огромен шум от Acornsoft, беше доставена с превъзходно ръководство за потребителя и дори новела за обяснение на вселената. Оригиналният Elite в крайна сметка продаде около един милион бройки. (Това е храна за пилета днес, но през 1980 г. изчисленията това беше огромен брой.)

Имаше две популярни продължения, а през 2012 г. Braben пусна Kickstarter за рестартиране на Elite, оборудван за 21-ви век. Проработи, като Elite Dangerous продаде повече от три милиона копия и спечели база от лоялни фенове, много от които не са били родени, когато първият софтуер е изпратен.

След това, през 2021 г., уеб разработчикът Марк Моксън най-накрая успя да сглоби оригиналния код във формат, който може да се играе (отчасти благодарение на блокирането срещу COVID) и го направи свободно достъпен за онези, които искат да изпробват оригинала. Той обясни пред The Register как е направено това, което можете да прочетете по-късно в материала.

Но първо Иън Бел, който оттогава се премести от игрите в компютърно-подпомогнатия дизайн, ни говори за ранните дни на Elite и как се зароди тази легендарна игра.

Регистърът : „Елитът беше необичаен за времето, тъй като беше съвместно усилие, как работи това на практика?“

Бел : „Нямаше никакъв имейл; изпращахме си един на друг пет и четвърт инчови дискети по пощата. В този момент нямахме принтери. Тогава в крайна сметка и двамата получихме принтери. Така че той всъщност ми изпращаше магазин спулирани списъци, текстови файлове, сборката 6502, която след това щях да импортирам и конвертирам в BBC Мисля, че така го направихме.

„Всичко това се случваше през летните ваканции първоначално, но след това, когато и двамата се върнахме заедно в Исусовия колеж, ходехме в стаите един на друг, за да работим по нещата. Аз направих по-голямата част от кодирането. Дейвид направи оригиналния сюжет на кораба .. След това той направи генерирането на вселената и търговията. Така те се свързаха заедно и в крайна сметка стигнаха до BBC.“

The Register : „Отвореният характер на играта беше откровение. Как го направихте?“

Бел : „С Elite използваме процедурно генерирана вселена. Спряхме се на галактика от 256 планети, но първоначално нямахме ограничение от осем галактики. Защото обикновено, след като генерирате процедурно, няма причина да го ограничавате .

„Процедурно се генерира около поредица от произволни числа, които по същество изхвърлят планети. И така, след като получите това, имате по същество безкраен брой планети, стига вашият генератор на произволни числа да не циклира. Първоначално галактиката броенето започна от едно и просто продължи нагоре.

„Но Дейвид Джонсън Дейвис [основател на Acornsoft] каза, не, че трябва да ограничим това – трябва да имате само осем. И той беше абсолютно прав. Ако имахме сто от тях, хората щяха да осъзнаят, че няма абсолютно никакъв начин че тези неща се съхраняват в компютъра.

„Но, разбира се, беше генерирано на случаен принцип. Искам да кажа, че имаше дисфункции. Имаше планети, които са повече от допустимото количество гориво от седем светлинни години. Добавянето на допълнителни резервоари за гориво вероятно е нещо, което щяхме да направим, ако не бяхме нямам памет.“

The Register : „По отношение на геймплея имаше много различни кариерни пътища, които хората можеха да поемат. Какво ги вдъхнови?“

Бел: „Хареса ми идеята, че играчът може да избере собствения си морален път. И ако искате да опитате да поемете по пътя на ненасилието и просто да търгувате по безопасни търговски пътища и да бягате от пиратите, вместо да отвръщате на удара, тогава бихте могли направи го.

„Що се отнася до Таргоидите, Дейвид [Брабен] ги е проектирал да изглеждат различно от всички кораби. Така че решихме, че искаме да имаме извънземни и те трябваше да бъдат вътрешно зли. Идеята беше, че те са хора, които играчът може да убие без никакво чувство за вина Това им беше идеята.

„Elite имаше за цел да вдъхновява хората. Както по отношение на пространството, така и по отношение на това какви игри могат да бъдат както с три измерения, така и с този вид отворен геймплей.“

Регистърът : „Все още ли играете играта?“

Bell : „Не съм играл Elite от много дълго време.“

Регистърът : „И какво правиш сега?“

Бел : „Имах хоби да правя UV рисуване по тялото на рейвове, но не съм ходил на рейв повече от десет години. Преди бях наистина запален по музиката, но не съм я слушал от години.

„Сега работя в компютърно проектиран дизайн. В него има много геометрична алгебра; всичко отново се свежда до въртене. Част от Elite за мен беше математиката и сега се опитваме да въведем математика с по-високи измерения в CAD.

„Сега сме в 21-ви век и въпреки това CAD все още използва геометрията от 17-ти век. Те дори не използват геометрията от 18-ти век – това е абсурдно. Наслаждавам се да работя върху това, така че сега кодирам на C++ на големи модерни компютри Това е различен набор от умения – все още математика и оптимизация, но е много различен.

„Мисля, че идеята за програмиране на ниско ниво върху изключително ограничени ресурси може да се върне по отношение на нанотехнологиите, но все още не сме наистина там.“

И все пак пламъкът на Elite все още гори

Разработчикът Марк Моксън, бивш редактор на списание Acorn User и ключова част от проекта H2G2, беше пристрастен към Elite от първия път, когато го игра, и наскоро успя да пресъздаде играта в нейната цялост от оригиналната кодова база.

Работата беше плод на любов за Moxon, който каза, че е бил очарован от играта през 1984 г. и е продължил да я играе дълги години. Бел пусна изходния код през ноември 1999 г., което доведе до разногласия със съ-създателя Брабен, но когато Моксън се натъкна на него няколко години по-късно, той беше „напълно неразбираем“, каза той пред The Register в разширено интервю.

„Погледнах го и си помислих „не мога да разбера думата“, обясни той. „Относно 2014 г. Пол Бринк състави анализ на дисковата версия, което беше истинска крачка напред. И тогава се случи блокиране.“

Регистърът : „Значи блокирането ви даде време да свършите работата?“

Моксън: „Да. И беше идеално за всички онези проекти, които паркирате. Мисля си, че би било хубаво да имате време да направите това. И изведнъж седите там и правителството ви казва да се заемете и да не излиза. Така че за някой с офис, пълен с наполовина завършени проекти, беше перфектно. Винаги съм смятал, че това ще е страхотно нещо, но никога не съм мислил, че ще се случи в този момент.

„По време на блокирането се натъкнах на това хранилище на GitHub от 2017 г., където човек на име Кийрън [Киран Конъл от групата за хакване на стари кодове на BBC Bitshifters Collective] беше взел изходния код и изгради скриптовете на Python, за да се справи с цялата защита срещу копиране и криптиране. Мислех, че това е просто тайнствена магия, повярвайте му, защото това означаваше, че мога да създам версия на моя Mac и всъщност да го стартирам, да си играя с него и да се ровя с кода.“

Регистърът : „Сега, след като напълно анализирахте кода, има ли нещо там, което намирате, че е приложимо в ежедневното кодиране по отношение на опростяване и намаляване на раздуването?“

Моксън: „Само в смисъл на това, това е доста добро нещо. Но честно казано, работата в бизнеса никога не е висок приоритет. Мисля, че ако работите във вградени системи, ще има много да научите от подходите, които тези момчета са използвали, тъй като вградените системи използват много по-прости микроконтролери.

„Когато създавате бекенд за уебсайт, никой не ви моли да заключвате нещата толкова здраво; това е реалността на бизнеса. Освен това нещата не трябва да бъдат завършени, когато бъдат пуснати в наши дни. Изпращате нещо на касета, наистина трябва да го правите правилно. Имаше няколко грешки, когато беше пуснато и трябваше да изтеглят, но за толкова сложен код това е нещо хубаво невероятно.“

Регистърът : „И така, за да разрешим един класически аргумент – колко голям е Elite точно от гледна точка на кодирането?“

Moxon: „Така че с класическия Elite той е около 22 килобайта. Кодът всъщност е само 21 906 байта основна памет, оставяйки 66 байта свободни в цялата машина. Така че почти това е горната граница.

„Предполагам, че зависи и от това колко функции имаш, заради версията на Acorn Electron. И те трябваше да премахнат Thargoids и някои други наистина доста големи функции. Това беше намаление с 10 процента, притискайки го към Acorn Electron. „

Регистърът : „Когато разгледахте кода, какви бяха основните ви впечатления?“

Моксън: „Наистина е интересно да се сравняват стиловете на кодиране на хората. Тъй като Elite е написан от двама души, можете да разберете кой е написал кои раздели обикновено често, не на последно място, защото имената на променливите са различни. Това е така, защото Дейвид Брабен е написал своя код на Acorn Atom преди получаване на BBC, така че за по-късен код, така че не е точна наука.

„Елитът е написан от двама различни хора и някак смачкан заедно. И показва, че има ужасно много дублирани масови процедури и така нататък, които, ако го правите един човек, вероятно ще напишете една по-обща процедура за умножение, отколкото 10 различни с фини разлики. Те дори имаха място за няколко дублирания в този код.“

Регистърът : „Толкова малки грешки в кодова база?“

Моксън: „Точно така. Да. И за щастие успях да открия това и да го поправя и да използвам това пространство за добавяне на някои модификации към Elite, които винаги са много забавни. Тази беше само няколко байта. Но тя активира да препортирам алгоритъм без трептене, който беше в по-късна версия за BBC master. И това не се нуждаеше от много допълнителни байтове.“

The Register : „Беше удивително сложна игра, въпреки че дните на телената рамка изискваха малко въображение.“

Моксън: „Наистина трябваше да използвате въображението си, но те включиха в кутията фантастичното ръководство и това накара хората да се замислят.

„Има интересно нещо за Elite и очаквам, че ще го намерите в секцията за коментари към вашата статия. Хората абсолютно ще се закълнат сляпо, че са срещали неща в Elite, които просто не са в кода изобщо. Хората продължават за това как си спомнят как са открили кораби за генериране или са били качени от полицията.Което също не се случва.

„Има толкова много неща, които просто не съществуват в тази игра, че хората ще се закълнат, че ще им се случат. И дори когато кажете: „Вижте, наистина съжалявам, не е в кода“, те казват, Е, трябва да съм имал версия, към която е добавен.“

Регистърът : „И имаше много версии, както и две последващи действия и рестартиране, Elite Dangerous.“

Moxon: „Ами наистина. Не играх следващите две версии при стартирането, защото бяха компютърни игри и тогава използвах Mac. Пробвах ги няколко пъти, но Нютоновият физически двигател беше много труден за някой, израснал на оригинален.

„Elite Dangerous обаче е прекрасна. Когато стартираха рестартирането, аз направих малък принос, така че в играта има станция с моето име. Взриви ума ми, знаете ли, този уау фактор във VR беше труден за преодоляване. Все още е впечатляващо. Наистина е.“ ®

Сподели

Времето днес

София
предимно ясно
6.2 ° C
7.4 °
4.8 °
78 %
2.6kmh
20 %
ср
15 °
чт
15 °
пт
13 °
сб
8 °
нд
7 °

Автор

ВАШИЯТ КОМЕНТАР

Моля, въведете коментар!
Моля, въведете името си тук