Forums Logo

Здравствуйте Гость ( Вход | Регистрация )

Страниц: 4 < 1 2 3 4 > 
Reply to this topicStart new topicStart Poll

Каскадный · [ Стандартный ] · Линейный

> Реактивное введение в программирование под GBA

aa-dav
post Воскресенье, 25 июня 2017, 04:41
Отправлено #41


Фанат
***

Группа: Пользователи
Сообщений: 180
Регистрация: 20 апр. 2017
Пользователь №: 58 717





QUOTE (hqqddy @ Сегодня, 00:51)

Но в нее не часто играли
*


Да, сейчас когда вспоминают про игры с денди её редко кто вспоминает в контексте "лучших боевиков", что на мой взгляд есть ужасная несправедливость. У игры, имхо, просто нет полных аналогов в плане сочетания геймплея и сеттинга - это самый настоящий "Call of Duty: Modern ..." тех лет. Графон и сеттинг "под реал" и надо сказать отменнейший графон, даже приводящий иногда к просадкам фпс (!). Сейчас вот сканировал когда первый уровень снова вспомнил как много там платформерных разнообразий - и обваливающиеся и ездящие платформы, и вентиляторы и катящиеся бочки и тот же погрузчик, пытающийся надеть на шипы, наклонные плоскости, прогулки по крыльями самолётов под шквалом ветра и т.п. и т.д. Во всех аспектах игра есть triple A.
Единственное - это должна была быть игра с другим названием - Arc Hound, но её из маркетинговых соображений переименовали в контру. Что в общем то не умаляет ни капли, имхо.
По геймплею отличия с классическими контрами действительно минимальны - враги спавнятся только попадают на экран, а не бесконечно бегут со всех сторон, и выбор оружия происходит осознанно, со специализацией по четырём героям, а не просто что прилетело с неба то и прилетело.
В общем на мой взгляд совершенно незаслуженно забытый шедевр.
И если классические контры портировали куда не лень, то про эту действительно быстренько забыли почти сразу же.
Вот этот момент я и собираюсь немного исправить.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
hqqddy
post Воскресенье, 25 июня 2017, 12:49
Отправлено #42


Продвинутый
**

Группа: Пользователи
Сообщений: 90
Регистрация: 06 июля 2016
Пользователь №: 55 920





Круто. Дрезайте)
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
aa-dav
post Понедельник, 26 июня 2017, 05:54
Отправлено #43


Фанат
***

Группа: Пользователи
Сообщений: 180
Регистрация: 20 апр. 2017
Пользователь №: 58 717





Получено разрешение на использование каверов фоновой музыки из Contra Force от нашего соотечественника: http://darkman007.untergrund.net/covers.php
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Gashik
post Понедельник, 26 июня 2017, 07:52
Отправлено #44


Unregistered









Крутяк! Если получится, можно в конце нанять художника, чтобы перерисовал графику.
Go to the top of the page
+Quote Post
aa-dav
post Понедельник, 26 июня 2017, 13:09
Отправлено #45


Фанат
***

Группа: Пользователи
Сообщений: 180
Регистрация: 20 апр. 2017
Пользователь №: 58 717





Готова технодемка Contra Force Advance:

Закачиваем образ картриджа с технодемой Contra Force Advance отсюда: https://yadi.sk/d/WqH7C9ya3KTLow

Поле можно скроллить туда-сюда во всех четырёх направлениях, зажатие бампера ® приводит к ускорению перемещения.
Напоминаю, что за замечательный трек надо благодарить DarkMan007: http://darkman007.untergrund.net/covers.php

Скрин:
user posted image

Добавлено спустя 2 дня 18 часов 21 минуту:
Немного скриншотов процесса снятия копий спрайтов.
Муторное довольно дело...


user posted image

user posted image

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

Сообщение отредактировал aa-dav - Четверг, 29 июня 2017, 07:32
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
aa-dav
post Суббота, 08 июля 2017, 14:38
Отправлено #46


Фанат
***

Группа: Пользователи
Сообщений: 180
Регистрация: 20 апр. 2017
Пользователь №: 58 717





Маленький шажок для спрайта, большой шаг для девелопера...

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
dimm0505
post Воскресенье, 09 июля 2017, 01:31
Отправлено #47


Console Addict
Group Icon

Группа: Супермодераторы
Сообщений: 29 419
Регистрация: 21 янв. 2007
Из: СПб
Пользователь №: 20 637





QUOTE (aa-dav @ Суббота, 08 июля 2017, 23:38)

Маленький шажок для спрайта, большой шаг для девелопера...


*

Красавчик! Поздравляю, это действительно большой шаг.


--------------------
Switch/Xbox Series X/Quest 2/Retroid Pocket 4 Pro/Anbernic 35xx+/Beelink S12 Pro
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
aa-dav
post Воскресенье, 09 июля 2017, 17:33
Отправлено #48


Фанат
***

Группа: Пользователи
Сообщений: 180
Регистрация: 20 апр. 2017
Пользователь №: 58 717





QUOTE (dimm0505 @ Воскресенье, 09 июля 2017, 01:31)

Красавчик! Поздравляю, это действительно большой шаг.


Спасибо! Сегодня еще продвинулся

Ох уж эти пиксельные пиксели, довольно забавно как приходится каждый кадр сверять с образцом из эмулятора.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Gashik
post Воскресенье, 09 июля 2017, 20:06
Отправлено #49


Unregistered









Респект! Слежу с удовольствием и жду результатов.
Go to the top of the page
+Quote Post
aa-dav
post Понедельник, 10 июля 2017, 12:34
Отправлено #50


Фанат
***

Группа: Пользователи
Сообщений: 180
Регистрация: 20 апр. 2017
Пользователь №: 58 717





Ностальгическая нотка.

Картридж с Contra Force был жемчужиной моей небольшой коллекции из буквально трех-четырех штук. После развода родителей да еще на фоне кризиса девяностых она прекратила пополняться и замерла на этой печальной цифре вплоть до смены игровой платформы много позднее на ПК.
Если быть совсем точным, то владел я пиратским клоном с названием Super Contra 6.
В недрах интернета нетрудно найти его фото:

user posted image

у меня был у меня точь-в-точь такой же.
Саму игру, поэтому, я зашлифовал до дыр - многократно проходил, ставил рекорды "без потери жизней" и т.п. И естественно мне отчаянно не хватало новых уровней в ней. И я мечтал их раздобыть и мечта эта многократно усиливалась и самой подачей пиратской китайщины, воспетой Кинаманом. Ведь раз у меня была Super Contra 6, то воображение услужливо дорисовывало, что где то есть как минимум 5-ая, 4-ая и 3-я части. В первую контру и супер контру я играл и понимал, что это видимо первые две части, хотя оставалась возможность, что Super Contra 2 была всё-таки отдельной игрой. А могла быть и Super Contra 7 - ведь видно же было, что шлёпают как горячие пирожки.
И вот я перепроходил её на сотый раз, не теряя жизней, с закрытыми глазами и грезил, что где то есть новые уровни, новые лабиринты, закоулки и площадки - вот точно они где-то есть, но не у меня.

Так что не без оснований можно сказать, что сейчас я воплощаю жгучую мечту детства - заполучить новые уровни к этой игре. Даже сразу две мечты - создавать игры для игровой консоли и новые уровни к супер контре 6.
Впервые желание делать компьютерные игры тоже связано с денди. Я даже помню когда и что это было - игра с трудным названием на одной классической многоигровке, которые продавались в комплекте с приставкой - Yie Ar Kung-Fu - простенький файтинг. Там когда побеждаешь всех бойцов первого круга - начинается второй круг с усилением сложности. И когда проходишь каждый круг аватар игрока прыгает и бьёт в гонг, висящий в центре экрана с ноги, отчего раздаётся гулкий звук. И вот в какой то момент я подумал что было бы классно, если бы в очередной раз этот гонг бы отвалился, упал и разбился бы. И я понял что это в принципе теоретически возможно - ведь кто-то сделал саму игру, а значит можно с ней делать и такие вещи. И сама эта возможность замаячила тоже чем то очень интересным, загадочным и манящим.

Добавлено спустя 1 день 6 часов:
Начав делать пули столкнулся с проблемкой - из оригинальной Contra Force выдрать звуки оказалось нереально.
И не могу найти трудов никаких хакеров, которые бы такое сделали бы.
В общем то неудивительно. Кто помнит тот знает, что в той же Super Contra был спец-режим, если зажать какие то кнопки в титульном экране в котором можно было как раз прослушать аудиоэффекты игры. Грабь в своё удовольствие.
Проблема Contra Force же в том, что там ни на секунду не выключается нигде музыка и все звуки "замусорены" оказываются ею - отсюда просто невозможно снять качественные самплы.
Потенциально это можно сделать, если расковырять код игры и хачить образ прямо в эмуляторе - но это уже недосягаемый для меня уровень.
В общем легко нагуглились как раз звуки эффектов из первой Contrsa и Super Contra - так что возьму их для первых опытов, возможно и оставлю.
Жаль, там были аутентичные звучки иногда. Но ладно. Не так уж и часто. В основном типовые шумы.
Давно не брал в руки шашки... то есть С++ и немного удивлён сейчас как быстро разрастается код, модули и текст прут как на дрожжах, по любому поводу.
Одно только управление персонажем это какая то дичь. Все if-case-ы идёт он или приседает, под углом или вертикально - дикое количество кода, ощущение лапши не покидает, уж как ни старался распихивать смещения и по массивам "круговых направлений" для краткости извлечения, но всё равно постоянно лезут исключения и побочные случаи.

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



Сообщение отредактировал aa-dav - Вторник, 11 июля 2017, 18:34
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
hqqddy
post Вторник, 11 июля 2017, 20:10
Отправлено #51


Продвинутый
**

Группа: Пользователи
Сообщений: 90
Регистрация: 06 июля 2016
Пользователь №: 55 920





К Санчезу обрптитесь cah4e3.shedevr.org.ru думаю он на многое способен.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
aa-dav
post Среда, 12 июля 2017, 03:35
Отправлено #52


Фанат
***

Группа: Пользователи
Сообщений: 180
Регистрация: 20 апр. 2017
Пользователь №: 58 717





QUOTE (hqqddy @ Вторник, 11 июля 2017, 20:10)

К Санчезу обрптитесь cah4e3.shedevr.org.ru думаю он на многое способен.
*


Спасибо! Да там и просто почитать интересно...

Добавлено спустя 1 час 46 минут:

Офигеть. На форуме gamedev.ru, где я тоже выкладываю эти заметки завсегдатай eMan.Lived расковырял в эмуляторе FCEUX оригинальную Contra Force так, что в ней отвалилась вся музыка при сохранении звуковых эффектов: http://www.gamedev.ru/flame/forum/?id=227447&page=3#m42
Такие дела. smile.gif

Сообщение отредактировал aa-dav - Среда, 12 июля 2017, 05:22
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
hqqddy
post Среда, 12 июля 2017, 14:53
Отправлено #53


Продвинутый
**

Группа: Пользователи
Сообщений: 90
Регистрация: 06 июля 2016
Пользователь №: 55 920





А уровни будут новые или сохраненные от НЕС?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
aa-dav
post Среда, 12 июля 2017, 16:00
Отправлено #54


Фанат
***

Группа: Пользователи
Сообщений: 180
Регистрация: 20 апр. 2017
Пользователь №: 58 717





QUOTE (hqqddy @ Среда, 12 июля 2017, 14:53)

А уровни будут новые или сохраненные от НЕС?
*


Новые. Зачем мне старые? Я в них давно уже наигрался. smile.gif

Ах да... Я же это всё выложу в открытый доступ и любой кто захочет сможет сделать свои уровни.
Используются бесплатные редактор:
- Tile Ed (itor) для редактирования уровня
- Paint.NET для обработки картинок и карт тайлов (24bit BMP)
- Audiacity для записи и сохранения звуков в нужном формате (16bit mono PCM WAV).

Периодически обновляемый архив с последним состоянием проекта - уже готовым образом, а так же всеми ресурсами и исходниками буду выкладывать сюда: https://yadi.sk/d/Mb15dr353KsijT
Корневая папка это папка от реактивного введения в программирование под Game Boy Advance, собственно Contra Force Advance так и станет просто комплексным примером в материалах к этому курсу.
Инструкции о том что скачать и как запустить можно прочитать там же.

В папке CFA находится собственно проект с CFA.
Система сборки так же заделана через адские *.bat-ники для простоты и независимости от внешних утилсов (make из состава DevKitARM отказывается работать без msys, из-за чего я его и не использую, сборка чисто под виндой).
В файле devkitpro.bat надо так же поправить путь к DevKitPro.
При подключении заголовка gba_defs.h он ссылается просто на папку вверх, так что если будут перемещения, то надо будет поправить это в исходниках CFA.
Ресурсы всегда зашиваются сперва в исходники с расширением .inc с просто дефиницией массивов байт или слов и подключаются к проекту на правах обычного исходника таким образом.
Для конвертации в исходники звуков создана утилита wav2incl, а для битмапов и карт из открытого редактора Tile Editor - tiles2incl. Они там скомпилированы на банальном mingw32, но есть и в исходниках.
Звуки зашиваются в модуль res_sounds запуском make_sounds.bat, а битмапы и карты - res_graphics через make_graphics.bat. Опять таки пути к wav2incl и tiles2incl смотрят наверх в папку уроков.
Файл make.bat компилирует уже исходный код самой игры и сшивает со всеми объектниками в готовый образ. Знаю, что рожа просит мейка, но повторюсь, от внешних зависимостей для простоты избавляюсь, а встроенный в DevKitARM тоже не нравится своим подходом.

То есть, для подготовки надо скачать и установить DevKitPro (см. курс введения) и настроить путь к нему в файле devkitpro.bat
А дальше:
а) если менялись звуки - запустить make_sounds.bat
б) если менялись тайлы или уровень - запустить make_graphics.bat
в) запустить make.bat
Если всё пройдёт без ошибок, то получится образ с игрой. Если окна с выполняющимися командами выше мелькают быстро и исчезают, то можно в конце эти трёх батников прописать команду pause в отдельной строчке, чтобы иметь возможность подробно рассматривать не возникало ли ошибок.

В общем пока еще время не наступило - когда доведу всё до ума напишу большое обстоятельное введение как и что для потенциальных желающих добавить или развить в своё. Конечно же смысл в новых уровнях - благо TileEd позволяет их клепать с удивительной лёгкостью.
Если возникнут вопросы по содержимому архива - спрашивайте. Потому что делать свои уровни можно уже сейчас - человечек уже сможет даже по ним пробежать. Единственное пока уровень будет статичен, но заготовку на будущее уже можно делать. Посмотреть можно на map01 в комплекте (файл с расширением tmx) - это в Tile Editor надо открывать. Если будет непонятно что и как там делать - могу пояснить.

Сообщение отредактировал aa-dav - Среда, 12 июля 2017, 16:16
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
hqqddy
post Среда, 12 июля 2017, 16:49
Отправлено #55


Продвинутый
**

Группа: Пользователи
Сообщений: 90
Регистрация: 06 июля 2016
Пользователь №: 55 920





QUOTE (aa-dav @ Среда, 12 июля 2017, 16:00)

Новые. Зачем мне старые? Я в них давно уже наигрался. smile.gif
*

Ну так сказать старая новая классика)
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
aa-dav
post Суббота, 12 августа 2017, 21:09
Отправлено #56


Фанат
***

Группа: Пользователи
Сообщений: 180
Регистрация: 20 апр. 2017
Пользователь №: 58 717





CODE

const char * const gr_actors_01[] = {
"type", "grenader",
"name", "soldier 02",
"x", "496.25",
"y", "431.5",
"width", "16",
"height", "32",
"color", "1",
nullptr,
"type", "grenader",
"name", "soldier 01",
"x", "269.75",
"y", "424.75",
"width", "16",
"height", "32",
"color", "0",
nullptr,
nullptr };

Допилил утилиту по перегонке данных из редактора карт TileEd в исходники на C. Выше фрагмент кодогенерации с данными двух монстров для десериализации.
Ну собственно сейчас буду писать эту самую десериализацию в кишках Game Boy Advance.
Огромный перерыв в прогрессе сабжевого начинания вызван огромным прогрессом в личной жизни, так что не теряйте и не думайте что проект затих. Хобби даст ист хобби. Невердай, неверенд. Просто семейные обстоятельства.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
aa-dav
post Суббота, 28 октября 2017, 20:15
Отправлено #57


Фанат
***

Группа: Пользователи
Сообщений: 180
Регистрация: 20 апр. 2017
Пользователь №: 58 717





Положил начало загрузке действующих лиц (акторов) из данных TileEd, первых (еще недоделанных) врагов и реакцию их на попадание оружием.
Снял видео где еще показал как выглядит редактирование уровня в новых реалиях:



Смотреть лучше в развёрнутом на полный экран виде.

Сообщение отредактировал aa-dav - Суббота, 28 октября 2017, 20:16
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
aa-dav
post Понедельник, 04 декабря 2017, 06:24
Отправлено #58


Фанат
***

Группа: Пользователи
Сообщений: 180
Регистрация: 20 апр. 2017
Пользователь №: 58 717





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



P.S.

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

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


Сообщение отредактировал aa-dav - Понедельник, 04 декабря 2017, 06:40
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
zarkone
post Понедельник, 04 декабря 2017, 10:46
Отправлено #59


Продвинутый
**

Группа: Пользователи
Сообщений: 68
Регистрация: 30 янв. 2011
Из: Барнаул
Пользователь №: 39 966





офигенски! давно хотел поиграть в Contra Force на железе, да чтобы не тормозило, поэтому тоже плюсую за воссоздание оригинальных уровней. У меня есть 2 разных гба и ds lite, все с флешками, т.е могу проверять. Ну и жду ссылку куда-нибудь на гитхаб\гитлаб\etс, т.к. немного писал на С и С++, возможно чем-то смогу помочь


--------------------
3DS FC: 4828-8418-9110
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
aa-dav
post Понедельник, 04 декабря 2017, 13:25
Отправлено #60


Фанат
***

Группа: Пользователи
Сообщений: 180
Регистрация: 20 апр. 2017
Пользователь №: 58 717





QUOTE (zarkone @ Сегодня, 10:46)

Ну и жду ссылку куда-нибудь на гитхаб\гитлаб\etс, т.к. немного писал на С и С++, возможно чем-то смогу помочь
*


Вот тут тема где немного больше программистской информации: http://www.gamedev.ru/flame/forum/?id=227447
А вот здесь: https://yadi.sk/d/djA-upj1-oc1hA всегда лежит архив с последним состоянием проекта.
В нём есть папка CFA в ней в !!!readme!!!.txt инструкция что скачать чтобы можно было самому что-то делать, менять уровень, даже модифицировать код игры. Это был есть и будет опенсорц, так что в принципе единственное что я за собой сейчас хочу сохранить - это приоритет в написании исходного кода - я этим наслаждаюсь. С другой стороны какие то ответвления или новые уровни - да без проблем. Если хочется быстрой реакции в обсуждениях по разработке, то лучше зарегистрироваться на gamedev.ru и писать в тему туда, сюда я больше как бы для пользователей девайсов пишу, самих игроков, заглядываю реже, а разработка - по профилю - там.

Сообщение отредактировал aa-dav - Среда, 03 октября 2018, 10:12
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
 

Упрощённая версия Сейчас: Пт., 01 нояб. 2024, 02:26
Skin Designed (c) by Rooq.net, All Rights Reserved.