Thanks for the replies.
![](smile.gif)
Although this can be controversial, I personally don’t think managed code is a good choice for client side. This is based on the ease of disassembly, and the requirement that the user must have the correct version of the .Net framework installed. The .Net deployment system is not yet mature enough for end user app’s, in my opinion.
As for my intended use of scripting, I must confess that I am in the early stages of even thinking about this. Upto now I have some demo’s that show of specific features, but it’s mostly hard coded in terms of content for each demo. What I want from scripting is to separate out the content and behaviour of a specific game from my code base, so that non-programmer team mates can define/add/change content, without me needed to make code changes. For this reason, I specifically
don’t want to use a real programming language for scripting… if you need to be a programmer to write the scripts it defeats the point of having a script, imo. (Because I am not writing an engine for people to mod.)
As I say, I am in the early stages of this, but the kinds of things I imagine I want to cover in scripting are:
- Client pref’s
- Client config data such as GUI layout
- Object attributes (define weapons/characters/etc)
- Game event definitions (triggers, timed events, etc)
- State machine definitions (not sure about this, but I’d like to play with making states and state transitions scriptable)
- AI behaviour
The AI behaviour is probably this only one that needs to be runable on both server and client. All agents will run on the server, but I’d like to allow players to create custom behaviour scripts for agents under their control. This could be done via in game tools that upload a script to the server, which compiles it and feed’s back to the player, but I imagine it would be cool to allow offline tools to allow players to tinker with AI script’s. Hence the question for a scripting language that could be executed in a unmanaged C++ client, uploaded to the server and compiled and run from a C# app’.
As you can see, I’m thinking about this at a fairly high level at this stage. I have a hunch that what I really want is a specific ‘language’ for each purpose (to avoid the language complexity that inevitably comes from needing to be generic), and will end up rolling my own. But I thought I’d at least see what options there were in library land.
![](smile.gif)
Cheers,
Atlay