За последний месяц появилось много чего интересного связанного с консолью. Этому способствовало «сдруживание» с проектом ArduBoy. Сообщество попросило меня портировать на ArduBoy мою игру и в процессе портирования я не забыл и за свою консоль.
Итак, что нового:
1 Консоль заимела звук в виде бузера (смотри схему ниже куда подключать)
2 Консоль заимела портированную библиотеку для Arduino IDE с проекта ArduBoy (теперь игры создавать будет на порядок проще, так как есть много готовых примеров-исходников, библиотека хорошо описана и есть сообщество)
3 Появились новые игры готовые для загрузки в консоль из gcManager.
Теперь подробней.
Звук.
Пьезоизлучатель (Buzzer) подпаивается к выводам 9 и 11 Arduino. Это можно сделать не разбирая готовую конструкцию – выводы хорошо доступны для пайки.
Новая схема и фото ниже.
Библиотека.
Оригинальный ArduBoy собран на ATmega32U4 и этот кристалл довольно заметно отличается от ATmega328. На все 100% портировать библиотеку не получится (например библиотека 4-х канально звука пока не доступна так как она использует специфический таймер, которого просто нет в меге328), но большинство готовых игр проекта собираются под мою консоль без проблем.
Ссылки по библиотекам:
Клоны ArduBoy (железо Arduino Pro Micro, Leonardo OLED SPI ssd1306) https://community.arduboy.com/c/arduboy/homemade
Полный набор библиотек проекта Arduboy для ArduBoy-клонов, с возможностью выбора типа дисплея, вариантов загрузчика и подобное https://github.com/MrBlinky/Arduboy-homemade-package
Вариант ArduBoy с использованием I2C дисплея и Arduino Nano https://github.com/harbaum/Arduboy2 (этот Fork я и взял за основу для своей консоли)
Вариант библиотеки выше но под разводку моей gcConsole. https://github.com/EvgenKP/Arduboy2 и звук к ней https://github.com/EvgenKP/ArduboyTones
Игры.
Я портировал несколько игр для загрузки из gcManager
Как их загружать – читаем здесь.
В ближайшее время добавлю еще несколько (те, что мне больше всего понравились). Вы можете в комментариях предложить свои варианты.
Попробовать игры для ArduBoy можно в онлайн эмуляторе.
Бонус.
Параллельно с портированием для проекта ArduBoy я занимался и пробами перехода на цветной экран. Что вышло можно посмотреть на видео.
Сейчас занят оптимизированием своего алгоритма вывода спрайтов чтобы сделать gcRogue еще круче!
Добрый день.
Вдохновившись вашим примером сделал консоль на esp8266 с wifi и большим количеством памяти потому, как для игры, что пишу ну ни как не хватало атмеги ). Хотелось бы и в вашу игру поиграть. Если вы портировали под ардубой библиотеку, то можно скомпилировать под ESP? я как раз заканчиваю портировать arduboy2 lib. https://community.arduboy.com/t/espboy-edu-esp8266-based-arduboy-like-gadget-with-wifi
Евген
Для нокиевского дисплея сделать такое можно, но разрешение у него намного меньше — будет здорово обрезать картинку.
Рус
Все ардубоевские игры открыты — исходник всегда есть.
Но что б откомпилировать заново чужую игру со своими библиотеками, надо раздобыть исходник. А все выкладывают HEXы. Кто же даст исходник?!
Доброго времени суток. А есть ли возможность запуска ардубоевских игр на варианте консольки с нокиевским дисплеем?
Пока я консолькой не могу заняться. Как появится время, возможно и займусь портированием еще нескольких игр.
На самом деле портирование — несложный процесс. Если немного умеете работать с Arduino IDE — разберетесь.
Для портирования нужно заменить родную библиотеку ардубоя, той что в конце этой статьи — после этого остается только откомпилировать игру.
Подскажите а обновление количества игр предвидится для данного устройства или может подскажете как можно портировать игры с ардубоя на эту консольку?
Привет!
Ну видеоуроков можно в ютубе найти множество. И наверное правильно их было-бы немного посмотреть перед тем как что-то начинать.
Но я пошел по другому пути — поэтапного наполнения игры контентом.
Так как я начина все с нуля, выглядело это следующим образом:
— для начала определился с тем каким способом будут выводиться спрайты на дисплей (16х16 пикселей)
— создал несколько тестовых спрайтов
— дальше сделал для дисплея процедуры вывода этих спрайтов на дисплей (и на этом этапе ничего другого)
— дальше мне нужен был лабиринт — нашел алгоритм его создания — реализовал процедуру
— дорисовал спрайты стен (опять временные)
— дальше процедура контроля клавиатуры
— движение героя (плюс спрайты героя с анимацией)
— создание и контроль мобов, способ их перемещения (после спрайты мобов)
— и т.д.
Такой способ оправдывает себя если ты начинаешь все с нуля, когда тебе нужно что-то совсем новое.
В Вашем случае гораздо проще взять за основу библиотеку Arduboy и создавать игры уже на готовой базе.
(кстати я библиотеку ардубоя портировал и для моего варианта с ардуино про мини)
В сообществе ардубоя есть прямо раздел обучения созданию игр https://community.arduboy.com/c/education
там все расписано поэтапно. Плюс сообщество очень отзывчивое — всегда помогут (естественно, придется общаться на английском).
В общем я рекомендую использовать библиотеку ардубоя для создания игр.
А как Вы учились писать игры?
Вот я например знаю достаточно хорошо C++(учил на физтехе), умею на Ардуинке прогать много чего, но вот с чего начать в области геймдева, я не понимаю. Можете что-нибудь посоветовать? Видеокурс какой-нибудь может быть?
to Romma
Пьезоизлучатель я поставил, во-первых, для будущего использования и, во-вторых, для того чтобы был звук при портировании игр с Ардубой.
to Ярослав
Если контроллер ssd1306, то есть надежда что будет работать также (правда непонятно зачем своя библиотека, если есть полно готовых…)
Решил повторить ваш проект, но тут встал такой вопрос: какой экран подойдёт к консоли? Не хочу ждать с Алика, решил посмотреть в российских магазинах. Нашел вот это предложение: https://iarduino.ru/shop/Displei/ekran-0-96-128×64-oled-i2c-belyy.html. Подойдёт ли этот экран? На сайте написано, что на контроллере ssd1306, но библиотека какая-то своя.
Спасибо за ответ. Писал вам специально под этим топиком про звук,так как выше выложена ваша фото с бузером + ваша цитата в топике :
«Итак, что нового:
1 Консоль заимела звук в виде бузера (смотри схему ниже куда подключать)
…
Звук.
Пьезоизлучатель (Buzzer) подпаивается к выводам 9 и 11 Arduino. Это можно сделать не разбирая готовую конструкцию – выводы хорошо доступны для пайки.»
А вы в ответе мне написали что звука в вашем варианте нет! Как разобратся со звуком?
Привет!
Если речь идет про мою игру gcRogue, то звука в ней пока нет — оставил напоследок.
Те игры что портировались с Ардубой — должны быть со звуком.
Добрый вечер.Очень удачная разработка.Повторив её не могу получить звук.Делал все под вашу консоль.Прошивку загружал GC Manager.Вы писали что звук портируется отдельной библиотекой.Скажите присутствует ли эта библиотека в последней прошивки консоли с GC Manager, или её отдельно нужно руками портировать?
Интересная компоновка!
По игре надеюсь дойдут руки — там уже много чего в разработке — бестиарий, новые визуальные эффекты и т.д.
Понял. Спасибо.
Тем не менее, Ваша игра лучше и интереснее остальных семи портов.
По мере сил не бросайте проект.
Вот моя реализация консольки. Получился жесткий но прозрачный корпус.
Просьба. Если на ардубой есть жизнеспособный LodeRunner, пожалуйста, портируйте если найдете время. Или напишите мануал по портированию. Спс.
С ув.
С моей игрушкой пока только так.
В планах есть ее доделывать (и кое что уже есть, но не закончено), но не знаю когда на это время появится.
Здравствуйте! Прекрасная разработка. С удовольствием повторил.
Есть непонятка. Из менеджера шьется Ваша игрушка ver.: 1 date: 01.05.2018. Она без звука. В прочих портах с ардубоя звук есть. Обновление не помогает. Где взять актуальную версию?
С ув.
Я все никак не доберусь до этого проекта…
дисплей 1,3» на i2c уж очень удобен. сильно его не хватает в вариантах консоли с кнопками )
Думаю если автор захочет вывести хотя бы на VGA https://playground.arduino.cc/Main/MicroVGA
http://www.microvga.com/images/uvga_module_resize.jpg
Не уверен. Если и возможно то чем-то придется жертвовать.
По возможности посмотрю.
Доброго времени суток. Можно вот эту игру портировать на Вашу консоль?
http://www.team-arg.com/ardu-manual.html
Соединение Ардуины и дисплея вместе не такая уж и разработка…
Зато, возможно, будут появляться новые игры. Так что я только за.
getChiper
https://vk.com/mintybord
Взяли вашу разработку, и выдают за свою, просто напечатав корпус
Привет!
Пока нет времени сделать варианты для игр.
Как немного освобожусь — буду делать портирования под разные варианты.
Приветствую!
А gcManager выбор из 0,96 OLED I2C, 1,3 OLED SPI и Nokia5110. А у меня сейчас в наличии только один дисплейчик — 1,3 OLED I2C…
Вообщем с вариантом 0,96 OLED I2C на экране сверху меняется полоска пиклелей в 10, все остальное случайный мусор, в других вариантах просто черный экран.
Evdroniy
отличный корпус вышел.
AntonDY
Привет! А из набора для разный дисплеев (в gcManager) что-то заработало?
Добрый день! А есть возможность добавить поддержку экранчика 1.3 I2C OLED(вот такой )? Обидно, показывает мусор.
https://vk.com/wall182575392_282 Вот сделал корпус в который всё запихнул. Довольно удобный брелок получился.
Интересная идея.
Для Ардубоя есть такая реализация (с внешней флешпамятью), но мне больше нравится вариант с SD-картой — намного удобней и универсальней.
Впринципе это реализуемо. Только нужно этим заняться…
Про внешнюю память я имел в виду, чтобы каждый раз не перешивать приставку на новую игру, хотелось бы, чтобы эти игры были на внешней памяти и МК их подтягивал. Можно было бы задействовать самопрограммирование и бутлоадер, который бы мог это позволить. Хотя это убивало бы ресурс внутренней флешь, но все равно же для смены игры нужно перепрошивать ардуину. Либо I2C, SPI, можно и карту microSD с FAT32.
Привет!
Отличная приставочка вышла — совсем небольшая.
Не понял про внешнюю память.
Добрый день. Сменил аккумулятор на более емкий (предыдущий был снят с дешевого мп3 плеера) и траблы исчезли. Переделал еще внешний вид и залил термоклеем снизу кнопки, чтоб не касаться пальцами. Больше эти глюки с экранчиком не возникали.
Внешний вид приставки:
https://a.radikal.ru/a15/1810/27/fe1d6cf21cf6.jpg
https://a.radikal.ru/a40/1810/37/7e4bf3047c64.jpg
https://a.radikal.ru/a33/1810/12/e9135687e2a4.jpg
ЗЫ. Очень интересный проект. Возможен ли вариант заливки игр во внешнюю флешь память без перепрошивания МК?
Это уже недостатки оригинальной библиотеки Ардубой (хотя, наверное, с этим что-то и можно было сделать…)
Понятно. Заметил еще один глюк во время игры Sirene, при одновременном нажатии вверх-вниз или влево-вправо, у меня смещалась картинка на экране, могла на 2/3 сместиться влево(вправо) или вверх-вниз. Это получалось, когда промахивался по центральной кнопке и зажимал случайно противоположную или когда после нажатия вверх, нужно было срочно плыть вниз и отжать предыдущую кнопку попросту не успевал. Также в начальной заставке игра виснет, если зажить вниз-влево и т.д. В общем одновременное нажатие нескольких клавиш крестовины ведет зависанию игры или смещению экрана.
Привет!
Да, игры Arduboy не очень удобны из за того что одна кнопка действия у меня спрятана под падом управления. Но на такую конфигурацию кнопок я сознательно выбрал для того чтобы комфортно было играть одной рукой.
Здравствуйте.
Очень интересный проект, особенно с возможностью портировать игры с Arduboy.
Повторил я Вашу конструкцию, залил игру Sirena и разочаровался в конструктивном исполнении ибо в нее играть одной рукой невозможно.
Самый лучший вариант расположение кнопок для игры, такой как у Вас в видеоролике с цветным экранчиком.
Хочу минимизировать габариты приставки, примени джойстик, который использовался раньше в мобильных телефонах, к примеру в Sony Ericsson K750i.
Хотел еще задать вопрос об опасности прямого подключения пьезоизлучателя к пинам МК, но пробежался по форумам,в роде бы печальных случаев не было, котя среди рекомендуемых вариантов подключения к МК пьезоизлучателя нет прямогуо подключения, без резисторов.
Пока в этом смысла мало. Для краундфандинга нужна оригинальная идея, которая будет интересна.
Подобных игровых консолей очень много — нужно чем то отличаться от подобных.
Так что это пока нужно отложить.
Кстати, разработка игры продолжается.
Добавил много визуальных изменений — теперь картинка более живая.
Сделан бестиарий с информацией о всех мобах и их статистикой.
Так же появился общий результат (и лучший результат) в игре.
Правда пока это на SPI-экране. Доделаю запланированные изменения и обновлю прошивку для своей консоли.
https://youtu.be/3jdvZFe3nZw
А можно его сделать в коммерческий вид? Хочу открыть кофейню и запустить краундфандинг, и предлагать вашу игрушку? Или не стоит?
Думаю можно будет.
В следующей порции игр возьму и эту.
а есть возможность портировать вот эту игру https://shdwwzrd.itch.io/omega-horizon?
Что-то не похоже что это игра. Больше похоже на небольшое демо.
Ссылка на Marduino https://github.com/tobiasbu/marduino
Ссылку можете дать?
Добрый день,
А можно Marduino портировать?
Это нужно пробовать — потянет ли МК и игру и формирование композитного сигнала…
Как вариант попробовать из вот этой статьи
https://istarik.ru/blog/arduino/46.html
Привет!
Думаю напрямую с микроконтроллера это будет сложно сделать (но чисто теоретически возможно — нужно просчитывать временные интервалы — хватит-ли ресурсов МК работать на видео и игру одновременно)
Как вариант, использовать какие то промежуточные платы — точно будет работать https://community.arduboy.com/t/vga1306-vga-out-for-diy-arduboys-implemented-on-an-fpga/4851/68
но в этом случае теряется простота и доступность конструкции…
Доброго времени суток. А есть ли возможность вместо дисплея вывести изоброжение на тв? Тогда консоль можно будет впихнуть в какой либо джойстик.