Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Регистрируясь, я даю согласие на обработку данных и условия почтовых рассылок.
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Hit Ball — аркадный шутер с элементами рогалика! Сражайся с нескончаемыми волнами врагов, усиливай свои навыки и пробивайся сквозь уровни, полные ловушек и грозных боссов!

Хитбол

Аркады, Казуальные, Для мальчиков

Играть

Топ прошлой недели

  • Animalrescueed Animalrescueed 43 поста
  • XCVmind XCVmind 7 постов
  • tablepedia tablepedia 43 поста
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

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

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
0 просмотренных постов скрыто
1
Bioharange
Bioharange
Картинки со звуком Существуют!

... Шкряб... Шкряб... Шкряб...⁠⁠

14 часов назад
Показать полностью 8
Персонажи Фильмы Ностальгия Юмор Георгий Вицин Юрий Никулин Олдскул Длиннопост Раскадровка Кавказская пленница
0
Bioharange
Bioharange
Картинки со звуком Существуют!

... + Те звуки битья посуды⁠⁠

14 часов назад
... - Не надо... - Сам не хочу!

... - Не надо... - Сам не хочу!

Показать полностью 10
Персонажи Фильмы Ностальгия Юмор Владимир Этуш Фрунзик Мкртчян Олдскул Длиннопост Раскадровка
0
13
uPlay2
uPlay2
Онлайн ретро-игры
Серия WarCraft 3

Вчерашний WarCraft 3 в целом неплохо⁠⁠

14 часов назад

Баланса нет конечно, большинство играло за компанию. Собрали 5х5 и я доволен, спасибо за игру. Набрать 10 игроков в классику... думал, что нереально. А если бы пришел еще HeraTuBa, Rakza и Хлорка, то это фул пати на 12-13 игроков.

Последняя катка, вот эта странная FFA мне понравилась, там была борьба. Поленился запись сделать.

Показать полностью 1
[моё] Олдскул 2000-е Warcraft Warcraft 3 Ретро-игры Видеоигра Экономическая стратегия Warcraft iii: The Frozen Throne Компьютерные игры Telegram (ссылка) Онлайн-игры Мультиплеер
1
0
Bioharange
Bioharange
Картинки со звуком Существуют!

- ... Волюнтаризм!!⁠⁠

15 часов назад
Показать полностью 6
Персонажи Фильмы Ностальгия Юмор Трус Балбес Бывалый Олдскул Длиннопост Раскадровка
0
15
shinjik
shinjik
Sailor Moon Russia

Один из первых рекламных анонсов "Луны в тельняшке"⁠⁠

16 часов назад
Перейти к видео
Sailor Moon 90-е Детство 90-х 2x2 Ностальгия Аниме VHS Олдскул Перекличка мамонтов Воспоминания из детства Видео Короткие видео
1
47
monobogdan
monobogdan
Посты о ремонте и моддинге ретрогаджетов.
TECHNO BROTHER

Ответ на пост «Сквозь боль и страдания: Я сделал игру для денди»⁠⁠1

16 часов назад

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

Ответ на пост «Сквозь боль и страдания: Я сделал игру для денди»

Я тоже заказал плату под ROM, буду писать свою игрушку ради фана... Ну и конечно напишу об этом подробную статью, как вы и любите :)

Показать полностью 1
[моё] Dendy NES Nintendo Игровая приставка Консоли Картридж Олдскул Gamedev Инди Разработка Длиннопост Ответ на пост
2
14
Oldbeat
Oldbeat
Уголок ретрогеймера

Metal slug 6 жиробасы-терминаторы⁠⁠

1 день назад
Перейти к видео

metal slug 6 - босс 4 миссии.

Полное прохождение:

Показать полностью 1
[моё] Игры Ретро-игры Олдскул Боссы в играх Читы Жир Видео RUTUBE
2
1824
akudev
Лига Разработчиков Видеоигр

Сквозь боль и страдания: Я сделал игру для денди⁠⁠1

1 день назад
Начальная заставка

Начальная заставка

Вступление

Давно, когда я еще учился в школе, зимним вечером, пройдя очередной уровень марио я загорелся идеей - сделать свой платформер для игровой приставки.

Примерно через полгода у меня появился персональный компьютер с операционной системой MS-DOS и средой программирования QBasic:

QBasic

QBasic

Ну вот! Подумал я, настал мой час и сел писать игру в надежде что как-то придумаю как запихнуть эту игру потом в приставку денди.

Наивно, но тогда не было интернета и узнать, как вообще создавать игры и заливать их на картридж было довольно сложно.

Понятное дело, после некоторых попыток у меня толком ничего не вышло.

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

Прошло почти 25 лет, у всех стало модно закрывать какие-то свои гештальты, решил закрыть и я.

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

Железо

Знакомиться с платформой я начал буквально с "кишков микросхем, заказав плату, изучив схему и собрав это все чудо из рассыпухи, благо опыт работы с паяльником довольно неплохой.

Готовая приставка

Готовая приставка

Что мы имеем:

CPU - UA6527P/UA6527, Клон популярного в свое время 8-битного процессора 6502.

PPU - 6538/6528, Видеочип, аналог видеокарты.

RAM - 62256, 2 Кбайт оперативной памяти, которые позволяют использовать горизонтальный или вертикальный скролл по очереди, было бы 4 Кб можно было бы в теории и одновременно.

Звук - 2 прямоугольных канала, 1 треугольный, 1 шумовой и цифровой канал. Да-да, примитивная звуковая карта уже в те времена.

Микросхемы приставки

Микросхемы приставки

Разрешение экрана 256х240 и 54 цвета (Есть цвет чернее черного и еще некоторые цвета, которые лучше не использовать для избежания глюков на разных телевизорах).

Приставка Dendy она же NES

Приставка Dendy она же NES

Инструментарий

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

Я решил использовать си для короткого и удобного вида кода, но некоторые вставки ассемблерного кода пришлось писать с нуля (так как скорости процессора в 5,37 МГц всегда не хватало).

Для компиляции кода я использовал компилятор cc65, с опцией --add-source (добавляет ассемблерный код, в котором уже можно найти не очевидные косяки).

Для графики, кроме фотошопа использовал программу YY-CHR:

YY-CHR

YY-CHR

Для распиливания рома на прошивку, программу NRM.

Для статичных фонов есть очень удобная программа NES Screen Tool, которая позволяет нарисовать и выгрузить экран в массив байтов. Бонусом этом массив можно еще сжать RLE сжатием.

Для написания музыки и звуков я использовал FamiTracker и библиотеку FamiTone2.

Для создания уровней Tiled + самописный конвертер в встроенный формат карты.

Для схемы картриджа Sprint layout.

Для отладки лучше всего подходит эмулятор FCEUX:

FCEUX

FCEUX

Код игры

Но самая попаболь проблема, была в том, что я решил делать платформер а не статичную игру.

Сразу загрузить массив байтов на экран нельзя, потому что длинна уровня может быть от 3 до 256 экранов в длину.

Видеочип за один кадр успевает загрузить только 2 ряда блоков по 8 пикселей.

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

Для оптимизации я разработал такую структуру уровня. Где экран разбит на поле 16х16:

const unsigned char LEVEL1[] = {

...

0x75,

2,

ID_OBJECT,

...

};

Первый байт — координаты на экране x = 7, y = 5.

Второй байт — номер экрана уровня.

Третий байт — идентификатор объекта.

Структура объектов в игре

Структура объектов в игре

У каждого объекта есть атрибут коллизии, может игрок пройти через него или нет. На основе этих атрибутов строиться карта коллизии уровня.

unsigned char COLLISION[64];

Первые 32 байта, это первый экран NAMETABLE, вторые 32 байта для второго экрана NAMETABLE экрана.

Каждый бит, может быть, 0 если игрок может пройти и 1 если стена.

В итоге получаем два поля по 16х16 бит = 32+32 байта.

Картридж

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

Вид игры в эмуляторе

Вид игры в эмуляторе

Было решено упростить задачу и запихать все в один банк памяти.

Это позволяет использовать картридж без маппера и не писать дополнительный код, который переключает эти банки.

Из приставки можно реально выжать намного больше и красивее, но по трудозатратам эта игра будет на уровне современной игры с красивой графикой, стоит ли оно того?

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

В итоге схемотехника картриджа сводиться к плате с 2мя микросхемами памяти, у которой нужно просто подключить ноги к шине данных картриджа.

Схема в Sprint layout

Схема в Sprint layout

Можно было бы, конечно, заказать у китайцев картриджи на каплях или флэш-памяти, но я хотел именно винтажного вида картриджа на DIP микросхемах (такие раньше попадались только в старых или дорогих картриджах)

Сами микросхемы найти не составило проблем, сначала я развел схему под w27c512, но как оказалось более объемная память w27c010 стоит дешевле и найти ее еще проще.

После того как пришли платы, я подготовил прошивку через NRM, прошил микросхемы в программаторе XGECU T48 и впаял их на место.

Готовый картридж для Денди

Готовый картридж для Денди

Распространение

Как продвигать игру, продавать картриджи и как их распространять: большой вопрос.

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

Я крайне доволен своей работой, выпустить игру на физическом носителе для приставки 40-летней давности довольно крутая ачивка для разработчика игр.

И по традиции, страница игры... На авито?:

https://www.avito.ru/novosibirsk/igry_pristavki_i_programmy/igra_dlya_dendi_2025_goda_7772682988

Показать полностью 11
[моё] Dendy NES Nintendo Игровая приставка Консоли Картридж Олдскул Gamedev Инди Разработка Длиннопост
188
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии