Download

SkookumScript Plug-in

http://skookumscript.com/images/galleries/SkIDE-grant.jpg

SkookumScript (Sk) is a text-based, compiled language and tool suite designed for live creation of engaging gameplay with surprisingly few lines of code.

Mighty and feature-rich, yet simple and easy to learn, SkookumScript empowers the entire team - from mission/audio/UI designer light-coders all the way to C++ veterans - to create compelling and sophisticated AI, missions, interactive audio, UI, automation, and more. It has native game concepts, a deep integration with Blueprints and C++ and an amazing live workflow. SkookumScript is made for games.

SkookumScript was awarded an Unreal Development Grant by Epic Games.

See it in action:

https://vimeo.com/133828708

[If the embedded video isn’t working on the forum, try this: https://vimeo.com/133828708]

Gamasutra article: The Death of Tick: Why SkookumScript is revolutionary

Reached the limit of Blueprints?
SkookumScript seamlessly integrates and extends Blueprints allowing instant creation/modification/live update of powerful custom nodes and:
★ calls scripts and changes code live
★ can outperform nativized BPs
★ makes coding logical time flow a breeze
★ has sophisticated concurrent debugging
★ scales without graphical spaghetti
★ is version control and diff tool friendly
★ allows swapping of code snippets over text

C++ slow to iterate and too bureaucratic?
SkookumScript has a comprehensive C++ API and:
★ compiles instantly
★ updates in real-time on any platform
★ has native game concepts such as concurrency
★ can be used by the whole team
★ reflects changes live in BPs and vice versa
★ is amazing at creating debug scenarios and smoke tests
★ facilitates DLC and end-user modding

SkookumScript is lovingly crafted by veteran game devs, battle-tested on AAA titles such as Sleeping Dogs and used in over 100 countries on upcoming AAA and indie games. We are dedicated to filling your development experience with cackles of megalomaniacal glee.

Testimonials:
Zach Burke, CEO Hypercane Studios: SkookumScript is the sweet spot between C++ and BPs
AAA praise

Includes the SkookumIDE—a cutting-edge command console that turbocharges your workflow (at any stage of development). It enables you to query and manipulate any UE4 game as it runs on any platform—without disrupting your existing tools, C++ code or BP graphs. It is written with the same system used to create the Unreal Engine editor - the Slate UI - so it fits in seamlessly with UE4. So even if you aren’t looking for a scripting solution now, try our console.

More details:
★ commands reflected to BPs also available to SkookumScript
★ use same macros to expose C++ to SkookumScript as used for BPs
★ integrates well with pipeline and other tools
★ full C++ SkookumScript plugin source
★ Apache 2.0 licensed
★ use as engine plugin (all products - default) or product plugin (single product)
★ dormant mode allows Sk plugin to coexist with non-Sk projects
★ non-Sk projects may still use SkookumIDE and its live script console (called workbenches)
★ painlessly scales with teams
★ free SkookumIDE allows the creation of entire games from start to ship - no crippled language features
★ SkookumScript professional tools and project licenses with more bells and whistles also available
★ actively developed and updated with great support

Target build platforms (packaged): Win64, Win32, Mac, iOS, tvOS, Android, Xbox One, PS4, VR
Dev platforms: Win64 (Mac and Linux planned)

Enough talk, give it to me!

Using SkookumScript:
Setup Instructions (including demo project and GitHub locations)
Online Documentation

Support:
SkookumScript forum - We’re very responsive!

Better coding through mad science!

Glad to see you’re making good progress with this, Conan.

Looking forward to the upcoming release!

Could you show us some examples?

Could you explain which features are only available in the “pro version”? Will you restrict the language itself or will you restrict the tooling support like IDE features? I don’t expect you to list “all” features, I am just curious about the general direction.

Can you tell us anything about when a first release can be expected (with the usual reservations of course)?

Am I right that Skookum currently have only custom licenses? What price range can we expect for the full version of the IE4 integration?

I expect a first free demo that will allow you to get a better feel for SkookumScript in mid-September or so. [Might be sooner or later - we are still mastering the UE4 codebase.] We will continue to update this first pass as time goes on.

Next will follow a full integration UE4 plug-in that will allow - at least in principle - authoring of UE4 gameplay from start to finish. We might be able to do several passes on this so that we can get it out earlier. Time frame on this is a bit more fuzzy though the plan is November.

I will update these estimates as we get more familiar with the codebase.

Internet Explorer 4? Never! :wink:

Even though SkookumScript is a proven professional/AAA-grade middleware worth much more, we want to get it into everybody’s hands so we think an introductory price around $200 per seat/person for Pro is fair and also have a Standard version (free! with simpler IDE that has less debugging - more detail in follow up post). We would also like to follow the lead of Epic and have a subscription model similar to (and less than) UE4.

Currently - as you say - SkookumScript only has custom licenses tied into custom/proprietary game engines.

We might change these terms - though they are our current plan.

Gameplay specific features

[This is definitely a TL;DR post though there is lots to say since SkookumScript has a lot to it.]

These are some high-level descriptions of SkookumScript gameplay features. For specific code examples I’ll try to add more to the SkookumScript web site in the future. One feature that you can see right now is object-ids.

SkookumScript has essentially 4 different areas that have video game specific (or game benefiting) features and concepts:

Language

  • concurrency (simultaneous / real-time tasks and logical flow of time and commands) at the language level without your brain melting. [This is pervasive throughout the language and probably the biggest SkookumScript game-changer - managing multiple things running around at the same time is pretty important in any real-time game.]
  • object-ids (named game objects and concepts checked at compile-time)
  • game focused library – common game routines and concepts like randomness
  • tiny learning curve and simple yet powerful constructs that empower entire team (level designers, production, audio designers, animators, etc.) to author coder free gameplay and still preferred by the veteran coders for many tasks
  • helps ensure gameplay does not become a performance bottleneck – it is easy to author tasks that are spread out across many frames
  • designed to reduce common errors during traditional game development workflow - for example cod-e looks sufficiently different from C++ to ensure that people’s brains switch over if going back and forth from C++ and SkookumScript
  • lots of other tiny details accumulated over 2 decades of use on actual games

Tools

  • Skookum IDE focuses on Skookum strengths and allows easy integration with other tools in game development pipeline
  • everything is designed for dynamic real-time modification during tweaking and debugging – make changes while the game is running on any platform
  • IDE Console allows easy way to type in simple commands and snippets of logic to run on the game or editor in real-time – also known as the read-eval-print-loop (REPL); These code snippets are easy to swap, trade, modify and reuse
  • IDE can accept command-line requests to perform actions in both the IDE or even the editor or running game
  • compiler is crazy fast – the 1700 classes and 8000 script routines in Sleeping Dogs compiles in a few seconds
  • simple version control – integrated and script file layout designed for scaling team and project
  • scales for a team environment – especially more than one person working on the same area without bumping elbows
  • compliments all development areas: in-game(simulation, user interface, settings), tool automation (world editor, build system), etc.
  • modular design facilitating patches, add-ons, downloadable content (DLC) and user created content

Runtime

  • optimized for AAA game performance in both speed and memory - for example string comparisons are shunned throughout the SkookumScript code base and a symbol mechanism - sort of like an enumerated type - is used instead
  • scripts are compiled and runtime does not even need parser / compiler in ship / release version of game
  • scripts can be dynamically loaded and unloaded as needed according to game progression, geography, etc. [This was critical on the open world game Sleeping Dogs – there were too many missions and ambient world behaviours to fit in memory.]
  • systems are predictable / deterministic and allow a great deal of low-level control if needed
  • Time is managed consistently in terms of game update frames rather than less predictable interrupts, etc. [You still often say something will take X seconds though internally that will be measured over however many update frames is needed.]

Philosophy
The guiding principle that SkookumScript is designed for games - while not exactly a feature - is a critical advantage.

  • There are game features that Skookum can justify having that a general purpose language could not. Sometimes such features can be added in libraries though tend to be clunky and error prone compared to being built into the language. This is important for the future is well - there are plans for even more game specific features for future SkookumScript updates.
  • Likewise Skookum specifically does not include features that are not needed for gameplay or that are better done at the low-level in the engine in C++. This keeps it much more focused and increases the signal-to-noise level so that we poor developers can store the already massive amounts of info that we need in our limited brains.
  • The point of SkookumScript is to make it easier to create great games and get out of the way and not spend huge amounts of time mucking with the details. A motto for SkookumScript is: spend time on what rather than how.

[The details of these features will eventually be described in the online SkookumScript docs – which are currently in progress.]

We expect that the SkookumScript game runtime will be mostly the same between the Standard (free) and Pro versions. Some big project features like console specific optimizations and dynamic loading of scripts might also only be available in the Pro version.

The primary difference between Standard/Pro will be in the SkookumScript IDE and tools. The Professional Skookum IDE may have more debugging, profiling, customization, etc. features.

The current plan is for the Standard and Pro versions to be able to interoperate. This will allow an easy upgrade path and permit some team members to have the Standard version and some to have the Pro version.

We think that everyone on the team will want to use Skookum - it makes the whole development process better and everyone can share code snippets, terminology and knowledge. Most of the entire 160 person Sleeping Dogs team used Skookum. It was the primary tool for some and just used to set up real-time test scenarios or settings for others.

Again - we will update the Standard/Pro specifics once our plan is more clarified.

Being able to mix free and pro is a crucial feature for at least our team. Key persons will need every feature, but buying a license for every member will be to expensive.

Hey,
Just curious -

  1. What mobile platforms (Android? iOS? Both?) have you tested this on?
    1A. How was performance on those platforms?
  2. Does Skookum script support Linux?

How is this supposed to work with mixed free and pro versions? Will a project using the pro runtime features not run on an UE4 editor with the free version installed?

Pretty interesting, do the IDE and tools come in OS X flavour?

SkookumScript run-time is written in simple C++ and has no dependencies on other libraries so should run on anything that C++ can be compiled on. Had to ensure that it runs on many picky game console specific compilers so it is pretty lean.

By the time the SkookumScript plug-in is released we will try to test and ensure SkookumScript works on as many game platforms as possible and specifically list what is officially supported - certainly those supported by Unreal Engine 4.

That being said - here is the current status:

  1. Tested on iOS. Haven’t tested on Android - yet - though should be no problems. [Will test prior to plug-in release and give feedback.]
    1A. iOS performance was great. Essentially native C++ performance running on optimized dynamic data.
  2. Linux not tested specifically - though game consoles tend to be various flavours of Unix and SkookumScript supported them very well. [We will ensure that Linux will be supported for Steam, etc.]

Hey thank you for your reply :slight_smile:

Really looking forward to this plugin.

It will be a fine science between ensuring the Standard (free) version is powerful and useful (not cripple ware) and the Pro version is desirable for individual developers who use it as a primary tool.

The Standard and Pro versions will definitely be able to interoperate. We want the experience to be awesome - not frustrating.

Here is our current plan to differentiate Standard/Pro. [This may change.]

Standard Free SkookumScript IDE -

  • author scripts in syntax highlighted editor (SkookumScript aware colouring - unknown class will be different colour than known class, etc.)
  • version control integration
  • symbolic search / navigate scripts (ex: Alt+G will go to subroutine, class, etc. under editor caret)
  • compile scripts and get good compile errors and context (ex: found misnamed trigger region in script X at index position Y in this highlighted region of code - then double-click to go to script)
  • console that allows real-time execution of script code snippets as game is running on any platform - also known as the read-eval-print-loop (REPL)
  • other great things we think all team members should have

Professional Pro SkookumScript IDE -

  • breakpoints
  • call stacks
  • local variables/data members view
  • stepwise debugging (next, into, over, out)
  • more preferences, customization and automation
  • modify and recompile subroutines & classes while game is running [we might make this available in the Standard version]
  • memory analysis for scripts and run-time usage
  • profiling features
  • other cool stuff we might think of
  • all the features from the free version

The Pro version is targeted mainly at team members who will be using SkookumScript as one of their primary tools crafting gameplay, missions, AI, etc. The Standard version is targeted mainly at other team members of a project using SkookumScript that want to run quick script snippets to set up scenarios and change game settings - though you will be able to develop an entire game with the Standard version with many more out-of-the-box features than other scripting solutions like Lua. Everyone on the team can use Standard, Pro or some mix. We have found that everyone on the team will want to and be able to contribute some aspects of the gameplay over time - Skookum helps people get out of their pigeon-holes.

The SkookumScript run-time is expected to be mostly if not exactly the same between the Standard and Pro versions. There may be some big project features like console specific optimizations and dynamic loading of scripts that might only be available in the Pro version or perhaps as specific entire project add-ons.

Once we have a firm list for Standard/Pro we will post them to these forums and the SkookumScript web site.

No - the SkookumScript IDE is currently available for MS Windows only.

You can run the SkookumScript IDE on a MS Windows box and it can connect remotely to the running game - on OS X, iOS or any other platform using TCP/IP.

Hopefully you will be able to run the SkookumScript IDE on a MS Windows emulator on OS X. We will test this to ensure it works.

Minimally we will try to supply a simple compiler that is native to OS X that you can use just to compile scripts or to hook up to Your Favourite Code Editor ™.

We plan to make an OS X version of the IDE though we don’t currently have an estimate for the release.

Note that the SkookumScript game run-time is written in C++, has no OS specific calls and should work on any platform - OS X, iOS, etc.

Cool, the minimal option would certainly be enough to get try it out - thanks

It would be great that SkookumScript run-time has same feature between free and pro (So user don’t get the feeling of using crippled run-time), then charge $ for Pro version of IDE make sense for user already hooked :wink:

I’m excited to see SkookumScript coming to UE4. One feature I would like to see is dynamic updating scripts on mobile platform without re-deployment. And regarding the price, I find $200 might be a little too high for me, personally I would prefer something in $99 range, but that might be just me.

Another question is whether SkookumScript runtime source is accessible? Since UE4 is evolving in incredible speed, it might risky to adopt binary only plugin/extension in UE4 project.

Yes - this is one of SkookumScript’s most appreciated features. There is a good chance we will even include dynamic updating in the Standard (free) version of the SkookumScript plug-in.

We think $200 for the pro version is a great deal - you essentially get tech that would take a team of senior gameplay engineers working for years instantly. However we know that not everyone has the upfront cash and there are competing languages like Lua that are free - so here are our suggestions to keep costs down:

  • An entire team will be able to mix Standard (free) and Pro versions which can reduce the average cost.
  • If the Unreal Marketplace allows a subscription model, we plan to allow the Pro version of SkookumScript for something like $10 a month.
  • And finally - while the pro version will be a little bit more awesome, you can use the Standard (free) version of SkookumScript to make a game from start to ship and it still offers better performance and many more “out-of-the-box” features than other scripting solutions like Lua.

The SkookumScript source will be accessible. :cool:

Work on the SkookumScript Plug-in is progressing well and we hope to have people making their games with it soon.

&stc=1

This sounds great! I think the idea with people being able to mix standard and pro versions is great as perhaps not everyone needs the pro version.
In my team it will be more than enough if I get the pro version and the others can use the standard if they need/want to.
This might not be the case for every team out there but I’m sure it helps some teams at least :slight_smile:

The price sounds good aswell I think, especially if you could get a $10/month deal going on the marketplace!

//Oscar
Arcus Interactive

This looks promising. When will we hear about a release date?