Godot game engine: оптимизация

Различные принципы, которые должен понимать разработчик, чтобы повысить производительность игры. Многое из перечисленного касается не только движка Godot.

Godot game engine: оптимизация
6.1K6.1K показов
1.8K1.8K открытий

Познавательно, вот к вопросу о циклах. Допустим есть простые крестики нолики. Нам нужно проверить по сути два условия победа и ничья. Если ничью, на мой взгляд, проще проверить по кол-ву ходов, мол если ходов 9, а условий победы нет, то ничья. То вот проверка условий победы может быть совершенно разной.
Вариант 1: просто проверяем 8 комбинаций через if...ilif...else
Вариант 2: делаем матрицу и проверяем в каждую сторону от клетки последнего хода, Кол-во совпадающих элементов.

Какой вариант наиболее предпочтителен с точки зрения оптимизации? Если не брать во внимание простоту и лёгкость игры.

Ответить

Вариант 2 конечно же лучше, чем 1. Если захочется увеличить поле на несколько клеток, то не универсальный алгоритм из варианта 1 уже не будет работать и его придётся переделывать. Да и читаться он будет лучше, чем куча if.

Ответить

В вашем случае особо без разницы - как вы напишете условие, главное, чтобы оно точно определяло исход, не оставляя дыр.
Логику и внутри цикла то не всегда имеет смысл слишком оптимизировать, а уж вне цикла - одну проверку - ещё меньше поводов.

Ответить