Закончилась школа и начались вузовские годы. Чтобы снять стресс, в это время играл в сложные игры. Весной было ЕГЭ, осенью первый курс, так что проектов стало меньше. Занимался только известными вещами и работал со знакомыми технологиями.
Pixelated
Работая в Aseprite много думал о пиксельных приложениях. Решил создать небольшую пустышку чтобы узнать, возможно ли создать полностью пиксельное приложение. Результатом стал этот проект. В принципе создать подобное приложение оказалось возможным, однако с определёнными трудностями. Для macOS надо отключать сглаживания шрифтов и копаться в настройках отображения окон.
![]() |
![]() |
---|
Для Windows осталась нерешённая проблема с мыльными сглаженными пикселями шрифтов. Код пустышки выложен на GitHub.
Experiment v2
После Experiment v1 были предприняты улучшения. Программа для отслеживания этапов расширилась и обзавелась возможностью выбирать различные этапы из списка. Так же были созданы генераторы графиков, автоматически создающие визуализацию распределения времени этапов сохранения.
Тогда я ещё не вёл эксперимент по годам, так что следил за статистикой на дистанции недель и месяцев.
Neiroart
В этом году был взят эксперимент ежедневных скриншотов. В какой-то момент я подумал, что различные рисунки можно генерировать с помощью программ. Так появился проект Neiroart - сборник скриптов для генерации различных изображений. Позже сборник будет расширен и почищен.
![]() |
![]() |
![]() |
---|
Сейчас он имеет генератор зомбатаров, карточек врагов, глифов, карт методами случайной ходьбы и тайлов, генератор пазлов и ковров на взаимно простых числах.
Один из больших проектов. Каждый скрипт глубоко настраивается. С помощью различных флагов в терминале можно задать кучу параметров для создания изображений, так что из одного скрипта могут выйти очень разные рисунки.
![]() |
![]() |
---|
Исходный код проекта открыт и неплохо задокументирован. Для того чтобы достать элементы одежды зомбатаров, была пропатчена Plants vs. Zombies.
ChestCollection
После полного освоения Stone Story RPG взялся за создание списка всех игровых сундуков. Список небольшой, но требовательный. Многие сундуки проявляют всю свою красоту только при анимации.
![]() |
![]() |
![]() |
---|
Чтобы получить красивые и правильные изображения сундуков из игры отдельно настраивал OBS для записи без сжатия изображений. Позже полученный .avi
файл (2 гигабайта на минуту!) разрезал на отдельные кадры и создавал идеальные gif
анимации.
Исходный код сайта сундуков выложен и постоянно обновляется вместе с игрой, сами сундуки доступны на сайте.
Stonescript
Разрабатывая cAutomation, столкнулся с проблемой. Код, написанный на Stonescript не имел хорошего плагина для подсветки синтаксиса. Так что я взял на себя тяжёлую ношу и создал свой. За основу была взята одна из уже существующих работ и была доведена до конца.
Моя поддержка языка подсвечивает код, предлагает переменные и функции для автоматического заполнения, а так же отображает документацию к методам при наведении на них.
За всё время плагин собрал более тысячи скачиваний. Его исходный код выложен на GitHub.
Counter
После переезда на новый сервер открыл возможность использования чистого PHP в полной мере. Старый Heroku был эфемерным, новый сервер на Sprinthost этим ограничением не обладал, так что я решил изучить эту тему.
И создал страницу, которая бы учитывала число её посещений. Вместо базы данных, приложение использует возможность записи данных в обычный текстовый файл.
Помимо отображения числа посещений, значение раскладывается на простые множители и анализируется на интересные свойства. По мимо этого для некоторых значений заданы отдельные пасхальные подписи.
Сайт доступен.
Tetris
Чтобы закрыть на автомат дисциплину процедурного программирования в вузе, написал на C++ клон Тетриса. С плюсами и до этого приходилось работать, когда во времена SSRPGA подводил расчёты числа выпадавших сундуков.
И вот получился тетрис. В нём можно легко настраивать размер игрового поля и цвета для падающих блоков. Так же игра была портирована на Windows: для этой системы вывод был переписан со стандартного cout на системные вызовы, ускоряющие работу игры. Исходный код игры открыт.