Войти
ФлеймФорумПроЭкты

Contra Force Advance (5 стр)

Страницы: 14 5 6 720 Следующая »
#60
21:18, 12 авг 2017

Если вкратце, то неуёмной энергии, которой некуда девать стало намного меньше. И времени.
Тем не менее это норма в этих обстоятельствах. Проекту быть.

#61
0:06, 13 авг 2017

=A=L=X=
Точно женился. Поздрядря!

#62
7:56, 8 окт 2017

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

#63
8:13, 31 окт 2017

Причесал файлы уроков "реактивного введения", так что их теперь легко собирать без вникания что и как надо делать в файлах сборки.
А главное - переделал таки систему сборки под make. Наковырял таки как заюзать make из DevKitPro, чтобы он не ругался на отсутствие среды msys (без её запуска конечно же) и поэтому теперь наконец то сборка собирает только то, что надо пересобирать, намного приятнее стало.
Заодно попричесал то тут то там, сериализацию акторов наконец то довёл до логического завершения и собственно начал пилить первого актора-врага.
Снял немного видео как теперь процесс начинает выглядеть от редактора карты до запуска эмулятора (смотреть лучше на полный экран, там FullHD):

#64
6:21, 4 дек 2017

Они научились избегать проблем и убегать от неприятностей:

P.S.

На самом деле с последнего ролика было сделано достаточно много - объекты выстроились в space-partitioned список (sweep&prune), получили возможность проверять быстро ближайших соседей, на всём поле может быть любое разумное количество объектов, но в списке активных будут находится только необходимые.
Числа в левом-верхнем углу как раз мониторят такие величины.
T - полное количество объектов
L - сколько объектов находится на поле
A - сколько объектов активно (обрабатываются к движению и отрисовке)
W - сколько раз объекты поля менялись парно местами в списке чтобы он продолжал быть упорядоченным
Например объект-пуля теперь так проверяет не попала ли она в кого-то:

  // такая форма ActorsRange итерирует по тем кто прикасается к объекту в this
  // и при этом принадлежит "сторонам конфликта" в битовой маске targets
  for ( auto it: ActorsRange( this, targets ) )
  {
    it->takeDamage( 60 );
    markDeleted(); // пометить себя к подчистке
    return;
  };
#65
13:58, 21 янв 2018

проекту нужна помощь с анимацией? :)
Burns | Contra Force Advance

#66
14:15, 21 янв 2018

Warentino
> проекту нужна помощь с анимацией? :)

Там такое дело, что анимация на данном этапе фактически делается кодом - я про это тут писал в теме.
В файле mss-01.bmp находятся плитки тайлов 8x8 персонажей и они анимируются кодом игры который выводит их спрайтовым движком видеочипа GBA в разных позициях по отношению друг к другу.
Так как GBA суть и дух - тайловый движок как в типичной 8/16-битной консоли, то это довольно естественный способ для платформы, а вот какие то анимированные гифки и что либо подобное в неё плохо укладываются.
Проект является полным опенсорцом - так что баловаться в нём можно прямо сейчас.
Можно редактировать сам тайлсет, например сделать его более полноцветным - но требуется соблюдать ограничение платформы на не более чем 256 цветов в файлах mss-01.bmp или mts-01.bmp (в каждом по отдельности). Плюс самый верхний-левый пиксель всего тайлсета станет цветом прозрачности. Я сам редактирую тайлсеты в бесплатном Paint.NET в аналогичных файлах с расширением *.pdn где для удобства есть слой с красными пикселями в нижнем-правом пикселе каждого тайла, но главное перед компиляцией проекта сохранить их в bmp-шки в формате 24-bpp.
Можно редактировать новые карты с помощью опенсоурсного редактора TileEd (гуглите откуда его можно скачать), пока правда монстриков еще нет толком, но базис карты можно делать и запускать её если перекомпилировать проект с новой map-01.tmx - это как раз карта в формате TileEd. Видео как примерно это делается тут выше есть.
Если будет получаться интересно я не откажусь от включения полученных трудов в мой архивчик. По той же опенсорсной схеме - с указанием авторства в readme и титрах.
Если есть какие то вопросы - задавайте.

#67
14:23, 22 янв 2018

Я ничего не понимаю в программировании, я просто рисую спрайты :) Выше, для примера, я продемонстрировал спрайт бега Burns'а в шести кадрах (в оригинале, как ты знаешь, он в четырех) Также можно анимировать и остальных персонажей, врагов, некоторые элементы окружения и нарисовать новые (если консоль позволит (я не в курсе)). Если интересно и можно внести это в проект, я готов посодействовать :)
P.S. сравнение, для наглядности: бег в 6 кадров и бег в 4.
Burns | Contra Force Advance Burns_1 | Contra Force Advance

#68
14:35, 22 янв 2018

vote за бег из 6 кадров.

#69
15:13, 22 янв 2018

Warentino

Да, я понял, но проблема в GBA.
В GBA мы оперируем набором тайлов 8x8:

Изображение

Здесь красными точками помечены нижние-правые углы тайлов 8x8, много тайлов составные - объединены до размера 8x16 или 16x16 с соседями. Так или иначе суть вот в чём - данная картинка отражает еще и предельное число тайлов которое GBA может хранить для спрайтов в единый момент времени. Причём это в два раза больше чем могла себе позволить NES/Dendy - 512 256-цветных тайлов 8x8 в GBA против 256 4-цветных тайлов в NES/Dendy. Тем не менее лимит несколько поджимает. Даже в денди требовались подмены тайлсета на лету. Тут же ради простоты я хотел бы остаться в пределах одного тайлсета на уровень и пока это выглядит реалистичным.
Но не в случае если будет по 6 кадров 4x4 тайла для одного только движения главного персонажа... Это потребует весьма сильной переделки и доделки графического ядра с риском вылезти за пределы графических возможностей в целом. Перекидывать огромные блоки пикселей в каждом кадре я бы сильно не хотел. В GBA всего лишь 16 мегагерцовый процессор ARM.
Поэтому на деле что происходит - те же ноги многократно переиспользуются разными персонажами, подставляются на лету к разным торсам, пушкам и головам, при этом отсутствует система по смещениям частей тела на один-два пикселя относительно друг друга, каждый вид человечка обладает собственными смещениями торса/частей тела/ног относительно друг друга - это кодируется на данный момент в коде.
В идеале это должен быть всё-таки блок данных на каждый кадр с описением какие тайлы и в каких позициях относительно друг друга в кадре находятся, но это требует целого редактора кадров с функционалом который мне лично нелегко построить.
Так что пока могу предложить только или раскрашивать тайлы в 256-цветную схему или дизайнить новые уровни...

Очень интересно так же не содержаться ли в моих инструкциях по перекомпиляции образа игры с целью делать новые тайлсеты или уровни каких то ошибок - описание дано в файле readme.
Если там что-то непонятно - отвечу на любые вопросы.

#70
15:52, 22 янв 2018

О как! Что ж, очень жаль((

#71
16:44, 22 янв 2018

Warentino
> О как! Что ж, очень жаль((

Меня лично очень греет одно только то, что есть люди с ностальгией по Contra Force и готовы предложить свой труд для реинкарнации.
На самом деле: огромное спасибо!

#72
18:51, 22 янв 2018

А вообще, что в планах? Просто Контра Форс, но с измененными уровнями или что-то шире?

#73
6:10, 23 янв 2018

Warentino
> Просто Контра Форс, но с измененными уровнями или что-то шире?

Что-то шире не задумывал пока, т.к. опенсорц, то кому нравится могут брать и делать что-то шире. На gbx еще один человек сказал что испытывает желание перерисовать как раз тайлсет в более полном цвете, но пока больше ничего не писал. Посмотрим.

#74
12:23, 23 янв 2018

Что-то типа такого?
snipеr1 | Contra Force Advance

Страницы: 14 5 6 720 Следующая »
ФлеймФорумПроЭкты

Тема в архиве.