russian ROMhacking
[ Новые сообщения · Участники · Правила форума · Поиск ]
Форум ромхакеров » Около темы » Геймдев » Проект Mega Marble World (Головоломка, игра на Sega Mega Drive)
Проект Mega Marble World
SavitarSvitДата: Четверг, 14.05.2015, 22:10 | Сообщение # 46
Сержант
Группа: Проверенные
Сообщений: 25
Статус: Оффлайн
Цитата babulya ()
и у твоей консоли нету биоса

У MD1 VA6 есть TMSS.
 
babulyaДата: Четверг, 14.05.2015, 23:13 | Сообщение # 47
Майор
Группа: Заблокированные
Сообщений: 99
Статус: Оффлайн
Точно, спутался, как раз с нее и начинается список ревизий с биосом...
 
TLTДата: Суббота, 16.05.2015, 00:16 | Сообщение # 48
Генералиссимус
Группа: Администраторы
Сообщений: 2338
Статус: Оффлайн
Тестировал целый день, пока не допер... Нашел проблему зависания. Дело в том, что в движке для TFD используются адреса регистрации &hA04000-&hA04001 и в звуковом движке Wav задействованы эти же адреса банков. Вероятно, их нужно как-то развести по разным адресам. Короче, завтра буду фиксить сие безобразие. Вот только получится или нет – не знаю. Это как раз-таки то, с чем я не хотел иметь дела – специфические особенности платформы, когда нужно думать, что куда загрузить, чтобы это всё использовало разные куски памяти, чтоб не перекрывало друг друга и пр.


Вот так.
 
Genesis16Дата: Воскресенье, 17.05.2015, 13:31 | Сообщение # 49
Майор
Группа: Проверенные
Сообщений: 81
Статус: Оффлайн
Слежу за проектом.
 
TLTДата: Вторник, 19.05.2015, 00:22 | Сообщение # 50
Генералиссимус
Группа: Администраторы
Сообщений: 2338
Статус: Оффлайн
Со звуком пока ничего не получается. Временно оставляю этот вопрос, т.к…

Получил от художника графику для создания тестовой зоны. Начал работать над составлением тайлсета, конвертацией палитры и графики. Соответственно, подготовил коды для подгрузки, разобрался с шестнадцатеричным просчётом, по какому адресу, где какой тайл будет лежать – нашел вспомогательный инструмент. Т.к. блоки буду составлять из тайлов 8x8 на все 320x224 (40x28 тайлов), то сцена будет делаться небыстро. Однако ручная работа позволит не нагружать движок процедурами и вообще, не раздувая размер игры, позволит разнообразить получаемые фоны. Короче, я не настолько крут, чтобы идти более сложными путями. =)

Что касается палитры, то я не могу найти Лист с цветами 16 бит, которые состоят из 3-х символов (Например, красный - 21E ($021E)). Где-то был сайт, но я посеял ссылку. Может быть у кого-то есть конвертер или лист? Типа по такому принципу - http://www.demmel.com/ilcd/help/16-Bit%20Color%20Values.htm

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



Вот так.
 
TLTДата: Вторник, 19.05.2015, 21:42 | Сообщение # 51
Генералиссимус
Группа: Администраторы
Сообщений: 2338
Статус: Оффлайн
Как и ожидалось палитра плохо перенеслась, придётся после ручками подбирать градиенты.

Что касается палитровой анимации – сегодня реализовал специальный таймер с переключателями. Работает отлично!

Что касается тайлсета – составил большой тайлсет с поворотами стен на 4 стороны, однако решил всё-таки задействовать флипы – метод отражения тайлов. Т.о. буду использовать набор тайлов на одну сторону, а затем их поворачивать и отражать по вертикали и горизонтали. Будет экономнее и меньше возни с набором блоков из мелких тайлов.

Так у меня 128 тайлов на латинском шрифте и ещё где-то до 400 тайлов всего в сцене выходит. Если максимум – 1120 на одну сцену (320x224), то запас остаётся приличным, и его можно будет задействовать на обслуживающую графику – интерфейсы, красивые надписи. Кстати, всё ещё думаю, что со шрифтом делать: двухцветный использовать или 16-цветный, добавлять ещё кириллицу, доводя служебный тайлсет до 256 тайлов...

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

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

Прикрепляю скрин alpha-версии с первой отрисовкой:


Первая комната будет маленькой.

И думаю насчёт интерфейса. Что туда вставить Время, Счётчик ходов, название уровня? Как это всё сделать просто строчкой, как это вы видите на скрине или как? Или ещё можно было бы оставить только название уровня… Можно надпись делать поверх фона, чтобы не было черной (сейчас всё фиолетовое) линии вверху.
Прикрепления: 6259796.png (4.3 Kb)



Вот так.
 
SavitarSvitДата: Среда, 20.05.2015, 18:34 | Сообщение # 52
Сержант
Группа: Проверенные
Сообщений: 25
Статус: Оффлайн
Цитата TLT ()
И думаю насчёт интерфейса. Что туда вставить Время, Счётчик ходов, название уровня? Как это всё сделать просто строчкой, как это вы видите на скрине или как? Или ещё можно было бы оставить только название уровня… Можно надпись делать поверх фона, чтобы не было черной (сейчас всё фиолетовое) линии вверху.

Я думаю пока рано говорить об оформлении интерфейса, но если сверху и снизу будет оставаться место, то надо сделать вензельный рисунок в каком нить готическом стиле, в котором разместить инфу. Это к художникам надо обращаться. Надо обязательно сделать подсчет очков, без них игра не игра. И после завершения уровня должен быть экран (или просто наложения таблицы) подведения итогов и очков.
 
TLTДата: Четверг, 21.05.2015, 21:14 | Сообщение # 53
Генералиссимус
Группа: Администраторы
Сообщений: 2338
Статус: Оффлайн
Сегодня посвятил день небольшим переработкам в основном движке игры. В частности, изменил отрисовку триггеров для поведений и действий шарика, чтобы тот не мерцал в тех случаях, когда поверх него отрисовывается тайл триггера.

Ну и реализовал подсчёт ходов – вставил простую математическую формулу на плюс 1, когда делается одно допустимое действие шариком.

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

Что касается отрисовки фона, то пока столкнулся с недокументированной функцией RotateTile, а я её никогда не использовал, и в документации среды вообще ничего о ней нет. Короче, нужно гуглить и узнать как её использовать для поворота тайла на градусы. Если тут такое нельзя, в чём я сомневаюсь, то придётся всё же ещё докупить блоков в графику.

Прикрепления: 7140993.png (7.4 Kb)



Вот так.
 
TLTДата: Четверг, 21.05.2015, 21:29 | Сообщение # 54
Генералиссимус
Группа: Администраторы
Сообщений: 2338
Статус: Оффлайн
Цитата SavitarSvit ()
если сверху и снизу будет оставаться место, то надо сделать вензельный рисунок

Уровень может занимать все 320x224, т.е. место может не оставаться. А на скрине, что выше - это маленькая комната.

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

Также, друзья, мне нужны от вас советы по поводу картинок значениям. Желательно на 1 тайл (8x8 пикселей), т.к. это решение для освобождения места.

Количество ходов - ?
Время - будильник или песочные часы?
Очки - корона?

Нужны ли жизни игроку или сделать бесконечные попытки? Склоняюсь к бесконечным продолжениям и быстрым стартам: провалился в яму - появился шарик на начальной точке, заново... Так правильно же?

Цитата SavitarSvit ()
Надо обязательно сделать подсчет очков, без них игра не игра. И после завершения уровня должен быть экран (или просто наложения таблицы) подведения итогов и очков.


Я планировал не делать паузы между уровнями, как в Battle City, дав не прерывистый экшен и сценарий. Это позволит сохранять динамику сюжета: закатил на первом уровне шари в правую дверь, тут же переключается вторая локация, где шарик выкатывается из левой двери, прокатывается до столбика, останавливается; дверь, из которой он прибыл, разрушается. И т.д.

Подсчёт очков можно было бы делать вверху интерфейса. В реальном времени или по переходу на следующую локацию.

За что давать очки? Есть пара мыслей тут, но принял бы предложения.



Вот так.
 
SavitarSvitДата: Пятница, 22.05.2015, 19:11 | Сообщение # 55
Сержант
Группа: Проверенные
Сообщений: 25
Статус: Оффлайн
Количество ходов - ботинки, сапоги (вообщем обувь)
Время - песочные часы (думаю надо все делать в едином стиле, хз какой он будет smile но видится средневековье или готика и т.п.)
Очки - сундук
Жизни или попытки не ясно, поскольку я пока слабо себе представляю как будет протекать геймплей. Если делать бесконечные попытки, то количество использованных попыток нужно отображать на экране.
Цитата TLT ()
Я планировал не делать паузы между уровнями, как в Battle City, дав не прерывистый экшен и сценарий.

Ну ведь миры будут меняться? В одном мире будет сколько то уровней или сколько то экранов? И вот когда игрок пройдет мир, то и будет экран подсчета суммарных очков. Тут можно подсчитать общее время на прохождения мира и очки по этой позиции, общее кол-во попыток потраченное на прох-е мира, очки за каждую попытку минусуются. Так же предлагаю потом сделать скрытые плюшки на уровнях. Допустим если мир состоит из 10 этапов, (экранов) то спрятать 5 секретов на пяти из них. Что это за секреты? Опять же получение дополнительных очков за совершение какого то действия. Например, свалиться в какую то конкретную яму и получить 1000 очков., потратится попытка, но подгодать бонус по очкам так, чтобы он перекрывал в 2 раза (или как то так) кол-во очков которое потом снимут за попытку. Или например прижать шарик к какому то месту и получить очки, или провести по кругу шарик вокруг какого то объекта и т.п.
Так же подсчет очков по минимуму пусть идет в реальном времени, за каждое продвижение на клетку и т.о. проходить локации длинными путями будет актуально.
И наверное пароль будет давать вход на определенный мир и получить его можно будет между мирами.
 
TLTДата: Суббота, 23.05.2015, 00:33 | Сообщение # 56
Генералиссимус
Группа: Администраторы
Сообщений: 2338
Статус: Оффлайн
Цитата SavitarSvit ()
Ну ведь миры будут меняться? В одном мире будет сколько то уровней или сколько то экранов?

Будут.

Цитата SavitarSvit ()
подсчет очков по минимуму пусть идет в реальном времени, за каждое продвижение на клетку и т.о. проходить локации длинными путями будет актуально.

Не соглашусь тут, т.к. ничто не мешает туда-сюда катать шар.

Знаешь, как я подумал за очки…

Например, просчитать количество ходов на уровне. Например, за 10 ходов шар окажется в нужной лунке или двери. Тогда скрыто начисляем на этом уровне в банк 200 очков. И за каждый ход отнимаем 10 очков. Таким образом, если человек пройдет уровень наиболее быстро, затратив 10 ходов, то ему дается 100 очков. Если за 11, то ему дается 90 очков. Если за 12 ходов, то ему дается 80 и т.д. А если пройдет за 20 и более ходов – 0, соответственно.

Также можно и со временем сделать. Чем быстрее, тем больше очков.

Ещё можно будет сделать бонусы или секретки, как ты сказал, но упасть в яму, думаю, будет слишком нелогично и читерски. Нужно, думаю, сделать поощрения за положительные действия, а не за лузерство. Разместить какой-то бонус… Может быть, даже рандомно (но тут он может попасть туда, куда нет доступа от блоков или нужно будет потратить лишние ходы, жизнь).



Вот так.
 
SavitarSvitДата: Суббота, 23.05.2015, 08:27 | Сообщение # 57
Сержант
Группа: Проверенные
Сообщений: 25
Статус: Оффлайн
Цитата TLT ()
Не соглашусь тут, т.к. ничто не мешает туда-сюда катать шар.

Это конечно так, но количество очков за ход будет даваться лчень маленькое. Например по 5 или по 1 и к тому же если в конце мира будет подсчет очков по суммарному времени (чем меньше времени тем лучше и тут их давать будут много) то никто не станет тупо шар катать, поскольку в итоге он все равно не получит хороший результат на финише, поскольку чем дольше он на месте стоит, тем больше с него очков снимут, а очки за время основные, и очки за ход в любом случае их не перекроют.
В целом очки за ход будут вносить некоторую "глубину" счета, и одновременно активное действие на экране, когда счетчик будет мотать.
Не думаю что стоит начислять очки за количесво ходов. В таком случае дизайн уровней должен быть чуть ли не гениальный и вариантов прохождения уровня должно быть несколько. Легче начислять за ход/движение шара по чуть чуть, и делать уклон на время прохождения уровня и основные очки начислять за это, ну и конечно за затраченные попытки. Опять же в дальнейшем будет виднее, когда будет готов хотя бы первый мир.
Насчет падения в яму. А почему это будет читерство? На весь мир может будет 1 такая яма, просто как приятный прикол, который ты нашел случайно. Этот трюк с бонусом будет срабатывать только 1 раз, потом после начисления очков, сколько не падай их больше не дадут. И весь прикол в том, что никто не будет знать за какое действие на каком этапе дают бонус очки и они будут открываться случайно или вообще никто о них не узнает.
Например когда игрок получает подобный скрытый бонус, на экране появляется мелкий значок (может рисунок этого звука или разные изображения каких то вещей, как делала конами вставляя голову с острова пасхи в качестве секретки в первой кастле) сопровождаемый звуковым эффектов типа WOW или Уууу или Мммм.
 
TLTДата: Воскресенье, 24.05.2015, 17:34 | Сообщение # 58
Генералиссимус
Группа: Администраторы
Сообщений: 2338
Статус: Оффлайн
Работа продолжается. Так как SMD не поддерживает вращение тайлов, то я не стал усложнять, писать код, просто добавил перевернутые на 270 градусов тайлы стен, и отзеркалил для правой стены. И заюзал их для создания вертикальных стен. Чутка палитру подправил, но её ещё нужно будет доработать.

Кстати, т.к. художник меня не понял, несмотря на то, что я просил много раз, мне пришлось самому подправлять тайлы дверей. Ещё придётся шарик сделать 8x8, а не 8x7… Т.к. просчёт происходит не попиксельно, а потайлово, то минимальная единица сдвижения – 8 пикселей. И шарик останавливается не касаясь столбика на 1 пиксель. И дверь слишком большая – на 2 шарика => вводила бы игрока в заблуждение.

Скоро положу паркет и откорректирую столбики.

Прикрепления: 4572860.png (7.0 Kb) · 2303642.png (7.4 Kb) · 3482218.png (7.4 Kb)



Вот так.
 
TLTДата: Понедельник, 25.05.2015, 18:04 | Сообщение # 59
Генералиссимус
Группа: Администраторы
Сообщений: 2338
Статус: Оффлайн
Цитата SavitarSvit ()
основные очки начислять за это, ну и конечно за затраченные попытки.

За проигрыши начислять очки? 0_o

Цитата SavitarSvit ()
На весь мир может будет 1 такая яма, просто как приятный прикол, который ты нашел случайно. Этот трюк с бонусом будет срабатывать только 1 раз, потом после начисления очков, сколько не падай их больше не дадут. И весь прикол в том, что никто не будет знать за какое действие на каком этапе дают бонус очки и они будут открываться случайно или вообще никто о них не узнает.

Ну один-два раза можно сделать...



Вот так.
 
SavitarSvitДата: Понедельник, 25.05.2015, 18:28 | Сообщение # 60
Сержант
Группа: Проверенные
Сообщений: 25
Статус: Оффлайн
Цитата TLT ()
За проигрыши начислять очки? 0_o

Там подразумевалось, схема - чем меньше затрачено попыток, тем больше очков. Без потерь прошел - перфект, допустим 50 000, 1 попытка в минус - 25 000, 2- 10 000, 3 - 5000 и т.д. Больше 10 - no bonus.


Сообщение отредактировал SavitarSvit - Понедельник, 25.05.2015, 18:29
 
Форум ромхакеров » Около темы » Геймдев » Проект Mega Marble World (Головоломка, игра на Sega Mega Drive)
Поиск: