Культовый шутер от id Software запускали и на карманных приставках, и на калькуляторах, и на стиральных машинках, но сделать его в Microsoft Excel – это мощно, да. Впрочем, название очевидно кликбейтное. В творении пользователя C Bel от DOOM по сути лишь название файла и базовый концепт. Но от этого достижение товарища не становится менее значимым. И сейчас я отвечу на два хтонических, как лобковый волос мамонта, вопроса – КАК и ЗАЧЕМ он это сделал.
Не хочешь читать текст? Смотри видео!
DOOM в MS Excel
С ЗАЧЕМ разобраться довольно просто. C Bel является, помимо разработчика игр, ещё и учителем Excel, и данным проектом он хотел показать, что даже в самых сложных задачах можно обойтись исключительно стандартными математическими формулами. Ведь в качестве альтернативы формулам обычно используется язык VBA, он же – Visual Basic for Application.
И в то время, как формулы Excel – это инструменты с довольно ограниченной областью применения, на VBA можно написать почти всё, что угодно. Хоть это и упрощённый, но всё же язык программирования. Целью C Bel было показать, НАСКОЛЬКО СИЛЬНО люди недооценивают возможность формул и почему им не стоит сорвя голову бежать изучать VBA, как только на горизонте замаячит задача посложнее расчёта, скажем, годовых затрат. И лично я считаю, что у него получилось.
Теперь вопрос – КАК? Поскольку C Bel владеет формулами Excel на уровне чёрной магии Дэвида Блэйна, я даже пытаться не буду понять, насколько он велик. Или велик. Или самокат. Или даже гироскутер – мы ж тут современные люди, правда? Я сделаю иначе – для начала расскажу, ЧТО именно ему удалось сделать. Итак, при помощи Excel и исключительно математических формул он реализовал:
- бесконечную процедурно-генерируемую карту
- трассировку лучей в реальном времени
- расчёт столкновений
- рендеринг света
- расчёт шейдеров
- и движок перемещения
Будучи разработчиком игр, автор попросту имел представление о том, как создать подобный лабиринт, используя программирование, а доскональное знание формул Excel позволило ему попросту интерпретировать программный код в математические формулы. Это звучит, как трансформер, состоящий из костыля на костыле, но впечатляющий вне всяких мер.
Читайте также: обзор Bayonetta 1 & 2 – Лучшее время ознакомиться с классикой
У зрителей менее опытных возникнет вопрос – как вообще можно сделать игру настолько сложную, используя только формулы? Без текстур, без полноценного игрового движка, без анимаций и прочего? Расскажу секрет. По сути, при создании игры мы делаем упор либо на использование памяти компьютера, либо на использование ресурсов его процессора и видеокарты. То есть, та же самая текстура может либо храниться на жестком диске устройства, либо создаваться по формулам прямо на лету силами процессора.
Два самых экстримальных примера – No Man’s Sky с тремя гигабайтами на обозримую вселенную внутри игры, и малоизвестная нынче игра kkrieger. Её вы на скриншотах ниже сейчас и видите.
Хотите верьте, хотите нет, но она занимает 96 КИЛОБАЙТ. Кило-БАЙТ. На жестком диске. Меньше, чем картинка, которая стоит у вас на аватарке в фейсбуке. Это впечатляет, и лично меня впечатляет не меньше, чем без пяти минут DOOM в Microsoft Excel.
Источник: Gamasutra