Scriptix has but several goals for its existance. First, it must be easy to program in. I originally decided that, for this purpose, a BASIC-like syntax would be best. However, it appears that people find familiarity to be more important - so versions of Scriptix from 0.19 onward will have a C/C++-like syntax. Scriptix parser can be quite easily re-written to handle almost any syntax desired, however.
Second, Scriptix must be threadable, allowing semi-syncronous execution of threads within a single OS process. Both pre-emptive and cooperative multi-tasking should be available. Both have their advantages and disadvantages, and the embedding application should be able to decide on the best method for the task. While pre-emptive multi-tasking is currently supported, it is still rudimentary, and basic thread control types (mutexes, etc.) are not yet implemented.
Third, it must support a decent subset of high-level language features, such as arrays, classes, and user-definable data types. The language itself does not provide for a large amount of definable functionality - the user scripts are somewhat limited in the scope of effect they can have on the language (in regards to defining functions/classes, etc.) This limits the negative effects a poorly written or malicious script can have on the host application.
Fourth, Scriptix must be of decent speed. As Scriptix is designed for interactive entertainment software (a.k.a. games), speed is very important. I've no benchmarks yet to display hard-data on Scriptix' speed - simple tests have shown it to easily outperform more popular scripting languages, however.
Scriptix makes use of a garbage collection scheme for memory management. Lots of people think this means it will be very slow. On the contrary, a clever garbage management system can result in a more responsive application, since memory deallocation can be controlled to a large degree. However, Scriptix does not (yet) have a clever scheme. It is planned to be greatly improved before 1.0, however.
What's New in This Release:
· Minor API and languages changes.
· Last independent release of Scriptix.
· Future releases will be part of the AweMUD package.