Програміст написав ігровий движок в MS Excel

Користувач присвяченого розробці комп'ютерних ігор веб-сайту Gamasutra написав програмне забезпечення для тривимірної гри за мотивами популярного шутера DOOM. Особливість його ігрового движку полягає в тому, що він створений виключно за допомогою формул MS Excel. Розробка ПЗ детально описана в блозі на сайті Gamasutra.


Серед комп'ютерних ігор найбільш технологічно складними вважаються шутери від першої особи: розробникам необхідно створити видимість тривимірного динамічного світу. Це передбачає не тільки реалістичний рендеринг, але і використання заздалегідь прописаних алгоритмів, кількість яких - залежно від складності гри - може бути дуже великою.


Найпростіший тривимірний шутер можна написати в MS Excel: за допомогою вбудованого в програму Visual Basic for Applications (скорочено VBA). Використання заздалегідь прописаних макросів на основі мови Visual Basic дозволяє створювати графічні програми навіть непрофесійним програмістам. Однак використання VBA-макросів зовсім необов'язково, і тривимірний ігровий движок, як виявилося, можна написати за допомогою доступних в Excel формул - прямо в таблиці.

Інфраструктура гри являє собою лабіринт, за яким користувач вільно переміщується. У грі також є «вороги» - еліпсоїдні примари червоного кольору (їх також можна атакувати за допомогою «зброї» - фіолетового лазера). Для того, щоб рухатися, координати точки переміщення доведеться вбити вручну на спеціальному аркуші - після чого повернутися на екран з грою.

Розробник також зробив версії гри з макросами: вони дозволяють пересуватися в ігровому просторі за допомогою клавіатури або натискання на кнопки на екрані. Файли з грою і докладними інструкціями також доступні в блозі з описом створення гри.

Торік розробники з Технологічного інституту Джорджії створили алгоритм, який може відтворити движок комп'ютерної гри без доступу до вихідного коду: просто спостерігаючи за відеозаписом її проходження. Програму вже випробували на грі Super Mario Bros.

COM_SPPAGEBUILDER_NO_ITEMS_FOUND