Image courtesy of 9heads

No Captain Allowed! is a co-op game developed by a two-person team

80 Level |
28. September 2022
9heads is a Brazilian game development company made up of Daniel Ernesto and his friend and partner Henrique Elias, who graduated together in Game Design in 2010. Soon after that, the duo of aspiring developers formed the 9heads company and started working on their first game together, Vitrum, which was released on Steam at the end of 2012.
Coming off the success of its second title,randomized online horror game Damned, Brazilian team 9heads game studios found itself at a crossroads. Their tech lead, who developed the studio’s proprietary engine, left, forcing them to make a huge decision: Shift to Unreal Engine. With visual scripting at their fingertips and a variety of learning materials, they felt well-equipped to build a new, fun cooperative experience: No Captain Allowed!, which last year received an Epic MegaGrant.
How did you get started with No Captain Allowed!?

The idea behind No Captain Allowed! has always been to create a casual, co-op game, but with a certain complexity in the "easy to learn, hard to master" style. We wanted to leverage our knowledge of developing a co-op game that we had in Damned and apply it to this new project.

We took a lot of inspiration from the simplistic mechanics of Overcooked and the roguelike style of FTL. Coupled with the idea of a chaotic and cooperative game, the basic idea of No Captain Allowed! was created.
However, we also wanted NCA! To be a game you can also play solo. So many times, we hit our heads on the wall looking for design solutions that would work either online with four players or solo. What works online doesn't always work in single-player, so we had to filter a lot of ideas and adapt the game's difficulty based on the number of players.
Tell us about the gameplay mechanics for the game.

The game mechanics have always been designed to be simple and easy, with as little learning curve as possible. However, an experienced player should be able to optimize time and use passive skills to stand out among other players. We believe this has the effect of rewarding those who invest time analyzing and unlocking the game's secrets.
In short, the game allows you to pick up and drop items, shoot enemies, choose passive perks for the character, and vote on quests, rewards, and purchase options. All of this, combined with chaotic AI invasions and powerful enemies, makes gameplay frenetic and chaotic over time. And for cooperative multiplayer matches, separating tasks and choosing passive skills as a team makes all the difference in achieving victory!

The game also includes a procedural map that randomizes different elements of the game, such as level events, purchase options, quests, and even the final boss each time a player or players start a new game.
How did you create the stylized effects in the game? Were any Unreal tools helpful here?

Our base shaders are not complex at all. We do not use any kind of "Toon Shader" or something similar. Instead, we prefer to hand-paint everything and be very picky about color palettes and style. Of course, this wasn't hard since we didn't have to sync the art style with multiple artists. Almost all 3D assets, including animations, were done by one person using Blender and Substance 3D Painter/Designer.
But one little trick that a friend of ours helped us achieve is the ability to curve the entire world like a sphere, including the player model! This was done using the World Position Offset input the base UE shader has. It consists of a function that bends every model on the desired axis using the distance from the camera as input. So what we did is everything that gets further away from the camera starts to bend downwards, giving the feeling the world is small, and you are moving on a giant sphere.
Why was Unreal Engine a good fit for the game?

The main reason we chose to use Unreal as our game engine is the ability to code using visual scripting. It's basically C++ without the syntax. Unreal offers a lot of production-ready tools, like network-ready Blueprints, physics, localization manager, and many others. Also, there are a lot of materials and articles on the internet about Unreal Engine and how to use it to make certain things. The official documentation is actually very good too.
One of the things that made us scratch our heads a lot was networking. Making the game work smoothly over a P2P connection was a hard task. Poor internet connections, packet loss, and movement interpolation are just some of the things we had to account for when developing. And we just solved some of these things a few weeks ago. Nobody likes a game where you can feel the network latency or jaggy movements all over because of a poor internet connection.

Online multiplayer is the core of the game and shouldn't be a problem for any player when playing online. We invested a lot of time and neurons in the networking code.
There are a lot of learning resources online that are mostly free, which is great! The available tools are just amazing; from the prototype phase up to profiling and debugging, Unreal has a tool for it. I can't recommend it enough.

The game received an Epic MegaGrant. How did this help and motivate your team?

The biggest prize was the effect it had on us mentally. From that moment, we knew we had something. A team of people looked at our project and found it worthy; the fact that a team from Epic Games reviewed it and believed in us. That was the biggest prize. For a team of two, this acknowledgment was very heartwarming and motivating.

We applied for the MegaGrant program about six months before receiving one. We had the core mechanics and a somewhat polished version of the game visuals. So I just filled out the form, sent a demo to them, and hoped for the best. Thanks a lot to the Epic Games staff. Your vote of confidence means a lot to us.

Can you talk about the challenges of developing a game with a two-person team?

Certainly, developing a game in the proposed scope is a great challenge. Managing the development was not that difficult as the team was small, but the time cost is very high. Game design, sound design, modeling, texturing, programming, and testing are just some of the tasks done by just the two of us. We got great outside help regarding the in-game music. A composer from the USA, who previously worked with the development of Damned, helped us again with this project.
Defining the scope of the game is still a bit of a complicated task. We know that we have to do what is necessary to make the game fun and without technical barriers, but we know that we can't do everything that comes to mind. Otherwise, the game will take 10 years to complete. So we have to constantly evaluate the cost in time and the benefit that a certain feature will bring to the game. We already had to exclude features because, during development, we discovered that it would take much longer than expected and the benefits would not be that great. For example: localization. During development, we abandoned some translation languages that had unusual characters due to the challenges it could bring. In the end, we chose to leave only English, Portuguese, and Spanish, languages ​​that are easier for us to localize.
But by far the most difficult task is marketing and advertising. We have little knowledge of the area, and we are not very experienced people with social networks and influencers.

So we hope you can check out the game on Steam and learn more about our other projects by visiting our official website, Twitter, Facebook, or Instagram pages.

    Get Unreal Engine today!

    Get the world’s most open and advanced creation tool.
    With every feature and full source code access included, Unreal Engine comes fully loaded out of the box.