Рэндал (Рэнди) Н. Линден (англ. Randal (Randy) N. Linden; род. 6 января 1970, Торонто, Канада) — канадский программист, известный своей комплексной работой по воссозданию видеоигр и созданию эмуляторов. Работы Линдена включают в себя примечательные воссоздания видеоигр, методы эмуляции, техники перекомпиляции и оптимизации кода, а также практики программирования.
Начиная заниматься программированием как хобби в начале восьмидесятых годов, Линден вскоре перешёл к профессиональной деятельности, где его ранние работы включали в себя разработку коммерческих видеоигр и прикладного программного обеспечения для компьютеров Commodore 64, Commodore 128 и Amiga. В 1989 году, спустя шесть лет после начала своей деятельности в программировании, Линден разработал версию видеоигры «Dragon’s Lair» () для компьютера Amiga. Эта версия приобрела известность, будучи первой видеоигрой, в которой была реализована потоковая передача полноэкранной анимации и звука с гибких дисков на домашнем компьютере. Затем Линден обратил своё внимание на разработку видеоигр для игровых приставок и получил широкое признание за свою версию видеоигры «Doom» для Super NES, успешно преодолев значительный разрыв в вычислительной мощности между Super NES и рекомендуемыми системными требованиями версии видеоигры для PC.
Линден к тому же известен как создатель «», эмулятора PlayStation для Microsoft Windows, а также версии для Dreamcast, «bleemcast!», разработанной совместно с Родериком Маром. Помимо этого, в его портфолио входит «Cyboid», видеоигра в жанре шутера от первого лица, вдохновлённая видеоигрой «Quake II», для устройств Android, Amazon Fire и Symbian. Деятельность Линдена не ограничивается разработкой видеоигр; он также сыграл значительную роль в компании Microsoft, работая над такими продуктами, как игровая приставка Xbox 360, Kinect и Microsoft Band. В настоящее время Линден является сотрудником компании Limited Run Games.
Детство и юность В конце семидесятых годов Линден впервые столкнулся с компьютерами, когда его школа приобрела компьютер Commodore PET 4032, предоставив учащимся возможность бронировать время за устройством в целях обучения программирования. Линден начал программировать в 1981 году, в возрасте 11 лет, создав свою первую компьютерную программу на языке BASIC. Примерно два года спустя, в 1983 году, мать подарила Линдену на день рождения комплект Commodore 64, в который входили монитор и рабочий стол. Именно тогда он написал свою первую программу на языке ассемблера 6502. Тот же год ознаменовал начало пути Линдена в разработке видеоигр: он создал видеоигру «Barriers» для Commodore PET, которая так и не была выпущена. В то время Линден обратил внимание на клон видеоигры «Space Invaders» (), автором которой был программист Джим Баттерфилд, живший, как и он, в Торонто. Линден нашёл контактные данные Баттерфилда в телефонном справочнике и связался с ним. Беседа, которая последовала за этим, и в которой Баттерфилд обстоятельно отвечал на вопросы юного Линдена, оказала глубокое влияние на его будущее профессиональное направление и карьеру.
Карьера
Начало карьеры Первой профессионально изданной видеоигрой Линдена стала «Bubbles», клон видеоигры «Centipede» для Commodore 64, выпущенной, когда ему было 13 лет. Эту видеоигру выпустила на рынок компания Syntax Software, стартап из Торонто, принадлежащий Рэнди Лайонсу. После того как Линден связался с Лайонсом с предложением о публикации Bubbles и некоторое время работал в Syntax Software в качестве программиста с неполной занятостью, компания согласилась издать его видеоигру.
Прикладное программное обеспечение Помимо работы над видеоиграми, Линден также разрабатывал прикладное программное обеспечение, включая приложение базы данных для компьютеров Commodore 64 и 128. Изначально приложение называлось «Paperback Filer» и было издано компанией Digital Solutions; позже оно было переименовано в «Pocket Filer».
The 64 Emulator В 1988 году Линден создал эмулятор Commodore 64 для компьютера Amiga, который получил название «The 64 Emulator». Этот эмулятор, созданный совместно с Дэвидом Фостером и изданный компанией , возможно, стал первым коммерчески доступным эмулятором такого рода. Сфокусированный на точности воспроизведения, а не на скорости, эмулятор использовал техники интерпретативной эмуляции. Дизайн эмулятора, включавший поддержку подключения дисководов , и к Amiga с использованием специально разработанного кабеля для параллельного порта, позволял точно воссоздавать системную среду Commodore 64, обеспечивая высокоточное воспроизведение программного обеспечения Commodore 64 на компьютере Amiga. Примечательно, что розничные единицы вышеупомянутого кабеля собирались вручную энтузиастами в подвале в городе Торонто. В дальнейшем был выпущен преемник эмулятора под названием «The 64 Emulator 2».
Visionary Design Technologies В 1988 году Линден основал компанию Visionary Design Technologies в подвале дома своей матери. Первым продуктом компании стала версия видеоигры «Dragon’s Lair» для компьютера Amiga, посвящённой фэнтезийной тематике. Эта версия установила прецедент, став первой видеоигрой, в которой была реализована потоковая передача полноэкранной анимации и звука с гибких дисков на домашнем компьютере.
Dragon’s Lair для Amiga «Dragon’s Lair» — это видеоигра в жанре фэнтези и первая часть одноимённой серии видеоигр, созданной , Доном Блутом, Гари Голдманом и . Впервые выпущенная как аркадная видеоигра на носителе LaserDisc компанией Cinematronics в 1983 году, Dragon’s Lair произвела впечатление на Линдена, который пожелал создать версию видеоигры для компьютера Amiga. Следуя своей характерной методике, Линден с нуля воссоздал всю логику видеоигры для версии на Amiga, включая интерактивность, анимацию и воспроизведение звука, делая Dragon’s Lair для Amiga не «портом», а полностью новым программным исполнением видеоигры. В этом контексте, разработка версии видеоигры для компьютера Amiga требовала от Линдена захвата и оцифровки всех анимационных секвенций, найденных на носителе LaserDisc аркадной версии. Для этого Линден использовал цифровизатор производства компании SunRize Industries. После обсуждения своего проекта с ними SunRize Industries предоставила Линдену прототип усовершенствованной версии цифровизатора, исключившую необходимость повторного прохода с использованием цветных фильтров. SunRize Industries была основана , который позже основал компанию
Изданная компанией ReadySoft, версия Dragon’s Lair для Amiga была выпущена в 1989 году.
В более поздних интервью дизайнер и программист видеоигр Эрик Шайи отметил, что работа Линдена над Dragon’s Lair для Amiga послужила для него источником вдохновения при реализации графики в видеоигре «Another World» ().
Метод повторного использования памяти WCS Dragon’s Lair для Amiga также ввела уникальный метод, позволявший видеоигре работать на компьютере Amiga 1000 с 512К оперативной памяти, хотя сама видеоигра требовала 768К. В дополнение к основным 512К компьютер Amiga 1000 обладал скромным загрузочным процессом, требующим загрузки носителя «Kickstart». Этот носитель действовал в качестве загрузчика операционной системы, объёмом 256К. Этот загрузчик затем помещался в оперативную память, занимая так называемое «Writable Control Store» (WCS). После загрузки Kickstart в WCS устанавливается регистр, переключающий соответствующую память в режим исключительного чтения до следующей полной перезагрузки машины. Следовательно, для использования WCS в качестве оперативной памяти требовалось произвести перезагрузку. Линден реализовал «мягкий сброс» для перезапуска загрузочного процесса таким образом, чтобы он начинал выполнение, однако с ключевым отличием: на этот раз обычная логика инициализации пропускалась, что позволяло напрямую передавать управление загрузчику видеоигры Линдена. Этот новаторский подход позволил Dragon’s Lair работать на стандартной конфигурации компьютера Amiga 1000, объединив его 512К оперативной памяти с дополнительными 256К из WCS, в сумме получая 768К. В свою очередь, для запуска Dragon’s Lair на компьютере Amiga 500 требовалось увеличение оперативной памяти, поскольку он поставлялся только с 512К оперативной памяти и не имел WCS.
Другие видеоигры Компания Visionary Design Technologies также издавала видеоигры, созданные другими разработчиками. Видеоигра для Amiga «» (не следует принимать за от компании Argonaut Games), разработанная Ансельмом «Энди» Хуком, была издана компанией в 1989 году. В том же году Visionary Design Technologies также издала видеоигру для Amiga «». Видеоигра была разработана Сёреном Грёнбехом, с музыкой, скомпонованной Тиммом Энгельсом.
Последующие работы После выпуска Dragon’s Lair для Amiga, Линден занялся разработкой версии «», также для компьютера Amiga, которую издала компания Bethesda Softworks в 1990 году. Эта видеоигра включала уровни, отсутствующие в выпуске Dragon’s Lair для Amiga, а также новый контент. К тому же, в видеоигру была добавлена возможность синхронизации с оригинальной видеоигрой Dragon’s Lair для Amiga, что позволяло переносить видеоигру на жёсткий диск для ускорения загрузки и исключения необходимости смены носителей.
Во время работы в Bethesda Softworks Линден также участвовал в портировании видеоигры для ПК «Wayne Gretzky Hockey» на NES. Этот порт был издан в январе 1991 года. После этого Линден совместно с программистом Полом Колетта занимался разработкой видеоигр «Home Alone» () и «» для NES, при этом музыку к последней компоновал . Изданные соответственно компаниями THQ и Bethesda Softworks, обе видеоигры были приняты критиками без энтузиазма.
Работа в компании Sculptured Software Линден присоединился к компании в 1994 году в качестве разработчика видеоигр для Super NES, затем переключая своё внимание на создание инструментального программного обеспечения. В этот период Линден посетил конференцию разработчиков Nintendo, на которой был представлен сопроцессор «Super FX» от компании Argonaut Games и его потенциал на примере демонстрации видеоигры «Star Fox», использующей его. Работодатель Линдена в то время, компания Sculptured Software, также впечатлённая возможностями чипа, решила разработать собственную видеоигру на основе Super FX. Видеоигра получила название «», и её программистом стал Джон Морган.
В интервью с Software Engineering Daily Линден отметил, что на момент начала разработки видеоигры Dirt Trax FX у его группы не было доступа к необходимому инструментальному программному обеспечению для чипа Super FX. Чтобы преодолеть это препятствие, Линдену был поручен процесс создания собственных инструментов разработки с нуля, включая ассемблер, компоновщик (линкер) и отладчик, необходимые для программирования на чипе Super FX. Это решение позволило компании впоследствии приступить к разработке видеоигры Dirt Trax FX.
Doom для Super NES