Making games is hard. Making games on your own is even harder, but being successful at it is reserved for the best of the best.
In this interview, we hear from one of the best of the best: Unity developer Daniel Nascimento, who recently released his game Rocket Fist on Steam.
We chat about the process of creating games in Unity, bringing them to market, and whether this indie apocalypse is really a “thing” or not.
What brought you into game development?
I studied 3D Animation at the Vancouver Film School, but not really for games: more for TV and movies. I was having a hard time finding a job as an animator, and at the time I was playing a lot of a game called Dungeon Defenders, which had a level editor based on Unreal Development Kit.
I started using what I have learned about 3D Art in school to play around with it and make my own levels; I also started ripping characters from the game and posing them in funny scenes and posting it in their forums. That ended up leading me to being hired to animate a trailer for their new game.
That opened a whole new world to me, it didn’t even occur to me before that working with games was something I could do. I bought a Unreal Development Kit book and started learning how to make games with it.
What is your game development experience?
I made many games, most of them really small projects made for game jams in under 72 hours. The most famous of them was Go Home You’re Drunk which was played by a lot of the biggest YouTubers and was made in a 15-hour jam with 2 friends.
I also did a Masters of Digital media in which we worked in a couple of game projects and worked in a couple of virtual reality companies later on as a Technical Artist.
How did Rocket Fist come about?
I wanted to make something more complete with a longer development cycle.
I was pursuing a master’s degree in Digital Media, and in one of the projects we were working on, we were tasked with coming up with games for the PS Vita that made good use of it’s physical interface. I was working on a lot of small prototypes in the Vita and had the idea of making a 1 vs. 1 game in which each player held one side of the device.
And that was the first ever version of Rocket Fist. It was just some spheres in an environment made of cubes throwing little cube missiles at one another, and even at that stage it was already pretty damn fun.
Each player only had one button and one analog stick to play with; it was simple and addicting. I started playtesting with my classmates and it was a success. Everyone I introduced this to would play for a long time and would have a hard time giving it back. At that point I was sure that was THE ONE, the project I should pursue to be a long-term commercial project.
When I was starting, I learned Unreal Development Kit for a while, which was Unreal Engine 3, but it was a really awkward engine to use, with lots of annoying problems.
In the first game jam I participated, I worked with a programmer that was using Unity and fell in love with the engine. From there on I started learning C# and using unity and haven’t looked back since.
What Unity features do you really enjoy?
I love how easy it is to create stuff in it, even to change the editor itself and create tools to help in the development! I also love the component-based nature of it.
Conversely, how do you think Unity can be improved?
It really needs a better way to version control scenes, those are always a problem when working with others. Also wish they would focus more on stability and performance for a while instead of just trying to cram more features into it.
How has the experience been for developing multiplatform games on Unity?
It was great! I thought it would be much harder to get the game working in other platforms, but for most of them it was mainly pressing a button and changing one method or another. Conditional compilation also really helped with that; so far I’ve been keeping the same project for all platforms (except for Universal Windows App, which is very picky about a bunch of things).
Did you use Unity’s multiplayer tools, or did you create your own? What was your reasoning and how has it turned out?
I tried many multiplayer tools. Unity’s was too laggy for Rocket Fist, since it’s a very fast-paced game.
I ended up opting to go a P2P route with players hosting their own servers. I built my own framework on top of Steamworks Multiplayer using TNet as a base, but in the end it wasn’t working that well, with inconsistent results. I’m now in the middle of implementing Forge Networking instead, which gave me way better results in my tests.
In general terms, was it difficult to integrate Steam into the game?
It was fairly easy; I used Riley’s great Steamworks.Net and that made the whole process painless and quick.
Indie Game Development
There’s been a lot of talk about the great Indie apocalypse. How do you see the current landscape for the indie developer?
There is a lot of competition that’s for sure. It’s not an easy path. Personally, I make games because I really enjoy making games. So no matter what, I’ll keep making my own games on my free time, even if I have to work a day job alongside with it.
What do you consider the hard aspects of game development?
Online Multiplayer. Still have PTSD from working on it.
Rocket Fist went straight to market in a completed state. What’s your thoughts on programs like early access in terms of being an indie development?
I figured that you really only have one chance at making your initial splash, and I wanted that initial splash to happen when the game was really ready for it. So far I’ve been receiving great feedback and reviews, I think it was a good choice.
I was also concerned with support requests and the added work that comes with it, but looking back, it isn’t as much trouble as I anticipated. I might try some sort of early access for my next project, maybe Itch.io’s refinery.
Rocket Fist also features a flat cost versus being filled with microtransactions or being free to play. Why did you choose the flat price and what advice do you have for an indie developer when determining a price?
I just hate microtransactions very very much, which is one of the reasons I tend to stay away from mobile game development. I don’t really have any good advice about determining a price; what I ended up doing was asking a bunch of people about their opinions and trying to figure it out from it.
Also gotta keep in mind that a lot of people only want to buy games now when there’s a sale, so think that most of your sales will happen when the game is being sold at a smaller price than the one you picked.
What advice do you have for indie game developers?
Playtest a lot, be open to feedback and suggestion, keep on learning, keep on making stuff, have fun with it!