Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   ИИ для игры в танки. (http://www.flasher.ru/forum/showthread.php?t=210953)

flashdobro 01.06.2015 01:48

ИИ для игры в танки.
 
Только начал изучать AS3, пробую делать танчики.
Нарисовал танк, научил его стрелять, нарисовал условно местность.
http://flashdobro.ru/swf/tank.png
Вопросики:
1. Как научить врагов атаковать, обходить препятствия или прятаться за ними (объекты накиданы произвольно, как на душу легло, башня танка и танк могут вращаться на 360 градусов)?
2. Как ускорить рисование карты? Каждое дерево и т.д. называл своим именем и вручную прописывал изменение его координат при передвижении танка и возможность столкновения с помощью метода hitTestObject. Итого на каждый объект по три оператора.

GBee 01.06.2015 10:52

Цитата:

Вопросики:
:D

Мааааленнький такой вопросик - как написать искусственный интеллект ?

Добавлено через 1 минуту
Ну а второй вопрос это база, которую вы должны осилить - ооп, циклы, массивы, иначе будет много страданий. Каждому дереву - имя, мсье знает толк.

wvxvw 01.06.2015 12:22

Тут упоминаются несколько книжек и статей по теме ИИ, и в том числе в играх: http://www.flasher.ru/forum/showthread.php?t=210751.

razve 01.06.2015 19:34

В сети где-то есть урок по дендевским "танчикам" на AS 1.0 или AS 2.0. Оттуда можешь многое почерпнуть.
Судя по зеленому танку, они у тебя перемещаются более чем в четырех направлениях - это ты себе сильно задачу усложнил. Начал бы с четырех.
ИИ в простейшем виде: наткнулся танк на стену (hitTestObject) - делает поворот. Чтобы танк прятался за кустом, нужно пометить это место засады (почитай про waypoint): расположи простой мувик, и как только танк наедет на него (hitTestObject), он останавливается на определенное время, по сути делая засаду.

neonoviiwolf 01.06.2015 22:18

немного про ИИ поведения

flashdobro 02.06.2015 01:12

Спасибо за ссылки. Почитал.

Составил набор возможных состояний для танка: блуждаю, стою, преследую, атакую, избегаю, прячусь, открываюсь, двигаюсь к.
Набор флагов-сенсоров танка: нахождение в зоне видимости, нахождение на расстоянии атаки, присутствие или отсутствие препятствий на пути.
Каждый кадр буду проверять состояние флагов и при изменении обстановки менять состояние танка, учитывая предыдущее состояние.

Достаточно объемно по коду получится, но не запредельно сложно.


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

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.