Welcome to our second Development Blog entry! Sadly a bit later than intended - but we still deliver! There has been quite some progress this week, many of it on NomadFX which we introduced in our first Dev Blog entry and forms the foundation for all of our future projects.
First and foremost the custom renderer system used by NomadFX has now been implemented and is able to make use of DirectX 11 and 9; support for DirectX 12 is planned down the road, however it’s not a high priority right now. The renderer is now able to draw custom geometry, textures and text into a window. Additionally CEF (Chrome Embedded Framework) has been integrated to work with the new renderer which means we’re now able to draw entire websites - just as an example, here is Google’s homepage rendered using CEF inside NomadFX:
This is an important achievement since our custom UI, NomadFX UI, will be built using modern web technologies. Similarly to NomadFX, NomadFX UI will act as a centralized framework for all the custom UIs powering our mods. This week we began setting up the architectural base which will allow each game to expand upon the base framework with individually customized components and styles to fit the game’s needs. Again this is done to prevent each game shipping with its own ever so slightly implementation of the same thing which will be hard to maintain and update in the long run. A first prototype implementation of NomadFX UI should be ready within the next few weeks.
There has also been progress on supporting UWP titles (Universal Windows Platform, Microsoft Store apps) to be hosted through NomadFX. Furthermore we’ve done some behind-the-scenes improvements to components such as the logger and tested an experimental performance profiler implementation which will helpfully allow us catch performance issues as soon as possible before they affect anyone.
Lastly we’ve made some changes to our internal Nomad Infrastructure and updated our servers to run without issues. In the future those will be used to run automated builds and tests on our code to help us catch bugs faster.
This has been an overview of the progress we’ve made this (well, last) week. We’re constantly working on NomadFX in preparation for updates to current and upcoming projects. As a closing bonus image, here’s a very early and broken implementation of CEF - not everything works first try and some things take longer to fix than others. However, as you can see above it’s working without issues now.