The culmination of over two decades of problem-solving in the video game industry trenches, SkookumScript has key video game concepts built into its syntax, runtime and IDE to aid in the development of interactive simulations that you won’t find in generic programming languages.
Wide user spectrum
SkookumScript can be easily picked up by designers that have never programmed before and happily used by hard-core C++ veteran coders. It is designed to be the best tool to get the job done regardless of the experience and background of who uses it.
Evolved in real projects
Developed continuously (over 11 years + 9 years of ancestor languages) for all project types/sizes and for scripters, engineers, technical/level designers and technical artists of all skill levels and used by whole teams.
Concurrency at language-level
Concurrency constructs built right into the language syntax – no need to rely on clunky system-level threads. Permits you to do things simultaneously (as is critical in all games and interactive projects) simply using tiny intuitive bits of code without your brain melting.
Sophisticated IDE and script console
Graphical integrated development environment (IDE) can remotely hook-up to any platform/console target using simple TCP/IP from any development machine and can run test scripts, recompile code on-the-fly and debug in real-time.
Tiny turn-around time
Dynamic language and runtime that lends well to real-time changes made while the game is running. No need to stop the game, make a change, rebuild, run, get to the same spot in game progression, test, and repeat – just make a change and see the results immediately on whatever platform is being used.
Catches bugs when code is compiled rather than at game run-time (like most other scripting languages). SkookumScript has easy to use inferred typing which is fully type-checked. SkookumScript does this while still retaining the flexibility and ease of rapid development that scripting is known for.
Adapts to project setup
Fits into the game pipeline any way you like: stand-alone IDE, command-line, embedded into world editor, embedded into game engine, use editor of your choice (for example Notepad++ or MS Visual Studio) and associate hot-keys to the SkookumScript compiler/IDE, and more.
It is also great for adding automation to tools or for running game “smoke tests”. Want to run an in-game script from the tool of your choice with the press of a button? No problem – SkookumScript makes it easy.
SkookumScript (or an earlier incarnation of it) has been in titles on the PC, Xbox 360, PlayStation 2 & 3, Nintendo GameCube, Apple iOS (iPhone, iPad). It also compiles on 64-bit platforms, including iPhone 5S-present, Sony PlayStation 4, Microsoft Xbox One, and PC 64-bit. Likewise it is little/big-endian aware and swaps bits accordingly for the target platform.
It is written in C++ and should work with little fuss on any other platform with C++ available such as other game systems and even toasters, wristwatches, amusement park rides and deep space vehicles.
Optimized for Speed
SkookumScript has finaled several projects and its runtime has gone through the rigours of profiling (both optimized release code and unoptimized debug code) for video-game performance standards. Scripts are compiled rather than being interpreted or using a byte-code and a virtual machine. It beats the pants off other competing scripting languages such as Lua.
Every effort has been made to ensure that SkookumScript code takes up as small a memory footprint as possible – which is great for both small mobile apps and huge open-world games. Also see Demand Script Loading.
Full source code available
It is written entirely in fast C++ and includes an easy to use API and a powerful SDK so that many common software development “wheels” need not be reinvented.