Diskussionsforum

Forum » Spelsnack » Spelutveckling » [BOT AI i Spel]
skapad 18 apr 2010 12:39 | svar 7 st | visats 75 ggr 
Till senaste | Till Spelutveckling | Till bottenVisar hela tråden
Mr T P Medlem
18 apr 2010 12:39
 
(Mitt första inlägg på sidan som jag hoppas kan besvara alla mina spel sidor [cheers])

Har funderingar på ett "enklare" spel men inser att jag vill ha lite smarta BOT;ar. Min tidigare BOT;ar har gått rakt mot ett mål, men denna gången vill jag begränsa deras synfältet genom att dom inte kan se genom objekt, men hur gör man detta på ett bra sätt ?


Bilden förklarar hur jag tänker. BOT;en i X1Y1 (med origon i övre vänstra hörnet) kan se den ena parten, men synen blockeras av ett objekt, vilket gör individen i X3Y4 "osynlig".

Mina tidiga tankar :
Då jag tänker använda X och Y kordinat system för min värd finns det kanske en möjlighet att beräkna fram på förhand vilka rutor som döljer andra? I detta fallet skulle då ett objekt befinner sig i X2Y2 följer en lista med koordinater som skyms (X3Y3,X4Y4,X3Y4 osv.), eller så använder man Sin och Cos för att beräkna synfältets vinklar och vilka vinklar som skyms?
Ris och ros på dom ideerna!

ALLA förslag mottages. Även tankar om andra problem mottages från er som har skapat liknande spel/projekt, eller ni som vill vara med och spåna om ideerna bara.

SpearheadGames P Medlem
19 apr 2010 15:30

 
Jag är inte FRÄMST programmerare i vårat företag,
men den enklaste lösningen vore att dra en linje (Ray) ifrån
BOTen till objektet du vill se.

OM linjen passerar igenom en ruta som har ett objekt som hindrar syn så är parten osynlig

Achii P19 Medlem
19 apr 2010 16:22

 
Vilket språk är det som du använder?

I'm with CoCo.
Samson Wiklund P29 Medlem VIP
19 apr 2010 18:37

 
Hur exakt är ditt kordinatsystem? Om du har ett rutnät som i din exempelbild bör du tänka på hur du ska tolka synen hos botten.

Räcker det med att en bot ser en liten del av en ruta eller ska du räkna ut hur mycket av rutan som ska finnas med i synfältet innan boten kan se vad som finns där?

Om du kör med "analog" syn att den är vridbar i 360grader ger du dig själv ganska mycket huvudvärk. Jag skulle gjort det mer "styltigt " med kanske 8 riktningar en bot kan titta i, det underlättar din programmering avsevärt när det kommer till matematiken bakom. Då har du i princip 8 scenarios med grenade lägen beroende på var i synfältet du har hindret (x2y2 i ditt exempel).

Inte lika snyggt men en tiondel av programmeringstid.

Då kan du lägga in "skugga" i objekten som kan vara hinder så boten kan få hjälp med vad den kan se.

Garena P Medlem
19 apr 2010 19:25

 
Vilket programspråk programmerar du i?[wink]

Undra vad jag ska skriva...
Mr T P Medlem
21 apr 2010 10:10
 
Tanken från början var att ha 8 riktningar att se åt. Synfältet ska vara ca 45 grader åt båda sidorna (tot. 90 grader), så bilden i frågan visar rätt bra vad jag vill åstadkomma om man ser i vinkeln 315.
Frågan om man kan komma ifrån "analog" syn är en bra fråga som berör ex. rutorna X2Y3 och X3Y5 om dom ska vara "synliga" eller "osynliga".
Man skulle kunna för att lösa detta lägga in en parameter "dold" (eller vad man nu vill kalla den). Alltså chansen att se och chansen att gömma sig. En grön groda i gräset har från början hög "dold" faktor, och befinner han sig längre bort ökar "dold" faktorn. Befinner sig grodan i en "halv ruta" (som X2Y3 eller X3Y5) så ökar "dold" faktorn till det dubbla utöver det den redan har.
Vad tror ni om det ?

Fick tipps om följande lösning, http://sc.tri-bit.com/Computing_LOS_for_Large_Areas , som just går ut på en snygg analog lösning (om jag läser engelskan helt rätt), vilken jag tyvärr tror bli lite tung för min PHP kode. Ja du läste rätt. PHP! Jag har tänker använda PHP, detta då jag tänker mig det som en "turn-base-game"-web-applikation (anse mig galen, men jag gillar utmaningar [bigsmile] ) Alltså ingen "real-tids-game".

SoulleSS P18 Medlem
21 apr 2010 20:29

 
Mitt tips är att göra en del php och en del javascript =)
Håller själv på med en liknande "spelmotor" (om man nu får kalla det de :P ) . Vill du börja med lite javascript borde du kolla in w3 ( http://www.w3schools.com/ ) de har en hel del Basic om js, mm.

Mr T P Medlem
21 apr 2010 21:35
 
SoulleSS: Mitt tips är att göra en del php och en del javascript =)

PHP använder jag som "grund" för databas kopplingarna till den karta/spelplan jag bygger upp. Gränsnittet blir i html med vissa delar Javascript.

Ovan nämnda språken är allt för sega (och inte heller gjorda) för att göra realtids uträkningar i stora mängder. Därför måste "syn-formeln" vara enkel och snabb och kanske inte 100% exakt.


**** Tråden låst på grund av inaktivitet 22 apr 2011 04:01 ****

Till senaste | Till Spelutveckling | Till toppenVisar hela tråden
Denna tråd är stängd för nya kommentarer.

Medlemsrecensioner

Halo: Combat Evolved Anniversary

XB360

Avilinog

7 dec 2011 18:39

Mafia 2

PS3

Arre

14 nov 2011 18:27

Dragon Age 2

PC

Cryptovic

6 okt 2011 20:48

Senaste kommentarerna

Listan uppdateras automatiskt

Senast inloggade gamers

 

Logga in på gameplayer.se

(?)