2024-10-11 00:00
К середине сентября добавил поддержку звука, однако, на этом проект двумерной приключенческой игры «Хвост и тень» остановился, т.к. из проекта ушёл идейный вдохновитель Женя.
В сентябре я заметил падение интереса к проекту и со стороны подписчиков. Объяснил я это себе тем, что результат функционально и графически не соответствует ожиданиям аудитории.
Поэтому решил проверить пару вариантов оживления проекта:. . .
2024-09-06 00:00
В августе сделал переключение сцен, после чего стало возможно следующее:
Таким образом, сцены хорошо решают вопросы как фокусирования на предметах,. . .
2024-08-12 00:00
По планам за июль я должен был доработать инструмент для трансляцию кода из Python в JavaScript. Этого не произошло, потому что появились более приоритетные задачи.
Какая задача может быть приоритетнее разработки инструмента? Разработка игры, конечно же! Итак, возвращаемся в начало июля 2024-го года…
В начале июля 2024-го года закончился трёхдневный геймджем от «Начни игру», в котором я участвовал. Целью моего участия в геймджеме было как проверить свои игровые наработки в условиях,. . .
2024-07-04 00:00
В июне реализовал графический интерфейс игры «Память» на Python с помощью Python Arcade.
В ходе поиска наиболее удобного инструмента создания ресурсов (ассетов) остановился на обычной тетрадке в клетку:
Для дополнительной проверки качества архитектуры портируемого кода участвовал в трёхдневном геймджеме от «Начни игру» с игрой «Память», оформленной под требования конкурса.
Выглядит итоговая игра следующим образом (сборка Windows64):. . .
2024-06-14 00:00
В мае реализовал текстовый интерфейс игры «Память» на Python. В C++ перевёл инструментом.
Реализация логического игрового цикла привела к появлению контроллера, управляющего контекстом. Создание контроллера на Python прошло без происшествий, а вот с версией для C++ пришлось помучиться. Мучения были вызваны тем, что контроллер использует std::any из C++17, а инструмент ограничен C++11 с целью поддержки OpenWrt.
Что касается объёма кода, то картина получилась следующей (в строках):. . .
2024-05-03 00:00
В апреле реализовал игровую логику игры «Память» на Python в виде модели ограниченного языка и успешно перевёл её инструментом в C++.
Модель ограниченного языка предполагает следующую архитектуру из двух частей:
Контекст состояния игровой логики на Python получился следующим (C++):
```python class memory_Context: def init(self): self.hiddenItems = [] self.mismatchedItems = []. . .
2024-04-11 00:00
Для подтверждения портируемости кода я выбрал следующие платформы и языки:
На указанных языках я сделал простейший аналог «Hello World», тем самым изучив требования каждой из платформ.
Отдельно отмечу, что самой сложной для обуздания платформой оказалась OpenWrt, т.к. поддержка моего маршрутизатора TP-Link TL-MR3020 r1 закончилась в 2018-м году. Пришлось ставить старую версию OpenWrt, что заняло три недели.. . .
2024-03-10 00:00
За январь и февраль довёл реализацию шаблона Шина на Swift до хорошего состояния для iOS.
Провёл нагрузочное тестирование. Оказалось, что общение элементов приложения через Шину примерно в 92 раза медленнее обычного вызова функции. И это говорит не о том, что Шина плоха. Наоборот, это говорит о том, что Шина должна использоваться в архитектурных склейках кода, что позволяет сократить такой код примерно на 30%.
Так выглядит пример с использованием нескольких состояний, отображаемых. . .
2024-01-04 00:00
Для достижения портируемости кода необходимо разделить весь код на две части:
Для упрощения конструирования портируемого кода нужна возможность размещать любой код - и повторяющийся, и уникальный - без учёта иерархии конечной платформы. Для этого лучше всего подходит шаблон проектирования «Шина». Шина все куски кода делает равными, т.к. они взаимодействуют друг с другом через Шину.
На текущий момент получился следующий результат:. . .
Страница 1 из 8