Войти
ПроектыФорумОцените

Formula Arduino [Arduino, LCD 20x4]

Страницы: 1 2 Следующая »
#0
(Правка: 12:07) 12:04, 31 авг 2021

screenshot | Formula Arduino [Arduino, LCD 20x4]

Вводное

Сидел я сидя на стуле за столом, открыл ящик слева от меня и увидел там кучу рассыпухи, которая второй год пылится без дела. Лень, прокрастинация и всякое такое не давали мне шанса применить все это дело как положено. Но тут что то щелкнуло...
Среди прочего мусора глаз зацепился за Arduino Yun, да старый символьный LCD Winstar 2004. Из полезной рассыпухи был только переменный резистор на 10К - стандартный как ничто.
В голове крутилось, что надо срочно что-то заделать. Но что?
Я ведь вроде гей(м)-девелопер, какой никакой степени паршивости. Значит надо делать игру. Но покупать кнопки было лень, да и экранчик маловат - длинный, но невысокий.
Штош, значит игруля должны быть вертикальной. А что вертикальное у нас? Шмапы, да гоночки. Ну и арканоиды всякие. Тут то как раз резистор и подойдет - управлять корабликом/машинкой/ракеткой, да еще и модно - аналогово!
Выбор пал на гоночки.

Изображение

Дисклеймер

Код игры - индусский до последней строчки. Оптимизаций можно напилить еще вагон, сам код местами избыточен, местами джунен и вообще меня волновало только экономия оперативоньки, коей всего 2Кб, поэтому говнокостыльного кода много.

Чо да как

Экран самый попсовый, без всяких вам i2c. 20х4 символов.  Для его обуздания используется стандартная уже библиотека LiquidCrystal. Управление игрой - только через переменный резистор в 10Ком, который мы считаем рулём :) Резистор подключен к аналоговой ноге и считывается как источник аналогового сигнала. Рулем же игру запускаем и из стартовой картинки.
Суть игры - нужно ехать и не врезаться, набрав побольше очков. В игре 2 поверапа - бонус в 500 очков и увеличение скорости (эдакий антиповерап).

Детали

В виду того, что игра вертикальная, ось Х, по которой рулит машинка состоит всего из  4х знакомест, отчего аналоговый ввод кажется странным. Поэтому было решено для сглаживания движения машинки сделать ее отображение межсимвольным. Для этого заиспользованы 6 кастомных символов дисплея. Спрайт машинки плавно перетекает с одного знакоместа в другое. 

Так же опционально можно подключить пьезопищалку на ногу 7 и получить звук двигана.

Все данные вариаций дорог, спрайты машины и еще мелочевка запихнута через PROGMEM - не занимает оперативку, а хранится прям на флеше. В результате переменными занято всего 33% памяти, что дает возможность расширять геймплей :)

Скрины + видосик

+ Показать

Качнуть


Полные исходники  положил на гитхаб:

https://github.com/rikovmike/formulaArduino

#1
15:56, 31 авг 2021

Найс, продолжайс.

#2
16:40, 31 авг 2021

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

#3
18:45, 1 сен 2021

Skvoznjak
Да стримеров пока не заинтересовало))

#4
0:04, 2 сен 2021

интересно другое )

#5
(Правка: 0:11) 0:11, 2 сен 2021

Крутяк! Хорошо, что я давно избавился от всех подобных ненужностей в столе)) даже паяльника сейчас нет
А то бы тоже руки постоянно чесались)

#6
(Правка: 1:39) 1:35, 2 сен 2021

С таким индикатором можно запилить реплику ностальгического калькулятора MK-61
Сайт обсуждения проекта МК-61 (прошивка доросла до версии 1.0)

Изображение

Изображение
#7
(Правка: 3:35) 3:34, 2 сен 2021

можно было бы как-то это все собрать до кучи, замоделить под ретро корпус в 3д, а потом распечатать и собрать, да даже наклейки можно было бы на корпус сделать в любой полиграфии, и оформить под ретро приставку или чё-то типа пейджера как у Фьюри в фильмах марвел

+ Показать
#8
7:59, 2 сен 2021

MSA2
Да просто я хреново вкуриваю в эти ваши юнити всякие уже лет 10, так что решил если и игроделать, то попроще))

KPG
Это для меня слишком уж ностальгически. До игр с калькуляторами я так и не дорос))

92+
Это можно , но я слишком ленив. Да и принтера нет...

#9
(Правка: 8:48) 8:47, 2 сен 2021

Больше чем Киллбот
> Это для меня слишком уж ностальгически. До игр с калькуляторами я так и не
> дорос))
Ну так и калькуляторы бывают разные. :)

К примеру. (на TI-89)

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

Известные всем игры на графических калькуляторах: https://habr.com/ru/post/128146/

#10
9:08, 2 сен 2021

KPG
> TI-89
Не ну это уже не калькулятор. Это nes (мотор 68000 в сердце). Неудивительно, что на нем ромы валят.

#11
(Правка: 11:38) 11:36, 2 сен 2021

Больше чем Киллбот
> Не ну это уже не калькулятор. Это nes (мотор 68000 в сердце). Неудивительно,
> что на нем ромы валят.
Ok,
TI-83 (Zilog Z80 на частоте 6 или 15 МГц, 32 КБ ОЗУ, 140 КБ ПЗУ (Flash ROM), 512 КБ ПЗУ,    Жидкокристаллический, матричный, 96×64 точек)

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

Марио то же есть, но странно если бы не было, если даже на ZX-Spectrum он сделан и в цвете. :)

P.S. Не рассматривая графические калькуляторы с цветным дисплеем.

#12
13:22, 2 сен 2021

KPG
Да с графи экраном и нормальным процом это понятно. Мне же интересно было получить что-то играбельное с максимальными ограничениями в виде неграфического экрана, микропамяти и прочих ввещей.

#13
13:51, 2 сен 2021

Больше чем Киллбот
> Да с графи экраном и нормальным процом это понятно. Мне же интересно было
> получить что-то играбельное с максимальными ограничениями в виде неграфического
> экрана, микропамяти и прочих ввещей.
А, не рассматривали вариант - 4-ёх полос в виде точек, а транспорт появляющийся на них уже псевдографикой?

#14
14:00, 2 сен 2021

KPG
Будет слишком шумно

Страницы: 1 2 Следующая »
ПроектыФорумОцените