Hello Players !
Time for a new dev diary ! It’s been quite a long time since the last one but hey I have been working on a tons of things.
Here is the list of things I have been working on during the last two months.
1- DirectX 11 Implementation
I have dropped OpenGL support and I have programmed a brand new DirectX 11 renderer in the Dangerous Rays engine. The old Dangerous Rays engine used in Alpha 17 was running on OpenGL 2.1 which is the equivalent of DirectX 9. OpenGL 2.1 is becoming very old now and less supported by GPU drivers nowadays and that is why I have decided to switch over DirectX 11. Making a new engine for Dangerous Rays Alpha 18 was the perfect opportunity for me to do that.
This renderer is now finished and it will bring you better graphics and most importantly many performance improvements. You can expect between 30% and 50% rendering performance improvements depending on your PC configuration. What about DirectX 12 then ? Well for now I want the DirectX 11 renderer to be perfectly stable and feature complete before taking a look on a DirectX 12 implementation probably during next year and if I do such implementation the DirectX 11 renderer will be keeped as it require Windows 10 to be installed and I want Windows Vista, 7 and 8 users to be able to keep playing the game of course.
2- Modding Tools
Modding will play a very important part in Dangerous Rays. That’s why I am taking time to make some great tools and a very solid modding support for it. The file/resources system of the engine have been improved a lot so now modders can add or replace content of the game without touching any of the original game files. So it will be perfectly safe to install any mods in the game without destroying anything.
Alpha 18 will also feature an new editor integrated directly in the game. In this editor you will find various tools to produce new content for the game, these tool are quite easy to use but they require some gamedev knowledge but it still not very hard to learn !. I have finished some of them:
– Resource Browser will let you explore the assets of the game (textures, sounds, models…) and quickly do some operations according to which asset is currently selected in this browser.
– Texture Viewer will show a preview of the game texture and display various infos as it’s format, size, disk usage…
– Texture Converter will let you convert textures from various formats (.png, .jpg, .tga, .bmp…) into DDS file format which is the texture format used by Dangerous Rays engine.
– Models Converter will let you convert models from various formats (.fbx, .dae, .obj, .blend…) into MDL file format which is the custom model format (not related at all to Valve MDL file format) used by Dangerous Rays engine.
As you may have noted, I programmed .blend file format support in the models converter tool. This will let user making models in Blender (great free modelling tool) and import them into Dangerous Rays engine very easily.
3- Memory Optimizations
Dangerous Rays Alpha 17 was eating computer memory quite a lot and since the game was not compiled in 64 bits. It was sometimes crashing when too much memory was allocated for the game (there is a 3/4 Gb limit of memory allocated per program with a 32 bits program).
Now the Alpha 18 is compiled in 64 bits so it can allocate as much free memory as you have on your system. But thinking “Oh well since the game can use as much memory as needed im not going to pay attention to memory usage optimization” is not the right way to go as others programs running in background also need this free memory. so I have made several improvements on this side ! Now the game need approximately 35% less memory than before.
Work on gameplay have also started and everything as the rest is being remade from scratch, the old Alpha 17 code is still being used as a guidance but nothing is simply copy / pasted from the Alpha 17 version into the Alpha 18.
As I am integrating something, I am going trough this process:
1- Taking notes on what could be improved based on my experience and the things learned during the last year.
2- Taking notes on what could be improved based on the players feedback.
3- Asking Mxthe for his opinion. He sometimes (well very frequently in fact) have some really nice ideas and advice’s.
4- Program something that is as flexible and as moddable as possible.
5- Making some tests, cleaning the code and do the next task !
That’s all for now, thank you very much for all your support and your patience, this is really important for me right now.
Dangerous Rays main developer.