145-GC-Rogue почти полная готовность

Автор: | 20.09.2017

По определенным причинам стало совсем мало времени на проекты блога, но я все равно понемногу уделяю внимание начатым устройствам. Вот недавно перешел к финальной стадии разработки игры для Arduino с OLED дисплеем – GC Rogue. Хочу поделиться с Вами текущим прогрессом!

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

gcrogue.zip - Тестовая прошивка GC Rogue

Напомню несложную схему для сборки игры:


Записать HEX-файл в Arduino можно программой GC-Uploader

В финальной версии проекта планирую сделать модификацию GC-Uploader  для того чтобы заливать прошивку в пару кликов.

 А теперь расскажу, что было сделано:

Во-первых, игра теперь называется GC Rogue (причины, почему отказался от приставки «1-bit» — ниже). У игры появилось свое лого – картинка в начале статьи.

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

В-третьих, дописаны и оптимизированы различные части движка игры и теперь на нем можно будет создавать другие игры под Ардуино (я уже присматриваюсь к вариантам).

Вообще, на удивление, мало толковых игровых проектов на Ардуино.  Это странно, так как AVR-контроллер производителен и с разрешением дисплея 128х64 можно реализовывать довольно сложные по графике игры.
Вот примеры того что есть  ArduBoy  Gamebuino

В-четвертых. В процессе создания движка игры пришло понимание того, что нужно сразу делать цветную игру. Что и было сделано (ниже пример — набор спрайтов анимации скелета). Теперь для портирования игры на цветные дисплеи, переделки будут минимальны. По этой причине приставка «1-bit» теряет смысл, так как каждую точку спрайта теперь описывают 4 бита (8 цветов + прозрачность). И по этой же причине пришлось ужимать игровой процесс – спрайты стали занимать гораздо больше места.

 

Немного пояснений по геймплею.
Как и должно быть, для rogue-like игр, GC-Rogue будет хардкорной игрой. Это значит, что ее невозможно будет пройти с первого раза. Каждое удачное прохождение очередного босса упрощает игру при последующих ее прохождениях (будет увеличиваться начальное количество жизни персонажа). Соответственно, чтобы двигаться вперед вам придется постоянно умирать, накапливая дополнительные очки жизни. Кроме этого, придется планировать свои действия в лабиринте – каких-то монстров убивать (за них начисляются дополнительные очки текущей жизни), каких-то пытаться избегать. Сундуки, разбросанные по лабиринту, могут вылечить персонажа, починить или улучшить его оружие, или могут выпустить призрака, с которым придется сразиться, теряя жизнь. Соответственно, нужно подгадывать правильный момент, когда открывать сундук. Еще есть идолы дьявола и ангела, которым можно помолиться, получив определенный эффект.
Характеристики каждого типа монстра – уникальны. Поведение разных монстров будет отличаться друг от друга (они по-разному будут двигаться, кто-то будут раньше замечать персонажа, другие будут дистанционно атаковать и т.д.).
В игре принципиально не будет каких либо пояснений и описаний – все придется исследовать самому, что тоже затрудняет задачу прохождения…

Игра почти готова.
Осталась работа по балансу (определение оптимальных характеристик монстров и уровней, что довольно не просто, как оказалось), придумать финал сюжета и прописать сценарии поведения нескольким мобам.
Скоро финальная версия!

(Visited 997 times, 1 visits today)

145-GC-Rogue почти полная готовность: 21 комментарий

  1. Andry Smart

    Свершилось ! 🙂
    А видео процесса игры нет?

  2. GetChiper Автор записи

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

    Для финальной версии буду делать модификации и на другие типы выводов дисплея (IIC, например гораздо чаще встречается)

  3. Name

    Здравствуйте. Подскажите как подписаться на новые статьи на сайте (rss например).

  4. GetChiper Автор записи

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

  5. Андрей

    Попробовал на своём(Ssd1306) . Картинка есть ) ,кнопки тока пока не сделал .

  6. GetChiper Автор записи

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

  7. GetChiper Автор записи

    Позже будет вариант с кнопками напрямую подключенных к ногам МК (без мудреной схемы подтяжек).

  8. Андрей

    Картинка есть,с кнопками не могу что-то разобраться( номиналы резюков строго 2,4к и 300?) за фото прошу прощения ,снимала девушка( да и качество — отстой))

  9. GetChiper Автор записи

    Номиналы резисторов не столь важны — можно варьировать в широких пределах (300 Ом уменьшать нельзя)

  10. hiitsme

    В одном их коментарииев вы обещали открытый исходник или вы передумали?
    Хотелось бы под другой экран переделать (у меня тот же SSD1306, только по I2C)

  11. GetChiper Автор записи

    Пока исходника не будет — есть причины (как полностью закончу проект — будет видно), а вот варианты на разные экраны буду делать точно.
    В ближайшее время сделаю вариант под I2C. Планирую его так-же напрямую подключить к портам МК. Какие есть пожелания по подключению еще?

  12. hiitsme

    Читал вроде, что вы хотели на цветной перейдти.
    Могу посоветовать модуль на SPFD5408, мой на 2.4 дюйма (320×240).
    По сравнению с 0’96 разница чуствуется https://ibb.co/htzpt6
    Сам я его планирую для эмулятора использовать.
    А пока я жду вариант под I2C, yж больно хочется посмотреть насколько все шустро работает в живую 🙂

  13. GetChiper Автор записи

    Готов демо-вариант для I2C и видео есть
    ссылка

  14. hiitsme

    Сегодня утром проверил, работает на Ура, но чувствуется небольшой лаг — видимо из-за I2c интерфейса.
    И экран маловат, даже на примерах fritzing разница в размерах видна,
    может со временем и прикуплю SPi дисплей.

    В итоге я был приятно удивлен всей реализацией
    при старте игры даже чувствуется какая то ламповость проэкта чтоль.
    Жду не дождусь конечного результата 🙂

  15. GetChiper Автор записи

    Да, I2C по сравнению с сSPI работает немного медленнее (но для данного типа игр — это не критично).

    По поводу размера дисплея — тоже правда 0,96 — маловато немного (1.3 уже лучше), но зато если его совмещать с ProMini + аккумулятор компактный — получается портативная консолька :). Я уже примерял — выходит интересно. Буду себе, как один из вариантов, такое делать (будет отдельная статья).

  16. Andrew

    Я проверил подключение индикатора 0,96» SPI вместо 1,3» SPI по схеме
    + -> +
    GND -> GND
    D0 -> CLK
    D1 -> DIN
    RES -> RES
    DC -> D/C
    CS -> CS
    Так показывает заставку с надписями, скролит, вобщем работает,
    но индикатор отображает с сильно пониженной яркостью ((( В чем проблема отображения?
    Индикатор, ардуина, питание — заведомо исправны

  17. GetChiper Автор записи

    Ответил в дубле

Добавить комментарий