refactor: tighten core seams and spawning

This commit is contained in:
2026-06-18 18:34:45 +03:00
parent 58bf96e9d9
commit b7362a2ad8
11 changed files with 222 additions and 24 deletions
+2 -1
View File
@@ -37,7 +37,8 @@
Старый код двигал всё прямо в `requestAnimationFrame`, поэтому скорость игры
зависела от частоты монитора (на 144 Гц — в 2.4× быстрее). Теперь:
1. Раз в кадр опрашиваем ввод (`controller.poll()`).
1. Раз в кадр опрашиваем источник ввода (`controller.poll()`). Цикл знает только
маленький интерфейс `poll(): InputState`, а не конкретную клавиатуру.
2. Однократные действия (смена оружия, рестарт) — `game.consumeActions(input)`.
3. Копим реальное время в аккумуляторе и вызываем `game.step(input)` фиксированными
порциями по `1/60` секунды. Сколько бы ни был лаг — логика всегда идёт 60 шагов/с.