Roadmap update?


#1

Hi, guys, I’ve been lurking once in a while to see what’s been cooking on SK land.
I’ve been still busy working on the current project and the new project has been on delays for a while. We are almost at the end of the tunnel and it’s about time to start a new one. I’m still looking at different possibilities with UE4 but it seems like it’s still the same situation as far as scripting is concerned. SK is still the best choice and the only thing that concerns me is that SK itself seems to be put on hold. I think I heard that you guys are working on some side projects and I have no idea when and how SK will look like down the road.

I’m rehashing, asking for the roadmap but I thought you guys were going to share it at some point. Knowing the roadmap will put me to an ease at least. I would appreciate if you could share it sooner than rather. I really appreciate it.

Cheers!

ps. Just curious. Is it possible to tell us what kept you guys busy past few months? I still believe SK has a great future and I hope you guys are not side-tracked too much from SK. ^^


#2

Hey @chrisk414,

We have been doing some side projects - various game studios, Tesla and (most notably for SkookumScript) working with Epic.

We’ve been working directly with Epic to help make text-based scripting more closely integrated to UE4. In particular, we’ve helped hook up Python to the editor side of UE4. Many enterprise level companies such as visual effects studios have Python as a large part of their production pipeline and it makes sense to be able to connect to those already existing tools and APIs. Python can only be used to automate the editor and cannot be used to script runtime gameplay such as with SkookumScript. A lot of this will be coming out in the UE4.20 release.

Much of the work hooking up Python is language agnostic and this has paved the way to add much more text-based scripting hooks that will also greatly benefit SkookumScript and its use in the runtime. (SkookumScript could be modified to script the UE4 editor as well - then you could use Sk for both runtime and the editor.) This also means that the SkookumScript update for UE4.20 will be a bit larger than prior updates.

During all of this effort, Epic Games has indicated their interest to more closely partner with the SkookumScript team to make our work and tech more first-party and also to help directly evolve the Unreal Engine. So Epic may have a greater interest and say on the direction of SkookumScript. We are laying out our strategies and plans to Epic and then help define a roadmap that also takes into account the plans for Unreal Engine.

So some near-term aspects of the roadmap:

  • bug fixing and stabiliity (as always)
  • more demos and examples
  • extended documentation
  • workflow improvements
  • taking advantage of the new UE4 text-based scripting features

From the outside it may seem that we’ve been quiet, though this is because we are planning big things and gearing up as only true mad computer scientists can. :madsci:

We welcome all your input and we will incorporate whatever we can.

Thanks for the continued interest in SkookumScript!


#3

Ni, Noolarch, Thanks for sharing the info. I know you guys are very diligent by nature and must be very busy doing something skookum. It sounds really nice that you and Epic are working closer than ever. While you are working on the core, squeeze in as much as you can to pave the road for SK. ^^ I envision, one day, using just SK without BP(except for pre-canned effects).

One question regarding Python integration. I know Python cannot come close to SK coroutines but once Python can be used for Runtime scripting, won’t many people adopt Python instead of SK? Python will also be slower but their ease of use(wider editor support) and more familiar syntax cannot be underestimated. Should we be worried? And do you know when Python runtime scripting will be enabled? It will be interesting to try it out. I think SK will still have some edge over it but I’m not sure if other scripters will think the same. You can refer to the post of the initial impression of mine where I talked about syntax and others. I think the unfamiliar looking syntax would be the biggest initial hurdles for the most of the onlookers.

And lastly, any change/update/additions we can expect in the near future?
Editor improvements, or native event handler without BP and such?

Cheers!


#4

I am using https://github.com/20tab/UnrealEnginePython to learn python the plugin lets you script in runtime and editor. When you are calling python math functions as well as unreal you are calling c lang routines so performance does not take a big hit.

Although I have not gotten deep into SK it knows more about games and game design issues. For Big Data visualization Python is a good starting point for me. In the Future SK would be great to explore


#5

Epic Games is releasing its own (super integrated) Python plugin for scripting the UE4 Editor. I know because I am helping them write it. :madsci:

They do not plan for it to be used in the runtime due to speed and other concerns - just to automate the editor. Many enterprise companies such as visual effects studios use Python throughout their toolchain so it makes sense to be able to hook into their existing tools.

Here is some of the info about Python that is currently public:

There are hundreds of pages in the API docs (I wrote the doc generator) which will be going live with the UE4.20 release.

This adds extensive text based scripting functionality which also benefits SkookumScript.

Not sure what you are saying here. :thinking: SkookumScript also calls C++ - either hand coded for SkookumScript or direct calls to the UE4 C++ API.

Thanks for the interest in SkookumScript!


#6

Skookum has superior performance, proper lambda expressions, and a novel implementation of coroutines. In other words, overall, Skookum contains superior abstractions for real time interactive simulations. I am not worried about python as a competitor or any other language that I have studied.

Same for Skookum, however, any time you are creating your own abstractions using python data structures, you will be burdened by the python implementation that Unreal is using. That means that you will be beholden to the interpreter and garbage collector of python anywhere out side of ffi calls. Historically, most python implementations have been very slow, which is bad for game development. Skookum has been shown to be faster than lua, python is not a real competitor in regards to speed.


#7

Hi Noolarch,

With the new Python integration, it’s possible to extend the editor? I mean, things like creating new windows, custom blueprint nodes, etc?


#8

That is the idea. :madsci:

It is initially hooked up to the same classes and functions exposed to Blueprints - specifically the ones that work for the editor (“Blutilities”).

A bunch of new routines were hooked up to scripting at the same time that will work for Blueprints, SkookumScript and Python. I’ve hooked up probably hundreds of new functions.

It will get more powerful when functions are hooked up to specifically do cool editor features. That area is still far from fully covered.

Some new stuff will come in UE4.20 and more will come in the future.