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

142-1-Bit AVR Game-Железо

Автор: | 05.04.2017

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

1 Схема

В этой игре решил следовать принципу минимализма и схема первая в этом поучаствует:

Проще, наверное, уже некуда!
Сначала решил подключать дисплей к аппаратному SPI (можно работать на максимальной для дисплея скорости), но потом передумал и организовал программный SPI (это даст, в случае чего, запас по быстродействию).  Более того, дабы вообще избавится от проводов на макетке, дисплей полностью подключен к выводам Ардуины. Тоже касается и джойстика. Эта конструкция требует всего 4 модуля: макетка, дисплей, джойстик и Ардуина. Никаких проводов!

Касательно дисплея — до конца разработки он останется без изменений (после, можно будет делать модификации и для других дисплеев). А вот джойстик можно заменить на кнопки.

2 Корпус (пока только идеи)

В процессе разработки корпус, естественно, не нужен. Все собрано на макетке. Позже можно подумать и о корпусе, удобным для ношения.

 

141-1-Bit AVR Game-Модули

Автор: | 03.04.2017

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

Кстати, все модули для этого устройства мне предоставил магазин DiyLab
И если все получится с игрой, то можно будет эти модули купить прямо набором с уже прошитой Ардуиной.

1 Плата Arduino

135-arduino-nano 135-arduino-pro-mini

Читать далее

140-1-Bit AVR Roguelike Game

Автор: | 02.04.2017

Последнее время очень не хватает времени на блог и устройства для для него 🙁 — много работы. Но идеи новых устройств постоянно возникают в голове и последняя из них меня очень «зацепила». Поэтому, даже несмотря на отсутствие времени и еще незаконченные проекты (например, AAL — который хоть и на завершающей стадии, но никак не дождется чтобы его доделали), решил начать еще один интересный и большой (в планах) проект — игра на AVR-микроконтроллере. Идея не новая и подобных проектов в сети очень много — так что первопроходцем стать не получится :), но это мне близко по причине любви к Roguelike играм (еще их называют «Рогаликами»).

Мой любимый рогалик, в который я играю на смартфоне — это Darkness Survival.

Недавно увидел в Маркете 1-Bit Rogue и понял, что это готовая основа которую можно перенести на AVR.

Скриншот первого уровня

— Игра будет создаваться на базе Arduino и  OLED-дисплее 128х64 (позже можно будет переделывать на любые другие дисплеи). Соответственно, повторить устройство будет делом пяти минут (на макетке без пайки и специального программатора). Устройство должно быть небольшим (в идеале, размером позволяющим его использовать как брелок). В качестве органов управления будут кнопки или джойстик. Еще будет небольшой аккумулятор и модуль его зарядки.
— По пошаговый игровой процесс Рогалика идеален для реализации его на платформах с ограниченными ресурсами. Кроме того, игра случайным образом генерирует карты уровней, ловушки, врагов, оружие и т.д. что экономит память, так как нет необходимости хранить эту информацию.
— Предварительные прикидки показывают, что ATmega328 вполне должна справиться как по быстродействию, так и по размерам памяти. Дисплей 128х64 хоть и маловат, но с другой стороны — это внесет в игру дополнительную сложность (а рогалики именно за сложность и непредсказуемость любят), так как не будет виден весь лабиринт сразу и по нему реально придется ходить и искать выход.

 Официальное видео игрового процесса (увеличенная его часть) примерно отображает игровое поле дисплея 128х64 — вроде играбельно.

Вот такая идея.
Не обещаю, что это устройство реализуется быстро, но заниматься им мне будет интересно, а значит есть все шансы что я его не брошу 🙂

139-RGB vs HSB Сравнение цветовых схем регулирования

Автор: | 01.10.2016

Как я и обещал ранее, представляю Вашему вниманию устройство для практической демонстрации алгоритмов регулировки цвета RGB-светодиода. Особенностью устройства является то, что можно регулировать цвет светодиода сразу при помощи 2х систем  RGB  и HSB. Это позволяет  «почувствовать» все достоинства и недостатки обоих систем. Дополнительно, бонусом, реализован выход на умный пиксель WS2812B, а это значит, что можно сравнить, как выглядит цвет, сформированный одними и теми-же настройками на разных устройствах отображения!

Напомню, что:
Система RGB – это система с тремя регуляторами для каждого из основных цветов
Red (красный)
Green (зеленый)
Blue (синий)
Комбинируя их в разных пропорциях можно получить любой оттенок цвета.

Система HSB более естественно изменяет (задает) параметры цвета, путем установки различных значений базовых параметров:
Hue (оттенок цвета)
Saturation (насыщенность)
Brightness (яркость)

Каждый из трех параметров обоих систем присутствует в устройстве:

139-rgb_hsb_controller_scheme

Устройство собирается без паяльника и программатора на Ардуине (Pro Mini, Nano, Uno) за пару минут.

Читать далее

138-Tables Creator Программа создания табличных значений формул для исходников

Автор: | 19.09.2016

Создатель таблицНаписал небольшую программу создания табличных значений для вставки в исходники. Раньше такие таблицы я создавал или в экселе (сохраняя результирующую таблицу в формате .csv) или писал разовые программки. После очередного написания одной из таких разовых программ решил доделать ее до более приемлемого, для последующего применения, вида. Теперь следующие таблицы я буду делать только в ней! Ну и Вы, тоже, можете ею пользоваться 🙂

Окно программы

Tables Creator.zip - Программа для создания таблиц по формулам

Читать далее