Hello! I am Mike Capozzi, father of two under the age of four, full-time manager, husband, and now…game developer! It feels good to say that out loud: Game Developer. Not aspiring, but the real deal! You most likely are too! This is the one and only dream I always knew I had when I was a little kid growing up. I have been a gamer my entire life as far back as I remember. I have played virtually every genre out there over the years. I want to share a little bit about my story. If it can inspire even one person around the world, it is totally worth it as there are others out there who have inspired me.
In April 2019, I decided to give game development “another shot”. I put that in quotes, because over the years I would always dabble in it – but not ever take it seriously. The main reason? I did not think I could. One day I stumbled upon the Unity 2D course by GameDev.tv taught by Rick Davidson and Ben Tristem. It was on sale at the time, so why not? Boy, I had no idea that I would be stumbling into the fulfilment of a lifelong dream.
I went through the tutorials, and it was such an engaging experience. They start off remarkably simple and ease you in. Anyone can do it; I really mean that! They also do something I have not seen other tutorials encourage. They stop here and there and speak directly to you, saying essentially: “Do it. Make a game. Take this and add to it. Release it – publish it. Go out there and actually try it!”.
After hearing this enough times, it finally spoke to me and motivated me to stop just talking about it and simply following tutorials line-for-line, but challenge myself to make it different. Come up with your own twist. Share it with the community and see what they have done as well.
One day, I made a very strange promise to myself. After the tutorial “Glitch Garden”, I promised myself I am not going to watch another tutorial until I proved I needed something from that tutorial that was relevant to me. I was going to take a game like Glitch Garden (which is somewhat similar to Plants vs Zombies), and I’m going to make my own updated version and mix it with an RPG and give it some persistence.
I held that promise, whether right or wrong, for about 16 months! The only tutorials I watched, were just some “fun to know” things on youtube while I was washing baby bottles. All my serious “Learn More” tutorials were purchased and completely paused until I made and sold a copy of a video game.
This drove me even more, as odd as that might sound. The prospect of me getting to jump into platformers next, or go over to 3D and master that, so I could make my own action RPG was SUPER tempting! But I held to it. I did not want to get stuck in “Analysis Paralysis”. Which I think is worth its own section.
I had the idea for Mystic Hammer a long time ago. It was going to be some sort of tower defense game. At the time, I assumed the hammer would be used as a tool to craft larger towers or something along those lines.
I morphed it instead into what it is today, a cross between a game like “Plants vs Zombies” and “Diablo”. There are 50 campaign levels, 120 story waves, boss fights, cutscenes, looting, crafting, and an unlimited wave mode with its own rewards.
Another unique part of Mystic Hammer is, well, the hammer. You can learn abilities (think AOE spells) that will affect the battlefield. Buffs, debuffs, heals, direct damage, and damage over time. This adds another element of action to an otherwise slower genre.
The ability to customize your bar before any level means you can mix and match strategies. Want to go with full ranged? Use archers, fire archers, mages, and chain lightning mages. Fancy a tank/heal build? Build your line of paladins with priestesses healing in the back. I wanted to take my experiences from MMORPG raid type setups and put them into a lane defense game.
I found myself falling into this trap and I know you might too. You want to sit down and be productive. You convince yourself that you are going to get this game done. You go to add a public property in code. Should I do this? Let me check articles around there. Okay, there are lots of articles and forums posts about this. Ok, some are not game development. Let me see a YouTube video on what to do about it now. Oh, it's time to go to sleep. I will pick this up tomorrow. Tomorrow comes, you are still deciding whether to refactor your code or not, for something as simple as setting and getting information from a class.
What I found was: You need to learn where to cut corners and where you cannot. You just need to understand readability with code versus performance vs style. There are a lot of “code snobs” out there. You cannot read their comments on forums and such and feel embarrassed.
It is okay to write code in a certain style as long as it is consistent. Pick a way to do it, select a naming convention, and move forward. If you find out you are doing something objectively bad, like doing a FindObject multiple times and it affects performance, you can refactor that as soon as you are aware that there is an issue.
But if you are not yet aware, seeking out any potential imperfections you may have could being trouble and take you down a rabbit hole of how your code could be better. This works the same too in unity concepts. Nested prefabs, prefab references vs lookup, whether to use tags or not, etc.
It is okay to research enough to understand the “why” behind these being good or bad, but I often find there is a tradeoff there and there is no perfect answer. Seeking for it wasted a lot of my time, and one day I just decided to pick a path and stay consistent and I have not looked back since.
So, I would be remiss if I did not bring up the anxiety that I had with game dev and other areas of my life. I think I live in a “high anxiety” time. I’ll stick to game dev so I don’t end up trying to offer a therapy session here, but my goal was to somehow channel this anxiety into something that would help with my fatherhood anxiety or day job anxiety. It is a complicated answer, but I think ultimately it was successful.
So, with game dev specifically, I found something quite odd. When I sat down to work on my game, I was genuinely having a good time most of the time. I was happy and got the same feeling I did when playing an awesome game and losing myself to it. (Dopamine release maybe?).
However, the issue was – I would DREAD sitting down and launching Unity and writing the first line of code or dragging the first prefab. There was this huge wall, and I would procrastinate or do anything possible to not sit down and get started. Every single time, when I broke that barrier, I did have a good time and felt very accomplished.
You must try and break that barrier for the next topic: Try for no “0 days” as they say.
You hear this all the time but aim for no 0 days!
Write a line of code. Create a little bit of art for your UI. Add a button. Write a line of dialogue. Do something so that you have no zero days. I know it's not always possible, and I had several 0 days. More often than not, I would be productive in some way. If you count shower thoughts, I suppose I never had a 0 day, because in the shower comes tons of ideas about the next thing to do.
Balancing with Full-time Job
Balancing this as a full-time manager has been no easy feat. I often wonder why when I was in college or even after high school, I didn’t get this far into game dev since I had so much more time.
Now that I feel I have no time, somehow this worked out. Why? I think it has to do with how motivation works and being able to never waste a free minute.
Between this and parenting, there really felt like no time at all. So, I chose to take it from sleep a bit too much. It was not free, but my best advice would be to try and keep some sort of schedule and work it out if you have a significant other.
You need to “work” (and it is okay to explain that it is work!) at night after they go to sleep. Or in the morning before the day job. Or on a weekend. I realize it puts more pressure on you because now you have to do this on a schedule instead of when you feel like, but break that wall I mentioned earlier and you will have a ton of fun making your dream game.
Being a father
This for me, hands down, was the hardest part. I am a very involved father who takes his turn with bottles, middle of the night, and all the other joys of being a parent of young ones. The anxiety was at its peak with parenthood, so it made this very difficult.
This is difficult because of the unexpected interruptions.
I would be working on my game in the middle of fixing a critical bug or adding a new system that was broken, and I would hear my wife call for me because my daughter woke up crying. It is now almost midnight, and I know I cannot return to this for the rest of the day.
It will be broken tonight, and it will not build tomorrow.
Overcoming this is difficult, and I’m not sure of the best advice I could give except to try and do things modularly so that your code is always close enough to be building so you aren’t in too much of a mess. Easier said than done though!
The other impact of being a father where this became difficult was when spending time with my children. I love them and have fun playing with them, but sometimes in my head, I was escaping and thinking about the next part of the game I want to write.
Then the guilt set in, should I be thinking of this instead of being so into the pretend play I am having with my kids? That guilt stayed with me for a while until I talked to someone who told me: Your kids want to see you happy. If game development is making you a happier person in life, even if you aren’t 100% there a few times, you are still going to be emitting an aura of happiness that your children will grow up around on average.
I hope that is true, and now that I have finally released this game to the world, I do seem overall happier! The whole thing is still fresh and a bit surreal!
Okay, so I said no zero days. Well, Covid-19 threw a wrench into things. Of course, if personal things are going on, it’s totally fine to have zero days. I ended up taking maybe 3 months off from Mystic Hammer. I could not touch the game; I had that wall I was talking about that grew larger and larger.
I thought I may never return to the game, even if Covid-19 got better. My wife also works full-time, so my children must be in daycare, but daycare closed. So now my full-time job was affected during the day, which meant I had to work on some of my day job at night. It was a disaster.
One day I forced myself to acknowledge there was a wall sometime in July of this year. I said to myself “Let me try, for the sake of it, proving that I will not be stressed if I break this wall down just for tonight”. Since that one night in July, I have not had a 0 day and 3 months later I powered through the rest of the game and released it to the world!
Another big piece I am sure you have heard about is marketing. A lot of developers hit this block, and it gets them down. For me personally, I had to find out what worked and what didn’t based on who I am.
I tried Reddit, and I feel like that just does not work for me. I went over to Twitter, and I felt so much more effective! All I did was be myself, and helped lift up other game developers! We are all a family and should all be approachable. I did not get that feeling on other websites or some discords (not all).
There are definitely people out there who want to help spread the word about your story and your game. I set a goal for myself to see if I could get 500 followers on Twitter by just being myself and interacting with tweets.
I sit here close to 1000 followers now.
But it is not just a number, these are genuinely interesting people who are into video games and game development. They are good people and I enjoy hearing about all their work as well as sharing mine from time to time. I recommend going this route as it also adds fulfilment.
Will it have a huge impact on sales? It is too early for me to attest to that or not. It has definitely been worth it for validating myself.
You also will meet people in the industry for bigger companies. Some of them want to help too. (Example: @liamTwose on Twitter, dedicates himself to helping indie developers any way he can). He helped me by pointing me in the right direction for a press release and has a monthly #pitchYaGame hashtag on Twitter where indie devs can practice pitching their game and receive feedback and valuable exposure to industry professionals.
What I Did Wrong
Let me be up front, I did things I don't consider to be correct, and probably wouldn’t recommend them to others. I hear the many recommendations to complete a tiny game first and then more small games and publish them for free and get feedback.
In my case, I did that unfortunate thing of scope creeping my way up to something huge. One thing you must do is take all of that and chop it in half. That portion I did do, I parted with some great ideas. Other things I did not compromise on. I didn’t think I was getting into a large game, but at the end, I now realize: 50 levels, 120 waves, written story by chapter, cutscenes for story, page with recorded stats, achievements that give bonuses, steam achievements, and an unlimited tower run mode that acts as a mini rogue-lite version that has its own rewards and dynamically created randomized waves. That is a lot!
Along these lines, another thing I notice is that a lot of people who tried my game did not care how long it was. I felt I should't release something with less than 50 levels, and 5 or 6 biomes with dozens of enemies and units.
In the end, however, most of the plays on Youtube or Twitch get to about level 20. Then they make their judgment. So, if you had to choose quality over quantity, you probably want the former.
What I Did Right
I think trying to mash up two genres seemed like the right thing to do. Anything more than two, and it can get complicated and hard to explain. Keeping it simple enough to explain is key.
I would say cutting the right corners was also important for me. There were things I knew were not done the best way, but as long as it didn’t affect performance, it was more important for me to finish it in one night and go to sleep at 1am instead of trying to do it correctly over three days.
I think joining the Steam Autumn Festival was huge for me too. I had released a demo of Mystic Hammer prior to this, and it didn’t really gain much traction. There were a bunch of downloads, but I didn’t get any feedback and wishlists didn’t go up too much.
Making a Steam page early. I do think this is essential. I may have done it earlier than you need to (a year before release), but I think it helped to monitor traffic to see what works and what does not.
Kickstarter is a complicated topic, but for me, I think it was worth it. I kept the amount exceptionally low because I was timid, but I was able to raise $1762. This had helped with platform costs, website costs, etc. I do not think I ran an effective campaign. Nobody knew who I was. The next one, at least I can share with Twitter and release a demo so people can try it!
Managing Success / Pricing
I put pricing along with managing success because it is important to identify and stick to what you think success would be. Pricing can play into that (I will explain that in the next paragraph).
As far as what I considered a success, here is an example. Early on when I first started watching GameDev.tv videos, my success would be simply “making a game”. That could have even meant a free game. Something someone would try. That quickly turned into “Imagine if I could get a game on Steam? That would fulfil my bucket list!”.
Then, Mystic Hammer was on Steam. The new success was, “Imagine if someone I didn’t know would buy a copy of the game?”. Now, there are people from countries around the world that I do not know who are purchasing my game.
Then my goal changed again, to X number of sales. When I look at the next goal, it is easy to feel like you aren’t good enough yet. But when you look back at history, do not forget your first goal. I blew way past that, and it was only a year ago.
Learn to keep your success expectations manageable and take baby steps. You will get there.
When it came time to announce my pricing for Mystic Hammer, I really had a struggle. Initially, when I first started developing my game, I thought I was “supposed to” sell it for something like $1.99 because I am new.
Well, shoutout to Tim Ruswick, (who by the way has a fabulous GameDev.tv course and an inspiring YouTube channel about his dev journey). He had a video on pricing that blew my mind. Pricing your game too low will make people instantly assume it is not a good game.
They may see $1.99 and think it is a game jam project. Some will be turned off by this and take a game at $5+ as being legitimate. I had to force myself to think clearly and be fair to myself. If I were buying this game that I wanted to play, what would I pay for it?
Then from there, another strategy you can do is say to yourself: What is important? Is volume important? Then price it lower. Is total revenue important to meet your success standards? Then you need to think about how many sales you would lose it you cut your game, say, 50%. Can you guarantee double the sales? No? What if you cut it 30%. Will you gain that many more sales? If not, are you better off keeping the price where you feel it is fair, and go with fewer sales and more revenue? If so, what do you think your return rate might be like? Are you higher than Steam’s 2-hour threshold for returns with your content?
All this plays into a really deep conversation you will find yourself having. Probably in the shower!
One challenge I had with pricing was that I finally landed on selling the game at launch for $9.59. Right before I announced it, I had someone on YouTube play my game and say that the game was fun, he played it for about 3 hours or so and hadn’t yet completed all the content – but said “I would say buy this game for about $1 guys”.
That destroyed me. I began to think I was making a huge mistake. I second-guessed myself so many times, but in the end – I can tell you that I stuck with the $9.59 and have sold multiple copies to different countries. I have not had an issue with returns *knock on wood*.
I am so thankful for this whole experience and am starting to really convince myself that there is something there. It has motivated me enough to go to the next stage, to release on Android and iOS which is not terribly difficult thanks to the power of Unity.
I have a small roadmap to fulfil in the current game for free. I want to make sure the package I delivered makes sense and is well rounded. I also plan to address any feedback I get.
In the meantime, after 18 months total since the first tutorial, I have resumed the 2D course and am creating TileVania. I am blasting through that tutorial with ease thanks to all I have learned in getting my own game to market.
In closing, I will say that there are so many benefits to fulfilling your dream and anyone can do it. I’m even talking with a streamer overseas who is an accountant at his day job and has no prior experience in coding or art or anything game dev related and he picked up the GameDev.tv courses and has already made multiple mini-games in a few weeks.
I cannot recommend enough how much this has changed me. People on Twitter probably think I get paid to say the things I do, but I feel like I can’t spam it enough! Those of you who take the courses know what I am talking about though.
Keep up the fight. It will be a struggle at times and may create spikes of more anxiety. It may cause tension in relationships or other thoughts in your head when spending time with your children. There will be times that you hate working on your game and get sick of it.
That is okay because the other side of this is fulfilling a dream without too much risk. You can be a game developer! A real one! Something nobody can take away from you, especially not even yourself. Give yourself a pat on the back, you really deserve it.