Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Регистрируясь, я даю согласие на обработку данных и условия почтовых рассылок.
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр  Что обсуждали люди в 2024 году? Самое время вспомнить — через виммельбух Пикабу «Спрятано в 2024»! Печенька облегчит поиск предметов.

Спрятано в 2024

Поиск предметов, Казуальные

Играть

Топ прошлой недели

  • solenakrivetka solenakrivetka 7 постов
  • Animalrescueed Animalrescueed 53 поста
  • ia.panorama ia.panorama 12 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая «Подписаться», я даю согласие на обработку данных и условия почтовых рассылок.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
0 просмотренных постов скрыто
15
Veveds
Veveds
Серия Мы очень старались и сделали :)

Всё начиналось с этого :)⁠⁠

7 месяцев назад

Прежде всего хочу выразить благодарность всем неравнодушным людям Пикабу, кто поддержал нас словами, эмоциями и донатами! Большое вам спасибо! 😊
А ребят @catincoat, @Azcol, @fddh543 теперь можно найти как в исходном коде так и через "пасхалку"👍в ОС консоли!

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

Начинали мы с этого:

Тут всё просто - плата Леонардо и графический дисплей на чипе ST7920

Тут всё просто - плата Леонардо и графический дисплей на чипе ST7920

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

Тоже ничего сложного, разместили плату Леонардо и дисплей 1602

Тоже ничего сложного, разместили плату Леонардо и дисплей 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, пожалуйста сильно не ругайте)) много мусора) работать и работать ещё над кодом)

А на этом пока всё) Следующий пост будет через три дня и будет содержать часть технической информации. Буду рад любой поддержке 🤝!

Показать полностью 2
[моё] IT Программа Гайд C++ Программирование Образование Школа Длиннопост
9
579
Veveds
Veveds
Серия Мы очень старались и сделали :)

Мы очень старались и сделали :)⁠⁠

7 месяцев назад

Друзья, супер (!), в первую очередь как педагог и руководитель проекта спешу вам сообщить, что наша команда стала призером в республиканском конкурсе на приз Главы Республики Мордовия. Ура-а-а 🏆 Мы это сделали!

Напомню, что примерно год тому назад, мы поставили перед собой цель: собрать программируемую консоль для школьников, студентов и просто гиков)) и мы её собрали!

1/7

Да, было трудно, создавали код с нуля (кроме ядра ESP32), переписывали, переписывали и снова переписывали код. Мы отказались от RTOS и придумали свой удобный планировщик задач. Отказались от графической библиотеки U8G2 и написали свою 😱 (ох уж эти даташиты на китайском 🙄). Изюминкой нашего проекта стал свой фреймворк exForm для создания графических форм, там есть практически всё, от кнопок до вывода 4 цветных изображений (градации серого), фреймы, линии, чекбоксы, текстовые блоки и многое другое 👍. Даже Desktop есть как на ПК, ну почти 🫣. Осталось совсем чуть-чуть: добавить виртуальную клавиатуру и рабочий эксплорер. Ах-да, совсем забыл, ещё мы добавили, а точнее сами написали и уже потом добавили в проект библиотеку для работы с последовательным портом UART, с расчётом CRC при передаче/приёме данных 💪. Макс из нашей команды разработал и внедрил в проект 3Д модель корпуса, делал всё через Компас, 11 деталей, не единого самореза или болта, все детали собираются практически как в Lego. А сколько пластика потратили на черновые варианты!

Ну а для чего все 🤷 это?

Дети, старшеклассники, будущие студенты таким образом знакомятся с it разработкой. В интересной и увлекательной форме изучают язык программирования C++. Это не сухая теория и не сухие задачки из ОГЭ, ЕГЭ, а реальная разработка it продукта. Руки только не доходили полностью вести DevOps.

В планах: добавить много новых функций, разработать единую плату, изменить дизайн корпуса) да много всего впереди!

Если бы вы только знали, как мы сильно испугались, когда чуть не потеряли важные изменения в репозитории) был какой-то глюк со стороны github. Я наверное, в то время, приобрел кучу седых волос))

Хочу сказать огромное спасибо всем ребятам за проделанную работу 🤝: Сяткина Катя, Орлов Максим, Ксенофонтов Сергей, Самойлов Михаил.

Для Пикабу мы приготовили серию постов по разработке данной консоли)

Показать полностью 7
[моё] Разработка Программирование C++ Arduino Школа Студенты Образование Учеба Курсы IT
80
0rd4s
0rd4s

Когда немного психанул...⁠⁠

7 месяцев назад
Перейти к видео
[моё] C++ IT юмор Программирование Игровой юмор Юмор Видео Короткие видео
6
9
CodePanda
CodePanda
Серия LOL Engine

LOL Engine день 3⁠⁠

8 месяцев назад

Всем привет.

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

Переделал структуру на гите и вынес include по совету из коммента

Include статической библиотеки

Include статической библиотеки

Взял spdlog для логов. Пока не оборачивал - сделаю позже.

Убрал Timer и this_thread::sleep

переделанный основной цикл

переделанный основной цикл

Как советовали, вместо того, чтобы заниматься фигней и получать состояние выполнения bool, сделал возврат состояния EXIT_SUCCESS/EXIT_FAILURE прямо из Application, ну и убрал все инициализации в конструктор

int main стал аккуратнее

int main стал аккуратнее

Структура проекта больше похожа на другие проекты на гите:

src / include / thirdparty / example (куда убрал базовый проект. Он пока пустоват. Займусь)

Более аккуратная структура

Более аккуратная структура

Инициализация запускаемого проекта проходит теперь через два extern.

Один прокидывает настройки приложения (разрешение, название, лимит кадров, название стартовой сцены)

Второй регистрирует сцены в SceneManager

Ну и удалил бгмерзский ServiceProvider. Это была ну ооочень плохая идея. Возможно, не буду изобретать велосипед, а просто возьму потом какую-нибудь DI библиотеку типа Boost.DI

Основной работы прибавилось, так что занимаюсь пет-проектом пореже. Спасибо всем кто участвует и помогает!

Ссылка на пустоватый репозиторий

Показать полностью 4
[моё] Программирование Разработка Gamedev Инди C++ Длиннопост
3
Bubazeika
Bubazeika

TempleOS/⁠⁠

8 месяцев назад

На этой крохотной старенькой SD карте маленький цифровой памятник одному незаурядному человеку, который смог в одиночку написать, весьма интересную операционную систему. Имя ей TempleOS Единственная операционная система написанная на вариации языка Си -HolyC. Разрядность 64x софт... Хм. Как бы это помягче. В общем это единственная операционная система одобренная самим Богом, какой софт? Есть игры, цитаты из Библии, и Оракул. Что вам еще нужно еретики?)))

Сайт в память с дистрибутивом и коротким видео автора. У талантливого человека весьма трагичная судьба и все же... https://templeos.org/

Показать полностью 2
[моё] Digital Операционная система C++
9
7
CodePanda
CodePanda
Лига программистов
Серия LOL Engine

LOL Engine день 2⁠⁠

8 месяцев назад

(пожалуй, буду нумеровать посты по дням)

Итак, сегодня после работы поработал немного больше.

Из полезностей - абстрагировал мусор в int main() в класс Application, добавил Logger и Timer (на очереди WindowManager и Renderer)

LOLEngine/Internal/main.cpp

LOLEngine/Internal/main.cpp

Из важного - сделал ServiceProvider.

LOLEngine/Include/Engine/Core/ServiceProvider.hpp

LOLEngine/Include/Engine/Core/ServiceProvider.hpp

Синглтоны в проекте будут, куда без них, но складывать их в глобальном пространстве я не люблю, так как такое трудно отлаживать. Поэтому, в Application появился ServiceProvider, в который я начал складывать все синглтоны для последующего прокидывания вглубь приложения. Вместо Logger::getInstance() будет _serviceProvider->GetService<Logger>()

LOLEngine/Internal/Engine/Core/Application.cpp

LOLEngine/Internal/Engine/Core/Application.cpp

Таким образом доступ к сервисам не будет у тех, у кого его быть не должно, а тех, у кого доступ есть - будет легче отлаживать.

Репозиторий все там-же

Победить сборку под веб сегодня не получилось, пошел сидеть над этим дальше.

Основная работа не позволяет заниматься движком много времени в день, но постараюсь что-то полезное делать ежедневно.

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

Огромное спасибо всем, кто задает вопросы в комментах и тычет носом в ошибки - постараюсь учесть и исправить. Вырасти, так сказать, над собой.

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

Как всегда - жду ваши плюсы/минус/комменты. Пошел кодить дальше

Показать полностью 3
[моё] Программирование Gamedev Инди Игровой движок C++ Длиннопост
12
3
IC.Booze
Программисты шутят

Не вижу в чистом C никаких плюсов⁠⁠

8 месяцев назад
Не вижу в чистом C никаких плюсов
[моё] Юмор Программирование C++ IT юмор
5
13
CodePanda
CodePanda
Лига программистов

Всем привет⁠⁠

8 месяцев назад

Приветствую пикабушников и пикабушниц, интересующихся разработкой комплюхтерных игор, да и разработкой в принципе.

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

Я был одним из тех кто долго ждал релиза пошумевшего в новостях Российского движка Nau. Обещали кроссплатформенный движок с возможностью писать игровую логику на плюсах.

Всем привет

Выходит бета, и работает только под Windows (единственная ось, которая больше официально в России не работает) и только с DirectX рендером.

Такое положение дел меня категорически не устроило и я принял решение вести девлог на этом замечательном ресурсе, работая над собственным движком с маджонгом и гейшами. (Еще один самописный индюшайчий движок - это то, что нужно этому миру)

Почему я не взял какой-нибудь Unity или Unreal? Пытался. Не зашло.

Что я буду делать:

  • Писать свой игровой движок на примере маленьких проектов с целью подтянуть навыки в C++, CMake, GIT, Vulkan API, кроссплатформенной разработке, разобраться с хорошей архитектурой, ну и по мелочам чего-то наберется.

  • Сам работаю на Mac, поэтому проект будет собираться на CMake, IDE - Visual Studio Code,

  • язык C++ 23, чтобы читатели могли повторить это на винде и линухе.

Что я жду от сообщества:

  • Надеюсь, найдутся люди, кому это будет полезно.

  • Еще больше надеюсь, что найдутся люди, которые увидят слабые места в моем коде и честно накидают мне в панамку.

Когда проект будет дописан до состояния, когда говно и палки уже не надо будет крепить изолентой, сделаю проект на гите публичным.

Всем спасибо за внимание, надеюсь, пребывание здесь будет полезно и мне и вам. Ставьте плюсы/минусы, пишите комменты (в принципе пишите - интересно вам такое или нет?). Следующий пост напишу про структуру проекта на данный момент и настройку сборки.

Показать полностью 1
[моё] Программирование Программист Игровой движок Инди Gamedev Разработка C++
24
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии