Серия «Syntropy - Живые обои (Windows/Linux)»

58

Обновил свои живые обои Syntropy для ПК: победил Windows 11 и завел на куче окружений Linux⁠⁠
1

Серия Syntropy - Живые обои (Windows/Linux)

Привет, Пикабу!

Месяца три назад я рассказывал здесь о своем проекте Syntropy — это интерактивные неоновые обои для Windows и Linux, где под иконками рабочего стола идет война клеток на основе «Игры в жизнь» Конвея. Написано всё на чистом C++20 и графической библиотеке SFML 3, без тяжелых сторонних движков.

После того поста я получил много полезных отзывов и багрепортов, за что огромное спасибо всем, кто отписался! Оказалось, что подружить симуляцию с рабочим столом — задача не из легких: свежие сборки Windows 11 подкинули немало головной боли, а в Linux из-за огромного разнообразия дистрибутивов и графических окружений и вовсе пришлось делать отдельную адаптацию под каждое окружение.

В итоге последние месяцы я активно дорабатывал проект и наконец-то сделал крупный апдейт. Вот что изменилось и получилось исправилось:

• Расширил поддержку Linux. Раньше проект нормально работал только в Cinnamon (Linux Mint). Сейчас добавил полноценную поддержку для дистрибутивов с окружениями KDE Plasma, LMDE, MATE, Cinnamon и Xfce (на X11). Поддержка Wayland и свежей Plasma будет в следующем обновлении, но пока намеренно придерживаю, чтобы как следует оттестировать текущие наработки.

• Переехал на C++20. Код стал чище, а сама симуляция — еще чуть-чуть шустрее.

• Укротил Windows 11. Из-за проблем со свежими обновлениями ОС пришлось написать новый гибридный метод встраивания. Заодно починил автозапуск.

• Настройки без сброса поля. Раньше при изменении параметров симуляция обнулялась. Теперь всё работает на лету: можно менять размер ячеек или переключать параллакс курсора прямо во время работы.

• Больше неоновой пыли. Настроил визуальные эффекты, теперь при делении и гибели клеток испускается гораздо больше микрочастиц.

• Исправление старых косяков. Поправил баг, из-за которого клетки исчезали при уменьшении размера (если до этого стоял большой зазор), починил сброс цветов на случайные при перезапуске симуляции и немного освежил интерфейс.

Программа по-прежнему полностью портативная (не требует установки) и поддерживает конфигурации с несколькими мониторами.

Потестируйте, кому интересна тема. Если у кого-то на специфическом дистрибутиве Linux или нестандартной конфигурации Windows что-то пойдет не так — оставляйте обратную связь, постараюсь помочь с решением.

Готовые сборки под обе системы лежат на GitHub и на Boosty.

Показать полностью
202

Syntropy — легковесные живые обои с симуляцией эволюции для Windows и Linux⁠⁠

Серия Syntropy - Живые обои (Windows/Linux)

Привет!

Захотелось оживить рабочий стол, но обычные живые обои либо быстро надоедали, либо слишком сильно грузили систему. В итоге решил написать свой проект с нуля - 🧬Syntropy. Это интерактивные неоновые обои, которые превращают рабочий стол в живую цифровую экосистему.

В основе лежит процедурная симуляция эволюции. Прямо под иконками автономные ИИ-команды рождаются, мутируют и воюют за территории. Движок постоянно просчитывает случайные мутации, поэтому цвета фракций и рисунок сражений никогда не повторяются. При этом симуляция интерактивна. Кликами по экрану можно спавнить новые клетки, искусственно влияя на баланс сил. Из визуальных эффектов добавил мягкое свечение, физику микрочастиц и параллакс при движении курсора. Все параметры вроде скорости эволюции, размеров ячеек и яркости настраиваются через меню в системном трее.

Основной упор я делал на оптимизацию, чтобы программа работала даже на слабых ноутбуках. Проект написан на C++17 и SFML без тяжелых готовых движков, а эффекты обрабатываются через кастомные шейдеры. Для игр и полноэкранных приложений предусмотрена умная автопауза. В этот момент обои полностью останавливают расчеты, снижая нагрузку на процессор и видеокарту до абсолютного нуля.

Программа полностью портативная, не требует установки и работает на Windows и Linux. Также сделал бесшовную поддержку нескольких мониторов и автоматическое сохранение карты клеток, так что после перезапуска системы симуляция продолжается с того же места.Делал для себя, но буду рад, если кому-то тоже зайдет.

Скачать готовую сборку можно у меня на GitHub.

Как вам вообще такая идея? Готов ответить на вопросы в комментариях.

Показать полностью
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества