Как стать автором
Обновить
0
0
Владимир Савин @WowaBBS

Пользователь

Отправить сообщение
Достаточно записать число в смешанной системе счисления — Первая цифра в двоичной системе счисления, вторая — в троичной, третья — в четверичной, и т.д. Это число будет представлять номер перестановки. Перестановка генерируется по следующему алгоритму: Читается число с самого старшего не нулевого разряда N — эта цифра будет означать с каким номером переставить N+1-ый элемент перестановки и так с каждым более младшим числом, пока не дойдём до первого. Так же легко переводится перестановка обратно в это число со смешанной системой счисления. А это число легко перевести в двоичную или десятичную и обратно. Т.е. по номеру перестановки можем легко её сгенерировать.
Здорово, можно было бы с таким же успехом спиртные напитки имитировать. Можно будет пробовать разные редкие коньяки и вина.
Нет, в качестве класса можно только передать класс-функтор, обычно у которого переопределён оператор (). Но в качестве параметра шаблона может быть не только класс, но и любое скалярное значение, включая функцию.
Давно слежу за проектом. По количеству коммитов, ощущение, что человек 10 работает. Желаю удачи.
Консуло поддерживает ещё С++, почему ни слова про это?
Работает довольно быстро. Самый медленный сенсор — это визуальный. Для получения видимых объектов используется testAABB — он работает очень быстро. Потом тестируется область видимости, ограничивающая по конусу видимости из глаз. И последняя самая медленная стадия — это трассировка луча из глаз до предмета. При большом количестве НПЦ (от 64-х, и они видят друг друга) трассировка сильно уменьшает FPS. В этом случае оптимизировать можно трассировку — не каждый квант игрового времени (их у нас 128 в секунду), а раз в секунду — вполне достаточно.
В этой статье описана концепция. Планирую написать статью, как только будет готов визуальный редактор ИИ, сейчас всё пишется в скриптах. Реализовать это можно по-разному. Даже во время съёмки видео код подвергся некоторому рефакторингу.
Реализация сейчас довольно проста:
класс — контекст мозгов объекта, который содержит в себе:
1) сознание — ссылку на активный обработчик команд,
2) подсознание — массив объектов обрабатывающих события от сенсоров и передающих события сознанию,
3) ссылку на интерфейс тела,
4) набор необходимых объектов (сенсоры, трекер и другие по мере потребностей);
используются три интерфейса:
* интерфейс тела — набор методов для управления телом,
* интерфейс сознания — набор методов, обрабатывающих команды от пользователя и подсознания (только один метод),
* интерфейс подсознания — только метод инциализации под контекстом, имплементация которого должна требовать у контекста необходимые объекты-сенсоры и подписываться на их события.
Старался довольно подробно расписать. Эта статья — почти готовое техзадание. Оптимизации две: сенсоры используют физический движок и реализация основана на событиях.

Информация

В рейтинге
Не участвует
Откуда
Самара, Самарская обл., Россия
Дата рождения
Зарегистрирован
Активность