New to unreal and skookum


#1

Hi everyone.

Im moving over to unreal from unity engine, so i have no experience with c++ or blueprints just some basic c#. I was going to just do everything in c++ but then i came across skookum in the market place.
My question is how much more simple is it? And does it loose any functionality because of simplicity?

Regards
Lima


#2

I have been building a game for about 10-15 hours a week after my day job for about 1.5 years now, and I would strongly recommend you start with learning Blueprints before you add the complexity of C++ or SkookumScript. I am just now learning Sk, but I can tell already that the way it hooks into the workflow in UE would have made no sense to me a year ago. There’s a lot going on behind the scenes, and you will have to know where different parts of UE get executed to figure out how Sk bolts into it. You’ll also need to know the class schema before you can replace C++ or BP code with Sk. BP’s are capable of doing entire games, so use them to learn UE.

My personal opinion is that Sk is an extremely compact, very expressive language which augments visual programming with text-based coding. As a long time programmer who has used 20 different languages, I just don’t enjoy visual programming. It takes me longer to wire up the building blocks than to simply type in C++ code. That’s what drew me to Sk. It’s kind of in between in that it’s easy to prototype like the BP’s without the complexity of compiling C++. The fact that Sk can change code while the game is running means the iterative debugging process is way faster too. I don’t know yet how much code will move from C++ to Sk, but I do know that a huge amount of the code in my BPs is getting moved to Sk because bunches of blocks will condense down to a few lines of code in Sk plus debugging is a breeze in comparison to BP debugging.

I’ve just been looking at Sk for about 4-5 hours over the last week, so take my comments with a grain of salt. I may run into a big, hairy monster as I dig deeper, but right now, I feel like I’m picking up this language more quickly than I learned C, C++, VB, or C#. That tells me it is a well designed language. In terms of functionality, I’m finding that it encapsulates a lot of the complexity of UE programming and lets me focus on writing the game. I’m a one-person programming team building a game with a 200+ page design doc, and I’m expecting Sk to streamline my workflow very significantly.

That’s a long reply to a short question, but hopefully it helps you decide where best to spend your time learning UE.


#3

Great answer by @Datawrangler above.

SkookumScript is much simpler than C++. Certain types of tasks are much easier to create in SkookumScript than C++ - particularly high-level tasks. This includes essentially the gameplay or stage-direction aspect of game development: AI, game mechanics, stories, missions, automation, etc. Concurrency (the interaction of several things operating in the same time frame) is several orders of magnitude easier in SkookumScript and there are other game concepts built right into the language.

SkookumScript also has the SkookumIDE and custom UE4 editor and runtime plugins which facilitate realtime commands and modifications. This can hugely positively impact your iteration speed and workflow.

SkookumScript is simple to use because it is optimized for high-level use. It is in no way dumbed down so that it is less powerful at this level.

However, C++ is better at many lower-level tasks such as number crunching and pushing out polygons in rendering systems. SkookumScript itself is written in C++ and we are big fans of C++. Fortunately most of the C++ for low-level systems that most people need is already written in the Unreal Engine and the SkookumScript internals.

Both SkookumScript, C++ and UE4 Blueprints are all great tools. They are each better and worse at different things just like a hammer and a chisel are better and worse for different carpentry tasks. It is less a question of functionality and more the trick of knowing which tool is best for a given job.

At the same time, SkookumScript is designed to work in tandem with these other tools so that you can pick the best tool for a given job. So when it makes sense to write some low-level C++ code it is easy to call it from SkookumScript and for it to call SkookumScript. Same goes with SkookumScript and UE4 Blueprints.

The biggest current limitation of SkookumScript is that it is light on documentation. Some docs, tutorials and examples exist though nowhere near to the level that would be best.

That being said, we know of several people that have picked up SkookumScript within a couple of weeks with no previous coding experience. People with existing coding experience can usually pick it up in a day or three though they may find SkookumScript unique/unusual in some areas.

Even if you aren’t using SkookumScript to make the core of your gameplay from day one, I recommend that you use the SkookumIDE and its console and its workspace (also known as a REPL - read, evaluate, print loop) to run commands live while your project is running. This is a benefit from day one and will help you pick it up at your own pace. You can then add in bits and pieces of SkookumScript gameplay as your mastery grows.

Good luck and post any questions you may have here in this forum and we’ll do what we can to help.