В начале пути...

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

Детские годы прошли перед экраном жужжащего 14-дюймового ЭЛТ-монитора. Пиратили игры с друзьями, передавая их на 3,5-дюймовых дискетах с вырезанными уголками. Иногда даже играли в них. Но больше я был коллекционером, чем геймером — как Эш из Покемона, нужно было ловить их всех. Люди, создавшие компьютерные игры, были моими идолами. Поражало то, как они заставляли этот тяжёлый бежевый ящик под столом делать невозможное.

Потом узнали, что через Hex View в XTreeGold можно редактировать файлы сохранений — дать себе бесконечные жизни и пропустить уровни. С каждой новой игрой начиналась гонка: кто первым найдёт правильные биты для включения бонусов. Адреналин! Это была не просто возня с кодом — казалось, мы становимся богами.

Несколько лет спустя появился модем. Вскоре мы достали The Australian BBS Listing — текстовый файл со списком доступных BBS-серверов в сети. Звонили на все подряд. Это открыло новый мир. Вместо пригоршни друзей, обменивающихся играми через Sneakernet, я подключился к цифровому подполью — месту, где была доступна вся цифровая культура (некоторые BBS даже имели шлюз в интернет). Новинки, о которых я только читал в PC Zone, теперь закачивались по проводу через ZMODEM.

Но в играх с BBS было что-то необычное — не плохое, а волнующее. Перед каждым запуском игры словно проигрывалась короткая заставка. Не объявление про ножи для стейков — нет. Это были дерзкие постеры, которые кричали «fuck you» от создателей, взломавших защиту копирования и теперь раздающих пиратскую версию. Позже узнал, что такие заставки называются cracktros — предшественники демо, начало демосцены. Но демо — это просто слово не может передать то, что они из себя представляли. Это было внетелесным опытом. Сенсорная перегрузка. Как если бы в 2 часа ночи, полупьяный и полусонный, вдруг очутиться перед видеоклипом в стиле поздних 90-х acid hard trance, чувствуя, как это вливается прямо в кору головного мозга. Когда это кончалось, ты застывал. Не уверен, видел ли что-то настоящее или просто галлюцинировал. Единственное, в чём ты был уверен — это было потрясающе.

Однажды, листая файлы на каком-то BBS, нашёл архив с невинным названием TUT1-9.ZIP. Описание в файле FILE_ID.DIZ привлекло внимание:

    +----------------------------+
    |     The ASPHYXIA VGA       |
    |   DEMO TRAINER SERIES!     |
    |                            |
    |   By Denthor of ASPHYXIA   |
    |                            |
    |    Documentation on how    |
    |  to code demo like effects |
    |         in TP6/7!          |
    |                            |
    |Full Pascal source included!|
    |                            |
    |    From putting a pixel    |
    |  to sprites and animation  |
    |  to wireframe 3D to solid  |
    |            3D!             |
    |                            |
    |       Get it now!          |
    +----------------------------+

Как кодить демо-эффекты? Значит, я тоже мог быть одним из этих волшебников, которые имеют полный контроль над компьютером!? Сердце забилось. Добавил архив в очередь скачивания, запустил старенький Epson LQ-300, прикрыл уши, пока его звонкие иголки били по бело-голубой бумаге.

О программировании я ничего не знал, но потенциал вдохновлял. Следил за туториалами Denthor, переписывал код строчка за строчкой, надеясь, что Borland Turbo Pascal 6.0 не будет смеяться надо мной. Это дало мне только базовое понимание, как собираются части пазла, но этого хватило, чтобы захотелось большего. Я ещё не был подростком, но уже точно знал: больше не хочу смотреть демо и играть в игры. Хочу их делать. Хочу быть элитой. Хочу быть программистом.

На Hacker News есть обсуждение этой статьи.