BeaRLibPF - поиск пути
Модератор: Apromix
- Apromix
- Мастер
- Сообщения: 1236
- Зарегистрирован: 04 июл 2011, 10:44
- Откуда: Украина, Черновцы
- Контактная информация:
BeaRLibPF - поиск пути
Обсуждаем дальше тут поиск пути, как сделать его лучше, оптимизацию алгоритма.
Re: BeaRLibPF
Во имя байтоптимизаций отказался от ненужных модулей. Теперь библиотека весит 22кб.
Ну и исправил демку. После перевода вывода на conioengine JustHarry (да, я знаю что это просто обертка над Video) монстры стали бегать намного шустрее, еще раскрасил их и сделал реакцию на клавиатуру.
Ходить - клавишами 2,4,6,8. Выход - esc.
Ну и исправил демку. После перевода вывода на conioengine JustHarry (да, я знаю что это просто обертка над Video) монстры стали бегать намного шустрее, еще раскрасил их и сделал реакцию на клавиатуру.
Ходить - клавишами 2,4,6,8. Выход - esc.
Последний раз редактировалось kipar 09 фев 2016, 13:05, всего редактировалось 1 раз.
- Apromix
- Мастер
- Сообщения: 1236
- Зарегистрирован: 04 июл 2011, 10:44
- Откуда: Украина, Черновцы
- Контактная информация:
Re: BeaRLibPF
Суперkipar писал(а):Во имя байтоптимизаций отказался от ненужных модулей. Теперь библиотека весит 22кб.


Немного побродил, нашел точку, когда все монстры стекались в одну реку и подбирались к @ сложным заковыристым маршрутом. Алгоритм работает просто на ура!!!kipar писал(а):Ну и исправил демку. После перевода вывода на conioengine JustHarry (да, я знаю что это просто обертка над Video) монстры стали бегать намного шустрее, еще раскрасил их и сделал реакцию на клавиатуру.
Ходить - клавишами 2,4,6,8. Выход - esc.
Гудkipar писал(а):Когда будет время, переделаю чтобы использовать FOV_MAP Cfyz. Тогда и из C# можно будет вызывать.

Re: BeaRLibPF
Хах, по-ссылке: "различные варианты волнового алгоритма придумывал каждый нормальный программист, перед которым вставала задача поиска пути на карте из квадратиков"Apromix писал(а):Вот еще один алгоритм в копилку...
Именно с помощью этого метода реализован поиск пути в Ignite

- Apromix
- Мастер
- Сообщения: 1236
- Зарегистрирован: 04 июл 2011, 10:44
- Откуда: Украина, Черновцы
- Контактная информация:
Re: BeaRLibPF
Нашел баг в демке: когда @ оказывается в недоступном для врагов месте, они останавливают свое движение, как и положено, но в этот момент сама карта начинает медленно перестраиваться: одни ячейки заменяются на другие...
Re: BeaRLibPF
Это прямо идея для 7DRL, а не баг)Apromix писал(а):Нашел баг в демке: когда @ оказывается в недоступном для врагов месте, они останавливают свое движение, как и положено, но в этот момент сама карта начинает медленно перестраиваться: одни ячейки заменяются на другие...
Re: BeaRLibPF
Да, это не баг а фича. Карта медленно перестраивается в любом случае, чтобы показать что поиск пути работает на меняющейся карте. Просто когда монстры мельтешат перед глазами этого не заметно
.

- Apromix
- Мастер
- Сообщения: 1236
- Зарегистрирован: 04 июл 2011, 10:44
- Откуда: Украина, Черновцы
- Контактная информация:
Re: BeaRLibPF
Свободное время появилось выполнить обещание?kipar писал(а):Когда будет время, переделаю чтобы использовать FOV_MAP Cfyz. Тогда и из C# можно будет вызывать.
Re: BeaRLibPF
Ну, сейчас активно допиливаю свой WitchRL, так что особо нет времени.
Насчет адаптации, появилась такая идея:
tl'dr: Пытаюсь придумать идеальнуюправильную архитектуру. Потому что адаптировать к ней pf не проблема, но хочется сделать ее универсальной для всех остальных библиотек (имеющих дело с картой).
Насчет адаптации, появилась такая идея:
Скрытый текст: ПОКАЗАТЬ
- Cfyz
- Сообщения: 776
- Зарегистрирован: 30 ноя 2006, 10:03
- Откуда: Санкт-Петербург
- Контактная информация:
Re: BeaRLibPF
Надо обдумать. Выглядит сложновато на первый взгляд (не реализация, сама система), но что-то в этом есть. Однако все больше и больше идея приближается к большому и ужасному Bear Engine =)kipar писал(а):Насчет адаптации, появилась такая идея
Будет, будет. См. http://www.codeproject.com/KB/dotnet/Cd ... rp_VB.aspx.kipar писал(а):Потому что вызов функции по адресу в C# опять-таки работать не будет
Пытается раскуклиться
- Apromix
- Мастер
- Сообщения: 1236
- Зарегистрирован: 04 июл 2011, 10:44
- Откуда: Украина, Черновцы
- Контактная информация:
Re: BeaRLibPF
Я за движок, но кто возьмется его написать? Я предпринял 2 попытки, первая на паскалевских скриптах (неудобно, нет сессий, чтобы запоминать переменные, а предложенный мной способ оказался неудобен), вторая на lua-скриптах (слишком медленно). Но, как мне кажется, это тупиковая ветвь. Нужно что-то другое. В поискахCfyz писал(а):Однако все больше и больше идея приближается к большому и ужасному Bear Engine =)

Re: BeaRLibPF
Ну, все алгоритмы работающие с картой в любом случае должны использовать какую-то общую форму ее представления. С точки зрения инкапсуляции можно было бы скрыть это представление от них, но это будет плохо по производительности.Cfyz писал(а):Однако все больше и больше идея приближается к большому и ужасному Bear Engine =)
А, ну тогда текущая версия также к C# подключается. Одной проблемой меньшеCfyz писал(а):Будет, будет. См. http://www.codeproject.com/KB/dotnet/Cd ... rp_VB.aspx.kipar писал(а):Потому что вызов функции по адресу в C# опять-таки работать не будет

Надо посмотреть как T-engine сделан, правда объем кода в нем для тестового примера несколько пугает.Apromix писал(а):Я за движок, но кто возьмется его написать? Я предпринял 2 попытки, первая на паскалевских скриптах (неудобно, нет сессий, чтобы запоминать переменные, а предложенный мной способ оказался неудобен), вторая на lua-скриптах (слишком медленно). Но, как мне кажется, это тупиковая ветвь. Нужно что-то другое. В поисках
- Apromix
- Мастер
- Сообщения: 1236
- Зарегистрирован: 04 июл 2011, 10:44
- Откуда: Украина, Черновцы
- Контактная информация:
Re: BeaRLibPF
Это суперkipar писал(а):А, ну тогда текущая версия также к C# подключается. Одной проблемой меньше

Ну движков есть много разныхkipar писал(а):Надо посмотреть как T-engine сделан, правда объем кода в нем для тестового примера несколько пугает.


Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость