A massive 2D Metroidvania fused with Diablo like ARPG mechanics with massive amounts of detail, progressive ideas and Next Gen 2D HD graphics. Corpses ‘N Souls is about combat, defense, harvesting, corpses, souls, crafting, spells, abilities, tactics, adventuring, collecting loot, progression, stealth and unique gameplay experiences. Set in a massive, detailed, colorful, vibrant, dark and ghoulish gothic sci-fi world blended with classic Metroidvania and ARPG mechanics. Your journey takes place within the E-K planets in the Epsilon quadrant of the Universe where you will choose a species and class to take on the challenges before you. Become the master of harvesting Corpses and Souls or be one of its victims and be harvested yourself. As the Universe dawns the start of “Soul Revolution” no one’s Corpse and Soul is safe.

Report RSS Corpses 'N Souls – 64 bit DX11 & OpenGL - Upgrade

Introducing support for DirectX 11, 64 bit and OpenGL in Corpses 'N Souls. After a lot of hard work Corpses 'N Souls now runs natively in X64 and in DirectX 11 or OpenGL. This was a massive upgrade that provides full multi-platform support, new tech, massive performance gains and features. I will go into more detail in regards to the new engine upgrades for Corpses 'N Souls in this article.

Posted by on

Remember to follow us on twitter for the latest updates and news: thanks

indie db title upgarde

Today I am happy to talk about the engine upgrades that Corpses 'N Souls has recently received. I have not created any articles in a while since I have been massively hard at work at Corpses 'N Souls engine upgrade(DX11, OpenGL and 64bit). In this article I will go into detail regarding the benefits that where achieved from the upgrade to Corpses 'N Souls. Main topics include performance increase, new renderer, enhanced lighting, enhanced visuals, main memory performance, GPU load, CPU load, and GPU memory utilization. This article will discuss and show all of these topics and some others that are not mentioned.

indie db title perf increase

Here is a example of what type of performance gain I achieved when I upgraded my current 2DEvolved engine from X86(32 bit) and DirectX 9c and went to X64(64 bit) and DirectX 11. The test is done on exactly the same hardware and Windows 10 64 bit. The part that is running is a area in Corpses 'n Souls that is considered a medium load and has a lot of things going on and is a pretty complex scene compared to other 2D games. The graphics mode is set to Ultra and is maxed out in the pre alpha sate of the game.

* keep in mind this is not complete or release grade code *

Before: 32bit - DirectX 9c

CPU 9c reg all

After: 64bit - DirectX 11

CPU 11 reg all

You can clearly see the CPU pretty much flat lined on the 64bit and DirectX 11 combo I was very happy with the upgrade it was 100% worth it. Another important thing that plagued my original design was that the majority of load favoured the affinity of the first core. As you can see this is no longer a concern.

indie db title enh light

Before: 32bit - DirectX 9c

DX c 1 9c


After: 64bit - DirectX 11

DX c 1 11


Notice the top section of the pic how you can see the detail on the green rock and how the lighting is not the same and has more variety depending on the light sources that are around. It is hard to show the changes in still shots. Behind the player in the background there is a rock with skulls in the top it is darker and the details are blurred out. Next the water drops in the water in DX11 have a glowing like FX while the DX9c version look dark and bland. Same with the tree in the back ground it has more detail and lighting high lights. In motion with all the dynamic lights it is very noticeable and quiet a nice visual upgrade over DX9c.

Before: 32bit - DirectX 9c

DX c 4b 9c

After: 64bit - DirectX 11

DX c 4b 11

So here the first thing to note in the DX9c version I used to have to have a separate global illuminating light just for the sky line to illuminate the stars and high lights in the objects. Normal mapping and similar techniques react well to light sources to bring out the FX and highlights in the objects. In the DX11 version I have removed the top sky line light source to save performance and keep the same look as well as provide a higher detail image and more accurate lighting.

Before: 32bit - DirectX 9c

DX c 3 9c

After: 64bit - DirectX 11

DX c 3 11

Another set that show that the DX11 render without another separate light source looks just as good and even has a higher low level detail in the shaders especially once the game is in motion.

indie db title gpu load

Before: 32bit - DirectX 9c

gpu dx 9c


After: 64bit - DirectX 11

gpu dx 11


Here we have again the same scene being rendered out in the two different builds on Ultra mode. Its nice to see that the DX11 version actually has less of a GPU load over head than 9c. So not only did we achieve a massive CPU drop in usage the GPU usage also decreased. The combo of 64bit, DX11, and a multi-core CPU config really takes advantage of the 2DEvolved's engine upgrade and Corpses 'N Souls is able to run the complex scene with ease in the new upgrade.

indie db title enhance visual

Before: 32bit - DirectX 9c

DX c 6b 9c

After: 64bit - DirectX 11

DX c 6b 11

Here if you look at the tree you can notice the little details are not present it the DX9c version. The DX9c version appears blurred and smudged even though its the same sprite. Also take note at the base of the rock that is brown here you can see the nice little details that you get with DX11 it is very nice as well as the lighting spread better and is more dynamic. Another focus point is the blue crystal on the floor in the DX11 version you can see more details in the crystal. Lastly look underneath the Soul floating the main floor has more little details than the DX9c version, this is a common thing through out the game now and a nice upgrade that DX11 provides with a bunch of work.

indie db title gpu mem uti

Before: 32bit - DirectX 9c

gpu dx 9c


After: 64bit - DirectX 11

gpu dx 11


Here you can notice that DX9c was only using 888 megs of video memory. Mean while I managed to fully utilise the video memory in the DX11 version and its up to 2303 megs. Taking advantage of the modern video cards large memory storage is very efficient and provides nice performance in your game engine. You will notice in the next section that I used to use the system memory but it became a issue in the 32 bit build. taking advantage of the GPU memory has really made a difference in performance and loading times.

indie db title perf main mem

[ Before: 32bit - DirectX 9c ]

sys mem 32bit dx9c

[ After: 64bit - DirectX 11 ]

sys mem 64bit dx11

So here we can see the massive difference in memory usage that has been changed from how things where working. As you can see DX9c and 32bit used to use up to 1423 megs of memory. As I upgraded to 64 bit and DX11 I moved the majority of graphics load all onto the GPU memory rather than the system memory since it is faster and more efficient. As the numbers have shown the performance has improved from this change and it has been a factor. The good news about moving to 64bit you don't have to ever worry about running out of memory any more you can use as much system memory as you have installed. This was another factor for moving away from 32 bit.

indie db title cpu load

Before : 32bit - DirectX 9c

CPU 9c MAX c1

After: 64bit - DirectX 11

CPU 11 MAX

In this benchmark I used a extreme case where I had thousands of physics particles(CPU and GPU) that interact with the environment and the player all exploding in a complex scene. This test is very stressful on the CPU. Here you can see the 32 bit DX9c version choked on the the first core and hits a 100% usage for that core and does not spread the load on all the cores properly. When the core hit 100% it slows down the game. In the 64 bit DX11 version the core gradually gain the load and spread across all the cores evenly and don't run into this issue. The one core that has more load is a reserved core for specific work. You can see in the very first CPU load pic that it on gains a bit of load in this test but stays for the most part the same. With this upgrade Corpses 'N Souls will be able to push boundaries even more so and provide a very efficient performance for the user.

indie db title new rend

With this upgrade I have also included a OpenGl build that mimics the DX11 build in every way. So Corpses 'N Souls will be available in DirectX 11 and OpenGL for all the platforms that can not run Windows DX11 API. A key challenge was to be able to make all the shaders and post FX all look the same across all the platforms. So if I created a new particle effect it has to render and look the same on DX11 and OpenGL. This means I don't want to code twice or add anything special for for that process it should just work. After a lot of hard work I can create a particle and it looks identical on both platforms. Same with my shaders I have tried to make sure they look identical on all platforms. Having both DX11 and OpenGL was the primary multi-platform strategy and is now a reality since both builds are up and running.

This concludes the engine upgrade article for Corpses 'N Souls. All what is left now is for me to go through all my particles and other FX and make sure they are behaving as before. Going forward content will be the next big task on my list now that this milestone has been completed. In the next article I will be going over some new concepts and showing more gameplay now that the engine upgrade has been completed. In the following video I will introducing the Wolf Form and go into details what gameplay mechanics you get in that transformation and some other concepts. The Wolf form was put on hold since the upgrade had moved up as a priority.

I hope you enjoy the article, a lot of hard work went into the upgrade and will ensure that the gamers will have even a better experience/game once Corpses 'N Souls is released. Till next time.

Remember to follow us on twitter for the latest updates and news: thanks

Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.

Follow Report Profile
Icon
Corpses 'N Souls
Platforms
Windows, Mac, Linux, XONE, PS4
Developer & Publisher
Side Scroll Studios
Engine
2DEvolved
Contact
Send Message
Release date
Game watch
Follow
News
Browse
News
Report
Report
Share
Related Games
Corpses 'N Souls
Corpses 'N Souls Role Playing
Related Engines
2DEvolved
2DEvolved Proprietary
Related Groups
Side Scroll Studios
Side Scroll Studios Developer & Publisher