Welcome to SurgeScript!
=======================

Surge

Unleash your creativity!
------------------------

SurgeScript is a scripting language for games. Use it to unleash your creativity and build your own amazing interactive content! It's such a joy to use SurgeScript! You will love it!

[![Download](img/download.png)](/download) [![Donate to the project](img/donate.png)](http://opensurge2d.org/contribute)

How do I learn SurgeScript?
---------------------------

Check out the [SurgeScript Crash Course](/tutorials/hello)! Also take a look on the [video tutorials](https://youtube.com/alemart88) and on the examples folder that comes with the software.

SurgeScript in a nutshell
-------------------------

SurgeScript is:

* A scripting language for games
* Easy for beginners, powerful for experts
* Object-oriented, dynamically typed and based on state machines
* Free and open-source software
* Built in C, which is nearly universal
* Named after a really charismatic character: [Surge the Rabbit](http://opensurge2d.org)!
* A programming language that lets you tag objects with emoticons ;)

Why use SurgeScript?
--------------------

Unlike other programming languages, SurgeScript has been designed with the specific needs of games in mind. Its features include:

- The state-machine pattern: objects are state machines, making it easy to create in-game entities
- The composition approach: you may design complex objects and behaviors by means of composition
- The hierarchy system: objects have a parent and may have children, in a tree-like structure
- The game loop: it's defined implicitly
- Automatic garbage collection, object tagging and more!

SurgeScript is meant to be used in games and in interactive applications. It's easy to integrate it into existing code, it's easy to extend, it features a C-like syntax, and it's free and open-source software.

SurgeScript has been designed based on the experience of its developer dealing with game engines, applications related to computer graphics and so on. Some of the best practices have been incorporated into the language itself, making things really easy for developers and modders.

Who created SurgeScript?
------------------------

SurgeScript has been created by [Alexandre Martins](https://github.com/alemart), a computer scientist from Brazil. He has also created the [Open Surge game engine](http://opensurge2d.org), hence the name SurgeScript.
