b1548ea182
Сделал ещё одну очевидную оптимизацию - кэширование матриц препятствий, результат превзошёл всё ожидания. 300 объектов - плавные 60 фпс, 500 объектов - 60 фпс с микрофризами. Для масштабов игры этого уже более чем достаточно. Теперь следует добиться такого же для более слабых машин, надо выбрать минимальные системные требования.
master
shiva404
2026-03-06 04:00:43 +03:00
fa189a4c3b
Попробовал самую очевидную оптимизацию рендера, теперь отрисовываются только те клетки, которые в камере. Карта корраптится при движении камеры, надо исправить, зато масштаб работает и прирост производительности очень хороший, теперь до 200 объектов обрабатывается при стабильных 60 ФПС. Промежуточный коммит, хочу посмотреть сколько можно ещё выжать кадров на 500 объектах, потом нужно починить движение камеры. Также написал простую функцию спавна эльфов в главном цикле для создания нагрузки. Эльфы создаются в углах карты и по центру каждые сто тактов цикла. Они начинают перемещаться по карте в случайные точки, создавая относительно равномерную нагрузку поиска пути.
shiva404
2026-03-05 22:00:32 +03:00
45f2c71cb8
Добавил систему задач для юнитов, она реализована в методе update класса Creature. Подчистил код, пофиксил по мелочам баги. Остался ещё техдолг Егору и задачи из main.
shiva404
2026-03-05 16:35:08 +03:00
dafa95989f
add requirements.txt (pip freeze); readme
Your Name
2026-02-24 16:03:29 +03:00
8834ac997f
add .gitignore & rm cache files
Your Name
2026-02-24 15:54:39 +03:00
6b6ca341dc
Добавил ускоренный A* из библиотеки pathfinding - произволительность выросла, но несильно. Пока этот вариант закомментил, сейчас реализация BFS + walkable матрица, работает гораздо лучше, с неоптимальным рендером 100 объектов держит, без рендера 300.
shiva404
2026-02-24 02:03:22 +03:00
b34aaa1664
shameslop, but gui still works.
shiva404
2026-02-16 17:20:37 +03:00
0e0bf1f84e
Finally fixed sprite caching. For now it works only for one map, need to develop mapmanager and have a list of cached sprites for each map.
shiva404
2026-02-16 02:46:28 +03:00
f89e0a86c4
Profiling functions were added.
shiva404
2026-02-16 01:31:16 +03:00
2e6e75866b
Couldn't beat graphic bugs with sprite caching. Returned to old way. Need to create branch with sprite caching and try to finish it.
shiva404
2026-02-16 00:30:17 +03:00
f679dde81f
P.S. to previous commit: instead of Sprite flow load_sprites function was changed: gathering the number of sprites with the same names before second _ and hold it at sprites dict. also now sprites must be named as objectname_action_number. Main commit - full sprites support, with caching, transparency and smooth scaling. drawing function moved to Object methods
shiva404
2026-02-15 21:23:02 +03:00
ab58803373
initial sprite animation support
shiva404
2026-02-15 18:17:31 +03:00
ffc87c9591
Sprite scaling support and a little refactoring
shiva404
2026-02-14 05:24:52 +03:00
d6a106301e
initial sprites support, only terrain for now
shiva404
2026-02-14 03:09:52 +03:00