Quick news
2016-09-20: SGScript 1.4.1 is released (with SGS.NET - bindings for .NET 2.0+)! Please see the change log for details.
2016-09-02: SGScript 1.4.0 is released! Please see the change log for details.
2016-01-21: SGScript 1.0.4 is released! Please see the change log for details.
What is SGScript?
foreach( line : td_lines )
{
    line = string_trim( line );
    if( !line )
        continue;
    
    cw = 0;
    numbers = string_explode( line, " " );
    solidarray = [];
    foreach( number : numbers )
    {
        number = string_trim( number );
        if( !number )
            continue;
        number = toint( number );
        if( number >= 0 )
        {
            vnum = toint( number / 10 );
            hnum = toint( number % 10 );
            solidarray.push( vnum == 1 );
            World.tm_base.set( cw, height, hnum, vnum,
                if( vnum == 1, tcolor2, tcolor ) );
        }
        else
            solidarray.push( true );
        cw++;
    }
    
    width = max( width, cw );
    height++;
    wallrows.push( solidarray );
}

SGScript is a scripting language. Similar to many others, yet designed to be more feature-complete, modular and extensible while remaining high on performance and low on memory usage.

Why use SGScript?
  • It's easy to learn. Other languages have all sorts of complex things to know to use them efficiently. This language is designed to minimize the amount of special knowledge required to handle it.
  • Native extensions. There is no limit to what can be done as it's possible to easily set up interfaces with C/C++/... code.
  • Maximum compatibility. It is possible to attach the library in multiple ways, from copying source files into your project to loading a dynamic library.
  • Thoroughly tested systems. SGScript has lots of add-ons developed locally so nearly every feature is tested in various ways before reaching users.
  • Performance and memory efficiency. In SGScript, what you define is exactly what you get, no more, no less. I consider it very important that no disabled feature should ever use the available resources, as often as possible.
  • It's free! According to the license, you can use it even for commercial products, the only condition is that you have to add a note somewhere that says you use the software.
What about the name?

It stuck from some other project. Now, it has little meaning in itself, though it does provide two letters for your own idea about what SG really means. I've yet to find a Somewhat Good idea myself.

Documentation

Download

Source code
Executables ( show debug builds)
Operating systemArchitectureBuild typeVersionDownloadSize
Windowsx86release1.4.1sgscript-1.4.1-windows-x86-release.zip861.67 KB
Windowsx64releasesgscript-1.4.1-windows-x64-release.zip948.82 KB
Windowsx86debugsgscript-1.4.1-windows-x86-debug.zip1,136.6 KB
Windowsx64debugsgscript-1.4.1-windows-x64-debug.zip1,254.54 KB
Mac OS Xx86releasesgscript-1.4.1-osx-x86-release.zip305.65 KB
Mac OS Xx64releasesgscript-1.4.1-osx-x64-release.zip304.19 KB
Mac OS Xx86debugsgscript-1.4.1-osx-x86-debug.zip502.04 KB
Mac OS Xx64debugsgscript-1.4.1-osx-x64-debug.zip474.21 KB
Linuxx86releasesgscript-1.4.1-linux-x86-release.tar.gz378.48 KB
Linuxx64releasesgscript-1.4.1-linux-x64-release.tar.gz341.73 KB
Linuxx86debugsgscript-1.4.1-linux-x86-debug.tar.gz517.38 KB
Linuxx64debugsgscript-1.4.1-linux-x64-debug.tar.gz520.53 KB
Windowsx86release1.4.0sgscript-1.4.0-windows-x86-release.zip801.96 KB
Windowsx64releasesgscript-1.4.0-windows-x64-release.zip889.39 KB
Windowsx86debugsgscript-1.4.0-windows-x86-debug.zip1,068.85 KB
Windowsx64debugsgscript-1.4.0-windows-x64-debug.zip1,186.38 KB
Mac OS Xx86releasesgscript-1.4.0-osx-x86-release.zip305.15 KB
Mac OS Xx64releasesgscript-1.4.0-osx-x64-release.zip303.84 KB
Mac OS Xx86debugsgscript-1.4.0-osx-x86-debug.zip501.35 KB
Mac OS Xx64debugsgscript-1.4.0-osx-x64-debug.zip473.28 KB
Linuxx86releasesgscript-1.4.0-linux-x86-release.tar.gz378.28 KB
Linuxx64releasesgscript-1.4.0-linux-x64-release.tar.gz341.31 KB
Linuxx86debugsgscript-1.4.0-linux-x86-debug.tar.gz516.87 KB
Linuxx64debugsgscript-1.4.0-linux-x64-debug.tar.gz519.93 KB
Windowsx86release1.0.4sgscript_1.0.4_windows-x86-release.zip843.08 KB
Windowsx64releasesgscript_1.0.4_windows-x64-release.zip934.5 KB
Windowsx86debugsgscript_1.0.4_windows-x86-debug.zip1,013.64 KB
Windowsx64debugsgscript_1.0.4_windows-x64-debug.zip1,130.35 KB
Mac OS Xx86releasesgscript_1.0.4_osx-x86-release.zip285.56 KB
Mac OS Xx64releasesgscript_1.0.4_osx-x64-release.zip278.24 KB
Mac OS Xx86debugsgscript_1.0.4_osx-x86-debug.zip463.02 KB
Mac OS Xx64debugsgscript_1.0.4_osx-x64-debug.zip438 KB
Linuxx86releasesgscript_1.0.4_linux-x86-release.tar.gz347.92 KB
Linuxx64releasesgscript_1.0.4_linux-x64-release.tar.gz341.17 KB
Linuxx86debugsgscript_1.0.4_linux-x86-debug.tar.gz467.16 KB
Linuxx64debugsgscript_1.0.4_linux-x64-debug.tar.gz474.24 KB

Extensions

Execution environments / engines / frameworks
  • sgs-sdl
  • SGScript/SDL2 media framework (includes graphics & audio libraries, Box2D, Bullet)
  • Github repo .zip
Plug-in libraries
  • sgs-ui
  • SGScript UI library (currently only for sgs-sdl)
  • Github repo .zip
Scripts
  • gamefw
  • SGScript Game Framework
  • Pastebin code
  • part. sys. 2D
  • SGScript Particle System for 2D graphics
  • Pastebin code

License

SGScript is licensed under the terms of MIT license reproduced here

Copyright (c) 2012-2016 Arvīds Kokins

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Contact