Skip to main content

New Projects

Project Types

The Engine has built-in support for Lua scripting, which enables you to write logic without writing a line of C++ code, as well as the ability to extend the Engine's C++ built-in objects. You can also write logic in C++, extending the functionality provided by the Engine's logical layer framework.

Creating New Script Projects

See Project in Get to Know the Flexi Editor.

Creating New C++ Projects

The structure of the current C++ template is separating the Engine from the project, while merging the project internal source code, binary and resources, the general structure is as follows:

 Project Directory:

​ bin

  res

  script

   source

   xxx.projectinfo

Considering the authority management of each type of developers, the project can be adjusted into the following structure after getting the SDK of the Engine:

Project Directory:

00_engine

​ include

​ lib

    source

    extern

01_program

02_config

​ 00_engine

​ standalone

​ unique_editor

​ unique_engine

​ windows

​ debug_md_vs2015x64

​ release_md_vs2015x64

​ tools

​ 01_client

​ 03_res

xxx.projectinfo

Then adjust the configuration in xxx.projectinfo, projectinfo is configured in the following format:

[Engine]

; Engine Type

EngineType=DX11

; The Engine version number when created

Version=18692

; Project Preview Path

ShootPath=

[Project]

; Binary Directory(relative to.projectinfo)

BinaryPath=bin\windows

; Script Directory(relative to.projectinfo)

ScriptPath=script

; Configure Directory(relative to.projectinfo)

ConfigPath=config

; Resource Directory(relative to.projectinfo)

ResourcePath=res

; The project needs to load the DLL configuration(relative to ConfigPath)

ProjectConfig=project.ini

; Global Effect Configuration Path(relative to.projectinfo)

Quality=content/quality/quality.setting

; Plugin Path(relative to.projectinfo)

PluginPath=plugins

EnabledPlugins=

; Project Source Code Path(relative to.projectinfo)

Source=source

[NeedRegisterPaths]

; Need Register Paths, after registration, obtain through ICore::GetRegisteredPath(path_name)

cache=cache

game_bin=bin\windows

game_script=script

game_config=config

game_plugin=plugins

Project DLL Loading Configurations

You can modify config\project.ini in the Project Directory to configure the project DLL that needs to be loaded.

Example:

[Module]

fx_game.dll

The debug version of the project DLL should be generated in the Project Directory under bin\windows\debug_md_vs2015x64. The release version DLL should be generated in the Project Directory under bin\windows\release_md_vs2015x64. The Engine will automatically load the project DLL in the corresponding directory based on whether the current fx_main.exe is debug version or release version (base on the path where fx_main.exe is stored).