User Tools

Site Tools


dragengine:modules:dragonscript:newprojext

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 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 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. 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. 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.

You could leave a comment if you were logged in.
dragengine/modules/dragonscript/newprojext.txt · Last modified: 2024/03/14 16:58 by dragonlord