Супер Нарик

СУПЕР НАРИК. Аркадная игра. Клон хита всех времён и народов - SUPER MARIO.

23.02.2003 DJ KARIES начал проект SUPERNARIK. Это ремейк на SUPERMARIO. Жанр: Arcade-Adventure, т.е. аркада-приключение. Есть большое игровое пространство, платформы, загадки.

8 уровней. Есть встроенный редактор.

Фоновая музыка.

supernarik_1_6_2.rar 1.23 МБ 3.11.2006

supernarik_1_6_1.rar 1.21 МБ 29.11.2003

supernarik_1_6_0.rar 1.02 МБ 21.11.2003

Исходник версии 1.0.5: sns1_0_5.zip 92 кБ 4.08.2003

Исходники, относящиеся к проекту, в архиве с игрой.

Обсуждение на форуме

Если вы хотите присоединиться к разработке игры, заходите на форум.


Текущая версия 1.6.1 (29.11.2003)

Скриншоты из v1.4

Заставка



Уровень "КУМАР"


Слои

Создан движок SNAGE (SUPER NARIK GAME ENGINE).

SNAGE реализован в виде библиотеки "snage.dll". Он состоит из компонентов и менеджера, предоставляющего интерфейсы к ним.

Компоненты SNAGE:

    * Window (Основа интерфейса с Windows, OpenGL)
    * Screen (Работа с графикой)
    * Timer (Таймер)
    * Keyboard (Клавиатура)
    * Mouse (Мышь)
    * Joystick (Джойстик, скоро будет)

Также идёт работа над скриптовым движком SNAC.

Скриптовый движок находится в файле "snal.dll".

Компоненты SNAC:

    * Compiler (Компилятор в p-код)
    * VM (Virtual Machine, стековая машина)

Язык SNAC имеет простой синтаксис, напоминает язык ФОРТ (FORTH).

Версия 1.0.5 (4.08.2003)


Игра


Редактор


Меню

Readme.txt

Подробности читайте в Readme.txt, который поставляется в архиве с игрой.

Версии

1.6.1 29.11.2003.

Введена скриптовая система SNAC.

Часть игры вынесена в скрипт.

Ускорена отрисовка.

Улучшены текстуры.

Изменена музыка.

Более плавное движение.

Зачатки врагов.

1.6 21.11.2003.

Переход на OpenGL.

Базовое разрешение экрана 640x480x32бита.

Новая музыка.

В режиме игры 3 мелодии в случайном порядке.

Перерисованы и увеличены некоторые текстуры.

Загрузка графики из файлов png, bmp, tga, jpg.

Прозрачность некоторых спрайтов.

Увеличена сила прыжка Нарика.

1.5.2 15.11.2003.

Устранён алиасинг изображения при разрешениях экрана, отличных от 320x240.

Создан компилятор скрипта в native-код процессора.

Часть функций вынесена в скрипт.

Некоторые парметры (например, гравитация игрока) вынесены в файл "Game.ini".

1.5.1 14.11.2003.

Параметры программы хранятся в стандартном ini-файле.

Возможность указывать разрешение экрана в ini-файле.

1.5 10.11.2003.

Движок SNAGE.

Более точный таймер (меньше рывков при движении спрайтов).

Разрешение экрана 640x480 (размер буфера картинки прежний - 320x240x32bit).

Допустимое разрешение экрана 16/24/32 бита.

Слои тайлов "Back", "Top".

Устранены глюки с прозрачностью.

Текст в справке скроллится.

Многоуровневое меню.

Меню хранится в файле.

Звуки меню.

Названия уровней вынесены в файл.

Анимация в заставке.

Новая музыка.

Перерисован НАРИК.

1.4 28.08.2003.

Перерисован шрифт для самих уровней.

Новые тайлы.

Паттерны подгружаются, имена файлов указываются в редакторе уровня. max 128 паттернов.

Улучшен редактор.

Улучшены исходники.

Устранены глюки с не 100% исчезновением курсора при переходе в полноэкранный режим, если игра запущена в оконном режиме.

При потере фокуса приложением игра (и звук) приостанавливается.

Введены дополнительные типы границ: пол и потолок

При отсутствии файлов с картинками программа продолжает работать

1.3 26.08.2003.

Устранён глюк в меню с выводом названия уровня

Подгружаемые сменяемые паттерны (128 системных + 128 игровых)

Улучшен редактор

Улучшена отрисовка фона в заставке, меню, справке

Наклонные плоскости воспринимаются как горизонтальные + вертикальные

Увеличены уровни

1.2 24.08.2003.

Нарик снова прыгает

Меньше старых глюков, больше новых ;)

Новая музыка

В Win98 при выходе экран восстанавливается из полноэкранного режима

Улучшен редактор

Перерисована часть графики

Начат вынос оконной (и графического вывода) части в отдельную dll

1.1.1 23.08.2003.

Ускорена прорисовка

Новые тайлы

Новые уровни

Внутренние изменения (окна, улучшено рапределение функций по классам и т.д.)

1.1 21.08.2003.

Splash-заставка

Перерисован шрифт

Возможность менять размеры уровня

Увеличен 1-й уровень

Герой "летает" (временные проблемы)

1.0.9 18.08.2003.

Устранены глюки с некорректным восприятием препятствий

Более независимое от fps движение

Перерисован Нарик

Корректный рендеринг текста в справке

Текст в справке загружается из файла

Новый шрифт

Небо рисуется полностью

1.0.8.1 17.08.2003 (5 лет российскому дефолту ;).

Устранены ошибки при потере фокуса программой

Устранены глюки с размерами окна и его перерисовкой

Добавлена кнопка минимизации на окне

Процессор загружен только если программа активна

Сохранение конфигурации в ini-файле

Опция отключения VSync (ожидания гашения луча)

1.0.8 14.08.2003.

Добавлена фоновая музыка

Нарик не ударяется об небо

Фон в справке

1.0.7.1 12.08.2003.

Фоновое небо

Улучшена модель столкновений

Реинициализация игры и редактора

Увеличен размер уровня

1.0.7 7.08.2003.

Просмотр уровня ограничен самим уровнем.

Герой не может выйти за рамки уровня.

Более правдоподобная модель движения героя.

1.0.6 6.08.2003.

Повышена скорость отрисовки более чем в два раза.

Супер Нарик теперь бегает.

1.0.5 4.08.2003.

Редактирование границ тайлов.

1.0.4 4.08.2003.

Работа с несколькими уровнями

Ведение лога

1.0.3 4.08.2003.

Надписи в режиме игры.

Отображение позиции уровня, координат мыши и выбранного тайла в редакторе.

Многострочный вывод текста (глючит).

1.0.2 3.08.2003.

Устранены глюки с прозрачным цветом

Изменены тайлы

1.0.1 2.08.2003.

Режимы (Меню, Игра, Редактор, Выход).

Загрузка тайлов и палитр из сжатых bmp.

Текст.

1.0.0 2.08.2003.

Первый релиз.

РАЗРАБОТКА

Проект заключается в создании игры. При этом будет создан движок SNAGE (SUPER NARIK GAME ENGINE), напоминающий консоли Nes (Nintendo 8bit, Dendy) и SNes (Super Nintendo 16bit). В движке будет реализована эмуляция прототипов не существующих процессоров и железа. Помимо игры "СУПЕР НАРИК" в дальнейшем возможна разработка массы других игр под данный движок. Игры также будут представлены ромами как в некоторых других существующих консолях.

Среда разработки проекта - Borland Delphi 7.

Для вывода графики используется OpenGL.

Вывод звука и музыки через fmod.

Компоненты движка:

    * CPU (Central Processor Unit)
    * PPU (Picture Processing Unit)
    * SPU (Sound Processing Unit)
    * IOD (Input/Output Device)

CPU - 32-разрядный процессор с простым набором регистров и команд.

PPU - независимое от CPU устройство для вывода графики.

PPU имеет экранный буфер 320x240x32bit. Все графика рендерится в данный буфер.

В PPU несколько слоёв тайловых карт (16) со своей палитрой. Тайлы 8x8. Скролится каждый слой по осям от 0 до 7 пикселей. В каждом слое (320/8+1)*(240/8+1) = 41x31 тайлов. Лишние тайлы по сторонам для скрытия пустот при скроллировании по осям.

Тайлы хранятся 8-битной палитре (rgb) в блоках 16x16 штук (128x128pix=16kb(8bit)).

Для движка будет создан макроассемблер.

Плюсы эмуляции:

    * Полный контроль за действиями программы в роме, безопасность (важно)
    * Переносимость

Минусы

    * Невысокая скорость (не критично)
    * Необходимость тщательной разработки архитектуры

ЧТО СДЕЛАНО

Создан класс TPPU.


Работа PPU

РЕДАКТОР

Редактор теперь встроен в саму игру.

2.03.2003 DJ KARIES начал работу над редактором игры. Редактор будет способен редактировать все данные, относящиеся к игре, как-то тайлы, спрайты, уровни, сообщения, сценарии. Для удобства и упрощения разработки редактор выделен в отдельную программу со стандартным для Windows оконным интерфейсом пользователя.

Устаревшая информация.

Графика игры основана на тайлах - кусочках изображения 8x8 точек. Комбинируя небольшое число тайлов, применяя к ним геометрические преобразования и меняя раскраску, можно получить огромное число объектов. Изображение состоит из нескольких слоёв: спрайты текста и интерфейса, игровые движущиеся спрайты, фоны. Фоны представляют собой карты - матрицы из ячеек, в которых указана информация о игровых свойствах данной ячейки (стены, двери, облака). На основе свойств ячейки и таблиц соответствия с тайлами происходит отрисовка на экране. Спрайты - те же карты тайлов.


Тайлы1


Тестовая картинка (256x256) с эффектами