forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Искуственные мозги (http://forum.boolean.name/showthread.php?t=8477)

pitonms 15.06.2009 09:58

Искуственные мозги
 
Здравствуйте. Долгое время я программировал на GML.
Изучаю этот язык не больше 1 месяца.
На gml я умею делать любой искусственный интеллект.
Но став изучать Blitz3D, я запутался.
В общем дайте пример лёгкого ии который умеет ходить и преследовать главного героя.


Заранее спасибо.

Sleepybear 15.06.2009 10:47

Ответ: Искуственные мозги
 
http://forum.boolean.name/showthread.php?t=15

pitonms 15.06.2009 19:12

Ответ: Искуственные мозги
 
Цитата:

Сообщение от Sleepybear (Сообщение 107608)

спасибо

Данил 16.06.2009 03:50

Ответ: Искуственные мозги
 
Цитата:

На gml я умею делать любой искусственный интеллект.
Ах, как похвально, любой! ...

NitE 16.06.2009 05:50

Ответ: Искуственные мозги
 
pitonms, а ты знал, что гмл это язык разметки для форматирования текста ?

pitonms 16.06.2009 08:34

Ответ: Искуственные мозги
 
Цитата:

Сообщение от NitE (Сообщение 107695)
pitonms, а ты знал, что гмл это язык разметки для форматирования текста ?

нет :stop: но и язык Game Maker

Dzirt 16.06.2009 08:38

Ответ: Искуственные мозги
 
Ну если на gml (я так понял gml-Game Maker Language) ты можешь написать ии любой сложности (!!!)...То на блитце ты явно шедевр замочиш! ;)

pitonms 16.06.2009 08:48

Ответ: Искуственные мозги
 
Цитата:

Сообщение от Dzirt (Сообщение 107701)
Ну если на gml (я так понял gml-Game Maker Language) ты можешь написать ии любой сложности (!!!)...То на блитце ты явно шедевр замочиш! ;)

Ты смеёшся ? GML это игрушки

Dzirt 16.06.2009 08:54

Ответ: Искуственные мозги
 
Цитата:

Сообщение от pitonms (Сообщение 107702)
Ты смеёшся ? GML это игрушки

Я знаю...я еще в детстве в нем игрался....или это был 3dGame studio O_o точно не помню.Но раз остальные игрушками игрались, а ты ими выстраивал новые технологии которые покорят мир..то с блитцом тебя в секретную лабораторию пентагона забирут сразу...как только освоиш синтакс...

NitE 16.06.2009 09:05

Ответ: Искуственные мозги
 
Dzirt, точно не 3d game studio, там используется C++
pitonms, так бы и сказал что с гамаком игрался, раз уж тему завели - может хотяб покажешь пример какогонибудь шахматного ИИ на гмл? я понимаю что при твоих способностях по написанию любых искуственных интеллектов на такую ерунду даже времени тратить нехочется, но всёже...

MiXaeL 16.06.2009 09:08

Ответ: Искуственные мозги
 
Да ладно вам стебаться над человеком)
А то еще и правда напишет шахматный ии на гм. И будет потом вас из Пентагона доставать :-D

Sleepybear 16.06.2009 10:31

Ответ: Искуственные мозги
 
я Game Maker даже в глаза не видел

pitonms 16.06.2009 10:35

Ответ: Искуственные мозги
 
Цитата:

Сообщение от Sleepybear (Сообщение 107709)
я Game Maker даже в глаза не видел

а зря. с него можно начать.Там хоть написан нормальный хелп.
Blizt3D меня привлёк что тут нету интерфейса Drag and Drop который походит для детей

pitonms 16.06.2009 10:58

Ответ: Искуственные мозги
 
Вот прочитал статью о том как делать свою FPS.
Только одна загвоздка. я делаю игру на подобии игры сделанной на Blitz3D
называется она TankBattle. у меня есть исходник этой игры. только он такой запутанный что там можно потеряться.
у меня есть объект
Код:

bot=loadmesh("bot.3ds")
и мне нужно что бы bot, ходил как хочет по оси X и Z,
и что бы он поворачивался,
как можео это сделать ?

Sleepybear 16.06.2009 11:03

Ответ: Искуственные мозги
 
Я на Blitz сел когда потребовалось по быстрому накатать 3D презентацию, вот теперь слезть не могу :-D .

Меня устраевает. Просто нужно вчитыватся в код.



Создаём свой FPS (first person shooter) пост №46
Прочий несколько раз

BlackDragon 16.06.2009 11:06

Ответ: Искуственные мозги
 
Цитата:

и мне нужно что бы bot, ходил как хочет по оси X и Z,
и что бы он поворачивался,
как можео это сделать ?
RotateEntity bot,0,Rnd(0,360),0 ;тут бот поворачивает как хочет
MoveEntyti bot,Rnd(-2,2),0,Rnd(-2,2) ;здесь он ходит как хочет по XZ

pitonms 16.06.2009 11:13

Ответ: Искуственные мозги
 
Цитата:

Сообщение от BlackDragon (Сообщение 107717)
RotateEntity bot,0,Rnd(0,360),0 ;тут бот поворачивает как хочет
MoveEntyti bot,Rnd(-2,2),0,Rnd(-2,2) ;здесь он ходит как хочет по XZ

а вот как сделать
бот прошёл 90 по z или 90 по x
остановился повернулся как хочет и идёт по 90 по z или x

Sleepybear 16.06.2009 11:17

Ответ: Искуственные мозги
 
Прочитай пост 46
там написано!!
Идея просто Ставиш пивот, танк туда идет, когда дошел ставиш пивот на другое место танк повернулся и пошел на него опять.


Можно через определенное время просто поворачивать танк на 90 градусов
Например танк едет 1 минуту, потом поворот, после поворота опять минуту едет и тд..

BlackDragon 16.06.2009 11:22

Ответ: Искуственные мозги
 
Код:

if movX<90
  movX=movX+1
  MoveEntyti bot,movX,0,0 ;движение на 90 еденич по Х
else
  movX=0
  RotateEntity bot,0,Rnd(0,360),0 ;тут бот поворачивает как хочет
endif


pitonms 16.06.2009 11:31

Ответ: Искуственные мозги
 
Цитата:

Сообщение от BlackDragon (Сообщение 107720)
Код:

if movX<90
  movX=movX+1
  MoveEntyti bot,movX,0,0 ;движение на 90 еденич по Х
else
  movX=0
  RotateEntity bot,0,Rnd(0,360),0 ;тут бот поворачивает как хочет
endif


он как бешенный бегает

Sleepybear 16.06.2009 11:51

Ответ: Искуственные мозги
 
Цитата:

Сообщение от pitonms (Сообщение 107723)
он как бешенный бегает

Таймер поставь

pitonms 16.06.2009 11:53

Ответ: Искуственные мозги
 
Цитата:

Сообщение от Sleepybear (Сообщение 107727)
Таймер поставь

а как ::o"

Sleepybear 16.06.2009 11:55

Ответ: Искуственные мозги
 
Цитата:

Сообщение от pitonms (Сообщение 107728)
а как ::o"

Код:

If MilliSecs() > time
    x=x+1
    time=MilliSecs()+ 1000
 EndIf

так

pitonms 16.06.2009 11:57

Ответ: Искуственные мозги
 
щас попробую

pitonms 16.06.2009 12:53

Ответ: Искуственные мозги
 
Цитата:

Сообщение от Sleepybear (Сообщение 107719)
Прочитай пост 46
там написано!!
Идея просто Ставиш пивот, танк туда идет, когда дошел ставиш пивот на другое место танк повернулся и пошел на него опять.


Можно через определенное время просто поворачивать танк на 90 градусов
Например танк едет 1 минуту, потом поворот, после поворота опять минуту едет и тд..

читал ничего не понял. приставил к игре ошибок море нашёл

pitonms 16.06.2009 12:55

Ответ: Искуственные мозги
 
Цитата:

Сообщение от Sleepybear (Сообщение 107729)
Код:

If MilliSecs() > time
    x=x+1
    time=MilliSecs()+ 1000
 EndIf

так

как к твоему приладить код:
Код:

;к боту
if movX<90
  movX=movX+0.3
  MoveEntity marstank,movX,0,0 ;движение на 90 еденич по Х
Else
  movX=0
  RotateEntity marstank,0,Rnd(0,360),0 ;тут бот поворачивает как хочет
EndIf


Sleepybear 16.06.2009 13:00

Ответ: Искуственные мозги
 
Цитата:

Сообщение от pitonms (Сообщение 107733)
читал ничего не понял. приставил к игре ошибок море нашёл

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

Код:

If MilliSecs() > time ;каждую секунду далеть поворот
    RotateEntity marstank,0,Rnd(0,360),0
    time=MilliSecs()+ 1000 ;<-- это значение отвечает за промежуток времени
 EndIf


pitonms 16.06.2009 13:01

Ответ: Искуственные мозги
 
Цитата:

Сообщение от Sleepybear (Сообщение 107735)
Надо читать до полного осмысления поисходящего, скачай пример разбери каждую строку и пойми смысм. если ты сможеш понимать что пишут другие ты сможеш сам написать :)

хорошо сейчас займусь этим. только помоги приладит

ArtemkA 16.06.2009 14:31

Ответ: Искуственные мозги
 
Вложений: 2
Вот два примера, как можно заставить бота двигаться произвольно и пример с пивотами.

Raion 19.06.2009 10:38

Ответ: Искуственные мозги
 
Народ! есть такая книга- Шампандар "Искусственный интеллект в компьютерных играх" Попробуйте почитать.

Sleepybear 19.06.2009 10:52

Ответ: Искуственные мозги
 
Сначало надо понять что ты хочеш, потом научится выражать мысли в коде. Если ты знаеш что ты хочеш видеть, но не знаеш как это написать, то книга по логике мало чем поможет :)

Alior 19.08.2009 02:28

Ответ: Искуственные мозги
 
Ну например если тебе надо чтобы персонаж перемещался по прямой и с поворотами то можеш зделать чтото вроде:

type bot
field mesh
;храним тут меш
;дальше много других нужных тебе филдов
End type

;функция для перемещения перса
;fv-ето скорость вперёд назад
;fs-скорость в бока
;a-скорость поворота


;примечание:
;ты должен определится какая ось будет вперёд для твоего перса а
;какая в бок :)
;У меня x-вперёд назад,а y-влево вправо :p


Function Move_Boy(bot.bot,fv#,sv#,a#)
MoveEntity bot\mesh,fv,0,vs
TurnEntity bot\mesh,0,a,0,1

Return 1
End Function


;дофига строк кода и там среди дебрей)))

Move_Boy(bot.bot,2,-0.2,0.1)

;Означающее перемещение вперёд на 2,вбок на -0.2 и поворот на 0.1

Вот собственно и есть самое просто что мог подсказать я :cool:

Alior 19.08.2009 02:30

Ответ: Искуственные мозги
 
Зы потом туда прикручиваеш логику желательно в скриптах а не жостко)


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

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