I’m a huge fan of FPS games. I’ve always had this curiosity to explore everything from realistic simulations to the wildest arcade-style experiences. So, when I discovered Deadlink, I couldn’t resist the urge to jump right into the game! The vibrant colors, intense action, and mind-blowing animations instantly captivated me. And guess what? We were fortunate enough to sit down with Grzegorz Michalak, also known as Greg, from Gruby Entertainment, and delve deep into this phenomenal title! Get ready to dive into our exclusive interview right here on INDIEGAMES/WTF!
What inspired you to create Deadlink, and how did you come up with the unique combination of FPS, rogue-lite mechanics, and a sci-fi-colored art style?
The idea for Deadlink initially came from Paweł Siech, our creative director. As Polish game developers, we have always had a soft spot for cyberpunk. Just look at games like Ruiner, Observer, Ghostrunner, Gamedeck, or Cyberpunk 2077 (duh). We love those gritty stories like Blade Runner, set in dark, rainy streets of big cities illuminated by neon lights. Maybe it’s because of our country’s history, rapidly transitioning from the post-Soviet era and eagerly embracing new technologies from the Western side of the Iron Curtain.
Choosing FPS as our game’s genre was mainly based on our experience. All four founders had previously worked as gameplay programmers on the Outriders game by People Can Fly, so we had a shared background in shooter development. Plus, we were huge fans of games like Hades, Dead Cells, and Slay the Spire, which we played religiously. So, we asked ourselves, “What would happen if we combined FPS with a roguelike?” Admittedly, it wasn’t the most groundbreaking idea since there were already fantastic games of this type, such as Roboquest, Gunfire Reborn, Immortal Redneck, and Ziggurat. However, none were set in the cyberpunk universe we decided to explore.
When we started developing the concept for Deadlink, there were only four of us, all programmers, with zero artistic skills. Realistic graphics would have been a challenge to achieve with just our team, so we opted for a low-poly, stylized art style. Then, when Tomasz Ćwik, our art director, joined the project, he surprised us with a fresh approach, combining mid-poly meshes with rim lighting and unconventional cel-shading. This unique art style has been with us ever since, and honestly, we’re pretty proud of it.
What kind of research and preparation did you do before starting development on your game?
Let me break down the preparation we did into three categories:
1. The formal stuff
Creating Deadlink was the first project for Gruby Entertainment Studio, so we had to tackle all the bureaucracy involved in establishing a company. We had to seek help from lawyers, accountants, and business developers to make it happen. If you plan to start your own studio, be ready to spend a LOT of time dealing with paperwork, writing emails, and working with spreadsheets. I’m talking about 60-80% of your life here, especially as your team grows. If that’s not your thing, consider finding a business partner who can handle these aspects for you. Yes, it might cost you, but it allows you to focus on development.
2. The technical side
To my surprise, many new studios don’t prepare a working game development technical pipeline before diving into actual game creation. Luckily, with four programmers on board, we prioritized automating as much as possible from the get-go. Seriously, invest in automation—it pays off from day one. Here are some notable aspects to consider:
Source control repository: A must-have for all development teams nowadays.
Build automation: We implemented a system that builds and compiles the complete project after each source control submission. This allowed us to enforce two policies:
1. Always playable: The latest version of the game, built from the source control, must be playable from start to end without any gameplay blockers. The build machine can immediately report some errors, while others can be discovered by simply playing the latest version. If there’s a blocker, drop everything and fix it. Maintaining good project hygiene is crucial.
2.Treat warnings as errors: This might be controversial and difficult to implement midway through development, but starting with it can be immensely beneficial. Trust me, regularly seeing this message is strangely satisfying:
Automatic Steam builds upload: If your game is already on Steam, ensure you have at least one beta branch updated daily through your automated system. This allows everyone with your game in their Steam library to play the latest version. Remember, you’re keeping your build in good shape, creating a constant feedback loop with players as you add new features and updates.
Integrations with communication tools: Developers generally dislike emails, so it’s a good idea to set up automated communication through Discord or Slack. Using a Discord bot, our build machine keeps us updated on the build status. We also have bots for notifications about new Steam reviews and Twitch streams of Deadlink. It’s a lightweight, easy-to-digest way of keeping everyone on the same page.
3. Game-related research
This one’s the most important, even though it comes last. You and your team must play many games, especially within the genre you’re working on. You need to understand what makes these games unique and think about how you can make them even better. One piece of advice is to read the negative reviews on Steam for your favorite games. It helps provide a better perspective on your designs and how they address players’ needs.
The art style of Deadlink is amazing! How did you approach designing the aesthetics of the game, and what were some of the biggest challenges you faced in that process?
Working with stylized graphics was a blast! It allowed us to be super creative and do things that would be impossible in realistic games. Plus, there were some technical aspects we had to figure out.
We didn’t follow the typical Physically Based Rendering (PBR) pipeline. Instead, we developed our own light calculation functions and shaders. Here’s a glimpse of what our master shaders look like:
One of the critical features of our art style is the proper handling of rim lights. It took a considerable amount of time to get it just right, but it’s a crucial element that brings our style to life.
Another exciting aspect is that we don’t rely heavily on standard UV mappings or textures for objects. We almost completely avoid using normal maps as well. This approach forces us to be more meticulous in creating 3D models, where all the details are directly incorporated into the mesh itself.
(Take a look at the keyboard. Each button and carving is part of the mesh, with only the display panel using a texture.)
This technique increases the vertex count but ensures that objects remain sharp and maintain that distinctive comic-style look.Our technical artist, Michał Orzełek, gave a fantastic presentation on Deadlink’s approach to stylized graphics at the Digital Dragons 2023 conference. If you’re interested in delving deeper into this topic, I highly recommend following the Digital Dragons Krakow YouTube channel. The lecture should be uploaded there in the upcoming weeks. Stay tuned!
The main menu, with its laboratory setting and interactive elements, and characters, sounds like a fascinating and immersive approach. Could you share some insights into how you developed this interactive menu system and how it contributes to the overall atmosphere and engagement of the players?
From the very beginning, we knew that combat would be the core focus of Deadlink. The gameplay had to be king, and we dedicated much time and effort to perfecting the feeling of movement and shooting. However, we also strongly believe that games should provide a holistic experience, combining gameplay, visual and sound aesthetics, and narrative elements that help players immerse themselves in the game world.
That’s where Hades came into the picture. We were big fans of the game and were particularly drawn to its captivating story and narrative elements. One aspect that caught our attention was the ability to interact with various NPCs and engage in storytelling that didn’t necessarily impact gameplay directly. We decided to explore a similar approach. Enter Rumiko, Thomas, and Maria. These characters serve the purpose of immersing players in the world of Deadlink, providing narrative value without interfering too much with the combat aspect of the game.
It was indeed a challenge to strike the right balance, but our goal was to offer something for players who enjoy narrative-driven experiences while ensuring that those who simply want to dive into intense action could do so without any barriers. We wanted to cater to both the pew-pew-boom-boom enthusiasts and those seeking a deeper connection to the game’s world.
Alright, I’ve heard a rumor floating around from our favorite curiosity source called games-stats. They claim that Deadlink has been raking in some serious cash, boasting sales of a whopping $300,000! Can you confirm these astonishing figures, or are game-stats spinning a wild tale? I’m dying to know the real story behind the success of Deadlink!
First of all, as a team, our main focus is on developing Deadlink to the best of our abilities. Deadlink is currently in Early Access on Steam, and the sales can fluctuate significantly, especially considering our recent feature in the Humble Bundle. We understand the curiosity surrounding the success of the game, but it’s important to note that we still have a long way to go in terms of becoming as recognizable as some of our peers, like our friends over at Roboquest.
For us, the most valuable aspect of being in Early Access is the opportunity to gather feedback from the players and engage with the community. This feedback is crucial for us to improve and refine the game as we work towards its full release. Let’s wait and see where the journey takes us as we approach the full release of Deadlink on July 27th!
Time for another slightly mischievous and curious question, but I promise it’s all in good fun! Can you kindly shed some light on the mystical realm of wishlists? We’re dying to know, in the magical moment before the game’s release, just how many aspiring players added Deadlink to their wishlists.
We’re thrilled to announce that Deadlink has surpassed the remarkable milestone of 100,000 wishlists! It’s truly incredible to see the level of interest and anticipation from players around the world. While the significance of wishlists may have evolved over the years, tracking the conversion rate from wishlists to actual sales remains an intriguing key performance indicator (KPI) for us.
As game developers, we understand that wishlists serve as an initial gauge of player interest and can help generate early momentum and visibility for a game. However, we also recognize that wishlists alone don’t guarantee success. Ultimately, it’s the game’s quality, gameplay experience, and community engagement that contribute to its long-term success.
Deadlink features a wide range of modules that players can unlock and upgrade. Could you shed some light on the technical aspects of implementing these modules? How did you handle the integration of new abilities and upgrades into the game mechanics?
With our experienced team in Unreal Engine, we ensure to squeeze all the best things out of this framework. At the development start, we decided not to modify the engine’s source code by any means. This prevents us from doing fancy stuff like the bigger studios, but it also keeps the development process smoother. We don’t encounter problems with engine version updates, and it sparks creative impulses when we face design obstacles due to framework limitations.
All of Deadlink’s skills and progression features are built using Unreal’s Gameplay Ability System. It’s true that the entry point to this solution can be quite high for developers unfamiliar with such systems, but the long-term gains are definitely worth it. Epic Games originally created a complex system to handle the MOBA gameplay in Paragon, which then evolved to be used in Fortnite as well. From an implementation standpoint, there is some initial work required, including creating boilerplate assets. However, when utilized correctly, the system alleviates the burden of considering all possible correlations between abilities, whether they belong to the player or enemies.
Could you provide some insights into the AI system implemented in Deadlink? How did you design and implement enemy behaviors to ensure challenging and dynamic combat encounters?
That’s a tough question, as we’ve put a lot of effort into our enemies’ behavior, and we know there are still plenty of improvements we could make, but it takes a ton of manpower.
Doom Eternal was a major inspiration for the AI algorithms we used in Deadlink. The AI in DE is smart enough to deliver exciting combat that makes you feel overwhelmed by enemies, even without throwing a massive horde at you. At the same time, the AI is dumb enough to give you that power fantasy during combat. We took this approach and developed specific AI systems to bring these ideas to life. Let’s dive into three critical aspects of the AI in Deadlink:
1. Single Unit Behaviour
A typical enemy in Deadlink works on Unreal Engine’s standard Behaviour Tree, or as we like to call it, the “brain” of the enemy. Navigation is handled using the default navmesh, but we’ve added a cool feature called Tether Points. These points are automatically generated on the navmesh and help enemies decide if it’s worth attacking the player from there. It’s an optimization that saves us from calculating visibility and navigation traces for each enemy separately, and it makes the enemies feel less dumb.
Now, here’s the thing with movement shooters: players are super mobile, especially when it comes to horizontal combat. This can be a challenge for melee enemies who struggle to keep up with the player. We didn’t want our melee foes to become a slow-moving pile of flesh or do a conga dance in narrow corridors. So, we gave them special abilities like dashes, rolls, and teleports to close the gap between them and the player. And to keep things interesting vertically, we ensured each enemy could jump. But let me tell you, making those jumps look cool is not as simple as it sounds. We had to predefine all the jump points on the maps to make it work seamlessly.
2. Wave Scripts
The enemy lineup in the combat arenas of Deadlink isn’t set in stone. Instead, we have this nifty system called a Wave Script that decides which units should show up based on what’s happening on the battlefield. Each enemy has its own difficulty rating, and the Wave Script aims to maintain a specific level of challenge at any given time. That’s why you’ll see the number of heavy and light enemies changing from fight to fight, adding that awesome roguelike replayability factor and keeping players on their toes.
So, here’s the deal with Wave Scripts. They determine the types of enemies that will join the encounter and how the battle unfolds. Let’s say we start with a few easy enemies, then throw in some heavy hitters, and just when you think you’ve got it under control, we bring out the elite foes. It’s like a wild card combination every time! We can’t guarantee which enemies you’ll face in each encounter, but we can promise you one thing: intense battles that will get your heart pumping. That’s what it’s all about!
3. Token System
Picture this: You enter the arena, the epic combat music starts blaring, and the enemies start spawning. In a split second, it’s pure chaos as bullets fly everywhere. Ever experienced that? Well, fear not! We’ve got the ingenious Token System in place to save the day.
Here’s how it works: Each Wave Script has a limited number of Tokens. An enemy can only attack you if it has a Token in its possession. Otherwise, it needs to find another attack spot or maybe even taunt you for a bit. It’s like they’re waiting their turn at the arcade! Now, enemies can request Tokens when they’re ready to strike, but there’s a little catch. There’s a waiting queue, you see, and the enemies behind you have a smaller chance of snagging a Token.This system helps us avoid those dreaded moments when all enemies decide to unleash hell at the same time, giving you an instant game-over. We had to do some fine-tuning to ensure the foes didn’t behave ridiculously dumb or chicken out too much.
C.3) What kind of development tools and software did you use to create the game, and why did you choose those particular tools?
JetBrains Raider: For all you coders out there familiar with MS Visual Studio for UE’s C++, you’re in for a treat. Raider is a pleasant surprise with its robust integration with the engine. Check it out for yourself: https://www.jetbrains.com/lp/rider-unreal/
Blender 3D: This magnificent software is our go-to for creating all the 3D meshes in Deadlink. We also use it for view-model animations, concept arts, and even shader/material prototypes.
Adobe CC: Photoshop works wonders for our regular 2D work, while After Effects helps us with video-related tasks. And let’s not forget XD and Illustrator, which come in handy for all things UI. The current Adobe plans are way more convenient and affordable compared to the pre-cloud era.
FMOD: When it comes to in-game music, we rely on FMOD. Why, you ask? Well, it’s all about the dynamic changes in music intensity, especially during those epic boss fights. FMOD allows us to make those changes precisely on certain beats rather than just doing basic crossfades like the default UE4’s audio system.
Honorable Mentions: Now, let’s give some honorable mentions to the software that may not be directly related to the game itself, but boy, do they make our lives easier during development:
- Hack’n’plan
- Notion
- Google Cloud
- Discord
- Notepad++
- GIMP
- Affinity Designer
Thank you very much Greg for your time, you have provided very helpful information and insights that other developers and players will love for sure!
I’m really grateful for the opportunity to share some details about Deadlink and provide insights into what makes it an exciting game. If you’re into intense combat and a game crafted with passion, be sure to check out Deadlink!