Разработчики движка: Derek John Evans, Kinda Regards.
Yeti3D Portable Engine - это игровой 3D-движок, разработанный в 2003-ем году программистом Derek J. Evans, для создания игр на игровую приставку Sega 32X (модификация Sega Mega Drive). Yeti3D - Portable GameBoy Advanced 3D Engine. Движок полностью свободен, распространяется с исходными кодами по лицензионному соглашению GNU General Public License.
Для программирования используется язык C - "Си". Данный движок отличается от других 3D-движков на данной платформе своим оригинальным алгоритмом, предоставляющим хорошую производительность и скорость благодаря снижению нагрузки на CPU. Некоторые особенности движка будут описаны ниже.
Движок изначально использует разрешение 120x80 пикселей, 15bit. Используется система "double pixel", но возможно включение смешивания "blended". Все текстуры размером 64x64, 8bit. Они преобразовываются в 15bit через калькуляцию освещения LUT. Полигоны могут быть любой формы. Каждый вертекс описывается по данным: X, Y, Z, U, V и яркость. Рендер использует фиксированное математическое значение 24:8. 3D-объекты имеют 45 плоскостей, поэтому используются только дополнения и вычитания. Пре-скан не используется, ошибки скрываются за экраном. Модели слиты в VIS без сортировки. Z-буферы не используются. Освещение вычисляется на стартапе, но может перемещаться во время выполнения программы. Таблицы используются по DDA текстур мапперу. Текстуры используются на блоках 32 пикселей.
Для осуществления звукового сопровождения (музыка) используются из мелодии из файлов в популярном трекерном формате .MOD. Для работы с данным форматом имеются специальные треккеры, которые можно скачать в Интернете. Звуки - RAW формат.
Имеется специальный редактор уровней - Yeti3D Editor, который похож CUBE world editor. Он достаточно неудобный, но вполне функциональный. Карты редактируются и сохраняются в C-файлы. Для последующего редактирования нужно ещё сохранять карты в формате y3d: E2M1.y3d и E1M5.y3d. Инструкция на английском языке прилагается.
На основе движка имеются демонстрации игр. aka Chilly Willy сделал играбельную демку 3D-игры (ROM-файл можно воспроизвести на эмуляторе или записать на картридж, чтобы запустить на оригинальной консоли), которая демонстрирует возможности движка. В этой демке вы можете бродить в полностью трёхмерных лабиринтах, прыгать, расстреливать ботов и т.д. В общем, с базовыми возможностями классической 3D FPS тех лет, когда была популярна и актуальна приставка Sega 32X.
Исходный код Yeti3D Engine свободно распространяется и предлагается для использования в ваших проектах по GNU GPL. Для компиляции проекта вам понадобится GCC для GBA (Nintendo GameBoy Advance), например, пойдёт DevKit Advanced. GCC нужно установить в папку "C:\devkitadv\", а если вы установите в другую папку, то отредактируйте скрипт путей в файле "make.bat". Инструкция прилагается.
Движок отлично работает на эмуляторах и на оригинальном железе. Игра с хорошей скорости работает в разрешении 160x112 пикселей в режиме full-screen. Для оптимизации используются специфические приёмы. Разработчик движка активен и в ближайшее время планирует доработать движок, включив растровые строки как в Wolf32X. Так же он хочет сделать объекты и противников 3D-моделями, что снизит производительность, но повысит качество игр. Но это будет в следующей версии Yeti3D-Pro.
Данный движок будет интересен всем желающим создавать классические 3D-игры для классической платформы от компании Sega. Олдскул.
Форум обсуждения: http://gendev.spritesmind.net/forum/viewtopic.php?p=12886
Официальный сайт: http://sourceforge.net/projects/yeti3dpro/
DevKit Advance: http://devkitadv.sourceforge.net
Yeti3D is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.