Welcome to our first development blog on our new forum! Our plan is to publish a new Dev Blog every week in which we’ll summarize everything new and interesting that happened regarding the state and development of our projects and mods.
As many of you might have noticed we’ve been a lot more quiet recently. Part of this is due to many team members being busy with real life. We have not been completely off the radar though - in fact, loads of progress has been done in the past few weeks! We have been hard at work developing NomadFX. The reason we haven’t talked much about it yet is because at its current state there is nothing really to see for the normal user. Under the hood however NomadFX is incredibly important for us and all of our projects.
What is NomadFX
NomadFX will be the foundation that all of the mods created by NOMAD Group will be built upon. It is a framework that bundles all of the duplicate code we have had across all our projects into one common module which all current and future mods can and will use.
This avoids us having to reinvent the wheel for every new game and avoids copy-pasting the same code over and over again. For instance, we’ve had different implementations of CEF (Chrome Embedded Framework, which powers all of our custom UIs) in every of our mods such as WD2MP and M2Plus. The same issue applied for rendering, networking, scripting and so forth. This was not easy to maintain in the long run.
Having a centralized framework offers the advantage of one proper and working implementation of a specific feature which we can use across our projects instead of hacking together a new system every time. It also allows us to simply patch one piece of code that’s used across all games instead of having to find and patch every different implementation and hack one by one in every single game, which takes time that could be spent working on something more important and exciting.
That means every time you see us working on NomadFX you basically see us working on all of our projects at once! All of the code contributed to NomadFX benefits and is used by all of our current and future projects, and the time saved by using a central framework can be used to create better mods.
Progress so far
Our main priority right now is developing NomadFX by extracting all duplicate code from our projects. This will not change anything related to gameplay or user-facing features, on the surface everything will stay as it is, however as already mentioned the transition will help us cut down development time drastically in the future.
In the past few weeks we’ve made great progress on implementing a custom renderer system which allows us (on a basic level) to render our own stuff into the game’s window. We have also started working on our own UI backed by CEF. This is accompanied by a new and improved window and input system. NomadFX will also be responsible for handling custom file system interaction, for example to override and load custom files. Further improvements have been made to how we interact with Uplay.
NomadFX has reached a stage at which we are able to start transitioning the base architecture of M2Plus over to the new framework. This goes along with slight changes to how we build and ship our mods. Other projects will soon follow the transition.
We hope that we could clear up some of the questions and concerns we’ve faced over the past months. NomadFX will initially take up much of our development time but it will pay off in the future. This however also means that it will still take some time until we push new public builds to mods such as M2Plus.
This has been a rather long Development Blog; not every blog entry will be this long. As already mentioned in the introduction we don’t always have time to work on our projects, progress changes from week to weeks, sometimes more interesting, sometimes less. From now on we will try to publish a summary of everything that happened at the end of each week in order to clear up some of the public uncertainty regarding our projects.