Jump to content

Edge of Eternity's Modkit - The Eternal Forge


BaronVonChateau

Recommended Posts

Hello everyone!

On the 29th Novembre, we will be releasing Edge of Eternity on Steam in Early Access.

Edge of Eternity is an indie game made by a handful of people (9 actually) aiming to create a great, open-world JRPG with lush landscapes, a sense of epicness, fast and tactical turn-based combats, etc.

 

What might interest you specifically is the fact we will be releasing our own in-house modkit at the time of the Early Access : the Eternal Forge.

To compare the Eternal Forge to already existing tools, it's practically a mix between Unity, RPG Maker and the Creation Kit. In a nutshell, the Eternal Forge will allow modders to :

 

Asset swap Entity Models, Weapons, Audio, FXs
Create or alter entries in Edge of Eternity's databases (Actors, Items, Spells, Quests, Dialogues, Events, etc.)
Create new maps or modify existing ones with Unity multi-scene system (And adding stuff like npcs, events, cutscenes, dialogs, quests, rewards, etc.)
Creating your own standalone adventure by changing the beginning of the game to your custom map and completely create a different story with new actors, npcs, etc.
Coding in C# to extend the game in a limitless way (we just block access to a few critical function that would endanger computers of the players, but otherwise there is no limit to what you will be able to do.)

 

Basically, if you want to add a super cool dungeon to the game, with your own custom-made monsters, your own special loot and questline, you can.

If you want to add a companion that will follow the heroes throughout the story, have their own lines, their own dialogues, their own special attacks, you can.

If you want to throw all of Edge of Eternity through the window and create another world altogether, with its own setting, its own plot, its own characters, you can.

 

What differentiates The Eternal Forge from, let's say, Bethesda's Creation Kit is that it has the typical J-RPG rule set : turn-based combat, combat on a hex grid, character progression curve, etc.

 

ss_b962227eff3922eb2aa6cf602d1729febabd7

So, how will this actually work?
- First you need a modkit compatible version of the game - either on day one on the Early Access, either you will already have a key if you volunteer for beta testing (more on that later) : https://store.steampowered.com/app/269190/Edge_Of_Eternity/

- Then download the latest version of Unity (2018.2.x) (personal, plus or pro) https://unity3d.com/get-unity/update?_ga=2.248832772.282857975.1536254704-1879879926.1453973314

What's important with the Unity version is that it must be the same version as ours. We will publish update and links so that you know which version is the right one.

- And finally open one of the sample mod project on the EOE modworks github with Unity https://github.com/zelerj/eoemodworks

- For In depth modifications, you will need the Database : https://steamcommunity.com/sharedfiles/filedetails/?id=1285627706 (for now only on Steam, but we will look into uploading it elsewhere)

 

So, let's have a closer look at the modding tool in itself. For instance, one of the first thing you will probably do before even starting your mod is to enter your mod metadatas.

1ff8eb44-8ee5-43bd-914a-f2fbe124093e_01.

Those metadatas will serve the purpose of displaying the mods infos to the player and creating the unique path of the mod based on its Mod ID.

Of course, every Mod ID should be completely unique, if you have installed two mods sharing the same Mod ID they will overwrite themselves and not works correctly. To insure there are no overlap, you might want to set a very particular - and unique - mod ID.

When you start with the Eternal Forge, one of the mod you can make without too much hassle is a model swap mod.

The swapping part in itself is quite easy : we have a simple tool called the Asset Override Tool that you can use to override any path used by the game asset loader. Replace an asset by another, and that's it!

1615de73-2a8b-430f-b2a9-5b55e3d534a5_05.

 

But in order for your new model to animate properly, walk, move, attack, you will need to rig it first, so its model is not all over the place. Never rigged any 3d model before? Have no fear!
To do the rigging part you will be able to use the Unity Humanoid Animation System, it is an automatic system that allow you to map your new model to an humanoid skeleton.

Then if you wish to you can alter the Actor's stats, behaviour, spells, abilites, components, etc. you will be able to do so within the "ActorDatabase" screen. Please note that for the sake of simplicity, all npcs, player characters, monsters are treated as actors.

7ad25ccd-f4ac-44c2-884b-c066d169c80f_dat

Once you're done working on your mod - and compiled it through the build option in the Eternal Forge - the mod will be ready to use! You can directly put it into its dedicated spot : "Edge Of Eternity\EdgeOfEternity_Data\StreamingAssets\Mods"

ada4b677-3a1d-47be-be7d-359ad7d2e47d_02.

And voila! All set to go. All that remains for you is to toggle the mod on/off in the dedicated section of the in-game menu.

3f4d7e9e-767c-49d1-9e40-5141e8d908fe_00.

Ingame view for the players who downloaded your mod.

Also, here is a sneak peek on the quest creation tool - there is a simplified interface, for rather small quest (this one below) ...

 

591c55ee-8cdb-4cdb-b3ba-1cc2269b75eb_06.

 

Simple Quest Database, one of the two ways to make quests in EOE.

...and a more complex one, which will allow you to integrate cutscenes, branching dialogues choices, different endstates, or conditions for solving a quest, etc.

 

415dc2fa-86bf-4488-8aaf-85f67042d16f_07.

 

Nodal system with a dialogue event that spawn a timeline cutscene and then start a battle.

So, yes, you will be able to create your own cutscenes with Unity's Timeline - with camera angles, movements, animations, etc. But that's a rather difficult task we'll not delve into right now. (It is also not essential for quests and dialogues.)

And last but not least, you can also add C# code to Edge Of Eternity with the modkit, you can do simple things like creating a Custom AI (Battle and Exploration) or a custom AuraScript for battle or more complex things by inheriting from IModInterface. That topic is - too - for another time.

8a3d7749-7344-418c-b9fc-272073a14e3e_08.

As you can see, the Eternal Forge is already pretty fleshed out (well it basically includes almost all of the tools we use ourselves) but it is still a work in progress. We need to work the accessibility, and include some more features. It will take time (especially since we're also working on Edge of Eternity itself.) But we're pretty confident that you will be able to make some cool mods from the get-go.

We will of course need some feedback to improve the Eternal Forge - letting us know how you feel about the tool, what could be improved will be vital for us in order to improve it. Keep in mind we are a small team of fellows, and that new implementation will take time. But we will nevertheless be listening to you.

So, if you're even remotely interested for the game and its modkit, don't hesitate to wishlist it! https://store.steampowered.com/app/269190/Edge_Of_Eternity/

Releasing a modkit for our game is really significant for us, and we are excited to see what kind of mod you guys will come up with!

Thanks a lot for reading!

PS : We might also need beta-testers before the actual Early Access... but since we can't just distribute Steam Keys around when the game hasn't even been released, we will probably be a bit picky about who we'll give Steam keys to.

Edited by BaronVonChateau
Link to comment
Share on other sites

  • 2 weeks later...

That's awesome! Great to see another New Vegas modder turning to Indie Development. Your mod tools sound really ambitious too. Really good insights from the GECK showing there, powered by a waaay more powerful engine. The asset swapping and new storyline tools will help a lot. I'd love to see your narrative system. Are you using Articy or writing directly into Unity? How is the storyline and dialogue implemented over there?

Edited by Thaiauxn
Link to comment
Share on other sites

  • 2 months later...

That's awesome! Great to see another New Vegas modder turning to Indie Development. Your mod tools sound really ambitious too. Really good insights from the GECK showing there, powered by a waaay more powerful engine. The asset swapping and new storyline tools will help a lot. I'd love to see your narrative system. Are you using Articy or writing directly into Unity? How is the storyline and dialogue implemented over there?

Hey there! Hey, you're working on New California! I didn't have the time to play it but boy is it on my mod wishlist!

 

I got Articy and I'd love to thinker around with it, but for now we're using the in-house tool for dialogues integration (node based) to integrate the dialogues. I got Articy myself and got an itch to use it now for the project, but for now our process is fine as it is. (Though I'll probably advocate for integrating Articy somewhere along the process. :3)

 

Thanks for the kind words!

Link to comment
Share on other sites

 

That's awesome! Great to see another New Vegas modder turning to Indie Development. Your mod tools sound really ambitious too. Really good insights from the GECK showing there, powered by a waaay more powerful engine. The asset swapping and new storyline tools will help a lot. I'd love to see your narrative system. Are you using Articy or writing directly into Unity? How is the storyline and dialogue implemented over there?

Hey there! Hey, you're working on New California! I didn't have the time to play it but boy is it on my mod wishlist!

 

I got Articy and I'd love to thinker around with it, but for now we're using the in-house tool for dialogues integration (node based) to integrate the dialogues. I got Articy myself and got an itch to use it now for the project, but for now our process is fine as it is. (Though I'll probably advocate for integrating Articy somewhere along the process. :3)

 

Thanks for the kind words!

 

 

Congrats on the release, I played a little today and I'm looking forward to playing more when I get time.

Link to comment
Share on other sites

How to install the modkit


1. First you have to download and install Unity 2018.2.x (the version will change as the game will progress further, we’ll update this guide and notify that we changed the Unity version)





2. Download the modkit content and modkit samples on GitHub (you can download directly using the clone or download option then download as a zip but it’s highly suggested to use TortoiseGit to be able to quickly upgrade the modkit afterward)





3. You can now open any of the sample Unity projects included in the modkit content or you can start from the empty project but it’s better at first to start from a sample template.



(Optional Step) 4. Install the databank (allow you to reuse objects of the game in custom levels or in levels modifications)


(Link and procedure coming soon)



(Optional Step) 5. Install the levelkit (allow you to see in the editor the actual game levels for precise placement of elements during level modifications)




Unzip the folder at the root of the Unity project that contains your mod (not in the Assets directory in the parent directory)

How to setup mod settings :


1. Open the mod settings window by going into the menu "EOE Mods Toolkit -> Mod Settings" on the menu bar ontop of the screen


2407423-1544307874.jpg


2. Create a unique Mod Identifier for your mod (warning : if two mods share the same Mod Identifier they will not be compatible together, with the Mod Identifier you'll be able to cross-reference mods)


3. Fill the mods metadata like the miniature, mod name, mod description, those will be used for the ingame display of the mod (not the workshop), the standalone adventure checkbox allow you to override the beginning of the adventure and set another map as the default map ingame so you can create another adventure from scratch with the Edge Of Eternity Modkit using the rules of the game or you custom ones using the scripting engine (the user will get a choice when trying to start the game he will be able to choose between the normal game or the custom adventures mods)



How to build a mod locally


1. Open the local mod build window by going into the menu "EOE Mods Toolkit -> Build Mod" on the menu bar ontop of the screen


2. Fill the mod directory from your game path on Steam like in the example screenshots below


2407423-1544310235.jpg


3. Ensure that auto-tag assets is checked and click the build button


4. Launch your game, the mod is ready to be tested, you'll be able to find it in the mod window of the game (in the main menu click on the mods button)


How to replace a character model


1. Import your rigged FBX model in your Unity Project.


2. Set the rig type to humanoid and ensure that the T-Pose is correctly matched with the humanoid


2407423-1544310864.jpg


3. Drag and drop the model on the scene


4. Scale it correctly using the reference model provided (neutral model) that is the scale of Daryon for reference


2407423-1544342511.jpg


5. Remove the Animator component, add the component SetCustomAnimationAvatar and put the animation avatar of your character in the avatar slot of the SetCustomAnimationAvatar component


2407423-1544342550.jpg


6. Choose an unique name for your GameObject and create a prefab in the project from it


7. Open the Asset Override Manager located in the "EOE Mods Toolkit -> Asset Override Manager" menu




8. Add a new entry and choose the entity that you want to override in the source entry "builtin" dropdown




9. In the replacement path enter the unique name of your GameObject that you prefabed (without the path, just the name of the Prefab), then in the Asset Load Method for the replacement choose "Asset Bundles Mod Kit" and finally in the DLC or Mod ID enter the unique mod ID that you put in the Mod Settings Window




10. You are now ready to build and test your mod using the procedure described in the "Build Mod Locally" section of the guide


How to upload and share your mods


1. Open the Steam Workshop upload window by going into the menu "EOE Mods Toolkit -> Upload to Steam Workshop" on the menu bar ontop of the screen


2. Fill the metadatas (key image, screenshots, name, description, tags, etc...) and then click create mod (if you are updating an existing one the case will be update mod and if you loose the link to your mod you can reattach it in the manage my workshop section)


3. Your Mod is in the StreaminAssets/Mods directory, zip it and uploas it on the Nexus. For others to play it, they simply have to unpack it back into the StreaminAssets/Mods directory


How to upgrade the modkit and your mods to the latest modkit version

1. To upgrade the modkit you have to maintain the connection to the github project, then pull the latest version.


2. To upgrade your project afterward you need to modify the "_modkit_upgrade.ps1" file in the "_modkit_upgrade" directory, at the bottom of the file there is commands like this


'[ProjectUpgrader]::UpgradePath("../8_Scripting_Aura_And_AI")'


You just have to copy paste the same command afterward with your project path, then when y ou'll launch the _modkit_upgrade.bat script it will automatically update your mod project files

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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