Прежде всего хочу выразить благодарность всем неравнодушным людям Пикабу, кто поддержал нас словами, эмоциями и донатами! Большое вам спасибо! 😊
А ребят @catincoat, @Azcol, @fddh543 теперь можно найти как в исходном коде так и через "пасхалку"👍в ОС консоли!
Также вижу, что накопилось немало вопросов относительно проекта — постараюсь подробно ответить на каждый из них, но для начала я бы вас хотел провести по дороге истории проекта.
Начинали мы с этого:
Тут всё просто - плата Леонардо и графический дисплей на чипе ST7920
Ммммм.. хотя нет это было чуть позже, начинали мы свой путь (а я сейчас говорю о всех ребятах в нашем кружке) именно с самой простой платформы на базе Леонардо с самым распространенным дисплеем LCD1602.
Тоже ничего сложного, разместили плату Леонардо и дисплей 1602
Именно на такой простой платформе мы и написали свою первую игру Dino - про прыгающего динозаврика (почти как в браузере Google Chrome). Далее были сиквелы Dino2 и Dino3 с управлением через ПК посредством клавиатуры. Ребята настолько втянулись в этот процесс, что их фантазию уже было не остановить)) придумывали игры с главными героями мультфильмов, даже вещей: пылесосов, половников и батареек))) было круто и весело) (особенно им нравился этап рисования и переноса картинки в бинарный вид, рисовали на листке, попиксельно, ну а потом переводили в понятный 00011100 и так далее). Завершением и апогеем данной платформы был проект PacMan на два игрока с фишками в виде дополнительных жизней и героями которые могли поменять свой облик при поедании ягод - всё как в оригинале, ну почти 😁.
Примерно в это же время, дисплея 1602 нам стало не хватать и мы перешли на графический дисплей 12864, тут уже было куда развернуться, и мы с удовольствием погрузились в проекты: Snake, Pong, Aliens Invaders и другие. Просто открывали старую книгу по играм BASIC и портировали на свою платформу всё что было интересно, а интересного там было много, что стоит только проект Acey Deucey, есть там над чем голову поломать)). Для ребят старые игры оказались настоящим откровением, особенно их поразил тот факт, что базовые алгоритмы остаются неизменными, меняются лишь способы взаимодействия и отображения информации. Как педагог я обязательно подчеркиваю этот факт на своих занятиях. Всю информацию стараюсь подкреплять презентациями и удивительными фактами из мира IT и игр, им нравится).
А дальше мы разработали свою первую консоль) с которой выиграли пару конкурсов, участвовали на день города под палящим солнцем так, что простенький PLA пластик из которого был сделан корпус консоли повело, а дяденька из числа жюри в Невинномысске сказал нам: - "не верю!". Заинтересовались? Напишу об этом в следующий раз)
А сейчас ответы на волнующие вас вопросы:
...много странного даже на первый взгляд. Начиная с действительно странного выбора экрана. ... А иконки вы из третьей винды взяли? - пишет @LemuelGulliver
Дисплей выбирали с учетом цены, возможностей чипа ST75256 и трансфлективности (это тот случай когда изображение на дисплее видно без подсветки за счет отраженного света от нижнего слоя дисплея). В запасе на тот момент был цветной дисплей с более высоким разрешением, но мы от него отказались по ряду причин: не высокое качество изображения, отсутствие нормальной библиотеки, малая диагональ.
Почему вы использовали arduino, а не стандартный для esp32 фреймворк esp-idf ? - пишет @favoriteclient
К набору методов API ESP-IDF у нас есть доступ, используем методы энергосбережения и настройки процессора. В дальнейшем полностью откажемся от прослойки API Ардуино. Пока так, так как ребятам удобнее.
А почему интерфейс на английском, если русский продукт? - пишет @Cudesniks,
Шрифты у нас в бинарном виде и создание их заняло достаточное кол-во времени. Дисплей поддерживает 4 градации серого и на каждый пиксель приходится по 2 байта информации (по биту в каждом байте, расточительство!), нужно было либо с учетом этого рисовать символы (что не есть хорошо - данных много), либо символы рисовать для монохромной графики и уже потом алгоритмом "растягивать" их без потери данных. Выбрали второй вариант и у нас все получилось) Обязательно добавим кириллицу!
Doom на ней уже запустили? - пишет @UserNumber
Пока нет)) сосредоточились на фреймворке exForm который позволяет выводить графические окна на дисплей + над терминалом думаем. Стыдно, но Pong мы тоже пока не запускали 😂.
Отчего ж не опубликовали ссылку на гитхаб? Интересно же! - пишет @trapwalker
Вот GitHub - avsavushkiny/EX: EXperience, пожалуйста сильно не ругайте)) много мусора) работать и работать ещё над кодом)
А на этом пока всё) Следующий пост будет через три дня и будет содержать часть технической информации. Буду рад любой поддержке 🤝!