{{tag>module scripting dragonscript}} [[:start|Start Page]] >> **DragonScript Script Module** ====== DragonScript ====== DragonScript is a general purpose scripting language with a set of modules developed specifically for writing games. Its design was driven by the following guidelines: * Simple syntax with little amount of keywords and quick to type * Strongly typed * Fully object oriented (Integer is an object albeit optimized) * Easy integration into C++ based projects (no C-style wrapping hacks and no singleton hacks) * Strict forward parsing (no look-ahead nor looking back so well suited for compile-on-streaming) * Block support with closure (no invisible class hacks or complicated functors or lambda expressions) * Transparent support for native functions Information about the APIs can be found here: [[api|DragonScript API Documentation]] ====== Syntax ====== TODO ====== Visual Studio Code Extension ====== For Visual Studio Code there exists an Extension to do Syntax Highlighting. To install go to the "Extension Manager" in your Visual Studio Code and search for "dragonscript". The plugin is named "DragonScript Language Support". You can also look at the [[https://github.com/LordOfDragons/vscode-langext-dragonscript|extension source code]]. There you can also download the VSIX files in case you need to manually install it: * [[https://github.com/LordOfDragons/vscode-langext-dragonscript/releases/download/v1.0.0/dragonscript-language-support-1.0.0.vsix|dragonscript-language-support-1.0.0.vsix]] ====== API Documentation ====== * #@LinkApiDocDSLang_HTML~DragonScript Language API~@# * [[https://developer.dragondreams.ch/docs/dragonscript/scriptapi/latest|Drag[en]gine DragonScript Script API]] ====== Source Code ====== * [[https://github.com/LordOfDragons/dragonscript|GitHub Repository]] * [[https://github.com/LordOfDragons/dragonscript/releases/latest|Download: DragonScript Source Release (latest)]] ====== Getting Started ====== Wiki pages containing information on how to get started with using the DragonScript Script Module to create games with. For Drag[en]gine general topics see [[:gamedev|Game Development with the Drag[en]gine]]. * [[newproject|New Project]] * [[abstractions|Abstraction Layers: How you want to build your Game]] ====== Implementation Details ====== Wiki pages containing detailed implementation information about topics specific to DragonScript. For Drag[en]gine general topics see [[:gamedev|Game Development with the Drag[en]gine]]. * [[abstractions#behavior_elementsquick_and_easy_development|Behavior Elements]] * [[canvascreators|Canvas Creators]] * [[guitheme|Gui Themes]] * [[locomotion|Locomotion]] ====== Script Examples ====== Wiki pages outside the DragonScript area containing DragonScript example scripts. * [[gamedev:canvassystem:text|Canvas Text]] * [[gamedev:canvassystem:paint|Canvas Paint]] * [[gamedev:canvassystem:image|Canvas Image]] * [[gamedev:canvassystem:video|Canvas Video Player]] * [[gamedev:canvassystem:renderworld|Canvas Render World]] * [[gamedev:canvassystem:canvasview|Canvas Canvas View]] * [[gamedev:canvassystem:capture|Capture Canvas]] * [[gamedev:collisionfiltering|Collision Filtering]] * [[gamedev:smoothvalue|Smooth Values]] ====== Demo Projects ====== Included are also [[dragengine:modules:dragonscript|Demo Projects]] to look at scripts or using as starting base.