User Tools

Site Tools


dragengine:modules:dragonscript:newprejext

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

dragengine:modules:dragonscript:newprejext [2019/04/25 17:42] (current)
Line 1: Line 1:
 +<WRAP youarehere>​
 +[[:​start|Start Page]] >> [[dragengine:​modules:​dragonscript:​main|DragonScript Scripting Language]] >> **New Project**
 +</​WRAP>​
 +
 +
 +====== Overview ======
 +
 +The **DragonScript Scripting Module** allows you to create a Game Project based on the **DragonScript Language**.
 +
 +The scripts written for your game project run in one large **Script Environment**. You do not attach loose scripts to objects to provide functionality. Instead all scripts are compiled at once when the game is launched and your game project starts by instantiation a subclass of [[https://​dragengine.rptd.ch/​docs/​dragonscript/​scriptapi/​latest/​classDragengine_1_1Game.html|Game]] class. Hence this module is based on scripting in the first place with direct access to the game functionality underneath.
 +
 +Different abstraction layers are present to help developing a game project fast and agile. The different layers are discussed in further detail in [[dragengine:​modules:​dragonscript:​main#​implementation_details|Implementation Details]].
 +
 +Projects are based on a **Live File System** approach. All files used by the game project are located in pure form in the project directory. There is no need to import files into the editor as other game engines typically require. As such you can just replace files in the project directory and it just works. Files are uniquely referenced by their Unix type file path relative to the **Project Data Directory** as configurated in the project settings. An example file path could be "/​models/​player/​player.demodel"​.
 +
 +Project files are set up in a ways you can use programming revision systems like GIT on the entire project directory while using content revision systems on the game content without cluttering GIT. The default project structure looks like this:
 +  * **/cache** : Temporary files stored by the **Drag[en]gine IGDE** . This directory is excluded from GIT commits and can be safely deleted.
 +  * **/data** : Project content directory. All data underneath is distributed in a **DELGA File**.
 +  * **/​data/​content** : Project media content directory. It is recommended to have one directory for all media game content. This way you can exclude only this directory from GIT and store them in a content revision system of your choice.
 +  * **/​data/​scripts** : Directory containing all script files.
 +  * **/​data/​distribute** : Created when game projects are distributed. Holds created **DELGA Files** which are the distributables.
 +  * **/local** : Project configuration which is meaningful only for the local computer. This directory is excluded from GIT commits and overwrites revision project settings.
 +
 +
 +====== Step By Step Guide ======
 +
 +Run the **Drag[en]gine IGDE**. In the **Start-Up Dialog** click on **New Project**.
 +{{ :​dragengine:​modules:​dragonscript:​deigde_new_project.png |Start-Up Dialog}}
 +
 +
 +Fill in the information about your Game Project. Choose one of the **DragonScript** based **Project Template** as starting point. **Basic Project** is a good starting point providing an out-of-the box working project.
 +{{ :​dragengine:​modules:​dragonscript:​deigde_new_project_2.png |New Project Dialog}}
 +
 +
 +Click the **Create Game Project** button and your new game project is ready to work with.
 +
 +
 +====== Where To Go From Here ======
 +
 +The project is now already in a runnable state. If you want to you can switch to the **Distributor Editor** and do a **Test-Run** or create a **DELGA File** to get a distribution file.
  
dragengine/modules/dragonscript/newprejext.txt ยท Last modified: 2019/04/25 17:42 (external edit)