Announcement

Collapse
No announcement yet.

SkookumScript Plug-in

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • SkookumScript Plug-in



    SkookumScript is a text-based programming language for creating performance-critical, real-time gameplay and it now is available as a free turn-key plugin for UE4.

    For its contribution to the UE4 ecosystem SkookumScript was awarded an Unreal Development Grant by Epic Games.

    It comes with a powerful tool suite and command console that immediately revolutionizes your workflow at any stage of development by enabling you to query/manipulate *any* UE4 game as it runs on a desktop, console or mobile device - even projects not coded in SkookumScript.

    SkookumScript has key game concepts such as concurrency built-in, full integration with Blueprints (instant creation/modification/live update of powerful custom nodes) and a C++ API. It enables live code changes and remote debugging on any platform, allowing near-instantaneous turnaround and rapid evolution from idea to polished product. SkookumScript painlessly scales with teams/content and adds value to shipped games by facilitating downloadable content, mods, add-ons and patches.

    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 with just a few lines of code.

    Battle-tested in the game industry trenches on AAA titles such as Sleeping Dogs, Sleeping Dogs: Definitive Edition and the massively multiplayer Triad Wars, SkookumScript is lovingly crafted by a team of veteran game developer mad scientists dedicated to filling your development experience with cackles of megalomaniacal glee.

    Price
    • Standard version - free! (make entire games from start to ship - no crippled language features)
    • Pro SkookumIDE - $200 USD per seat (includes extra debugging features and can be mixed with Standard version - generally used by indies)
    • Project license - $varies per project (includes runtime source, Pro SkookumIDE for whole team, extra support - generally used by studios)


    See pricing for more info.

    More Info

    If you are interested in more information and updates, check out the SkookumScript forum directly (or use this UE4 forum thread).
    You can also see the SkookumScript UE4 landing page, the SkookumScript UE4 wiki page and SkookumScript UE4 blog posts.

    The SkookumScript Unreal 4 plug-in is based in-part on the script plug-in work by Robert Manuszewski and other contributors.

    Enough talk, give it to me!

    Last edited by Noolarch; 04-27-2016, 03:07 PM. Reason: Listed on the Marketplace
    Conan Reis | CEO / Chief Mad Computer Scientist
    Agog Labs Inc. - Better coding through mad science
    Marketplace: SkookumScript UE4 Text-based Scripting
    Forums: Skookum | UE4
    Unreal Dev Grant Recipient
    @SkookumScript

  • #2
    Glad to see you're making good progress with this, Conan.

    Looking forward to the upcoming release!
    Gerke Max Preussner | Sr. Engine Programmer | Epic Games

    Follow me on Blog | Delicious | Github | Goodreads | Linkedin | Pinterest | SlideShare | Twitter.
    Chat with me as 'gmpreussner' in #unrealengine on FreeNode IRC, or on UnrealSlackers.

    Comment


    • #3
      ... gameplay specific features that are found in no other language
      Could you show us some examples?


      There will be a free version anyone can use to make all the gameplay logic from start to ship for a full project and a very affordable pro version with more “bells and whistles”.
      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.

      Comment


      • #4
        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?

        Comment


        • #5
          Originally posted by HavocX View Post
          Can you tell us anything about when a first release can be expected?
          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.


          Originally posted by HavocX View Post
          What price range can we expect for the full version of the IE4 integration?
          Internet Explorer 4? Never!

          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.
          Last edited by Noolarch; 08-21-2014, 04:07 PM.
          Conan Reis | CEO / Chief Mad Computer Scientist
          Agog Labs Inc. - Better coding through mad science
          Marketplace: SkookumScript UE4 Text-based Scripting
          Forums: Skookum | UE4
          Unreal Dev Grant Recipient
          @SkookumScript

          Comment


          • #6
            Originally posted by maikklein View Post
            Could you show us some examples? [Of gameplay features]
            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*.]
            Conan Reis | CEO / Chief Mad Computer Scientist
            Agog Labs Inc. - Better coding through mad science
            Marketplace: SkookumScript UE4 Text-based Scripting
            Forums: Skookum | UE4
            Unreal Dev Grant Recipient
            @SkookumScript

            Comment


            • #7
              Originally posted by maikklein View Post
              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?
              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.
              Last edited by Noolarch; 08-19-2014, 03:18 AM.
              Conan Reis | CEO / Chief Mad Computer Scientist
              Agog Labs Inc. - Better coding through mad science
              Marketplace: SkookumScript UE4 Text-based Scripting
              Forums: Skookum | UE4
              Unreal Dev Grant Recipient
              @SkookumScript

              Comment


              • #8
                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.

                Comment


                • #9
                  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?

                  Comment


                  • #10
                    Originally posted by Noolarch View Post
                    We expect that the SkookumScript game runtime will be *mostly* the same between the 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.
                    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?

                    Comment


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

                      Comment


                      • #12
                        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.]
                        Conan Reis | CEO / Chief Mad Computer Scientist
                        Agog Labs Inc. - Better coding through mad science
                        Marketplace: SkookumScript UE4 Text-based Scripting
                        Forums: Skookum | UE4
                        Unreal Dev Grant Recipient
                        @SkookumScript

                        Comment


                        • #13
                          Originally posted by Noolarch View Post
                          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

                          Really looking forward to this plugin.

                          Comment


                          • #14
                            Originally posted by HavocX View Post
                            How is this supposed to work with mixed free and pro versions?
                            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.
                            Last edited by Noolarch; 08-20-2014, 06:06 PM.
                            Conan Reis | CEO / Chief Mad Computer Scientist
                            Agog Labs Inc. - Better coding through mad science
                            Marketplace: SkookumScript UE4 Text-based Scripting
                            Forums: Skookum | UE4
                            Unreal Dev Grant Recipient
                            @SkookumScript

                            Comment


                            • #15
                              Originally posted by Anadin View Post
                              Pretty interesting, do the IDE and tools come in OS X flavour?
                              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 (TM).

                              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.
                              Last edited by Noolarch; 08-04-2014, 07:21 PM. Reason: added clarification
                              Conan Reis | CEO / Chief Mad Computer Scientist
                              Agog Labs Inc. - Better coding through mad science
                              Marketplace: SkookumScript UE4 Text-based Scripting
                              Forums: Skookum | UE4
                              Unreal Dev Grant Recipient
                              @SkookumScript

                              Comment

                              Working...
                              X