Anyway, I've been reading Game Scripting Mastery (So far covered the language, the assembler and the VM), and all the time I'm thinking "I could do that better". So I'm going to.
As a little side project, I'm going to make my own scripting language; DruinkScript. As the book does, I'll work on the assembly part first, and I'll have a fair bit more instructions than it does.
Key features of the intended DruinkScript:
- Syntax similar to x86 assembly, except for functions which will be implemented looking like C / Lua. Example:
function myFunc()
{
pop r0
pop r1
ret 17
}
Or something like that anyway. - Pleanty of registers. I'm thinking 32 or 64 string and integer/float registers. Means less screwing about with the stack
- An extensive debugger. I want to be able to connect an external debugger application to the program executing the script, which will connect with a socket. That debugger should be able to do everything the MSVC debugger can do (Except edit and continue), source code lines (when the compiler is done), register values, stack values, variable watch, breakpoints, watchpoints, etc
- Ability to compile / assemble scripts as debug or release. Debug will have debug info in them, Release won't.
- Ability to compile DruinkScript as debug or release. Debug includes the debugger and will probably have more runtime checks
I think that'll do for a decent sized side project.
Although, just to play devils advocate - care to make an entry covering what you don't like about existing scripting languages and how you're gonna do it better?
Have you looked at GameMonkey? Evolutional has me convinced that GM has to feature in a future project of mine [grin]
Cheers,
Jack