Modding Plans, New Engine and UniversEdit

Updated: Sep 27, 2021

Welcome back everyone! Today we're talking about our engine switch, our plans with modding and we're explain the concept of our new and very powerful UniversEdit Framework.


TLDR:

- We switched to a new Engine: Unity

- Remaking everything from scratch is hard but allows us to start on very strong grounds

- UniversEdit is our next level framework - create new content with extreme ease!

- We are planning to gradually release UniverseEdit tools over time

- A mod browser will be put into the games, you can upload and download from the menu

- There will be free mods and a curated workshop is also planned

- We try to make modding and the workshop better for creators

- Non-custom asset mods will even be possible on consoles


The configuration overview, where all 'features' are. Here selected are the actions, showing all actions (abilities, perks, items etc) from the game in a list


A New Engine


As you will certainly have noticed, Synthetik 2 uses a very different engine than S1.

Synthetik 1 used Game Maker Studio 2, which was a 2D engine, best used for creating small 2D games quickly with its best trait being ease of use, but it came with significant costs and complications for a large project, especially with multiplayer at play.

GMS did enable us to make the game however, so we are definitely grateful for that.


Now, our future games will be based on the popular Unity3D Engine, coming with a much greater base feature set, cutting edge 3D graphics (mind you that graphics still always depend on the artist) and powerful C# scripting. While all engines come with many advantages and many flaws, this is the best option for our future plans and our greatly expanded team, which has grown from 2 to around 20 as of the time of writing this.



Unreal Engine has also been a consideration, but for our modding and Editor Framework plans, Unity is more flexible and less rigid (although more 'rough' at the baseline), making this our Editor Framework plans a realistic possibility with our current team.



A New Start


Switching the Engine basically forced us to throw away everything we had built over the last 5 years. It's a risky fresh start on a completely blank slate.


(If you don't care about Engine talk, skip this section)



The Bad:


Generally such a thing is rarely done and it's a huge risk, especially for established studios of larger sizes. Taking the call to just halt development for 6 months or more to set up a new engine is usually extremely expensive and hard to justify, especially when it means throwing away all previously made code and implementations.


You only want to build your core once and then upgrade and refine it over the coming sequels, as you see with basically all games which have sequels. This is not about being "cheap", it is the smartest, most efficient way to do and generally gives the best results.



Per example, Call of Duty still uses extremely refined versions of the Quake 2 engine, which they upgrade, extend and refactor every year, as it works well and certainly has workflow improvements that have been amassed over decades to a refined degree, thus making it extremely crazy to throw this work away and just start on a new engine for no reason, especially if you can just add new graphics features or rewrite the graphics engine (as has happened with Modern Warfare 2019 per example). At this point, probably almost nothing really is left from the original Quake 2 version. Engines are just bundles of tools and code components which can all independently be upgraded (or not), often the names do not have much meaning. However if not done well, code can be very interconnected and also cause severe limitations as it is virtually impossible to untangle without breaking a ton, as example Airports and Planes still use MS-DOS for all flight code as it is so complex that nobody can touch it.


The Good:


While starting back from scratch seemed like a big disadvantage at the start, it now starts to become more and more of a big advantage, as we are effectively forced to throw away not only the bad, but also the kind of mediocre or slightly-questionable-but-working-fine things, which you then usually simply don't touch. If it works, why change it, right?


So unlike many companies making their first game, we do not build our second game based on the questionable choices made that inevitably happen when you struggle to make a game happen at all.



Now we have the rare opportunity to bundle all our combined learnings from SYYNTHETIK and remake all the code and elements from scratch on a infinitely better foundation.

The UniversEdit Framework


Traditionally, you would build your game based on the Unity Editor, handle all your game logic over Unity scripting and its "Inspector" components, directly in the Engine, but we have chosen to go with a very different and unusual approach, concepting the UniverseEditor.


The UniverseEdit, short for Universe Editor, is our custom framework on top of the Unity Engine, it is built to be as detached as possible and not rely on Unity workflows for much of the content creation, but allow editing right in the game, eliminating the need to download an SDK and do complicated things to mod.


It is built so the content creation and balancing can be done within the game menus directly instead of within the engine.

This means per example that you can just go the game main menu, enter the editor, and create a new working unit or rebalance a drop table or similar in seconds.


Here you see how most of the things in UniversEdit look.

A very simply scrolling list with fields you can edit, its very easy to change.

You can copy a weapon, change its stats, and just play, all within a minute.



Another great thing about the Editor is that we use the exactly same version for creating the game as modders will have access to, so you don't get all the issues with separate mod tools versus the real dev tools, where mod tools stay broken or are not getting updates because developers don't need to use them themselves.


Making this Framework required a lot of hard thinking. It was a tremendous amount of work many other teams could likely not have afforded. It also blocked work and testing gameplay on our new games for many months but it will certainly grant big fruits down the road.




Scope of the UniverseEditor


The UniverseEditor is made to create content and balancing first and foremost, so this differs from a moddable Engine such as Source 2 per example. The Editor will give you a great many options to create new content and many cool things with unparalleled ease and speed, but it is not an engine where you write custom code and make new UIs or create new core gameplay elements that never existed before, such as making a Synthetik tennis game or the like.


The other great thing is that things like the action editor are self contained and cannot cause crashes (unless you spawn a particle effect 100000 times maybe) so there is not much you can do wrong aside of making something that doesn't work!


The strength of the UniversEditor is that you can do infinitely new things that can be pretty complex through smart modular systems at great speed and ease of use, so it has an insane ratio of speed and learning requirement to quality compared to a full engine. It will not offer the complete freedom of a full "blank canvas" engine unless you build up your own tools and systems in a full engine over many months, however the UniversEditor will give much greater results for a much smaller effort, and every time we expand it, you will also get new features, most notably new "Results" (effects) for the action editor.



So what is within the scope of UniversEdit?


Yes:

(Within possible technical scope of the UniverseEditor sooner or later)

Weapons, Items, Perks, Buffs, Enemies, Factions, Localization, Classes, Spawn Tables, Core Game Balancing, Feedback Tweaks, Ammo Types, Projectile Types, Global Settings, Balancing, new Resources, Campaigns, Ingame progression, Multiple choice popups and more


No:

Custom scripting, new UIs, custom data parsing, making different subgames, Bug fixing, core mechanics, Outgame progression (Class progress however, yes), changing Main Menu etc, making new Maps (although this might change in the future).



Here you can see the more complex but also very powerful action editor.

This looks a bit more overloaded at first but its quite easy to use.


With it you can define conditions you want (like losing health AND in combat) to create

effects and results you want, like getting healed, playing a sound, add screen shake, drop a weapon, spawn a pet and all sorts of things that are within the game. With this you can create infinite new items, perks, abilities, shop purchases, buffs and more with very high potential depth.



Mod.io and Workshop Plans


We are planning a integration of the Mod.io browser into our games where you can browse for mods straight from the game client.


For the start, there will only be a modding section, but we are planning on having both a free-for-all modding section/browser and a curated workshop, similar to steam's workshop you know, such as CSGO or Team Fortress 2, so dedicated workshop creators can make money of their work and afford to spend the time to create higher quality curated content for you.



(Example of another game using an Mod.io browser implementation)