152-gcRogue:жажда мести – описание игры

Автор: | 13.05.2018

После того как я обзавелся консолькой собственного изготовления, я почти довел до ума игру gcRogue. Теперь нужна статья, где игра будет описана (для возможности ссылаться на нее из того-же gcManager). Здесь я попытаюсь собирать все, что нужно знать по игре.

Железо

Игра сделана под Arduino Pro Mini (Nano, Uno, ATmega328) и I2C OLED дисплей (смотрите статью по сборке компактной консольки gcConsole и прошивке игры). Кроме того, есть демо-варианты игры под разные типы дисплеев и Ардуины.

Управление игрой осуществляется шестью кнопками: Сюжет

Ваш игровой персонаж – это привидение когда-то побежденного могучего героя (которому даже установили памятник на кладбище в полный рост!). Жажда мести не дает герою покоиться с миром и он в виде привидения скитается по кладбищу. Однажды привидение натыкается на свой памятник и перевоплощается снова в героя, для того чтобы спуститься в глубины подземелья и отомстить за свою смерь главному злодею.

Геймплей

gcRogue – это игра в стиле rogue-like (по простому — «рогалик»). Это значит, что игру невозможно будет пройти с первого раза. Каждая победа очередного босса упрощает игру при последующих ее прохождениях. Еще необходимо планировать свои действия в лабиринте – каких-то монстров убивать (за них начисляются дополнительные очки текущей жизни), каких-то пытаться избегать. Сундуки, разбросанные по лабиринту, могут вылечить персонажа, починить или улучшить его оружие, или могут выпустить призрака, с которым придется сразиться, теряя жизнь.

Для того чтобы спустится на уровень ниже нужно найти в лабиринте и нажать кнопку открывающую лестницу прохода (монстров убивать не обязательно для прохождения уровня). Для того чтобы пройти уровень босса – нужно убить босса после чего появится лестница прохода. Читать далее

151-gcConsole — хардкорная игровая консоль на Arduino Pro Mini и 0.96 OLED I2C

Автор: | 09.05.2018

 

На картинке выше — игровая AVR-консоль. Эта консоль задумывалась как отладочная платформа для создания игр под Arduino+OLED (после первой моей игры gcRogue, есть желание создать еще парочку). Платформа вышла довольно неплохой, и даже претендует на полноценное устройство. Конечно, она не может конкурировать с действующими проектами подобных консолей:


— зато у моей консоли есть одно большое преимущество — ее можно без проблем собрать самому. Для сборки понадобятся всего несколько компонентов и немного времени. Приступим?

Читать далее

150-Arduino ISP и Algorithm Builder USB adapter из Arduino Nano

Автор: | 22.04.2018

В этой статье я покажу, как просто сделать AVR-программатор из Arduino Nano. Способ не новый и не оригинальный – это штатная возможность Arduino IDE.

В свое время первым программатором для AVR, обычно, становился программатор «5-проводков» который подключался к LPT или COM — порту. Он же выступал программатором для единичных устройств, когда нужно было раз прошить МК и больше к этому не возвращаться. Сейчас подобные нужды (первый программатор или программатор для одного устройства) не перестали быть актуальны. Проблема в том, что LPT и COM — порта становятся редкостью (а в ноутбуках их уже давно нет). Сейчас для программатора нужно использовать USB-порт, но есть проблема — сборка программатора под USB для начинающего довольно сложная задача. Выход есть — купить недорогой программатор типа USBasp. В случае если USBasp (или другой) Вам достать не получилось, то есть вариант собрать программатор из Arduino Nano – получится не хуже.

Arduino ISP

Этот программатор (вернее скетч для него) включен в официальную Arduino IDE (пример под названием «Arduino ISP»).

Все очень просто. Нужно Arduino Nano, несколько проводков и несколько резисторов. Читать далее

148-Автоматический загрузчик HEX-файлов для AVR микроконтроллеров – обновление gcUploader

Автор: | 09.02.2018

Обновил программу-загрузчик HEX-файлов — gcUploader.

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

Первое, что я сделал – это заменил AVRDUDE на свежую версию 6.3. Вообще, AVRDUDE можно самому менять, закидывая в папку с программой нужную версию (это может понадобиться, если у Вас какая-то особенная Дудка для работы с Вашим программатором).

Второе и главное, что я сделал (и что давно обещал) – это добавил в программу возможность самому прописывать нужные Ардуины. Более того, теперь программа умеет работать не только с Ардуинами, но и с любыми микроконтроллерами и программаторами поддерживаемыми Дудкой. Реализуется эта возможность путём прописывания строки параметров для AVRDUDE в файле gcUploader.ini 

 

Читать далее

147-GC-Rogue начинаю добавлять другие дисплеи

Автор: | 02.11.2017

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

Помимо базового варианта игры с дисплеем OLED SPI, хотелось-бы иметь и вариант с OLED I2C (так как похоже — это наиболее популярный вариант OLED-дисплея). До начала реализации не было уверенности что с I2C что-то получится. Причина — относительно медленная скорость передачи данных в протоколе. И я оказался прав. На стандартной скорости протокола 400кГц экран прорисовывался хоть и без артефактов, но значительно медленней в сравнении с SPI дисплеем. Такое положение вещей меня не устроило и я решил поднимать скорость. На удивление дисплей без проблем работает с вдвое большей скоростью (выше  поднять скорость не позволяет софтовая реализация протокола). Увеличенная скорость нуждается в тестировании на разных дисплеях (я попробовал только на трех — все нормально).

На данный момент доступны несколько вариантов демо-версии игры: для OLED 4SPI, OLED I2C, Noki5110 (плюс варианты с кнопками).

Схемы для сборки игры (кликабельно) — остальные схемы Вы найдете в папках соответствующих проектов:

        

Читать далее

146-gcManager — простой способ повторить проект блога

Автор: | 24.10.2017

gcManager — это программа, которая позволяет буквально в три шага прошить в Arduino любой проект блога GetChip.net

Скачать программу можно по ссылке: http://www.getchip.net/gcmanager/

Читать далее

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

Автор: | 20.09.2017

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

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

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

Читать далее

144-1-Bit AVR Game-Лабиринт.

Автор: | 20.04.2017

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

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

Лабиринт создается по этому алгоритму. Получается быстро и не накладно по ресурсам.

Новая тестовая прошивка.
main.hex - 1-Bit Rogue тест создания лабиринта
Прошить ее в Ардуину можно при помощи GC-Uploader
Схему устройства — смотрим здесь.

Дальше буду дорабатывать алгоритм вывода на экран и начинать работать над подселением монстров в лабиринт.

P.S. Eсть несколько подобных устройств — можно подсмотреть как это  делают другие.
— с таким-же дисплеем ArduBoy
— и с дисплеем от Нокии Gamebuino

143-1-Bit AVR Game-Первая проба

Автор: | 08.04.2017

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

Для нашего случая, когда примерно известен геймплей, неизвестным остается визуальная составляющая — как это все будет выглядеть на дисплее. Для тестов я создал набор спрайтов и просто их проиграл на дисплее — получается неплохо!

А вот и видео движения по лабиринту.

Оставляю здесь HEX-файл с тестовой прошивкой.

1_bit_demo.hex - Демо игрового процесса
Прошить его в Ардуину можно при помощи GC-Uploader