Made_In_USSR, он видимо имеет в виду если дальше радиуса обзора бежать и при этом на открытой местности... т.е. казалось бы тебя и видят, но ничего не делают...
Ну если поставить радиус в два пикселя, то естественно просто оббежать будет легче. Но во первых законы физики не позволяют видеть на разных расстояниях одинаково хорошо, во вторых эт виртуальный мир, где не нужно в точности соблюдать законы физики. То есть оптимальная величина радиуса + умная расстановка противников и их вейпоинтов = удачный уровень. Новичкам изучающим GML кликать сюда. Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)
А если в радиус видения будут попадать стены?! Враг будет "видеть" врага через них и атаковать. Я написал код при котором можно хоть всю карту радиусом просматривать, но при этом и за стенами прятаться.
А если в радиус видения будут попадать стены?! Враг будет "видеть" врага через них и атаковать. Я написал код при котором можно хоть всю карту радиусом просматривать, но при этом и за стенами прятаться.
Конкретно поставленная задача:
Quote
у меня в степ прописано distance_to_object(obj_player)<200 and distance_to_object(obj_player)>1 и они вроде не стреляют, но! если чел стоит далеко и в него можно попасть то уже будет слишком легко его убить т.к. он не будет в тебя стрелять, а вот как с этим бороться незнаю
Дан конкретный ответ. Новичкам изучающим GML кликать сюда. Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)
А если в радиус видения будут попадать стены?! Враг будет "видеть" врага через них и атаковать.
Или мне только кажется? Новичкам изучающим GML кликать сюда. Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)
Made_In_USSR, ну ты же начал разбираться, вот я и продолжил... Но я тоже ничего не хочу Просто твой вариант оптимизировал...
По теме: Сделать можно радиус равный расстоянию от героя до края экрана, т.е. чтобы враг начинал стрелять когда игрок его видит на экране, вполне хороший вариант.
Я начал разбираться не с тобой, просто сразу не понял о чем говорит автор. Да и вообще я не привык выкладывать сразу готовый код, тем более его оптимизировать для кого-то. Думать нужно не только чужой головой, такая помощь может даже навредить а не помочь. Один раз мозг выключил, второй, а потом взял да и привык.
Сабж: Если поле достаточно большое, то лучше все таки сделать радиус поменьше, чтобы у игрока было время сориентироваться, подкрасться, если нужно. Идеальный вариант это зона видимости а не радиус. Если враг стоит к нам спиной, правдиво что он нас не видит. А если видит достаточно далеко, то логично будет не стрелять а подойти поближе, чтобы рассмотреть, что же там такое. Наворачивать можно до бесконечности. Я вот до сих пор держу идею о неких зонах-прикрытиях, за которые прячется моб для перезарядки, лечения или просто чтобы уйти в не выгодной ситуации от прямого огня (спрятаться от игрока-снайпера с ближнебойным оружием и ждать пока игрок сам выйдет на дистанцию выстрела или обойти с тыла). Хороших вариантов полно, но ты уверен что тот кто не способен сгенерировать сам такие простые функции напишет более сложные? Новичкам изучающим GML кликать сюда. Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)
Да и вообще я не привык выкладывать сразу готовый код, тем более его оптимизировать для кого-то. Думать нужно не только чужой головой, такая помощь может даже навредить а не помочь. Один раз мозг выключил, второй, а потом взял да и привык.
Хм, да ты в общем то в первом посте в теме сам выложил почти весь код я всего одну функцию дописал... Ну а с тем что ты написал согласен конечно, надо самому думать... Ну и я уточнил что автор имел в виду... вот и понеслась...
Quote (Made_In_USSR)
но ты уверен что тот кто не способен сгенерировать сам такие простые функции напишет более сложные?
Эм, это ко мне вопрос?! Я вроде ничего сложного не предлогал Сказал чтобы радиус увеличил, т.е. одну цифорку изменил до такой степени, чтобы враг атаковал как только Игрок его видит (когда враг оказывается в поле зения камеры). Думаю с этим ТС справится
Ну а твой вариант действий врага это конечно интересно... в общем то сделать это не особо сложно, только муторно...
Батенька, так а по другому нельзя было. Там же код из трех строчек всего, если его укоротить, то там вообще ничего кроме скобок не осталось бы
Нет, это вопрос риторический, и относится по большей части к оптимизации и совершенствованию аи в целом.
Особо сложно придумать правильный алгоритм и выбрать оптимальный вариант реализации. А код писать это да, это не сложно, согласен
Новичкам изучающим GML кликать сюда. Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)
Батенька, так а по другому нельзя было. Там же код из трех строчек всего, если его укоротить, то там вообще ничего кроме скобок не осталось бы
Ну можно было просто намекнуть, а код не писать Ну а в том что я дописал и укорачивать то нечего совсем.. ух... надо нам заканчивать
Ну конечно аи можно развивать и развивать... Но в рамки данной темы это не вписывается... Ибо, как ты заметил, топикстартер с таким не справится...
А вообще справку надо читать.... а когда прочитал, прочитать ещё раз, но внимательно... А потом уже помощи просить... так как тут даже средних алгоритмов не требуется, все сводится к отдельным функциям про которые подробно написано в справке.
Сообщение отредактировал LunarPixel - Понедельник, 21 Февраля 2011, 21:15
Ну раз возник вопрос, почему бы и не развивать, если это принесет пользу (даже если только мне ). Может топикстартер и не справится, зато другие почитают и справятся. Я например часто черпаю идеи из подобных тем. Бывает проскочит умная мысль у кого, а ты взял ее и выхватил, пока под флудом не похоронили.
Жаль что в таких обсуждениях мало народу участвует, а так годный тред получился бы. Жмотится народ на наработки
Новичкам изучающим GML кликать сюда. Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)