Looking for suggestions/advice
MisterX
b.xavier at internet.lu
Fri Aug 12 11:49:22 EDT 2005
msg sent yesterday - censured by size you might get it once again
IF someone ever checks the censured messages... So i edited it
a bit more...
Rodney,
you seem to have a good idea of what you want which is "great"
the if statements dont need to be done in a parsed interpreter
if that's what you thought
if you want to share ideas, scripts and possibly come with an
easy solution to our problems, i'll share with you the stack
i made for the BotWar game i made. It's missing a couple key
pieces to make it work... The rest is really simple...
create the actions for the players, bots in this case, but
bots can do anything we tell them to via script!
Communication between clients is also quite simple. The ChatRev
client is a great way to start to get an idea of protocols, etc...
However, i discern (no offenses meant) a lack (or the wrong)
methodology in application design.
That's because an if then cascade or
grid is actually quite efficient. But an associative array based
parser resolves this issue easily (assuming you parsed for errors
prior to running the script).
[this was written before the table-oriented approach yesterday]
Rev is not much different that other languages in design terms but
the objects and events are. This requires the same planning as other
apps but the links between objects and their scripts is so open
that this confuses many.
Writing the BotWar game thaught me that
there is a minimum of arena-centralized interaction required for bots
to interact with. The bot alone can be scripted but it will not be
able to interact with the arena world if it doesn't know the rules
of the arena world. Since the arena world rules are a global set for
all bots, it's necessary that the bots speak the same language. and
so on.
Compiled Stacks can't change scripts on the fly. And this is a hard
limit but it's also a complicated way of achieving a speed dependent
model. In the interpreted way, the rules are easy to modify, and the
bots have all the options opened. Then you just need a loop to run
subsequequent/threaded script lines... Rev speed permitting the
illusion.
The way to parse this into the arena model, depends on
- how many verbs and objects
- how many parameters each
Here's a rule from TAOO
Less parameters = more verbobject handlers.
but finding a handler is much easier than finding the if-then or the
case statement that needs changing - simple and frequent way to see
the script is not as it should be...
The less you want to specialize a verb, the more if-thens or switch
statements.
but there's ways around it too - like dynamic scripts and associative
arrays.
Unfortunately, associative arrays are not the fastest either past a thousand
of anything... And that can be solved with a pro-active selective bot editor
and script checker.
hope that helps
Xavier
http://monsieurx.com
More information about the use-livecode
mailing list