russian ROMhacking
[ Новые сообщения · Участники · Правила форума · Поиск ]
Форум ромхакеров » Около темы » Геймдев » Проект Mega Marble World (Головоломка, игра на Sega Mega Drive)
Проект Mega Marble World
TLTДата: Пятница, 17.07.2015, 01:45 | Сообщение # 136
Генералиссимус
Группа: Администраторы
Сообщений: 2336
Статус: Онлайн
Добавил тайлов, добавил несколько видов палитры, сделал яму, реакцию шара на неё – уменьшение, как будто падает в пропасть… Немного изменил Гейм овер, доработал обрушения второго уровня, допилил разные мелочи.


Вот так.
 
TLTДата: Воскресенье, 19.07.2015, 22:59 | Сообщение # 137
Генералиссимус
Группа: Администраторы
Сообщений: 2336
Статус: Онлайн
Палитра худ.
Прикрепления: 2820826.png (0.4 Kb) · 2407827.png (1.2 Kb)



Вот так.
 
TLTДата: Понедельник, 20.07.2015, 19:34 | Сообщение # 138
Генералиссимус
Группа: Администраторы
Сообщений: 2336
Статус: Онлайн
Меню паузы и карта будут в фоне книги:

Прикрепления: 9621274.png (3.0 Kb)



Вот так.
 
TLTДата: Вторник, 21.07.2015, 22:10 | Сообщение # 139
Генералиссимус
Группа: Администраторы
Сообщений: 2336
Статус: Онлайн
Обработал эту графику в отдельный тайлсет, составил палитру.

Начал вставлять эту книгу фоном на паузу, и:
Научился я использовать больше одной палитры.
Теперь уровни можно будет делать более красочными. С учётом, что в одном тайле может быть 16 цветов одной палитры. А тайл рядом может, например, иметь 16 цветов второй палитры.
Могу ошибаться, т.к. архитектуру я понимаю на практике… 2 палитры можно будет на фон, ещё 2 палитры можно будет на верхний слой. Посмотрим…

Т.е. художник может вздохнуть… Позже тут я объясню ему как рисовать и использовать разные наборы палитры.

Прописал загрузку книги одним сплошным фоном, не стал возиться с ручной вбивкой тайловой карты. Всё же она 19,6 Kb весом (240x168 пикселей, 30x21 тайлов), не так много будет. Да и VDP умно и загружаю/выгружаю, не возникает проблем. Артефакты могут быть при быстрой отрисовке, но тут уже продумаем.

Также сделал:
Оптимизировал код – удалил 2 Kb лишнего кода, продублированного без надобности.
Понял как устранить мерцание анимированных объектов (тайлов) при загрузке других экранов (следующего уровня или меню паузы).
Завтра все такие элементы доработаю.

Также теперь нужно панель сделать модульной (для подгрузки через gosub). 1 модуль – подложка, 2 – модуль иконки, цифры и название уровня. При этом нужно название уровня сделать в модуле на оператор IF, чтобы один и тот же модуль использовать на всех уровнях загружая нужное название уровня, исходя от оператора проверки значения активности того или иного уровня. Короче, как сделать знаю.

Соответственно, сделал более умнее локации Game Over и Pause.

Окно паузы с книжкой также буду делать в ближайшее время. Нужно ещё Карту сделать на операторах для всех уровней, тексты и пр. Приходится много дорабатывать и в других участках, чтобы ничего не затирать и пропускать.

Работа идёт.

Прикрепления: 4083245.png (6.0 Kb)



Вот так.
 
GuyverДата: Четверг, 23.07.2015, 12:49 | Сообщение # 140
Лейтенант
Группа: Заблокированные
Сообщений: 71
Статус: Оффлайн
Молодец!

Я не волшебник - я только учусь...
 
GuyverДата: Четверг, 23.07.2015, 14:17 | Сообщение # 141
Лейтенант
Группа: Заблокированные
Сообщений: 71
Статус: Оффлайн
Прошу тебя сразу делать в игре так, чтобы её можно было переводить на другие языки в будущем. Делай запас по тайлам, по месту для текста.

Я не волшебник - я только учусь...
 
TLTДата: Четверг, 23.07.2015, 23:36 | Сообщение # 142
Генералиссимус
Группа: Администраторы
Сообщений: 2336
Статус: Онлайн
Спасибо!

Цитата Guyver ()
Прошу тебя сразу делать в игре так, чтобы её можно было переводить на другие языки в будущем. Делай запас по тайлам, по месту для текста.


Я бы мог изначально вставить шрифтовой набор не 128 тайлов, а 256, чтобы можно было вводить кириллицу и видеть кириллицу. Однако отказался от этого, т.к. решил сэкономить на месте в VDP, т.к. хотел более свободно работать с графикой уровней, больше разнообразия загружать на один экран.

А если игра выйдет, то у меня исходник, можно будет что-то придумать. В целом игра будет не требовательна к английскому языку, поэтому он тут не нужен, я думаю.

Что касается шрифта, то он тут на 128 служебных тайлов. Т.е. намного больше, чем английский алфавит. Место есть.



Вот так.
 
TLTДата: Вторник, 28.07.2015, 00:08 | Сообщение # 143
Генералиссимус
Группа: Администраторы
Сообщений: 2336
Статус: Онлайн
Доработал экран Pause, переназначил адреса тайлов в VDP, т.к. затирал тайлы уровня.
Устранил мерцание анимированных объектов (тайлов) при загрузке других экранов.
Сделал код, который в некоторых случаях мягче затирает, чем простая очистка командой cls.
Сделал подгрузку подложки HUD модулем
Прописал двоеточие под часы, если отключена подложка
Сделал анимацию появления шара из трубы, соответственно открытие и закрытие люка.

Особенности разработки под ретро-платформы



Вот так.
 
TLTДата: Пятница, 31.07.2015, 01:08 | Сообщение # 144
Генералиссимус
Группа: Администраторы
Сообщений: 2336
Статус: Онлайн
Возникли кое-какие траблы по моей работе, к проекту мало обращался. Однако кое-что сделал:

Анимированное лого Sega (осталось конвертнуть и подставить крик Сега).
Наконец-то наладил палитру для карты в паузе, скоро приступлю к её созданию.
Немного изменил загрузку экрана паузы – сделал плавнее.
Сделал нажатие кнопки старт и действие после отжатия (ранее не знал про такую функцию), чтобы не мерцало.
Лучше разобрался со звуками.
Реализовал опцию приостановки и возобновления музыки.
Настроил начисление очков между двумя уровнями.
Сделал промежуточную локацию между Лого Сега и Титульником.
Вставил на первую локацию решетку с третьей палитрой (осталось настроить).
Сделал плавнее переходы между локациями.
И прочие мелочи.

Сейчас думаю, в меню паузы остановить музыку или оставить…

Времени не хватает, работа идёт медленно. Но останавливаться нельзя, чтобы проект не заглох. Сейчас просто много мелочей, много кода, который нужно согласовывать, возвращаться на шаг-два назад, доделывать, переделывать. Зато игра будет полноценной, без всяких шероховатостей, который отличают любительский проект от профессионального.



Вот так.
 
TLTДата: Среда, 05.08.2015, 23:55 | Сообщение # 145
Генералиссимус
Группа: Администраторы
Сообщений: 2336
Статус: Онлайн
Изменил все кнопки нажатия.
Подогнал палитру для блока-вставки на первом уровне при затемнении.
Подогнал паузу под второй уровень.
Организовал карту в паузе (выстраиваться она будет по добавлению каждого уровня)
Ввёл несколько переменных и заплаток для использования одной локации паузы на всех уровнях.
Кое-что по мелочи исправил и доработал.

Начинаю делать третий уровень.

Работа идёт.

Скоро художнику напишу насчёт палитр.
Пора уже думать о создании фонов для меню опций и о системе паролей.

Систему паролей можно сделать как в Комикс зон:

Я про такой выбор 0-9 цифр.
Прикрепления: 1613014.png (21.1 Kb)



Вот так.
 
TLTДата: Понедельник, 10.08.2015, 00:10 | Сообщение # 146
Генералиссимус
Группа: Администраторы
Сообщений: 2336
Статус: Онлайн
Напомню, что в Sega Mega Drive (Genesis) всего 4 слоя (2 прокручиваемых графических фона, 1 слой спрайтов, 1 слой окна). Чтобы их умело использовать в своей игре, думаю, нужно немало опыта. Лично я использую только 2, а обхожусь благодаря тому, что моя игра не задействует никаких сложных спрайтовых операций и не имеет массивных сцен.

И такие ограничения при разработке на SMD подстерегают практически везде. Тех же спрайтов можно использовать до 80 одновременно отображаемых. Конечно, в зависимости от экранного режима, спрайтов (до 20 на одной горизонтальной строке).

Но сегодня я бы хотел заострить внимание на палитре, т.к. мне нужно объяснить художнику, рисующему графику для моей игры. Чтобы он не просто рисовал, а именно участвовал в разработке игры, понимая, что и как делает, как нужно, что требуется, на что способна платформа, а что мы можем задействовать непосредственно в игре. Лично я всегда выступаю в роли менеджера в команде и пытаюсь объяснить все особенности всем участникам команды, даже если те практически не сталкиваются с кодом, не решают практических задач, а лишь делают контент. Будь то художник или даже PR-менеджер. Я считаю правильным тратить на это время и вкладываться в объяснения команде.

Палитра. Палитра для SMD используется в виде наборов по 16 цветов (взятых из градиента 512 цветов). Теоретически одновременно на экране можно отображать 64 цвета, используя 4 набора по 16 цветов. Однако один цвет в каждой палитре всегда прозрачен. С учётом этого из 64 цветов остаётся 60 цветов и 1 прозрачный. Т.е. 61 цветов одновременно.

Я не просто так вначале рассказал о слоях. Учитывая, что мы можем слои накладывать один на другой, таким образом, мы можем на одном пространстве использовать 2 палитры, складывая рисунок и цвета. См. скриншот с книгой - буквы используют набор палитры "0", а располагаются поверх фона книги, использующего палитру "2".



Что касается уровня, то на нём мы можем задействовать рядом блоки с частично схожей палитрой, чтобы блоки смотрелись монолитно, однако на одном из них было бы несколько отличных цветов. См. скриншот уровня.



Благодаря этому мы в игре сможем задействовать 4 палитры. Одна уже отдана в качестве стандартной на основные элементы уровня (стены и пр.), ещё одна - на фон паузы (книга). Ещё 2 палитры свободны. Если нужно, то на место палитры для паузы в момент игры можно загружать другой набор цветов и использовать, а после нажатия на Старт, записывать туда палитру книги, а вовремя отжатия паузы, записывать обратно палитру для уровня. Таким образом, можно манипулировать палитрами, которые не используются одновременно.



В качестве примера, как сделан фон SMD-игры из 2-х палитр на 32 цвета можно взять игру "Double Dragon". Смотрите на эти 2 слоя:




Т.е. в игре "Double Dragon" фон на 3 палитры (две на передний, один - на задний), а ещё 1 палитра - на персонажей и пр.

Если бы была 1 палитра на всё:


Чтобы проверять, как будет выглядеть нарисованная графика в палитре SMD можно воспользоваться программкой ImaGenesis 4000 Beta. В ней нужно открыть изображение и в меню выбрать Actions -> Quantize Now. И она покажет в цветах SMD.

Скачать тут - http://devster.monkeeh.com/sega/imagenesis/

Вообще она используется для конвертации графики, экспорта тайлов и палитры для игры.

Собственно, вот чему я научился относительно использования палитры. В начале разработки я знал про 4 палитры, но не знал как это использовать в коде, как переключаться и т.д. Теперь можно сделать уровни более красочнее, чем изначально задумано.
Прикрепления: 4283655.png (9.9 Kb) · 3452344.png (10.9 Kb) · 6357190.png (9.3 Kb) · 8915101.png (10.5 Kb) · 7682450.png (21.8 Kb) · 4311198.png (24.7 Kb) · 9837082.png (23.6 Kb) · 9977024.png (4.5 Kb) · 5466855.png (10.9 Kb)



Вот так.
 
TLTДата: Понедельник, 10.08.2015, 00:28 | Сообщение # 147
Генералиссимус
Группа: Администраторы
Сообщений: 2336
Статус: Онлайн
Художнику:

Что ты можешь мне нарисовать в плане дизайна для меню ввода Паролей? Когда уровней будет 3-5 уже бы хорошо сделать систему паролей, чтобы не переделывать всё остальное. В теме я предложил вариант как в Комикс Зон (см. пост выше) - самый простой, как по мне. Но можно сделать что-то более оригинальное, анимированное в 4-х палитрах (61 цвет). На всю! Например, какое-то колесо, циферблаты и пр.

Также я бы хотел видеть что-то крупное в менюшках (т.к. игр в основном из мелких деталей), цельное, демонстрирующее графику. Может быть что-то типа классного факела крупным планом на фоне каменной/кирпичной стены. Или стол с бумагами, картами, книгами… Стиль – приключение, поэтому всякого рода каменные механизмы, деревянные/металлические вставки смотрелись бы очень гармонично.

Вот моя примерная зарисовка (вариант для размышления, жду от тебя вариант с учётом моих пожеланий (или отговори меня, аргументировав))

Прикрепления: 5118847.png (45.2 Kb)



Вот так.
 
TLTДата: Пятница, 14.08.2015, 21:26 | Сообщение # 148
Генералиссимус
Группа: Администраторы
Сообщений: 2336
Статус: Онлайн
Сделал основную часть третьего уровня. Т.к. я без редактора всё делаю вручную, то это довольно-таки муторный процесс математики, сверки, вписки в блокноте. =(
Сделал переход от второго уровня к третьему уровню.
Подключил шрифт не как fontload в 2 цвета (видимый и прозрачный), а как 16-цветный тайлсет. Используется также из первых 128 байт VDP, просто 2 раза тяжелее (4 Kb). Зато можно будет туда запихнуть шрифт из разных цветов, хоть тайлы уровня.
Поправил несколько мелочей.
Подметил несколько недочётов, которые буду исправлять в ближайшее время.

Сейчас буду доделывать третий уровень, делать бесконечный переход, артефакт. Эту фишку я объяснял в каких-то постах этой темы. Что касается артефакта, то это будут всякие бонусы, которые по сбору будут повышать очки и показываться в Паузе в области с трофеями. Само собой, они будут скрыты или сложно доступны.

Художник на 2 недели в отпуске.
Тип меню опций и паролей одобрил, как я предложил выше.

Переводчик пропал.

Короче, сейчас жарко, много работы, нет времени ни на что. Но я продолжаю работать над игрой хотя бы 10 минут или полчаса в день.

ROM уже 1002 кб. =)

Дело движется.



Вот так.
 
TLTДата: Понедельник, 17.08.2015, 12:54 | Сообщение # 149
Генералиссимус
Группа: Администраторы
Сообщений: 2336
Статус: Онлайн
Доделал третий уровень.
Исправил несколько ошибок.

Осталось сделать перемещение по бесконечным комнатам и артефакт, который после взятия будет в меню паузы в соответствующем пункте.



Вот так.
 
TLTДата: Среда, 19.08.2015, 23:26 | Сообщение # 150
Генералиссимус
Группа: Администраторы
Сообщений: 2336
Статус: Онлайн
Реализовал артефакт на локации, прописал соответствующие переменные, чтобы не восстанавливать, не показывать после взятия и т.д.
Сделал хранилище паролей для того чтобы подгружать из него в нужный момент, не плодя разные написания в разных локациях.

Так как переводчик меня подвёл, то отказался от его услуг, заказал платный перевод в соответствующем сервисе. Мне нужен уже текст, чтобы отработать элементы Паузы.

Так как я не использую редактор, делаю уровни вручную, то сделал сетку для создания макетов уровней. Решил выложить её здесь. Чтобы все желающие могли попробовать сделать свой уровень. Просто откройте в любом графическом редакторе, типа Paint, и закрасьте нужным цветом белое поле, чтобы сделать лабиринт. Элементы указаны.



Если сделаете интересный сложный лабиринт, то пришлите мне – если будет действительно хорошая локация, то я её введу в игру, а вас в титры добавлю.

Вот так примерно нужно:

Прикрепления: 5426171.png (9.5 Kb) · 4721096.png (7.8 Kb)



Вот так.
 
Форум ромхакеров » Около темы » Геймдев » Проект Mega Marble World (Головоломка, игра на Sega Mega Drive)
Поиск: