Category talk:AI: Difference between revisions
(map-level and mod-level AI articles) |
(NPC BaseClasses) |
||
Line 27: | Line 27: | ||
IMO this page could be improved by more clearly separating information aimed at level designers (ie using AI concepts & entities) and articles aimed at C++ level modders (ie modifying AI code). --[[User:Beeswax|Beeswax]] 11:05, 28 Feb 2008 (PST) | IMO this page could be improved by more clearly separating information aimed at level designers (ie using AI concepts & entities) and articles aimed at C++ level modders (ie modifying AI code). --[[User:Beeswax|Beeswax]] 11:05, 28 Feb 2008 (PST) | ||
== NPC BaseClasses == | |||
I'm struggling to find my way around NPC AI (for level-design), but it strikes me that [[fgd]] BaseClasses describe 'groups' of object properties (entity parameters) that are common to several npc_entities (see table below). Each BaseClass appears to represent a group of 'specialised' behavioural features, so I'm guessing that a series of tutorials (or whatever) expounding the uses and quirks of the various fgd BaseClass properties & parameters could be useful and efficient approach ... ? | |||
However, several fgd BaseClass ''names'' are echoed (or vice versa) in [[cpp]] file names an 'functions'(?) within cpp files; For example the fgd @BaseClass = BaseNPC would appear to be related to the CAI_BaseNPC function in ai_basenpc.cpp. Surely this can't be coincidence !? The current articles in this category seem to imply that the functions within the cpp may provide a more illuminating overview of NPC AI than the fgd BaseClasses? Please could someone (who understands the Source source code) explain the significance of this apparent correlation ? --[[User:Beeswax|Beeswax]] 09:08, 1 Mar 2008 (PST) | |||
{| | |||
|+'''NPC BaseClasses and Entities in base.fgd & halflife2.fgd''' | |||
|- | |||
| valign="top" | | |||
; [[BaseNPC]] : includes baseclasses | |||
* ''[[ResponseContext]]'' | |||
* ''[[DamageFilter]]'' | |||
* ''[[RenderFields]]'' | |||
* ''[[Shadow]]'' | |||
* ''[[Angles]]'' | |||
* ''[[Targetname]]'' | |||
: and affects entities | |||
*[[npc_alyx]] | |||
*[[npc_antlion]] | |||
*[[npc_antlion_template_maker]] | |||
*[[npc_antlionguard]] | |||
*[[npc_apcdriver]] | |||
*[[npc_barnacle]] | |||
*[[npc_barney]] | |||
*[[npc_breen]] | |||
*[[npc_bullseye]] | |||
*[[npc_bullsquid]] | |||
*[[npc_citizen]] | |||
*[[npc_combine_camera]] | |||
*[[npc_combine_s]] | |||
*[[npc_combinedropship]] | |||
*[[npc_combinegunship]] | |||
*[[npc_crabsynth]] | |||
*[[npc_cranedriver]] | |||
*[[npc_crow]] | |||
*[[npc_cscanner]] | |||
*[[npc_dog]] | |||
*[[npc_eli]] | |||
*[[npc_enemyfinder]] | |||
*[[npc_fastzombie]] | |||
*[[npc_fastzombie_torso]] | |||
*[[npc_fisherman]] | |||
*[[npc_furniture]] | |||
*[[npc_gman]] | |||
*[[npc_headcrab]] | |||
*[[npc_headcrab_black]] | |||
*[[npc_headcrab_fast]] | |||
*[[npc_helicopter]] | |||
*[[npc_ichthyosaur]] | |||
*[[npc_kleiner]] | |||
*[[npc_launcher]] | |||
*[[npc_maker]] | |||
*[[npc_manhack]] | |||
*[[npc_metropolice]] | |||
*[[npc_missiledefense]] | |||
*[[npc_monk]] | |||
*[[npc_mortarsynth]] | |||
*[[npc_mossman]] | |||
*[[npc_particlestorm]] | |||
*[[npc_pigeon]] | |||
*[[npc_poisonzombie]] | |||
*[[npc_puppet]] | |||
*[[npc_rollermine]] | |||
*[[npc_seagull]] | |||
*[[npc_sniper]] | |||
*[[npc_spotlight]] | |||
*[[npc_stalker]] | |||
*[[npc_strider]] | |||
*[[npc_turret_ground]] | |||
*[[npc_vehicledriver]] | |||
*[[npc_vortigaunt]] | |||
*[[npc_zombie]] | |||
*[[npc_zombie_torso]] | |||
; Note: ''BaseNPC'' does not affect | |||
*[[npc_turret_ceiling]] | |||
*[[npc_turret_floor]] | |||
*[[npc_heli_avoidbox]] | |||
*[[npc_heli_avoidsphere]] | |||
*[[npc_heli_nobomb]] | |||
*[[npc_antlion_grub]] | |||
| valign="top" | | |||
; [[BaseHelicopter]] : includes baseclass | |||
* ''[[BaseNPC]]'' | |||
: and affects entities | |||
* [[npc_helicopter]] | |||
* [[npc_combinegunship ]] | |||
* [[npc_combinedropship]] | |||
; [[TalkNPC]] : includes baseclass | |||
* ''[[BaseNPC]]'' | |||
: and affects entities | |||
* [[npc_monk]] | |||
* [[npc_kleiner]] | |||
* [[npc_eli]] | |||
* [[npc_magnusson]] | |||
* [[npc_breen]] | |||
* [[npc_mossman]] | |||
* [[npc_gman]] | |||
* [[npc_citizen]] | |||
* [[npc_barney]] | |||
* [[npc_vortigaunt]] | |||
* [[npc_alyx]] | |||
; [[PlayerCompanion]] : includes baseclass | |||
* ''[[BaseNPC]]'' | |||
: and affects entities | |||
* [[npc_citizen]] | |||
* [[npc_barney]] | |||
* [[npc_vortigaunt]] | |||
* [[npc_alyx]] | |||
; [[RappelNPC]] : includes baseclass | |||
* ''[[BaseNPC]]'' | |||
: and affects entities | |||
* [[npc_metropolice]] | |||
* [[npc_combine_s]] | |||
; [[BaseCombine]] : includes baseclasses | |||
* ''[[RappelNPC]]'' | |||
* ''[[BaseNPC]]'' (twice?) | |||
: and affects entities | |||
* [[npc_combine_s]] | |||
; [[VehicleDriverNPC]] : includes baseclass | |||
* ''[[BaseNPC]]'' | |||
: and affects entities | |||
* [[npc_vehicledriver]] | |||
* [[npc_cranedriver]] | |||
* [[npc_apcdriver]] | |||
; [[BaseHeadcrab]] : includes baseclass | |||
* ''[[BaseNPC]]'' | |||
: and affects entities | |||
* [[npc_headcrab]] | |||
* [[npc_headcrab_fast]] | |||
* [[npc_headcrab_black]] | |||
; [[AlyxInteractable]] : affects | |||
*[[npc_turret_ground]] | |||
*[[npc_rollermine]] | |||
*[[npc_manhack]] | |||
|} |
Revision as of 10:08, 1 March 2008
Was wondering if there are any good tutorials out on basic voice acting. Have some sound files here that I want some models to speak, I don't really need to dabble in FacePoser and all that, just need their mouths to match the .wav file. Any instructios on this out there?
- I think Lip sync without FacePoser would be impossible... Even small speaches like Alyx's "Excuse me" use .vcd files. Choreography Implementation is a good place to start. Basically you make .vcd files for NPC speaches, then you load them via Logic choreographed scene or the Response System. --N-neko
- I'll start there, thanks.
Well I read through that page and checked out the sample map. Still many confusing elements of the .vcd file. Are there any tutorials out at this point in time?
- There's a whole category dedicated to it. --TomEdwards 11:48, 5 Nov 2005 (PST)
Tutorials...
OK, so I want to make some new NPCs. I know basicly where to start but I need help. I can't seem to find anyone who can help (dispite the fact several people seem able to code them)
Now, I came to this page to find help, and saw tutorials and thought, YES, finally! But there are none. Only a few of theese pages have content... Can anyone point me in the right direction here? Thanks in advance (I hope) - - GC
Redirect
Note, when you redirect to a category, you can't see the list of articles in that category. For example, try going to Tutorials, which redirects to Category:Tutorials. --dutchmega 14:35, 9 Sep 2006 (PDT)
- I know. I was searching for one of those text that says "If you can not see the list, click here." but I can't find it. I'll probably add such a text shortly, no worries. --Andreasen 14:40, 9 Sep 2006 (PDT)
Lua AI in Garry's Mod
AI is taking off among the GMod coders. Should we do anything on it here? --TomEdwards 13:30, 17 Oct 2006 (PDT)
- Only if it's in the mod code. Anything LUA-related should probably be kept on the GMod wiki or their forums. --AndrewNeo 16:37, 17 Oct 2006 (PDT)
map-level and mod-level AI articles
IMO this page could be improved by more clearly separating information aimed at level designers (ie using AI concepts & entities) and articles aimed at C++ level modders (ie modifying AI code). --Beeswax 11:05, 28 Feb 2008 (PST)
NPC BaseClasses
I'm struggling to find my way around NPC AI (for level-design), but it strikes me that fgd BaseClasses describe 'groups' of object properties (entity parameters) that are common to several npc_entities (see table below). Each BaseClass appears to represent a group of 'specialised' behavioural features, so I'm guessing that a series of tutorials (or whatever) expounding the uses and quirks of the various fgd BaseClass properties & parameters could be useful and efficient approach ... ?
However, several fgd BaseClass names are echoed (or vice versa) in cpp file names an 'functions'(?) within cpp files; For example the fgd @BaseClass = BaseNPC would appear to be related to the CAI_BaseNPC function in ai_basenpc.cpp. Surely this can't be coincidence !? The current articles in this category seem to imply that the functions within the cpp may provide a more illuminating overview of NPC AI than the fgd BaseClasses? Please could someone (who understands the Source source code) explain the significance of this apparent correlation ? --Beeswax 09:08, 1 Mar 2008 (PST)