Jump to content

Skyrim Open Source Project Proposal - Merging SKSE and ScriptDragon


FierceSlayer

Recommended Posts

I would like to start a conversation about my desire to have a single community supported open source script extender with all the great functionality that SKSE and ScriptDragon currently have. I know this would have to be approved by the authors of both software packages, so this is an informal discussion. I looked through the forums and did not see this topic.

 

The benefits I see of having a single open source script extender project for Skyrim are:

 

1. Improved support: having a larger group of developers, testers, technical writers, volunteer support staff, and maybe even a project manager, quicker updates, centralized bug reporting and fixing

2. Improved documentation of all functions and features of the scripting engine

3. Simplified development of new mods/enhancements of existing mods: currently, as a new mod author I've had to go through the C++ code of both SKSE and the plugin examples in ScriptDragon to determine the functions I need to use for adding advanced functionality (which is not provided by Skyrim's scripting engine) to my mods. As an experienced software developer, this is not a big problem for me, but it would still save valuable time and effort. But I’m sure that there are aspiring modders that don’t have C++ development experience, having a well-documented and supported script extender API can ease the learning curve and make future mods better than they already are.

4. Simplified installation of advanced mods: some amazing mods like Immersive HUD require the installation of both SKSE and Script Dragon for full functionality.

5. Increased user base for mods that require script engine extensions: some users are reluctant to install mods that require 3rd party software to run. Having a single formalized open source script engine extender project for Skyrim would help increase the confidence level of some of those users, which should help the community grow and mature.

 

There are probably other benefits I have overlooked.

 

My questions to the community are:

1. Would you like to see a single open source script extender for Skyrim?

2. For those of you that have avoided using both SKSE and ScriptDragon, would having a community supported open source script extender give you the confidence use it.

 

I love the Skyrim modding community and want to see it continue to grow and prosper. I think that a single open source script extender is a step in the right direction. Please let me know your thoughts about this topic.

 

 

Regards,

 

FierceSlayer

Link to comment
Share on other sites

This is something I have wanted to see as well, just as a mod user. It is incredibly frustrating when I find a mod I want to play, but need even more augmentation only allow a novice like me to play. It is daunting installing so many functions and although the payout is satisfying it can be tedious just searching all over for current editions of files. Files needed to play other files. Many files rely on programs that need constant updating. I for one (or for two) would indeed like to see ANY of these kinds of things merged. In a perfect world, I see downloading only 2 files to help me enjoy mods: Nexus mod manager for downloading installing, and the propsed idea for all the scripting that most of have no idea anything about. Hell, if we could get one script, I would prefer it too be swallowed up by NMM and just let me forget the whole thing, checking off what I want to install for that days play through.

 

Getting a scripter merger could allow at least for simple changes to be made, maybe by checking them off like an install. in case you run into a mod that needed Skse but not another, or something like that.

 

anyways yes. A hundred times yes.

Edited by Gethesmain
Link to comment
Share on other sites

SKSE and Script Dragon use too much different approach. This may not seem so yet because SKSE was not yet integrated with the CK (and I don't know if/when will be). Supposing it will work like the predecessor, it will not have "plugins" as base but will allow creating mods using it's functions in the same fashion a vanilla mod is. I mean, the only difference a mod using only vanilla functions and a mod using vanilla + SKSE functions is the presence of them skse functions.

 

The mod made using it is in all aspects like any vanilla mod, just will require SKSE to work, of course. This is because SKSE functions uses the same mechanism used to call vanilla functions, from a "table" of instruction codes from what vanilla functions uses only a small part and reserves another small part, the bulk being free for third part utilities (where SKSE enters). This approach makes the depending mods resistant to changes and normally are not forced to update when the game is patched, only SKSE itself needs updating, almost always the backward compatibility is granted by SKSE.

 

Script Dragon uses the DInput8.dll to call itself and then it calls all the associated plugins. That means no common mods comes from it, only "plugins" for Script Dragon, For this reason Script Dragon is vulnerable to changes in the game ( SKSE is too), like those from patches, just than it's plugins are too and almost all needs to be "updated" also every time Script Dragon is updated.

Link to comment
Share on other sites

SKSE and Script Dragon use too much different approach...

 

Thanks for responding nosisab.

 

I agree that their approaches a different. From a C++ code standpoint, both approaches have advantages and disadvantages, combining the best of both into an open source project would help bring together the best minds in the modding community to solve the problem of extending Skyrim's scripting functionality in a way that enhances the experience for both mod authors and users.

Link to comment
Share on other sites

I think its the call of SKSE team and Alexander.

 

Though Alexander is the "one man army" kind so i dun know how he fares in collaborative projects...

 

Thanks for responding eltucu. I've contacted both the SKSE team and Alexander Blade about this topic, and I'm waiting for their response. Hopefully, they can respond to this discussion thread directly and let us know their feelings on working together for the benefit of the Skyrim modding community.

Link to comment
Share on other sites

The point is Script Dragon is not a script extender, actually at this stage SKSE is not too (at least yet).

 

I mean, the idea of the script extender is "indeed" to extend the capacity of the vanilla scripting language, in the specific case Papyrus. This is the same than telling the modder would use functions with the same structure of papyrus, introduce them in the same script using vanilla functions, inside the CK and the script would compile as it was vanilla from start. A seamless process, to the point the modder could even be unaware he/she is using SKSE functions.

 

The result is not a "plugin" but the same ESP that would be obtained from the CK by normal means. The obvious advantage of this method is that such mod becomes independent on the patch version, it depends only on SKSE itself which in turn, grants backward compatibility to it's functions across it's own versions. A mod made with SKSE (assuming this feature will be implemented yet) still works without need to be updated itself.

 

PS: Now, with Steam entering TES game's "history", creating dependencies to it's own launching methodology, intruding in CK itself too, is not going to make the life of SKSE developers any easier. I just hope not preventing the SKSE integration as we know it, to be that integration still possible both in the technical aspect as in the legal aspect.

 

PPS: Anyway, SKSE already is an open source project, it's source files comes inside the pack, that "src" folder there.

Edited by nosisab
Link to comment
Share on other sites

The point is Script Dragon is not a script extender, actually at this stage SKSE is not too (at least yet).

You are absolutely correct about ScripDragon not being a script extender since its plugins are actually C++ DLLs with a .asi extension, so perhaps the name of the project would have to be changed, if it does become a project. :-) But I still think of SKSE as a script extender for simplicity since it provides functions not available in Skyrim's native scripting language. Obtaining better integration between SKSE and the Creation Kit would also be extremely helpful,

 

PPS: Anyway, SKSE already is an open source project, it's source files comes inside the pack, that "src" folder there.

 

By open source I mean to actually register the code as project in one of the open source sites, such as SourceForge. For example, Nexus Mod Manager is registered on SourceForge. This has numerous benefits just to name a few:

  • Code Hosting
  • Version Control
  • Bug Tracking
  • Increased Visibility of Project (hopefully translating to more collaboration)
  • Mailing List (to communicate with users and developers)
  • Increased Trust of Code (by being on a well trusted and accepted web site such as SourceForge)

 

My main objective in starting this topic was to get the conversation going and see where it takes us. I also hope to contribute to the Nexus Mod Manager open source project soon. If there was an open source project for combining the best of SKSE and ScriptDragon, I would do my best to contribute to it as well.

 

Thanks for keeping the conversation going.

Edited by FierceSlayer
Link to comment
Share on other sites

Don't see the big deal over combining them, just download one then then other, install as normal, then run the SKSE launcher as normal, BAM both work...got mods that run off both actually.

 

Thanks for responding to my post, but you missed my main point which is to help improve the experience of using and developing advanced mods that require functionally not provided by vanilla Skyrim and the Creation Kit. :-)

 

To be frank, one of the main reasons (but not the only one) that prompted me to write this post is the current situation with ScriptDragon. Currently it appears that only one person is enhancing, supporting and maintaining the code for it. He has done an outstanding job in enabling advanced functionally for mods even before the Creation Kit came out. Unfortunately, there have been 2 days of downtime for all mods that rely on ScriptDragon due to the automatic update by Steam. This is affecting hundreds if not thousands of users of some wonderfully addictive mods such as Extra Hotkeys and Immersive HUD (if you use the feature to toggle the compass on an off) just to name a couple that I personally use. It's very hard for a single person to maintain a program used by thousands of people all over the world, specially if it has dependencies on frequently updated code (such as Skyrim). Having a team of developers working together to maintain, support and enhance the code would greatly improve this situation.

 

I've also seen several post on various sites by users that have given up on ScriptDragon and any mod that depend on it because they don't want to deal with the downtime caused after each Skyrim patch. This is not good for mod authors that have worked so hard to give us cool mods.

 

As I stated in my original post, the benefits that could be achieved by combining both software components into an open source project are numerous. This doesn't necessarily mean combining all of the code into one DLL (although that would be nice if it was possible). I've reviewed the code for SKSE and the code provided with the plugin examples in ScriptDragon. I see tremendous opportunities for synergy and improving the overall mod development and user experience with a single project to continue to extend the functionality of Skyrim. This is just my opinion from a mod development and user standpoint.

 

I greatly enjoyed the OBSE (Oblivion Script Extender) and the great mods that it made possible in a single package. It provided all of the functionality I needed as a user and as a beginning mod author. Having the same in Skyrim makes sense to me.

Edited by FierceSlayer
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...