Botille älyä

Voit pyytää apua ohjelmointiongelmiin täältä.
Post Reply
KoviZ

Botille älyä

Post by KoviZ »

Tuli ongelmia tekoälyn kanssa: Miten saisin botin väistämään seiniä niin, ettei se takerru kulmiin ym. vastaaviin kiinni (siis tilekartassa).
Tällä hetkellä teköäly on sellainen, että aina kun botti näkee pelaajan niin "merkki" objecti siirretään pelaajan kohdalle ja botti käännetään osoittamaan merkkiä kohti. Tästä on se etu, että kun pelaaja häviää botin näkyvistä niin botti menee siihen kohtaan jossa viimeksi näki pelaajan. Ongelma on se, että toisinaan merkki jää sopivasti kulman taakse ja silloin botti takertuu kulmaan kiinni.
User avatar
Jonez
Devoted Member
Posts: 575
Joined: Mon Aug 27, 2007 8:37 pm

Re: Botille älyä

Post by Jonez »

Tässä yksi lukuisista tavoista:

1: Luodaan objekti "point"
3: Asetetaan tilemappi pomittavaksi
4: (lähes) joka framella asetetaan "point" objektin "pelaaja" kohdalle, käännetään sitä esim. -45-asteeseen pelaajan 0-kulmasta, sitten 0-asteeseen, sitten +45-asteeseen.
5: Joka kerta kun "point" käännetään, suoritetaan poiminta ja otetaan seinien etäisyydet tietoon.
6: Luodaan tekoäly jonka mukaan pelaaja päättää mihin suuntaan kääntyä nyt kun meillä on vähäsen tietoa seinistä.

Objektia "point" voi tietenkin käännellä useampaankin kulmaan, mutta se on hitaampaa. Vois myös luoda ohjelman muistamaan oviaukkojen koordinaatteja jne.
-Vuoden 2008 aloittelijan ystävä -palkinnon voittaja-
Image <- protestipelikilpailun voittaja.
Space War
mikeful
Moderator
Moderator
Posts: 523
Joined: Mon Aug 27, 2007 8:36 pm
Location: Vaasa, Finalnd
Contact:

Re: Botille älyä

Post by mikeful »

Laitetaanko tuo merkki-objekti pelaajan kohdalle joka kierroksella? Ongelmaa voisi ehkä kiertää siirtämällä merkkiä vaikka 2 tai 5 sekunnin välein. Jos pelaaja on näkyvissä, niin liikutaan sitä päin ja sitten kun pelaaja menee piiloon, niin aletaan liikkua merkkiä päin.
Pelejä: Pelasta puhe, Grinder
Muuta: Blogi, Twitter
Post Reply