Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Gradius

Страницы: [1]
1
 0_0 :D :wow: В этом году исполняется 12 лет с момента рождения первой игровой консоли на ARM-микроконтроллере: Advanced MicroMachine.
В связи с этим было принято решение отдать дань внимания своему первому детищу - портировал туда игру Gradius 3 Total Terror.  :cool: :lol: :)

Скачать игру для ПК под Windows или Linux теперь можно здесь: https://gradius3.itch.io/gradius-3-total-terror





2
Разработка игр / Project Contra - Sega Genesis / Mega Drive
« : 09 Декабрь 2019, 11:34:37 »
Плюсую начинания и результат автора!  :thumbup:

К сожалению, игровая индустрия убита школьниками, клепающими говно-игры на коленках за пару дней с целью срубить бабла. Именно из-за таких ублюдков процесс поиска нормальных игр усложняется в десятки раз. Так как хорошие игры просто тонут в потоке такого дерьма от школьников.

Вспоминаю, каким был стим 5 лет назад, такого ужаса как сейчас ещё не было.

И да, как верно тут топикстартер подметил, много личностей, которые что-то знают, но фиг у них хватит упорства написать от начала и до конца свою игру.

И ещё обилие просто демок меня настораживает.  Лучше бы игры писали нормальные: с сюжетом, боссами, межигровыми  заставками и качественные.   В стиле 8/16 bit  :D

Всё чисто субъективное ИМХО по итогам своих наблюдений.

Автору успехов в проекте!  ::)

3
Финальный релиз игровой консоли BlackPrism Portable, на которой идёт Gradius III Total Terror:


P.S. Сайт отключен за неуплату.


4
Gradius 3 Total Terror на весь экран ТВ:


Максимальный FPS= 144. VSync отключен. Частота контроллера 400 МГц. Софтовый SaI2x фильтр + аппаратный бикубический:


5
Благодаря такому замечательному видеоконтроллеру как S1D13746, стало возможным запускать игру Gradius III Total Terror на экране телевизора!

Обсуждение здесь: https://gamedev.ru/flame/forum/?id=246512

Самодельная видеокарта на базе чипа S1D13746:



Видео:


6
Консоль поддерживает практически все эмуляторы популярных (по ретро-меркам) игровых приставок-консолей:

1) GameBoy (цветной, черно-белый)
2) GameBoy Advance
3) NES
4) Atari Lynx
5) SEGA Master System
6) SEGA Game Gear
7) SEGA Mega Drive
8) Turbo Grafx 16
9) SNES
10) NEO-GEO
11) Capcom Play System 1,2

Нативные игры (порты):

1) Alex Allegator 4
2) Open Tyrian

Нативные игры (собственные):

1) Gradius III Total Terror.

Потенциальный охват более чем достаточный!






7
Портировал Gradius на другую свою игровую консоль: EMU Pocket. (она появилась раньше, чем BlackPrism).
У неё очень  скромные ресурсы : Flash память 2 МБ, оперативная память 1 МБ (фрагментированная на куски).
Тем не менее, мне удалось вместить игру в такие объёмы!

Правда, музыка играет с SD карты. Без SD карты будут только звуки )))

Для сравнения:

1) Железо BlackPrism: 32-битный DSP TMS320C6745, частота ядра 456 МГц, два встроенных RISC-сопроцессора по 228 МГц каждый, кеш L1 по 32 кБ на код и данные, кеш L2 на 256 кБ.  Внешняя память : 32 МБ.  Планируется переход на 64 МБ. Статус: макет. Планируется релиз.

2) Железо EMU Pocket: 32-битный ARM STM32H743, частота ядра 400 МГц, только кеш L1 по 16 кБ для кода и данных. Память Flash (ROM) 2 МБ, RAM - суммарный объем 1 МБ (нарезана кусками - 512, 256,... кБ в разных адресах). Статус: завершён

Level1,2

Level3,4

Level4 Boss

END:

Печатные платы для игровой приставки EMU Pocket также есть у меня в наличии. Отдам недорого. Пишите в личку, если интересно.

История создания игровой консоли EMU Pocket : https://vrtp.ru/index.php?showtopic=30174

Там же схема, описание, исходники портированных эмуляторов для отладочной платы STM32H743 Nucleo. (на ней проводили макетирование EMU Pocket)

8
Портировал Gradius III Total Terror на самодельную игровую консоль BlackPrism (пока макет).

Консоль в процессе:

212186-0

212188-1

Видео с полным прохождением на игровой консоли Black Prism:


Подробнее про игровую консоль BlackPrism: https://vrtp.ru/index.php?showtopic=30775

Для повторения: схема открыта, сотфт тоже.

Печатные платы можно заказать у меня. Пишите в личку. DSP, память, некоторую мелочевку тоже могу переслать в пределах РФ.





Канал, посвящённый самодельным игровым консолям: Emu-Pocket (STM32H743) и BlackPrism(TMS320C6745):

https://www.youtube.com/channel/UCmVFYDZEcJ3sVFal5K42F-Q

Поддержка софтом:

Эмуляторы: GB, GBC, GBA, NES, SEGA MS, SEGA MD, SNES, NEO-GEO, CPS 1,2, AtariLynx, Turbo Grafx 16

Игры-порты: Open Tyrian, Alex The Allegator 4.

https://www.youtube.com/watch?v=EpVDKmqD0zw

https://www.youtube.com/watch?v=D_TOI35BflI



9
Новый билд игры Gradius III Total Terror под DOS: http://gradius3.space/download8.php

Что нового:

1) Исправлено потребление стека на оптимальное (теперь ДОС-экстендеры не требуют EMM386, HIMEM)

2) Перешли на PMODE/W вместо DOS4/GW

10
Сделали порт игры Gradius III Total Terror под DOS.

Скачать здесь: http://gradius3.space/download7.php (Билд от 14.07.2019)






Требования:

1) Поддержка видеокартой VESA VBE версии 1.2 как минимум.

2) Поддержка звуковой карты на уровне Sound Blaster 16 или его эмуляция.

3) Наличие переменной окружения BLASTER (к примеру: BLASTER=A220 I5 H5, где A - порт, I - аппаратное прерывание, H - номер канала 16-битного DMA)

Порт для DOS вначале был получен с помощью DJGPP, затем окончательно перенесён в Open Watcom C/C++ и поддерживается расширителем ДОС(DOS-extender) DOS/4G.



Используется самая навороченная версия DOS4GW - DOS4G, так как она обеспечивает бОльшее выделение памяти и поддерживает функцию коллбэка DPMI: 0x303



Подробнее про это написали здесь: https://gcup.ru/forum/67-101846-1

Звуковая карта, на которой тестировали: PCI Creative Sound Blaster Live - от саунд-бластера которой осталось только название,
вся работа в режиме SB16 через драйвер-эмулятор (эмуляция в DOS'е софтовая через VCPI EMM386 + HIMEM).

К сожалению, труЪ-шной ISA карты SoundBlaster у меня нет, также как и PCI Cmedia CMI8738,
способной работать в режиме Legacy Audio и выдавать "железный" SoundBlaster для DOS'а.

Результаты:

1) MS DOS 7.1 - идёт превосходно
2) Free DOS - идёт превосходно (выбирать вариант загрузки с EMM386)
3) Win98 - идёт превосходно
4) WinXP - идёт с небольшими рывками, но без тиринга (для эмуляции SoundBlaster, надо скачать драйвер VDMSound: https://www.old-games.ru/wiki/VDMSound)
5) DOSBox - скорость приемлема только в режиме без фильтра, задержки считаются неверно(в межуровневых сценариях звук проигрывается раньше, чем отработает задержка)

В DOSBox есть ошибка эмуляции - в 16-битных графических режимах неверно работают регистры VGA: 0x01 и 0x13 (порты 0x3D4/0x3D5),
которые устанавливают логическую ширину строки. Она должна быть в 2 раза больше, а на эмуляторе кадр был короче в 2 раза.
Проблема совместимости решилась вызовом функции 0x4F06 VESA VBE и отказом от программирования VGA-регистров.







Формат вызова: Gradius3 m s

m - режим:
x1  - 128x128 без фильтра (оригинальный кадр) - 320x200
x2  - 256x240 с фильтром - 640x400 или 640x480
x2f - 256x256 с фильтром - 640x400 или 640x480

s - слот:
0 - Level 1
1 - Level 1 Boss
2 - Level 2
3 - Level 2 Boss
4 - Level 3
5 - Level 3 Boss
6 - Level 4
7 - Level 4 Boss

Без параметров игра идёт в 256x256.

Игра создаёт файл LastSave.bat с последней точкой сохранения.

Игра на 100% повторяет порты для Win, Linux. Иными словами, DOS-порт является полноценным.



Для этого пришлось самостоятельно писать микширование звуковых каналов и заниматься декодированием аудио OGG Vorbis и ADPCM (в SDL это можно делать по умолчанию).

11
Сделали порт под Linux.  :)

Поддерживаются обе архитектуры - 32 и 64 бита.

http://gradius3.space/download6.php (Билд 30.06.2019)

Требуются: поддержка OpenGL, видеорежим с частотой обновления экрана в районе 60 Гц (игра использует текущий видеорежим).



Добавлено позже:
MAC версия не планируется по причине технической невозможности реализации или из за каких либо внешних факторов?

MAC версия под вопросом. Если будет многим сильно нужно - попытаемся сделать.

12
а Gradius - это планета, на которую напал Bacterion, тот самый финальный босс, который сам по себе без врагов только молча дохнет и всё.

В нашем Градиусе Бактерион более сложен. Здесь он уже атакует. )) И боссы не дохнут сами по себе, как это в SNES Gradius3

Добавлено позже:
Новый релиз игры Gradius III Total Terror от 24.06.2019:

http://gradius3.space/download5.php

Что нового в этом релизе? :

1) Подправлены мелкие баги в API (для игрока прозрачно)
2) Полноэкранные режимы теперь на всю высоту дисплея (сам кадр оставили квадратным, чтоб не нарушать Aspect Ratio)
3) Внедрили титульник созданный, пользователем Sharpnull (за это ему БОЛЬШОЕ спасибо! :)
4) Исправили название космического корабля (замечание от пользователя OmKol, спасибо!)

13
Я всегда думал, что это Vic Vipe
Спасибо, исправили.

Добавлено позже:
Квадратный экран в 2008? Что-то вы вообще не следили за рынком...
Не следили :) Потому что бесплатно ))

14
Нарисовал лого с оригинала, не идеально, но получше. На картинке сделал "2008 - 2019", а не "2008, 2019", хотя если разработка велась только два года, то правильно.
За лого - спасибо!  :) Внедрили вариант с градиентом.
Разработка шла в 2008 и 2019 году, поэтому 2 года ("," вместо "-")

15
Итак, после долгих и упорных исследований, нам [коллективу разработчиков игры "Gradius III Total Terror"] удалось улучшить плавность анимации в игре!

Удалось избавиться от:

- Тиринга (Tearing) - разрезания изображения
- Периодического подёргивания изображения

В этом месте особенно хорошо тестируются:



Допилили SDL 1.2 - написали свой рендерер через OpenGL, поддерживающий VSync.
Кроме того, для VSync задействовали DWM там, где это возможно (см. ниже).

Алгоритм VSync теперь следующий:

1) проверяется наличие поддержки Desktop Window Manager (DWM).
2) если DWM поддерживается, то VSync в оконных режимах будет через DWM_Flush() (подробнее - курим MSDN).
3) если DWM не поддерживается, то VSync будет через флажок OpenGL (выставляется принудительно).

DWM присутствует в ОС Win, начиная с Vista.
В Windows 7 DWM начинает работать, если включена AERO в настройках Персонализации.
В Windows 10 DWM работает всегда (?)





Почему мы делаем VSync, используя оба метода OpenGL и DWM ?
Потому что использование VSync без DWM с помощью OpenGL повышает % использования CPU.

В ходе экспериментов мы установили следующее:

1) Включение AERO снижает % использования CPU в полноэкранных режимах, когда VSync с помощью OpenGL

2) Включение AERO сильно снижает % использования CPU в оконных режимах, когда VSync с помощью DWM

3) С выключенной AERO VSync с помощью DWM не работает, а OpenGL VSync грузит двух-ядерный CPU на 50%

4) VSync DWM работает только с включенной AERO и только в оконном режиме

5) AERO в Win10 включена всегда, а в Win7 включается через "Персонализацию"

6) При переключении в полноэкранный режим возможны задержки, если AERO включена (Win7)

7) VSync в OpenGL лучше переключать, используя прямой вызов функций расширений OpenGL,
   а не через SDL (проблемы на встроенных картах Intel в Win10)

Попутно проверили рендерер Direct 3D: VSync там оказался некачественным - присутствовали резкие подёргивания при анимации изображения.
Проверяли в эмуляторе SNES9x (рендерер Direct3D, галочка VSync, ROM biometal.sfc) и на программе-заготовке в SDL 2.0

А также пробовали адаптировать игру на SDL 2.0. Никаких улучшений по сравнению с SDL 1.2 мы не заметили, напротив - одни ухудшения:

- дёрганная анимация на D3D рендерере (см. выше)
- некорректно происходит работа со звуком (SDL_Mixer 2.0) - присутствовали резкие щелчки после окончания звука и некорректное декодирование форматов

Так что остались на тёплом ламповом SDL 1.2 )))

Ниже представлен свежий билд на 13.06.2019:

http://gradius3.space/download4.php

Что нового в этом билде? :

1) Реализована плавность анимации (ликвидированы Tearing и рывки при анимации)
2) Улучшена синхронизация звука (в критических местах), не зависящая от фреймрейта

Желательна поддержка "железного" Open GL не ниже 1.2


Разрешение навеяло старым телефоном? Я бы понял какой-нибудь 320х240, но такое совсем жесть)

Игра задумывалась в 2008 году для мобильных телефонов.  Но по ряду причин разработка игры была заморожена. Движок со скроллом и релизными картами уровней были уже сдеаны и нарисованы.   Поэтому не стали переделывать размер кадра, оставив его 128х128  для возможности переделки под мобильные платформы (кнопочные телефоны)  и ощущения "ламповости" как от J2ME MIDP игр на телефонах).

Градиус под 128x128:
https://www.youtube.com/watch?v=tqmrIWY9caw

Aleste128x128:
http://www.massdestruction.co.uk/mobile/



16
Классно. Спасибо за работу.  Скачал полетал немного на работе. Получилось очень круто.
OK!  Спасибо! :)

Добавлено позже:
Цитата: Sharpnull
** Вы не учли нагрузку на CPU, забивающую полностью ядро (для 4 ядер - 25%, для 2 - 50%).
Пофиксили.

Цитата: Sharpnull
Кстати, мне тут Firefox написал, впервые вижу:
Пофиксили.

http://gradius3.space/download3.php (Новый релиз от 06.06.2019)

Цитата: Sharpnull
приложение на SDL1 и SDL2, у SDL1 не получилось добиться VSync
С использованием VSync игра будет идти у разных пользователей на разных скоростях.  Не годится.

17
Название: Gradius III Total Terror

Жанр: horizontally scrolling shooter, side-scrolling shooter

ОС: Win32, Win64, Linux 32, Linux 64, DOS.

Игровые консоли: Black Prism, EMU Pocket

Движок: свой собственный

Аналоги: Gradius3 (SNES, MAME); Gradius IV (MAME); Gradius I, II (NES); Gradius Advanced (GBA)

Среда разработки, язык программирования: Visual Studio, mingw, Open Watcom, DJGPP, TI CCS v6, Keil ARM MDK v5. C/C++

Доступность: free, бесплатно

Релиз: 31.05.2019

Сайт игры: http://gradius3.space

Контакты для обратной связи:

1) Комментарии, ЛС канала YouTube: https://www.youtube.com/channel/UC21bTZNXVN3RymxeWIc1uww

2) е-mаil: admin [сoбaка] gradius3.space

Скачать игру: http://gradius3.space - под видео ссылка "СКАЧАТЬ ИГРУ".

http://gradius3.space/download5.php (Windows, билд 24.06.2019)

http://gradius3.space/download6.php (Linux, билд 30.06.2019)

http://gradius3.space/download8.php (DOS, билд от 18.07.2019)

В новом релизе:

Что нового? :

1) Обводка надписей на игровом табло (число очков, Bullet, Bomb, Score, Life) и сообщений Pause, Game Over.
2) Добавлена поддержка полноэкранного режима
3) Добавлены фильтры HQ3x и HQ4x для режимов соотвественно: 384x384 и 512x512
4) Оптимизация по загрузке CPU - теперь игра занимает столько процессороного времени, сколько необходимо
5) Устранены причины, приводившие FireFox выводить предупреждение о скачивании архива игры
6) Реализована плавность анимации (ликвидированы Tearing и рывки при анимации)
7) Улучшена синхронизация звука (в критических местах), не зависящая от фреймрейта
8) Подправлены мелкие баги в API (для игрока прозрачно)
9) Полноэкранные режимы теперь на всю высоту дисплея (сам кадр оставили квадратным, чтоб не нарушать Aspect Ratio)
10) Внедрили титульник созданный, пользователем Sharpnull (emu-land) (за это ему БОЛЬШОЕ спасибо! :)
11) Исправили название космического корабля (замечание от пользователя OmKol (emu-land), спасибо!)
12) Порт для Linux
13) Порт для DOS
14) Оптимизировано потребление стека в DOS-версии
15) Сделан порт на игровую консоль Black Prism  (см. ниже)
16) Сделан порт на игровую консоль EMUPocket  (см. ниже)

Девелоперы:
Коллектив разработчиков: 2 человека. В основном программисты, с небольшими навыками художников.

Мы являемя фанатами серии игр "Gradius", выпущенными на игровые приставки NES, SNES и аркадные автоматы.

Описание:
Игра представляет собой космический 2D-шутер с видом от 3-го лица сбоку. Направление полёта - вправо.

Игра сделана как ремейк (хотя может слово не совсем точное) - сильно напоминает Gradius3 под SNES, но со своими оригинальными элементами! :)

Локации, противники, боссы - здесь есть всё: от похожести на Gradius3, до оригинальных решений! :D

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

Локации, поведение врагов и боссов - детерминировано, мозг по мере игры, постепенно запоминает локации и повадки противника, в конечном итоге - движемся всё дальше и дальше и проходим игру до конца!

Игра создавалась с важным правилом: "Каждый уровень - уникальный!" Местность, противники: на каждой планете - разные! Повторов нет!

Управляющие клавиши:
Enter - старт/пауза
Стрелки - управление кораблём
Левый Ctrl - стрельба патронами (количество выстрелов - бесконечность)
Левый Alt - сброс бомбы (максимальное количество - три)
Esc - немедленный выход из игры







Скриншоты - режимы 2x, 3x, 4x:

титульник:


карта:


1-й уровень:


2-й уровень:


3-й уровень:


4-й уровень:


лаунчер:


режим 128x128:


режим 384x384:


Фильтр HQ3x:


Фильтр HQ4x:


Игра задумывалась в 2008 году для мобильных телефонов. Но по ряду причин разработка игры была заморожена. Движок со скроллом и релизными картами уровней были уже сдеаны и нарисованы. Поэтому не стали переделывать размер кадра, оставив его 128х128 для возможности переделки под мобильные платформы (кнопочные телефоны) и ощущения "ламповости" как от J2ME MIDP игр на телефонах).

Страницы: [1]