Quick news
2014-07-21: Blog is online. It will contain articles about the design of SGScript and various use cases!
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.

Download

Source code
Executables ( show debug builds)
Operating systemArchitectureBuild typeVersionDownloadSize
Windowsx86release0.9.5windows-x86-release_0.9.5.zip727.93 KB
Windowsx64releasewindows-x64-release_0.9.5.zip819.88 KB
Windowsx86debugwindows-x86-debug_0.9.5.zip884.39 KB
Windowsx64debugwindows-x64-debug_0.9.5.zip994.95 KB
Mac OS Xx86releaseosx-x86-release_0.9.5.zip218.27 KB
Mac OS Xx64releaseosx-x64-release_0.9.5.zip216.7 KB
Mac OS Xx86debugosx-x86-debug_0.9.5.zip354.95 KB
Mac OS Xx64debugosx-x64-debug_0.9.5.zip335.66 KB
Linuxx86releaselinux-x86-release_0.9.5.tar.gz275.72 KB
Linuxx64releaselinux-x64-release_0.9.5.tar.gz270.51 KB
Linuxx86debuglinux-x86-debug_0.9.5.tar.gz380.83 KB
Linuxx64debuglinux-x64-debug_0.9.5.tar.gz388.85 KB
Windowsx86release0.9.0windows-x86-release_0.9.0.zip692.34 KB
Windowsx64releasewindows-x64-release_0.9.0.zip791.66 KB
Windowsx86debugwindows-x86-debug_0.9.0.zip816.63 KB
Windowsx64debugwindows-x64-debug_0.9.0.zip926.24 KB
Linuxx86releaselinux-x86-release_0.9.0.tar.gz219.8 KB
Linuxx64releaselinux-x64-release_0.9.0.tar.gz216.21 KB
Linuxx86debuglinux-x86-debug_0.9.0.tar.gz329.16 KB
Linuxx64debuglinux-x64-debug_0.9.0.tar.gz340.1 KB

Extensions

Execution environments / engines / frameworks
  • sgs-sdl
  • SGScript/SDL2 graphics framework
  • Github repo .zip
Plug-in libraries
  • sgs-audio
  • SGScript/OpenAL audio library
  • Github repo .zip
  • sgs-box2d
  • Box2D library for SGScript
  • Github repo .zip
  • sgs-ui
  • SGScript UI library (currently only for sgs-sdl)
  • Github repo .zip
  • sgs-zlib
  • zlib library for SGScript
  • 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-2014 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