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.


#9
  • more demos and examples
  • workflow improvements

Great to hear. The examples we have already helped me a lot (intro tutorial in the IDE, Fire bots and specially the Skookum Butterflies demo). But more examples to dig into will be much appreciated. Specially stuff I (and probably other users) will have to figure out a way to do for basic character gameplay, like camera system, quests, NPC AI (both foes and sidekicks), weather system etc etc.


#10

Hi Noolarch,
Speaking of new releases, is there an ETA for a 4.20 compatible SK plugin?


#11

We are working on a UE4.20 update right now.

It should be pretty soon.

We will do it in two passes: first an update so things can just run and a second update that takes advantage of a bunch of new text-based scripting features.


#12

I’ve been refreshing this thread, waiting for news on 4.20 update every few hours last week. (no pressure :smile:)


#13

They will most likely post the news of a new release on a separate thread, as they usually do.


#14

Python + SK sounds pretty exciting.
While I do understand that the industry better understands Python, I personally would not have made the decision to bring Python (from SK point of view). To me, it seems a conflict of interest. At SOME point, someone is going to say… hey why not add python to game code… and of course someone else will say, “Hey, I finally did it”… and then all the sudden, all the impetus to move to SK will be harmed by that.

Overall, I don’t see the gain from AGOG’s point of view to work on Python OVER SK at this critical point.
Shouldn’t you be explaining to them that “YES, Python is good… BUT here’s what you can do with SK for the Editor???”

Well, it is too late now! heh… I hope that SK integration starts to take precedence as soon as possible.
I do like the idea of Editor Scripting, but I don’t quite get why you guys would be willing to do Python when there’s literally thousands of other folks who can do that for Unreal, and hardly anyone who can write the SK side of things right now.

Oh well: Either way, I am interested in it. I just hope it doesn’t result in harming SK down the road.
BTW, did Python get movedfrom 4.20 to the next release (Did not see it in 4.20).
I it is “Experimental” as far as I can tell.


#15

I think we’re all a bit worried about SK, I personally think it’s THE language for gamedev scripting.

Can’t imagine a better technology for writing AI and strongly typing your game data.


#16

I think that python will only be for editor programming, if that is the case, it will not be a competitor since it cannot be used for actual game programming.


#17

Python was attached to the UE4 Editor because:

Many VFX studios have huge pre-existing Python toolchains and libraries. Changing them to use SkookumScript was not going to happen in any short period of time. Co-existing would be the first step.

However as pointed out:

Epic has no plans or desire to use Python in UE4 runtime. That was an important consideration with respect to SkookumScript.

We are definitely having these conversations. We’ve been working closely with Epic about the future of SkookumScript and will have some interesting updates soon. :madsci:


#18

Oh, this sounds very interesting you guys have something really nice cooking underneath. I may have a new project starting SOON as well and whatever it happens, will affect my project. How soon is soon? Is it like few days or weeks? I really can’t wait. ^^

Besides, is it possible what we can expect from the talk? I suppose it won’t hurt to share some plans as there isn’t anyone who is competing with SK.

If it’s difficult to talk about it, is it one of the followings?

  1. Epic will make some sorts of investment in SK and SK will continue the development, hopefully, faster than before.

  2. Epic will acquire SK and SK will evolve into something else. Of course, SK will play big parts in the evolvement.

I’ll be happy to either way but something needs to happen soon before the project goes into full production.

Cheers!


#19

It is hard to put a timeline on it, though I expect that we can discuss the details in one to three months (being cautious).

If we can say anything sooner, we’ll let you know.