Hoe werken NPC's

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Beste Mensen,

Ik was mijn AI aan het programmeren in unity.
En toen vroeg ik me dus af, hoe doet GTA of Skyrim dat?
Geven ze gewoon elke npc vaste routines?
Werken ze met percentages, bijvoorbeeld er is 4% kans dat een persoon de brievenbus gebruikt etc.?
Hopelijk kan iemand me helpen.

Mvg,

Bas

Acties:
  • +2 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Allereerst: ik ben geen game-programmeur, en amper gamer te noemen, dus ik roep ook maar wat.
Verwijderd schreef op dinsdag 29 november 2016 @ 12:54:
Geven ze gewoon elke npc vaste routines?
Ik verwacht dat er gewoon een hele zooi 'acties' (en bijbehorende animaties) zijn. En dan afhankelijk van, bijvoorbeeld, in de buurt zijn van een brievenbus die actie toepassen of niet op basis van een RNG ofzo.

In de buurt van de weg kunnen ze bijv. links-rechts-links kijken voor oversteken, in de buurt van water kunnen ze gaan zwemmen, in de buurt van een schot/roof/whatever zullen ze 't op een rennen zetten (of fotograferen met hun mobieltje of...) en ga zo maar door. Ik denk dus wel degelijk dat er op basis van (o.a.!) locatie en gebeurtenis(sen) bepaalde acties gekozen worden naast waarschijnlijk gewoon scripted events die plaatsvinden als er weinig spannends gebeurt (zoals een andere NPC aanspreken, op de horloge kijken, rondlopen, een winkel binnengaan, ...)

Hoe meer acties er zijn om uit te kiezen, en hoe meer die gekozen worden op basis van relevante gebeurtenissen in de buurt hoe meer je spel tot leven komt natuurlijk. Het verschil tussen jou en Bethesda, Rockstar etc. is dat zij complete legioenen mensen aan 't werk kunnen zetten om die acties te implementeren en jij 't in je uppie (of met een paar klasgenoten(?)/collega's/...) moet doen ;) Ik zou dus vooral proberen realistisch te blijven en niet meteen "GTA" of "Skyrim" nastreven ;)

[ Voor 20% gewijzigd door RobIII op 29-11-2016 14:34 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • +1 Henk 'm!

  • TJHeuvel
  • Registratie: Mei 2008
  • Niet online
Je zou eens naar Behaviour Trees kunnen kijken, voor Unity bestaat daar dit mooie pakket voor:

https://www.assetstore.unity3d.com/en/#!/content/15277

Voor een project waar ik nu aan werk gebruiken we gewoon wat coroutines die aan elkaar gelust zijn, an sich is dat ook goed te doen voor simpele AI's.

[ Voor 33% gewijzigd door TJHeuvel op 29-11-2016 14:53 ]

Freelance Unity3D developer


Acties:
  • +1 Henk 'm!

  • diondokter
  • Registratie: Augustus 2011
  • Laatst online: 23:44

diondokter

Dum spiro, spero

Veel games maken gebruik van state machines: https://gamedevelopment.t...ementation--gamedev-11867

NPC's en AI in het algemeen zijn erg interessant en er zijn veel manieren om het te doen. Van wat ik kan lezen wordt de state machine het vaakst gebruikt.

Acties:
  • +1 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
GTA en Skyrim en co doen het in wezen op elke mogelijke manier die je maar kan bedenken :)

Er is niet 1 ding wat ze doen. Die bedrijven hebben gewoon hele libraries gevuld met dit soort mogelijke acties en als iemand dus een NPC maakt kan hij zelf uit die libraries kiezen welke acties en regio's etc etc hij eraan toegekend wil hebben.

En als de wens is dat een NPC iets doet wat niet in een library staat dan wordt de library uitgebreid...

Dat is de grootste truc eigenlijk en als er gewoon 10+ manjaar werk in die library's zit, tja dan begint het ergens op te lijken

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bedankt iedereen! :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
diondokter schreef op dinsdag 29 november 2016 @ 14:51:
Veel games maken gebruik van state machines: https://gamedevelopment.t...ementation--gamedev-11867

NPC's en AI in het algemeen zijn erg interessant en er zijn veel manieren om het te doen. Van wat ik kan lezen wordt de state machine het vaakst gebruikt.
Van Brackeys toch? ;)

Acties:
  • +1 Henk 'm!

  • diondokter
  • Registratie: Augustus 2011
  • Laatst online: 23:44

diondokter

Dum spiro, spero

Klopt, ik ben de admin daar. Grappig dat je dat zag ;)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
diondokter schreef op donderdag 8 december 2016 @ 10:32:
[...]

Klopt, ik ben de admin daar. Grappig dat je dat zag ;)
Haha ;)

Acties:
  • +1 Henk 'm!

  • ErikKo
  • Registratie: Mei 2009
  • Laatst online: 15-09 15:54

ErikKo

Rippie

Bij dezen nog een +1 voor Behavior Trees.
Zie ook deze website voor een uitleg.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ErikKo schreef op donderdag 8 december 2016 @ 11:51:
Bij dezen nog een +1 voor Behavior Trees.
Zie ook deze website voor een uitleg.
Bedankt :)
Pagina: 1