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=3007)

Vovan_X 23.03.2007 01:51

ИИ в игре, У кого какой вариант
 
ИИ в игре. В играх Без ии не как
Есть варианты.
;==========================================
Пример простой

AppTitle "Simulator AI by CAESAR GAMES"
;--------------------------------------------------
; --------"Simulator AI by CAESAR GAMES"----------
;---------www.caesargames.com-------------------
;[email protected]
;---------Programming: CAESAR--------------------
;---------- 29.11.2006-----------------------------
;
Const Distance_Next_Waypoint=1
Const Distance_Visible_Player=10
Const WAYPOINTS_MAX=10
Const STEP_RADIAN=360/WAYPOINTS_MAX
Const RADIUS_WAYPOUNTS=30

Type waypoint
Field waypoint_entity
Field waypoint_number=0
End Type

Type bot
Field bot_entity
Field target_
Field result_=0
Field result_random=1
End Type


Global player

Graphics3D 800,600,16,2
SetBuffer BackBuffer()

camera=CreateCamera()
CameraClsColor camera,255,255,255

light=CreateLight()
RotateEntity light,90,0,0

create_player()
create_bot(0,0,50)
create_bot(20,0,50)
create_bot(-20,0,50)

For i= 1 To 360 Step STEP_RADIAN
x# = RADIUS_WAYPOUNTS * Cos( i )
y# = RADIUS_WAYPOUNTS * Sin( i )
kol=kol+1
Create_Waypoint(x,y,50,kol)
Next



While Not KeyDown( 1 )
Update_Bot()
Update_Player()
UpdateWorld
RenderWorld

Flip
Wend

Function Create_Waypoint(x1,y1,z1,kol)
w.waypoint = New waypoint
w\waypoint_entity=CreateSphere()
EntityColor w\waypoint_entity,0,0,255
PositionEntity w\waypoint_entity,x1,y1,z1
w\waypoint_number=kol

End Function

Function Create_Bot(x,y,z)
p.bot = New bot
p\bot_entity=CreateCylinder(3)
ScaleEntity p\bot_entity,1,1,3
EntityColor p\bot_entity,255,0,0
PositionEntity p\bot_entity,x,y,z
p\result_random=1

End Function

Function Create_Player()
player=CreateCube()
EntityColor player,0,255,0
PositionEntity player,-10,-10,50
End Function

Function Update_Bot()
For p.bot = Each bot
For w.waypoint = Each waypoint
If EntityDistance (p\bot_entity, player)<10 Then p\target_=player


If (EntityDistance(p\bot_entity,w\waypoint_entity)<Di stance_Next_Waypoint) p\result_random=Rnd(1,WAYPOINTS_MAX)
If w\waypoint_number=p\result_random Then
p\target_=w\waypoint_entity
EndIf


speed#=.015
bex#=EntityX#(p\target_)
bey#=EntityY#(p\target_)
bez#=EntityZ#(p\target_)
bbx#=EntityX#(p\bot_entity)
bby#=EntityY#(p\bot_entity)
bbz#=EntityZ#(p\bot_entity)
bcx#=bex#-bbx#
bcy#=bey#-bby#
bcz#=bez#-bbz#
bcn#=Sqr(bcx*bcx+bcy*bcy+bcz*bcz)
bcx=bcx/bcn
bcy=bcy/bcn
bcz=bcz/bcn
AlignToVector p\bot_entity,bcx,bcy,bcz,0,.01
MoveEntity p\bot_entity,0,0,speed#
Next
Next
End Function

Function Update_Player()
If KeyDown(200) Then MoveEntity player,0,.31,0
If KeyDown(208) Then MoveEntity player,0,-.31,0
If KeyDown(203) Then MoveEntity player,-.31,0,0
If KeyDown(205) Then MoveEntity player,.31,0,0
End Function
ClearWorld()
End

Прикольный исходник

Вопрос можно ли поставить в 3d max Dummy Заместо стандартных
поинтов вокруг. Получится так

Vovan_X 23.03.2007 02:05

Re: ИИ в игре, У кого какой вариант
 
Вложений: 4
Забыл прикрепить исходник

Ах да мне тут человек Клёвый шрифт дал
Я его тоже прикрепил ---- Его зовут Scorpion Мне не посебе становится от его имени. Вот его [email protected].
Надеюсь он не будет против.

moka 23.03.2007 02:09

Re: ИИ в игре, У кого какой вариант
 
Ну ты немного "нехорошо" вопрос задал. Во первых аи зависит полностью от жанра, и от типа, ещё от возможностей иры, пример приводи =)

Horror 23.03.2007 11:06

Re: ИИ в игре, У кого какой вариант
 
В максе можно поставить думики и вместо них в игре прописать вэйпоинты
Цитата:

Type waypoint
Field waypoint_entity
Field waypoint_number=0
End Type
global wp.waypoint
находи все думики
к примеру так
Код:

LEVER=loadAnimmesh(''...''')
For i=1 To CountChildren(LEVER)
child=GetChild(LEVER,i)
name$=Lower(EntityName(child))
If Instr(name$,"Dummy")
wp.waypoint=new waypoint
 wp\ent=child
 positionentity wp\ent,entityx(child),entityy(child),entityz(child)
EndIf
Next

вмаксе назови думики -> Dummy (пс именно так без циферок)

сам примеpно также у ся в гаме делаю!!!

HolyDel 23.03.2007 11:13

Re: ИИ в игре, У кого какой вариант
 
entityx(child,1),entityy(child,1),entityz(child,1)

Vovan_X 26.03.2007 11:45

Re: ИИ в игре, У кого какой вариант
 
Вложений: 2
Вот скрин из моей гонки.

Я приукрасил и хочю добится такого результата.
Полосы от шин, неоновая подсветка, и солнце - это всё в фото шопе делал. это тока одна тачка, и бес трассы просто с трассой геморой вышел. Чтобы узнать читайте тему про ---- Как наложить Gif Анимацию.

Horror 26.03.2007 13:50

Re: ИИ в игре, У кого какой вариант
 
неонувую подсветку можно сделать спрайтами
к примеру создаешь два и немного уменьшаешь и увеливаешь можно альфу немножко менять
и все думую получиться))

Про солнце поищи исходники этот блик можно найти

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

HolyDel 26.03.2007 13:58

Re: ИИ в игре, У кого какой вариант
 
если гоник будут на плоскости, то с неоновой подсветкой проблем ни будет. Прост рисуй квад с натянутой на него текстурой света (О_о), короче круг - снинй круг по центру ярко синий по краям черный.
Рисуй квад на 1-цу выше плейна по которому ездит машинка, с блендом 3 (Additive)

солнце - смтори в стандартном примере.
следыв от шин - рисовать меш с блендином 2 (Multiply) на меш должна быть натянута текстура покрышки, если надо могу тебе достать такую. в общем текстура черно-белая (в смысле черно-серая), чем участок светлее тем лучше будет видно дорогу под ним, логично делать более светлые участки по краям. Когда нажаты тормоза и большая скорость или какое другое условие то создаются сюрфейсы.
Два вертекса на старую позицию колеса (+/-) два на новую по етим вертексам создается сюрфейс, на сюрфейс наносится текстура (та самая). А, да, меш с етим сюрфейсом должен иметь multiply блендинг.
Етот меш заносится в тип, экземпляр которго был предварительно создан, потом,через некоторое вермя удаляется екземпляр типа вместе с мешом.


ЗЫ. Настоящие джедаи нчио в фотожопе не рисуют, они сразу рисуют сцену в максе и говорят чо сделать чтобы так было в блитзе.

Vovan_X 26.03.2007 14:00

Re: ИИ в игре, У кого какой вариант
 
Horror Спосиб попробую, Мож получится Как в NFS Underground.
Holydel Огромное спосибо. Буду пробовать. Мне Scorpion Посоветовал этот форум, сказал что здесь всегда помогут, и он не ошибся. Спосибо

mr.DIMAS 26.03.2007 16:34

Re: ИИ в игре, У кого какой вариант
 
Vovan_x под сообщением есть кнопочка Thanks. Юзай ее когда хош сказать спасибо.

moka 26.03.2007 23:36

Re: ИИ в игре, У кого какой вариант
 
Насчёт неона, тут как уже сказали, но я посоветую, сделать на каждую лампу (их всего 4), сделать свой стпрайт, так будет на неровностях получше, и вычислять наклон под неонкой, и ставить туда спрайт от неонки, с альфой, зависимой от растояния от неонки до земли.

Вот торможения, тут будет посложнее, если как в нфс то делать или по типу шлейфов, или декали.

Vovan_X 26.03.2007 23:59

Re: ИИ в игре, У кого какой вариант
 
Вложений: 2
Вот тут архив скринов там есть неон посмотрите.
неон зделал В 3D max Прикольно смотрится осталось чтобы светил ярко.

moka 27.03.2007 00:17

Re: ИИ в игре, У кого какой вариант
 
Vovan_X Сделай неоновую трубку в 3д максе группой, затем в блице найди ФандЧайлдом, и затем примени EntityFX Entity,1. Будет светится =)

HolyDel 27.03.2007 00:20

Re: ИИ в игре, У кого какой вариант
 
будет светица только в том случае, если кругом относительно темно.
для улучшения эффекта еще ему блендинг поставь 3.

Vovan_X 27.03.2007 00:20

Re: ИИ в игре, У кого какой вариант
 
Цитата:
Сообщение от mr.DIMAS
Vovan_x под сообщением есть кнопочка Thanks. Юзай ее когда хош сказать спасибо.

Raiter Не оброщай на пост mr.DIMAS Внимание. Я всегда за помощь говорю спосибо, и не какой кнопки мне не надо, мне не лень написать. пусть сам юзает эту кнопку.


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

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