Questions about Skookum Script


#1
  1. I can code in other language than C++ on Skookum for UE4?
  2. Where I can learn Skookum C++ and C++ from scratch to master it, I already know the basics.
  3. Where I can learn Skookum IDE from 0 to 100
  4. How will this help my workflow?
  5. Why do they claim to be a programming language if its run under C++?
  6. Do I can do a complete aaa quality only using Skookum and BP?

Thank you!


#2

There are many languages that can be integrated into C++.

Though they would have to be hooked into the UE4 API, the SkookumScript API or both. UE4 is a sophisticated beast and integration is not a trivial task. :madsci: The main question is what does some other language bring to the table?

The main justification that I can think of is binding some pre-existing library not available in C++, :sk:, or Blueprints. It is generally a good idea to use the language best suited for a task - taking into consideration all the other constraints such as performance, memory, existing experience, time, and so on.

SkookumScript, C++ and Blueprints are a powerful combination and each covers their respective areas of constraint very well.

Using a tool is the only way to master it. Get a copy of SkookumScript then build things and experiment.

Take a look at the documentation and tutorials, run all the example commands in the workspace, and try to wrap your head around the syntax. Also check out the :sk: UE4 plugin docs. Much of the docs are still in the process of being created so please post questions as you have done here on the forum when you need help.

Look at the example scripts in the SkookumDemo and the Butterfly demo.

More simple and more sophisticated SkookumScript examples are coming.

I have been using C++ daily for the past two decades and I am still learning and improving my mastery of it. Keep on using and studying it. Unreal Engine 4 helpfully comes with all its C++ source so that is a great set of examples - though its size can be daunting.

Same answer as 2 - play around with it. Right click on everything.

See the basic SkookumIDE docs for some info - particularly the workspace. The workspace can be used to send over quick script command snippets while your game is running live. It is quite useful even if your game logic isn’t written with SkookumScript.

SkookumScript makes your workflow:

  • faster: near instantaneous turn-around and helps keep you in flow. Changes can be made in realtime on live running games. Compile times are lightning fast. The SkookumIDE console allows you to test and evolve up routines a bit at a time and progressively polish them with immediate feedback.
  • fit the limited resources of our brain: we melt our brains so you don’t have to. It is much more concise, easy to learn and follow. SkookumScript does as much as the bookkeeping aspects of coding as it can to free up more mental energy for interesting content. There are extensive error messages with detailed descriptions and suggestions for remedies. Light coders who may have depended entirely on other more veteran coders can now see their ideas in action directly.
  • more seamless across the entire workflow context: changes in the world editor are reflected in the SkookumScript code and SkookumIDE and changes in SkookumScript code and SkookumIDE are reflected in the world editor. Whenever possible these changes and history are reflected and added to auto-completion and prediction in realtime.
  • better and more sophisticated content: It has built-in constructs such as concurrency that allows you to transfer your ideas as-is without needing to contort them to computer-ese.
  • scale to the team and the project: SkookumScript has considerable evolution and battle-testing behind it and performs as well when the project is small as when the project is big. Likewise it adapts well to an every increasing team environment making it easy to share ideas and not bump elbows.
  • draw more fully from your potential: the freedom and power SkookumScript provides leads you to think differently and have ideas you wouldn’t have otherwise had leading to an even more awesome end product.

This is really the most important question about SkookumScript.

You can achieve the same end result in many languages - one of the main differentiators is the quality and speed of workflow for a particular task. SkookumScript excels over other languages in the area of gameplay development workflow - AI, missions, interactivity.

Many languages are written with other languages. Only languages that are bootstrapped have no host language. Writing new software development tools “from the metal” without using another host system (especially initially) is rare and in many cases impractical.

SkookumScript is a domain-specific language which is called at runtime by the C++ host environment. SkookumScript evolved on large AAA console titles that were all written in C++ - which is very common in the video game industry for consoles and Windows PC. C++ is also the language used to write UE4 which is of great advantage to the integration of :sk: into :ue4:.

Yes. Very likely depending on the specifics of the title.

More than a thousand classes and thousands of routines are available and their number continues to expand.

And if something is missing now, many other code plug-ins have been created or are in the process of being created all the time by people from all over that extend the capabilities of :ue4: + :sk:. If there ever seems to be a capability gap then it is very likely that will be taken as an opportunity and quickly be address with new plugins and tech.

If a title depends on tech that is not yet supported - such as a new peripheral (the smell-o-tron 5000) - then you would have to wait for Epic Games or a third party to add support. Or you would have to write the support yourself - likely in C++.