DF-21 Forums Forum Index DF-21 Forums
The Dark Forces Community
 
DF-21.net Home | FAQ | Search | Memberlist  | Register 
Profile | Log in to check your private messages | Log in

DarkXL Scripting

 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    DF-21 Forums Forum Index -> DarkXL News
View previous topic :: View next topic  
Author Message
lucius
DarkXL Developer
DarkXL Developer

Joined: 17 Feb 2008

PostPosted: Jan 10, 2011 20:31    Post subject: DarkXL Scripting View user's profile Send private message Send e-mail Reply with quote

As you may know already, DarkXL has supported scripting for Logics for a while now and I've recently talked about the weapon scripting on the blog. However I've been making enhancements and have plans for the scripting system, which is one of the reasons why the Beta isn't out yet. But the changes will help the project in the long-term, especially when it comes to Outlaws and Blood support.

If you're not familiar with the Weapon Scripting, read the blog post about it.

*Script hot-reloading. Scripts can be modified and then reloaded on the fly without restarting DarkXL using the in-game console. This means that you can immediately see the results of script modifications at runtime, which is very useful for things like weapons and UI (see below).

*I've just put in support for the #include directive. This is a little different then includes in C, functions and global variables do not need to be forward declared. Includes for the script system, instead, add script files to the entry point script file on load. This does allow include files that contain constants and global variables. But it also allows you to include additional script files - the engine loads the "entry point" file (such as CoreWeapons.as) and then adds additional files as the includes are processed. This has allowed me to split up the weapon scripts into the "main file"/entry point, an include file with all the constants and a separate file per weapon, so that the code can be more organized.

*UI scripts: UI is being moved over to scripts. This will have the benefit of the hot-reloading so that UI pages can quickly and easily be put together and modified.

*Game flow scripts: The high level game flow, which is generally pretty simple, will also be scripted. This controls how to go from screen to screen as well as how screens/dialogs are accessed and layered. It also controls things like what happens after you run out of lives or complete a level.

*After the Beta is released, the remaining "C++" based logics will be moved over to the Core Logics scripts. While most of the logics are already scripted - including all the AI - there are a few that need to be moved over, mostly the projectile logics. This means that all enemies, "NPCs" - (things that move but don't attack the player), items, powerups, projectiles and interactive objects (i.e. things like lights that you can destroy) will be scripted and editable without changing the engine or game code.


The code is being reorganized not only to make things like weapons and UI more data driven and easier to work with but also to make supporting multiple games easier and cleaner. In addition to increasing the overall moddability of DarkXL (and thus Dark Forces, Outlaws and Blood). Mods will be able to make custom enemies, NPCs, items, interactive objects, powerups, weapons, custom UI and even control the game flow - all without changing the core engine or game code.

_________________
DarkXL....http://darkxl.wordpress.com

joel96
Ree-Yees

Joined: 31 Jan 2010

PostPosted: Jan 10, 2011 22:45    Post subject: View user's profile Send private message Reply with quote

Awesome, I can't wait for the full release, but the user customization sounds even more exciting! I especially like the idea of UI improvements. I can see people using that to make mission briefings.

_________________
Yes, I am that joeybuddy96.

tnoyce
Ree-Yees

Joined: 20 Sep 2009

PostPosted: Jan 11, 2011 01:50    Post subject: Scripting Logic View user's profile Send private message Reply with quote

Lucius my man,

What can I say? You rock!

Sounds like things are all moving in the right direction.

_________________
Tim Noyce

waxonator
Ree-Yees

Joined: 19 Sep 2009

PostPosted: Jan 11, 2011 03:05    Post subject: View user's profile Send private message Reply with quote

So can you make your own FPSs with this engine now?

lucius
DarkXL Developer
DarkXL Developer

Joined: 17 Feb 2008

PostPosted: Jan 11, 2011 04:20    Post subject: View user's profile Send private message Send e-mail Reply with quote

waxonator wrote:
So can you make your own FPSs with this engine now?

With the build following the Beta, you will be able to create your own game scripts and dlls and DarkXL will detect them and automatically add them to the list of games you can choose on startup.

_________________
DarkXL....http://darkxl.wordpress.com

Kurgan
Dianoga

Joined: 18 Nov 2010

PostPosted: Jan 21, 2011 23:05    Post subject: View user's profile Send private message Reply with quote

So, what's the good word?

_________________
(JA Server: 208.43.15.76:29070)

klasodeth
Trandoshan

Joined: 03 Mar 2008

PostPosted: Jan 28, 2011 06:18    Post subject: View user's profile Send private message Reply with quote

Last I heard, lucius hasn't had free time for hobby projects lately. Once life settles down again, he'll be able to make the final push to beta.

Kurgan
Dianoga

Joined: 18 Nov 2010

PostPosted: Jan 28, 2011 14:18    Post subject: View user's profile Send private message Reply with quote

Ah, I see. Thanks for the update.

_________________
(JA Server: 208.43.15.76:29070)

Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    DF-21 Forums Forum Index -> DarkXL News All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group