Skip to main content
gamedev.net
🔒 Locked

Scripting system requirements

Started by OrangyTang 2 replies 800+ views
Original Post
OrangyTang
OrangyTang
I''m starting to design my scripting system (which is not an embedded language) but I need to get a good idea of what it needs to do and what kind of general usage would be common. Basically I''m trying to compile a big list of possible actions and how they would be done in a scripting system so I can make sure i''ve covered everything. So far I''ve got: Triggers: Player enters area Player leaves area Player talks/performs action Player dies Timer Object visible Object destroyed/dies Item pickup Item drop Item in area Item removed from area Actions: Player death Player gains item/stat up Object death Level complete/fail Door opens/closes, Lift starts/stops, Light on/off etc. (physical stuff) NPC talk/performs action Item spawn Item destroy Other trigers armed/disarmed Processing: Simple boolean logic, AND, OR, NOT, XOR Conditionals Arithmatic + - * / Anyone anything else to add? I''m trying to think of a good way to manage event passing between triggers, processing and actions. At first it appears that you can get away with simple on/off boolean messages, but that shorts out more interesting behaviour like adjusting NPC reations depending on previous behaviour (ie analog scales). [S-Type] [V-Script]
Arwin
Arwin

i''m interested in this too...

Some events i''ve added to my model:

For Characters:

OnStartTask (e.g. build sth, carry sth, etc...)
OnFinishTask
OnHit
OnAttack


For Animations:

OnStartAnimation
OnFinishAnimation
psykr
psykr
I don''t know if you''ve played Starcraft, but if you have then you can look at their map editor for a list of the possible triggers, and how it''s done. Although it has its shortcomings, with a few hacks you can get very complex behavior from it. If you don''t have it, you might be able to get a list of the triggers from a SC modding site.
One of the shortcomings was that it was purely triggers; it had a set of switches that you could use with triggers to make if/else statements, but it began to become a pain to use.
OrangyTang
OrangyTang
Oo, Starcraft, now theres a good idea. I''ll see what I can find.

So far I''ve been looking into Quake 1&2, Unreal, Warcraft 3 and Dungeon Siege. They''ve all got a pretty similar system (one way links with ''target'' and ''targetname'' style source and target) but it doesn''t allow much flexibility - things only attach in certain ways and if you put them together in unexpected ways things break or sit there mute. I''m trying to figure out a good generic message passing system that''ll allow lots individual components to not mind too much about what they get attached to.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.