forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Blitz3D (http://forum.boolean.name/forumdisplay.php?f=45)
-   -   помогите новичку с b3d (http://forum.boolean.name/showthread.php?t=6116)

moka 18.07.2008 12:08

Ответ: помогите новичку с b3d
 
Олег, вот глянь что обещал:
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 500 сообщение(ий)):
У вас нет прав, чтобы видеть скрытый текст, содержащийся здесь.

falcon 18.07.2008 13:09

Ответ: помогите новичку с b3d
 
кащмар 3к сообшений ...

ABTOMAT 18.07.2008 13:20

Ответ: помогите новичку с b3d
 
MoKa, действительно, ставил бы хотя бы лимит 1000
Вдруг не одному ХолиДелу будет полезно
Там что, военная тайна?
А если так, то писал бы в приват или в асю а не на форум

moka 18.07.2008 13:35

Ответ: помогите новичку с b3d
 
ABTOMAT ;)

ABTOMAT 18.07.2008 14:15

Ответ: помогите новичку с b3d
 
MoKa, :super:

HolyDel 18.07.2008 14:16

Ответ: помогите новичку с b3d
 
интересно. на самом деле на пункте 3 можно было остановиться. нам не нужен кратчайший путь. нам нужны все пути. ибо враг может затаицца где угодно, и нужно оббегать всю карту.

спасибо.

moka 18.07.2008 17:19

Ответ: помогите новичку с b3d
 
HolyDel, здесь преведён реалтайм или хотябы переодический (~100ms), алгоритм.
На самом деле работает отменно..
Почему этот алгоритм можно сделать и переодическим с непостоянством. Т.к. к примеру противник увидел персонажа и побежит к нему, к примеру если от последней точки противник скрился за углом и бот уже не видет его, тогда он либо продолжит двигатся дальше либо переключится.
ИМХО, но этот алгоритм никак не подходит под статичные просчёты, его нужно переприщитывать в зависимости от позиции объекта и цели.
Кстати, возможен даже и частичная динамика статики на уровне, поясню, к примеру есть перемещающийся объект, предположим машина, его нужно оббегать, так вот т.к. он динамичен, при расчёте пути, точкам которые прилигают к этому динамичному объекту приваивается флаг, и запоминаются одна точка до начала этого отрезка, и после. Таким образом при изменениях позиции объекта и когда бот уже близко, пересчитываем путь на этом участке, заного помечая динамику. Также нужно проверять и статический путь, на то что может где-то внедрился динамичный объект..

У меня ещё была идея сделать симулятор поиска пути, когда бот изначально не знает уровня, и изучает его. Также сделать звук и проникновения его через объекты, и огиб его углами. К примеру он услышал стук, но это было за углом, таким образом по сути он его не услышит, отрезок между ним и источником звука пересекается с уровнем, но радиус звука будет достаточно велик. И если бот в радиусе но за стеной, то запускаем поиск пути, до тех пор, пока длина пути немножко уменьшеная в зависимости от колличества поворотов пути, или путь не достигнет бота. Если достиг и немножко сокращённая длина меньше радиуса, тогда бот услышал.
Также звук может дать мало, если бот не встречал этого сектора. Я хотел разбивать плоскость на участочки, но сделать это корректно и автономно пока идей не имею, но что-то назревает. Бот переходя в помещение, всё что видит в радиусе и не за стенкой, тот участок помечается как изученным, поэтому алгоритм поиска пути не будет блокироватся этим участком.
Также режим перемещения в режиме изучения, когда бот будет перемещатся по уровню с целью иследовать эти области.
В общем такие вот мысли, незнаю зачем, но такой ИИ в области перемещения весьма помоему хорош :)

HolyDel 18.07.2008 17:32

Ответ: помогите новичку с b3d
 
ну.. таким макаром довольно просто получить карту пути, которая нам и нужна. достаточно просто построить путь от каждой стартовой точки к каждой. и все.

moka 18.07.2008 17:45

Ответ: помогите новичку с b3d
 
А если есть в уровне закуток, предположим помещение, с одним входом. Игрок находится в нём и постреляет по бегущему боту. Затем спрячется за угол, бот за неимением путей в то помещение не сможет туда переместится..

HolyDel 18.07.2008 18:01

Ответ: помогите новичку с b3d
 
да... значит проводить к каждой вершине уровня :crazy:

jimon 18.07.2008 19:12

Ответ: помогите новичку с b3d
 
Вложений: 1
поиск возможно и быстрый, но реалтайм рейтресинг это убийство
и как он будет быстро искать вот на такой карте ? :/
и найдет ли вообще, а если в дырку не пролезет ?
притом алгоритм требует сумашедших затрат памяти на сложных картах и большого количества вызовов функции пересечения
ибо количество разделённых пересечений будет расти в геометрической прогрессии >_<

ps. сделай уменьшеную копию картинки и выложи уменьшеную с сылкой на увеличеную
а то у меня монитор максимум 1600*1200 :/

moka 28.07.2008 14:51

Ответ: помогите новичку с b3d
 
Да страницу потянуло ;)
Уже не могу редактить сообщение, видимо поставили срок на редактирование?

ЗЫ, это уже задача оптимизации. Из той картинки что ты выдал, найдёт, главное это научить работать с вершинами имеющими общие линии.

Я делал тест, с неоптимизированным алгоритмом, (никаких SSE, да и сам код был первым наброском), из 100 сложных линий (без вершин с отрезками больше 1 на вершину), насвозь проходит за 1-2 мс. При этом находя уже оптимизированный кротчайший путь. Правдо и есть баги, к примеру 2 отрезка пересечены - это раз, что нельзя делать. Второе это расстояние между отрезком и пдосторонней вершиной или отрезком слишком узкое - тоже нельзя. В общем тут много очень ограничений и минусов.

snikers 27.08.2008 00:38

Ответ: помогите новичку с b3d
 
falcon, не пойму что в типах сложного.. Главное понять что такое даные и как они могут подаватся, я в первый день учил не синтаксис, а какие типы даных могут быть(целые, дробные, строки) и как они могут подаватся(структуры, типы, масивы, списки). Потом учил как управлять етими даными(циклы, условия), дальше читал пол дня геймдев.ру и вникал в принципы 3д графики, там узнал об ООП, перешел на БлицМакс, понял что такое наследование, и инкапсуляция(спс. ХолиДелу:)), на четвертый день(я каждый день проводил за компом по ~15часов) после того как я впервые запустил блиц, я сделал первую игру :) В геймдеве около 12 дней, сперва нашел 3дс макс и начал искать приминение моделям, так решил создать игру. Еще поспорил с другом что создам игру, он мне проспорил но не верит что то я создал и говорит, что то какашка и сталкер лучше :( сравнил камень с землей

а вот указатели осилить не могу... я понимаю ето как вроде адрес памяти по которому хранятся даные, но как етот адрес назад превратить в даные %), боюсь жесткий диск испортить.. мож кто обяснит, в википедии((http://ru.wikipedia.org/wiki/Умный_указатель) - кстати офигезный сайт никакой енциклопедии не надо :)) что написано не доходит до меня

avel 05.09.2008 02:01

Ответ: помогите новичку с b3d
 
мля, ну почему я такой экспериментатор?.. щас нажал случайно ктрл+В и поставил тем самым тег жирного шрифта. потом решил проверить, не прокатит ли также поставить на автомате цитаты... в результате пишу сей пост второй раз... я злобный нах... >:-(

терь собсно по теме...
Цитата:

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

ничего не понятно дя?
в том-то и ужас происходящего, что все предельно понятно и предсказуемо...
Цитата:

Чтобы научится выбрось всё кроме блица, открой его примеры и читай... и т. д.
эх, хорошо написал... я бы даже сказал талантливо... и охото же тебе время тратить... =))))
Цитата:

Я тебе скажу что и ММО написать
написать можно все и на всем! было бы желание, и как уже заметили выше воля... но вот с последним обычно, проблемы...
Цитата:

все мы начинали с тетрисов, арканоидов и прочей прелести
вот и не все. я начнал с ФПС. а еще параллельно делал РПГшку, которую собсно делаю до сих пор... =))) за это время ее код только полностью, с нуля переписывался уже наверное раз сто... а уш про изменения я вообще молчу... =)))
2MoKa
Цитата:

Цитата:

автопостроение ботского путенаха
Что это? по русски плз..
как, ты не знаешь про ботский путенах?... это же основы геймдева... стыдно, Макс, стыдно! =))))))
2HolyDel
Цитата:

надо получить вейпойнты
сам же и ответил... а уш путей получения оных достаточно много... заюзай один из плоскостных алгоритмов, типа А-стара, например, и добавь Z координату. т. е. будет как бы несколько таких плоскостей... или же разбить все пространство на кубы равные размерам бота, а дальше уже понятно. впрочем, об этом уже написал jimon...
Цитата:

Скрытый текст требуется (3000 сообщение(ий)
Макс, ты енто для кого написал?... 0_0
Цитата:

MoKa, действительно, ставил бы хотя бы лимит 1000
не жмоться и ставь 300 ;) =))
а вообще не пужайте новичков своими заморочками... а то вон уже:
Цитата:

капать перекапать мои извилины!!!
неправильно, кстати, говоришь... надо говорить: копать-колотить. вротмненоги. =))
а вообще, примерно такой реакции и ожидал... )))))
далее.
2falcon
Цитата:

оффтоп но блин я ничего делать не могу без моделей (
вот это неправильная позиция! к нашему проггерскому делу модели никакого отношения не имеют... а конкретно в твоем случае траблы с весом вершин... у тебя одни и теже вершины пренадлежат нескольким костям... с зонами действия костей разберись...
а насчет типов и массивов - там все просто. этож основы логики... с типами я, правда, в свое время, тоже не сразу врубился... ибо именно в блице их в первый раз и увидел. но как их юзать понял сразу. сначала юзал по шаблону, а потом и совсем разобрался. там ничего сложного нет. а массивы - вообще проще париной репы... если есть желание, стучи в асю, погоняю тебя по типам и массивам... растолкую че как. только чур не жаловаться потом на то, какой я злобный и недружелюбный... ^_^ =)) все равно ж не исправлюсь... =))
плюс юзай раздел FAQ там давно все написано и про анимацию, и про типы с массивами, и про все прочее.

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

HolyDel 05.09.2008 10:01

Ответ: помогите новичку с b3d
 
Цитата:

сам же и ответил... а уш путей получения оных достаточно много... заюзай один из плоскостных алгоритмов, типа А-стара, например, и добавь Z координату. т. е. будет как бы несколько таких плоскостей... или же разбить все пространство на кубы равные размерам бота, а дальше уже понятно. впрочем, об этом уже написал jimon...
хм. размер бота 1м на 1м на 1м. размер команты 2000м на 400м на 2000м итого 2000*2000*400 ячеек. даже если 1 байт на ячейку - ето уже 1,5 ГБ памяти, и, получасовой рассчет пути из одного угла комнаты в другой.


Часовой пояс GMT +4, время: 23:41.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot