153-Новости по gcConsole

Автор: | 28.07.2018

За последний месяц появилось много чего интересного связанного с консолью. Этому способствовало «сдруживание» с проектом 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 еще круче!

(Visited 13 859 times, 1 visits today)

153-Новости по gcConsole: 75 комментариев

  1. Роман

    Добрый день.
    Вдохновившись вашим примером сделал консоль на esp8266 с wifi и большим количеством памяти потому, как для игры, что пишу ну ни как не хватало атмеги ). Хотелось бы и в вашу игру поиграть. Если вы портировали под ардубой библиотеку, то можно скомпилировать под ESP? я как раз заканчиваю портировать arduboy2 lib. https://community.arduboy.com/t/espboy-edu-esp8266-based-arduboy-like-gadget-with-wifi

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

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

    Рус
    Все ардубоевские игры открыты — исходник всегда есть.

  3. Рус

    Но что б откомпилировать заново чужую игру со своими библиотеками, надо раздобыть исходник. А все выкладывают HEXы. Кто же даст исходник?!

  4. Евген

    Доброго времени суток. А есть ли возможность запуска ардубоевских игр на варианте консольки с нокиевским дисплеем?

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

    Пока я консолькой не могу заняться. Как появится время, возможно и займусь портированием еще нескольких игр.
    На самом деле портирование — несложный процесс. Если немного умеете работать с Arduino IDE — разберетесь.
    Для портирования нужно заменить родную библиотеку ардубоя, той что в конце этой статьи — после этого остается только откомпилировать игру.

  6. Евген

    Подскажите а обновление количества игр предвидится для данного устройства или может подскажете как можно портировать игры с ардубоя на эту консольку?

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

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

    Такой способ оправдывает себя если ты начинаешь все с нуля, когда тебе нужно что-то совсем новое.
    В Вашем случае гораздо проще взять за основу библиотеку Arduboy и создавать игры уже на готовой базе.
    (кстати я библиотеку ардубоя портировал и для моего варианта с ардуино про мини)
    В сообществе ардубоя есть прямо раздел обучения созданию игр https://community.arduboy.com/c/education
    там все расписано поэтапно. Плюс сообщество очень отзывчивое — всегда помогут (естественно, придется общаться на английском).
    В общем я рекомендую использовать библиотеку ардубоя для создания игр.

  8. Айбулат

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

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

    to Romma
    Пьезоизлучатель я поставил, во-первых, для будущего использования и, во-вторых, для того чтобы был звук при портировании игр с Ардубой.

    to Ярослав
    Если контроллер ssd1306, то есть надежда что будет работать также (правда непонятно зачем своя библиотека, если есть полно готовых…)

  10. Ярослав

    Решил повторить ваш проект, но тут встал такой вопрос: какой экран подойдёт к консоли? Не хочу ждать с Алика, решил посмотреть в российских магазинах. Нашел вот это предложение: https://iarduino.ru/shop/Displei/ekran-0-96-128×64-oled-i2c-belyy.html. Подойдёт ли этот экран? На сайте написано, что на контроллере ssd1306, но библиотека какая-то своя.

  11. Romma

    Спасибо за ответ. Писал вам специально под этим топиком про звук,так как выше выложена ваша фото с бузером + ваша цитата в топике :
    «Итак, что нового:
    1 Консоль заимела звук в виде бузера (смотри схему ниже куда подключать)

    Звук.
    Пьезоизлучатель (Buzzer) подпаивается к выводам 9 и 11 Arduino. Это можно сделать не разбирая готовую конструкцию – выводы хорошо доступны для пайки.»
    А вы в ответе мне написали что звука в вашем варианте нет! Как разобратся со звуком?

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

    Привет!
    Если речь идет про мою игру gcRogue, то звука в ней пока нет — оставил напоследок.
    Те игры что портировались с Ардубой — должны быть со звуком.

  13. Romma

    Добрый вечер.Очень удачная разработка.Повторив её не могу получить звук.Делал все под вашу консоль.Прошивку загружал GC Manager.Вы писали что звук портируется отдельной библиотекой.Скажите присутствует ли эта библиотека в последней прошивки консоли с GC Manager, или её отдельно нужно руками портировать?

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

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

  15. Рус

    Понял. Спасибо.
    Тем не менее, Ваша игра лучше и интереснее остальных семи портов.
    По мере сил не бросайте проект.
    Вот моя реализация консольки. Получился жесткий но прозрачный корпус.
    Просьба. Если на ардубой есть жизнеспособный LodeRunner, пожалуйста, портируйте если найдете время. Или напишите мануал по портированию. Спс.
    С ув.

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

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

  17. Рус

    Здравствуйте! Прекрасная разработка. С удовольствием повторил.
    Есть непонятка. Из менеджера шьется Ваша игрушка ver.: 1 date: 01.05.2018. Она без звука. В прочих портах с ардубоя звук есть. Обновление не помогает. Где взять актуальную версию?
    С ув.

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

    Я все никак не доберусь до этого проекта…

  19. Роман

    дисплей 1,3» на i2c уж очень удобен. сильно его не хватает в вариантах консоли с кнопками )

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

    Не уверен. Если и возможно то чем-то придется жертвовать.
    По возможности посмотрю.

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

    Соединение Ардуины и дисплея вместе не такая уж и разработка…
    Зато, возможно, будут появляться новые игры. Так что я только за.

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

    Привет!
    Пока нет времени сделать варианты для игр.
    Как немного освобожусь — буду делать портирования под разные варианты.

  23. AntonDY

    Приветствую!

    AntonDY
    Привет! А из набора для разный дисплеев (в gcManager) что-то заработало?

    А gcManager выбор из 0,96 OLED I2C, 1,3 OLED SPI и Nokia5110. А у меня сейчас в наличии только один дисплейчик — 1,3 OLED I2C…
    Вообщем с вариантом 0,96 OLED I2C на экране сверху меняется полоска пиклелей в 10, все остальное случайный мусор, в других вариантах просто черный экран.

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

    Evdroniy
    отличный корпус вышел.

    AntonDY
    Привет! А из набора для разный дисплеев (в gcManager) что-то заработало?

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

    Интересная идея.
    Для Ардубоя есть такая реализация (с внешней флешпамятью), но мне больше нравится вариант с SD-картой — намного удобней и универсальней.
    Впринципе это реализуемо. Только нужно этим заняться…

  26. VoJak

    Про внешнюю память я имел в виду, чтобы каждый раз не перешивать приставку на новую игру, хотелось бы, чтобы эти игры были на внешней памяти и МК их подтягивал. Можно было бы задействовать самопрограммирование и бутлоадер, который бы мог это позволить. Хотя это убивало бы ресурс внутренней флешь, но все равно же для смены игры нужно перепрошивать ардуину. Либо I2C, SPI, можно и карту microSD с FAT32.

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

    Привет!
    Отличная приставочка вышла — совсем небольшая.
    Не понял про внешнюю память.

  28. VoJak

    Добрый день. Сменил аккумулятор на более емкий (предыдущий был снят с дешевого мп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
    ЗЫ. Очень интересный проект. Возможен ли вариант заливки игр во внешнюю флешь память без перепрошивания МК?

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

    Это уже недостатки оригинальной библиотеки Ардубой (хотя, наверное, с этим что-то и можно было сделать…)

  30. VoJak

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

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

    Привет!
    Да, игры Arduboy не очень удобны из за того что одна кнопка действия у меня спрятана под падом управления. Но на такую конфигурацию кнопок я сознательно выбрал для того чтобы комфортно было играть одной рукой.

  32. VoJak

    Здравствуйте.
    Очень интересный проект, особенно с возможностью портировать игры с Arduboy.
    Повторил я Вашу конструкцию, залил игру Sirena и разочаровался в конструктивном исполнении ибо в нее играть одной рукой невозможно.
    Самый лучший вариант расположение кнопок для игры, такой как у Вас в видеоролике с цветным экранчиком.
    Хочу минимизировать габариты приставки, примени джойстик, который использовался раньше в мобильных телефонах, к примеру в Sony Ericsson K750i.
    Хотел еще задать вопрос об опасности прямого подключения пьезоизлучателя к пинам МК, но пробежался по форумам,в роде бы печальных случаев не было, котя среди рекомендуемых вариантов подключения к МК пьезоизлучателя нет прямогуо подключения, без резисторов.

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

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

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

    Правда пока это на SPI-экране. Доделаю запланированные изменения и обновлю прошивку для своей консоли.
    https://youtu.be/3jdvZFe3nZw

  34. Alexandr

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

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

    Думаю можно будет.
    В следующей порции игр возьму и эту.

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

    Что-то не похоже что это игра. Больше похоже на небольшое демо.

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

    Ссылку можете дать?

  38. Alexandr

    Добрый день,
    А можно Marduino портировать?

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

    Это нужно пробовать — потянет ли МК и игру и формирование композитного сигнала…

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

    Привет!
    Думаю напрямую с микроконтроллера это будет сложно сделать (но чисто теоретически возможно — нужно просчитывать временные интервалы — хватит-ли ресурсов МК работать на видео и игру одновременно)
    Как вариант, использовать какие то промежуточные платы — точно будет работать https://community.arduboy.com/t/vga1306-vga-out-for-diy-arduboys-implemented-on-an-fpga/4851/68
    но в этом случае теряется простота и доступность конструкции…

  41. Евген

    Доброго времени суток. А есть ли возможность вместо дисплея вывести изоброжение на тв? Тогда консоль можно будет впихнуть в какой либо джойстик.

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