Ответы пользователя по тегу Разработка игр
  • Разработка игр

    TheHorse
    @TheHorse
    Если 3D:
    Высшая математика, кинематика, динамика, оптика, алгоритмика, с++, directX, OpenGL, ООП.

    Ecли мини игры для сайтов и мобилок:
    Арифметика, кинематика и какой-то фреймворк.
    Ответ написан
    Комментировать
  • Как хранить поведение нестандартных игровых объектов?

    TheHorse
    @TheHorse
    Я так понимаю есть какой-то серверный скрипт, который вываливает js-ы клиенту? В таком случае можно код хранить и в БД, и без eval-ов его впиливать в серверный ответ. Но в любом случаее это не выход.

    В БД вы должны хранить параметры, значения, константы, мета-информацию, нельзя в БД хранить логику, это ошибка (в данном случае).
    Предлагаю решение:
    1. Сделать еще одну таблицу, которая хранит все возможные факторы влияния.
    2. Описать где-то в JS все возможные факторы влияния, функция должна возвращать уровень влияние по ID/name фактора влияния, в зависимости от текущих параметров (погода, цель удара, время последнего удара или что-то там еще).
    3. Для каждого спец. предмета в таблице добавить поле содержащее строку '[«id1»:«k1»,«id2»:«k2»...]' — список параметров влияние и их коэффициентов. Либо не доп. поле, а доп. таблицу (в зависимости от уровня нормализации таблиц).

    Таким образом вы сможете хранить спец. параметры в БД, и изменять основные параметры предметов/игрока динамичиски с помощью JS. Если количество спец. факторов — динамическое и может меняться в процессе игрового процеса — DSL либо шаблоны — случайная примесь разных факторов влияния.
    Ответ написан
    3 комментария
  • Какую структуру использовать для хранения карты игровых полей со сложными границами?

    TheHorse
    @TheHorse
    Cell: struct {
    x,y, height, width: float/double/int/bool (про bool пошутил)
    neighbors: list of cell;
    isLeftRed, isRightRed, itTopRed, isBottomRed: bool;
    }

    Каждая ячейка хранит инфу о своем положении, ссылки на соседей и набор параметров указывающих на допустимость пересечения конкретной границы (на примере не нарисовано, и я надеюсь, что нет случаев когда для какой-то ячейки одна из границ может быть пересекаемой только в конкретном положении).
    По такой структуре можно легко и быстро определять куда можно ходить, куда нельзя. Не сложно оптимизировать структуру для меншего потребления ОП сжав все параметры в некий набор байт.
    И тогда может очень большая карта влезет в 10 мб, что, я верю, достаточный результат.
    Ответ написан
    3 комментария