Но система контроля версий и совместного написания кода станет одним из первых нововведений в офисе Каналья Геймс, когда я развернусь в Эль-Серрито. На полноценный версионник по типу Гит возможностей железа не хватит. А вот что-то похожее на SVN почему бы и не изобразить. И мне ведь не обязательно всё делать в одно лицо — найму разрабов.
В случае с Паскалем мы пришли к самому простому решению: разделению зон ответственности по файлам. Джон писал модуль JH.PAS, я — СС.PAS и периодически передавали друг дружке дискету со стола на стол.
И я бы даже не сказал, что это было мучительно, хотя и тяжело физически света белого не видеть. Всё компенсировал чистый кайф от понимания того, что создаешь нечто особенное, а уж когда скрипт заработал и четко раскидал нам тайминги, а затем и подсветил проблемы, где мы не укладываемся — вообще песня. Мы с Джоном аж пятюню друг другу отбили, когда поняли, что готово. Крутой он кодер, гениальный, почище Синклера. Может быть, мне его схантить, раз Кен у меня мистера Лоу увёл?
Очень перспективный инструмент, между прочим, создали, учитывая, какую бездну времени, иногда целые минуты, занимает компиляция. На основе нашего линтера, который и так разбирает код, не так сложно сделать утилиту для раннего обнаружения ошибок и опечаток. Для чего в моём будущем статические анализаторы кода и используются.
Джона у меня Кен отобрал и еще около двух недель ушли уже у меня одного на доводку и тестирование созданного при помощи нового инструмента прототипа. Он выглядел откровенно неказистым, примитивным, монохромным, но работал безукоризненно — плавно и без мерцания. А геймплей — тот самый. Никогда бы не подумал, что найду повод для гордости в написании тетриса. А вон оно как. Кажется, я под конец уже начал видеть Матрицу. Смотрю в экран и вместо падающего L-блока вижу такты и тайминги. Я избранный и нет никакой ложки!
Прекрасным летним утром 20 августа я вооружился тросточкой и сел вместе с Линдой в Короллу, чтобы поехать к Уильямсам. Жизненные события прошедшего месяца вылетели у меня из головы. Мозг сохранил лишь два вида информации: код линтера на Паскале и код Тетриса на Ассемблере. В кармане у меня лежал отладочный картридж для Атари 2600, на который я при помощи притараненного моим братаном Джоном программатора прошил созданную игру.
— Ну, парень, покажи, ради чего ты отнял у меня больше чем на неделю нашего лучшего программиста, — с легким нажимом предложил Кен.
— Дорогой! — вступилась Роберта. — Ты же знаешь, какой Джон Харрис упрямый.
Добрый и злой полицейский, всё по классике. Меня сейчас будут разводить на уступки. Например, скажут, что если Джон сделал половину работы, то и половина роялти тоже ему причитается. А нифига. Не виноватый я, он сам пришел!