A gamedev story told by...Lead Developer: Kai Kubicek We interviewed Kai Kubicek, lead developer for Corpses ‘N Souls: an homage to classic side-scrolling action-adventure titles like Castlevania and Metroid with a macabre twist. We discuss the development and processes involved with the art and level design.
Hello, my name is Kai Kubicek. I’m the Studio Founder, Technical & Creative Director and Lead Developer for Corpses ‘N Souls and my indie game studio Side Scroll Studios.
Side Scroll Studios consist of a single person team which is myself and the same goes for the project Corpses ‘N Souls (CNS for short). I’m currently the only person working on Corpses ‘N Souls. My role in Corpses ‘N Souls is everything, from the custom game engine 2DEvolved, art, design, gameplay, etc. All the roles involved in making a video game fall onto my plate and are my responsibility.
My background originated from 13+ years in SMB/Corporations as a professional Software Developer. Before I started working in the software development field, I started gaming at age eleven in the arcades. From there, I continued my love of gaming and to game regularly. I keep up with all the new games and technology.
Guidelines: Forging a new identity for Corpses ‘N Souls
I had extensive guidelines for my vision of Corpses ‘N Souls. Its identity was a specific look, design, feel, gameplay, and style. I included many things I loved from video games past, present, and ideas not seen before. You’re correct Corpses ‘N Souls is 100% ‘a homage to classic side scrolling action-adventure titles like Castlevania and Metroid.’ Here’s a list of the guidelines I used designing Corpses ‘N Souls identity:
- [Action Adventure Side Scroller] I’ve always loved old school side scrolling action adventure platformers like Castlevania (Bloodlines and Symphony of the Night), Super Ghouls ‘N Ghost, Blades of Vengeance and Super Metroid. These games served as the primary focus for the game’s base design homage and rough inspiration visually.
- [Metroidvania] The Metroidvania genre is one I enjoyed in my childhood with Castlevania Symphony of the Night, Super Metroid to the presents games Axiom Verge and Ori and the Blind Forest to name a few. I love how these games added exploration to 2D games and promoted progression that allowed you to do new things and see new areas with each upgrade and skill you earned/unlocked. The design concepts found in these games/genre was something I added as another guideline to Corpses ‘N Souls.
- [ARPG] For many years I played Diablo 2, Sacred 2, Titan Quest, Diablo 3, World of Warcraft and many other action role-playing games (ARPG). The ARPG genre is one of my favorite type of games. I love all aspects of them. They’re by far my most played games out of the hundreds I own. The APRG mechanics were a must have component to CNS identity guidelines.
- [Dark vibe: gore + blood themes] Another guideline was a dark, gory gothic crypt vibe. I’ve been playing Mortal Kombat since the first one was released in the 90s. It’s my favorite fighter franchise. When I first played it, I fell in love with the blood and gore and dark demonic theme yet colorful, vibrant vibe. I had to have a similar color scheme as well as the blood and gore vibe/effects in CNS. I added both ideas early on to CNS design/guidelines.
- [Color] Vibrant color was another important guideline for CNS. I wanted vibrant and abundant color throughout the game’s world. This was important in the core designs of Diablo 3, Ori, Mortal Kombat 2, Super Ghouls ‘N Ghosts, all inspirations with very colorful and cool color pallets.
- [HD Modern 2D graphics] At the very start I decided Corpses ‘N Souls would be an HD 2D game. The main guideline regarding 2D was it’d be modern and include many modern rendering effects and techniques found in modern 3D games. The particular look of Corpses ‘N Souls was decided early, and I designed my custom game engine around the target look.
As a one-person team, I decide and do whatever I want. Since I’m working solo on the CNS project, there’s no need for meetings or discussions and things are quickly decided when I work. It’s a very different process then the SMB/Corporation environments I’m used to. It’s great to move forward and not have conflicts with teammates. On the flip side, everything’s on you; you have to make it happen. There’s no backup.
My core concept has always been to use a death and monster theme but in a beautiful artistic way. Everything has some life even if it appears to be an inanimate object. I try to use that subject matter in my art and design. Similar to Mortal Kombat‘s themes I focus on a darker monster theme/vibe but maintain the high detail and vibrant color which provides an interesting contrast and style. It was imperative to come up with an uncommon look and provide a unique identifiable look for Corpses ‘N Souls. For the creative vision, my custom game engine and focus on a modern HD 2D graphics came into play.
My main inspiration came from Super Ghouls ‘N Ghosts, Mortal Kombat, Ori and the Blind Forest, Blades of Vengeance, Diablo series, Dark Siders series and the Castlevania series. I’m a gamer and have played hundreds of games. I’m sure there are many games that inspired me in some shape or form.
My main goal was to create a unique look and feel unlike any other 2D game created before or present.
I wanted to push the visual envelope as much as possible. The one constraint, however, was to achieve it with a pure 2D hand drawn graphics (so all sprites no 3D models with a side scrolling camera view). My plan was to use many modern advanced effects, like dynamic lighting, real-time shadows, dynamic, interactive particles and any other graphical effects and techniques that would look awesome.
A highly detailed gaming world was another artistic goal I wanted to achieve. I’m a longtime fan of old school Capcom Fighters that use their CPS II and III Arcade board. I admired the 2D detail those Fighters showcased in their backgrounds and sprites in general and wanted a 2D side-scroller to provide detail and quality throughout the whole game.
Also, I wanted to merge advanced interactive particle systems with beautiful HD 2D art seamlessly, to leverage the detail level and immersion while playing Corpses ‘N Souls. In short, my goal was to push all visual aspects as far as I could to create something truly awesome visually.
Challenges: Combining High-Quality Sprites with Modernized Effects
It was extremely difficult. It took over two years to zero in and perfect the look you see today in the screens and videos. Thanks to my custom game engine, the current look, and blending of the two technologies, high-quality HD sprites, and modern effects are possible. Since I’m only using pure 2D hand drawn sprites when I add lighting and other modern FX it was tough to get the colors to look just right. 2D games are built from many layers composed of multiple sprites.
Other challenges came with the addition of dynamic lighting to the game. When you use lighting in 2D sprites, it wreaks havoc with your colors in the layers, and you lose order/focus of where the foreground, middle or background are. It makes it much harder to isolate and control your colors and content in the different layers.
When you add dynamic lighting to the mix with your sprites, you have to take on controlling color bleeding and not end up with everything blended in a giant color mess. Losing sight of important objects like the main character, enemies and other key objects were a big problem. Keeping those objects isolated and standing out from all the other effects was a challenge.
Other effects like the interactive particles, normal mapping, real-time shadows all had to complement each other; not overkill one effect over the other, so they canceled out one another’s effect. Everything had to live in harmony, which was challenging; many things didn’t want to play together. On top of just getting things to draw correctly and work, you also had to worry about the performance side of things, a whole other box of issues. To give you an idea, outside areas are made of 20 plus core draw layers; each has effects and objects that need highlighting or special lighting constraints, etc.
Many issues of the layers all blending and not knowing what layer is what took a while to get under control. Pretty much everything was an uphill battle to make certain objects stand out, look a certain way and let the player know where they were in a certain location within the layers. It’s sort like the One Ring in Lord of the Rings; with great detail and interactivity comes great responsibility to make it all work in harmony.
How important is the use of color in Corpses ‘N Souls?
Very important. It’s a core design of Corpses ‘N Souls. Color focus is a mandate; everything must have a vibrant color, be dynamic and look alive. The color is credited to my dynamic lighting system which brings the world to life and lets the player feel like they’re interacting with the world. If you take a weapon emitting a purple glow from its light source, it will dynamically project/reflect its color in real time on the sprites that it passes over. Since I’m a hardcore gamer and buy hundreds of games, I wanted to stand out from the other 2D games and create special effect, depth and color effects.
Building Corpses ‘N Souls
Software and Tools
My custom game engine 2D Evolved was written in Visual Studio 2013 -> now 2015 and it leverages the DirectX 11 and the OpenGL API. I plan on upgrading to DirectX 12 and Vulkan graphics API.
Did advancements with your engine meet the expectations of your artistic vision for the game?
Yes, 100% it did. My game engine exceeded expectations of my original artistic vision. It’s very cool to have your own engine; it helps you meet your vision. You can accommodate anything (minus technical roadblock and limitations). You’re not limited to a feature set; you can add, modify or create anything you need.
Do you take into consideration the technological limitations when developing Corpses ‘N Souls?
Absolutely. The current look of Corpses ‘N Souls is challenging to create and run efficiently, even at 1080p on the Ultra setting. At first, I was working with DirectX 9 and 32bit / x86 architecture. I made the decision to move to 64 bit and DirectX 11 and OpenGL so that there wouldn’t be a limit to my artistic vision. The jump from this upgrade was massive. Currently, though, both DX11 and OpenGL have technical limitations. Even with the best graphics card for the PC like the GeForce Titan X Pascal, it still makes no difference. Both DirectX 11 and the OpenGL API still hold a Draw call limitation that can be hit if you push it too hard.
There’s a certain amount of draw calls that’s a limitation and when you go over that threshold, then the performance of your frames per second will take a hit and drop. It has nothing to do with the total GPU consumption, which is altogether a separate performance issue and concern. Same with the CPU consumption and core load, this API threshold limitation is not affected by these factors. Newer APIs, like DirectX 12 and Vulkan, will remove these Draw call constraints. At that point, you can only focus on worrying about the GPU and CPU power consumption and not the amount of Draw calls you make.
When designing a level, I make sure that there’s a good balance of action, harvesting, looting, crafting, adventuring, puzzle solving, platforming, etc. The key is to keep it varied, so there’s always something to do that keeps things fresh and interesting.
Since I play a lot of Diablo, the big difference with CNS is you don’t just kill things and loot them for better gear. There’s a lot more gameplay and depth included to change things up while you play other than just killing enemies. Varying your enemies and staging special encounters helps with the pacing, so it doesn’t feel like a repeated pattern like in some ARPGs. Controlled Procedural elements are also part of the design for the loot and enemy variation, so it’s not predictable.
How do you keep the balance of making the levels fully interactive and immersive without being too distracting?
This has been a challenge since day one and has been an ongoing until recently. I’ve managed to adapt rule sets in my design principles that help me separate the visuals, so they hold their own without losing their original intent. Issues like isolating the main character, so it stands out from everything else yet does not look out of place can be difficult when you have so much detail and effects.
You can use Techniques like DOF (depth of field) that help separate content from the focus content; it’s a useful effect. I didn’t use DOF since it blurs out the detail in the excluded layers from focus, like the backgrounds and objects in those layers. I used a mask overlay which adds a particular color and look for the target background layers without losing the detail that’s a side effect of DOF. I was very happy with the outcome.
Do you consider branching pathways for the player to explore early on in concept?
Yes, this is another design concept I wanted since day one. I’ve played side scrolling games that only move left to right and have no alternate paths or depth; I wanted CNS to be more than that. When I initially design the levels they’re designed to have alternate paths, as well have multiple layers to the area like Metroidvanias like Ori or Axiom Verge. So for instance, you may be walking to the right and see a cave. The entrance will go into a background layer but is separate from the parent layer; it has its hub area to explore (very much like if I loaded another level, but it’s all part of the parent level in real time).
Also included is your standard top and bottom paths etc., a standard of the levels design. Since I don’t use a tile system and everything is based on movable objects and a base layer system designing and adding alternate paths throughout the design and creation phases works well.
What are the basic guidelines when building a level from scratch?
Ah, I’m glad you asked. All these prebuilt systems are a base module system. All the hard work is done before hand. Every level inherits these systems automatically. All I have to do is make a new forest level for instance, and it will automatically get the shadow system, weather system, base particle system, reflections, etc.
If you want some new assets like a lava pool that spews lava on a timer, select the interactive particle system and design the look and feel of its behavior and sprites, etc. It automatically gets shadows, lighting, and interactivity with the player and levels. If you want a special sort of rain effect or snow effect, then you make a new profile and specify it’s triggered when the dynamic weather hit the rain cycle/profile.
Everything is configurable. You don’t always have to re-create everything, like say rain splashes that impact the floor or the interactive grass and vegetation. Those systems all point to different art assets but the systems themselves are turn on and configure parameters, and the code does the rest. A tremendous amount of work put in to make these systems re-usable and easy to use.
All the systems are prebuilt, and all levels get all those effects and systems when a flag is turned on. During a new area construction, I’ll then go in and change any art specifics to match the level and its theme. For instance, if it’s supposed to be raining fire shards instead of water I change the look and feel of the rain effects etc. to match the look and concept of the level. All the items you listed get modified if they need to fit the artistic design but the systems are never rebuilt from scratch.
Placing functional objects
It’s definitely about pacing and a way to change gameplay during certain moments in the game. I look at the overview of the level layout and pick my interactive moments to give the player a break from what they’re doing. Also, it’s an opportunity to load new content in the background while the player solves a puzzle or is about to move to a new area that’s visually different or needs new content. It certainly serves its purpose of being cool and impressive but more importantly it maintains a great functionality in the game’s flow.
Deciding what abilities should be earned
When deciding, I used the 25+ years of gaming that I’ve done over the years as an influence and looked at other ARPG to see what worked well and what didn’t. I think it’s important for the player to feel they’re progressing while playing but also not leave them dry with nothing cool to use when starting out. Making sure things are fun and interesting is always a priority. Since there’s a lot of skills and progression planned for CNS, I try and make sure they unlock at a good pace and provide enough content for the player as they progress.
I’d say level design has a significant impact on what skills are available to the player. The two are connected. The same goes for the enemy complexity and difficulty it will also dictate if a few crumbs are tossed the player’s way to help out in the combat etc. I have a few other ideas in the works with regards to the progression that I cannot share at the moment, but they’re unique and will be rewarding for the player.
Downside while creating
Just your average reworking of an area and readjusting specific puzzles, so they fit the current locations. Level flow and player progression and proper transition/flow to the levels were reworked throughout the designs and construction. Another thing was performance since you have to consider different settings like low, medium, high, ultra, etc. This is challenging when creating levels. Once your core framework is in place it’s much easier/manageable; the new area types are what take the most time since you have to adhere to those variations.
So far I try and maintain an equal depth throughout the game and keep the level of quality the same throughout; it’s an ongoing task and challenge that’s for sure.
Have you Looked back to what works or not?
Absolutely. I play it myself a bunch of times and readjust certain objects and components or pacing and flow. Since my game engine doesn’t use a tile system and everything are objects that are adjustable/movable it’s quite easy to reposition any object in a particular section or area. This makes repositioning assets very manageable and creating levels not so painful as if you used a tile system in my opinion.
Any concepts that didn’t made the final cut?
Yes, too many, enough to make another game. It’s difficult to say “Ok, let’s focus on what we have and move forward” when you’re the lead for creativity and in charge of everything else. You pretty much find yourself getting all these cool ideas from the excitement of creating the game and trying out new things, especially when you make your own game engine and are responsible for all parts of the game. Your mind is constantly in a design and create mode, so you have to control yourself, LOL.
I’d say the Corpses and Souls mechanics, traversing the detailed areas and the combat, those are probably the highlights.
I’m very proud of the modern 2D game engine 2Devolved that I created for Corpses ‘N Souls and feel it’s a perfect fit for the CNS artistic vision and goals. Not only did it allow me to create my dream look and feel it turned out better than I thought it would. As this is my first game and game engine I’ve built, I’m extremely excited it looks the way it does and has all the other components at an equal level of quality. So far, it’s been an amazing project. I’m happy with its progress and what it’s evolving into.
I think when my game engine rendered the world in its current state/look with all the detail, HD sprites, shadows, interactive particles, dynamic lighting, look and feel, colors, etc. and they all worked together and looked really good. It was a very satisfying thing when all aspects came together after a long struggle of getting components to play correctly with each other. It’s an odd feeling when you play so many games and then you know what you created was all built from scratch. It’s pretty crazy. The whole thing feels like magic to tell you the truth. I love the look of Corpses ‘N Souls. I’m very proud of it, even in its early stage of development.
Did social media influence the development?
Yes, I shared my work early on social media and have taken feedback ever since. The feedback directly changed the way CNS looks and helped make it what it is today. It’s an interesting time we live in where developers and gamers/customers can talk to one another as friends. It no longer feels like a celebrity behind closed doors and a normal person at a red carpet event trying to say hi.
The communication channels now for game development are tightly bound to the future and current customers. Sure you can choose to ignore social media and other types of media and your community. But I think that’s a mistake and not the correct progression or path to take as a modern game company. I’ve always had an open door to social media for good or bad. It’s the way things work now and can be helpful if you use it the right way.
Anything on the horizon that excites you as a developer?
For sure, too many. I’d say DirectX 12 and Vulkan API are awesome and I can’t wait to dig into them and see about merging them into my own game engine/Corpses ‘N Souls. DX12 and Vulkan are the future of gaming. It’s a very exciting time to be alive as a gamer and developer. Already Doom 4 has shown what Vulkan can do and likewise Tomb Raider + Gears of War 4 have shown what DX12 can do. My plan is to support both APIs if I can, and I have to say I really want to.
On the graphics card side of things, I think it’s pretty awesome what NVIDIA is/has been doing with its Pascal 1080s and the rest of its lineup (old and new). They’ve pushed their GPU technology. I’m a big fan. I think next year is going to be insane with their new Volta, and the new HBM2 memory, and all the new features. I still have high hopes for AMD as well. 2017 should be massive for them.
PCI-E 4.0 sound crazy as well as NVLink. Heck, I’d go as far to say next year will be the most impressive technology we’ve seen in a very long time. Gaming is going to greatly benefit from it. I’m very excited.
On the console side of things, the PS4 Pro and Microsoft Scorpio consoles sound like they are going to be awesome. I look forward to bringing Corpses ‘N Souls to both of those platforms.
Thank you for giving us the opportunity to learn about the design and development of Corpses ‘N Souls.
Likewise thank you for the opportunity as well and to allow me to share my information and insight into my game development for my game Corpses ‘N Souls. I just wanted to say Corpses ‘N Souls is still in early development and will only get better over time; this is just the beginning.
The year 2017 will be a big one for Corpses ‘N Souls. I have some major announcements early on in the start of the year of 2017! I wish everyone happy gaming and all the best and look forward to 2017. It’s going to be an epic year for gaming and Corpses ‘N Souls.
by Noah Ezrin
Corpses ‘N Souls delivers elements that haven't been done in a lot of 2D games: Real Time 2D Shadows, particle effects, reflections and procedural weather systems make the experience immersive. The ‘Metroidvania' genre will forever be appreciated by gamers who want to enjoy hours of exploration and incredible gameplay.