July 25, 2024 || Week -1
Project: FIRST GAME || Time remaining: 1 year 7 days
Hello, internet. This week I've started down a path that, perhaps, I am crazy for attempting. I quit my six figure job to do what I did at my big, fancy job for no money :) Good idea, right? I could go on about that for awhile, but for now I can pare it down to simply this: I've decided to invest time in myself instead of investing time at a company.
Here's what we're going to do: Finish a very small scope, simple game in one year and then release it to Steam.
How are we going to do it?
Okay so 'we' is actually just me, and here is my very ambitious timeline for very ambitious people: 1 year to develop.
- Creative Exploration & Learning - 3 months to play around and settle on a specific game with a defined (very small) scope
- Primary Development - 6 months to develop the main game and clean up rough edges
- Test and Bugfix - 3 months to test and bugfix
- Release - Research and schedule a time for release plus additional testing and feedback.
More realistic timeline: All of those x2.
Scope is extremely important for this endeavor. If I want to actually follow this timeline, then the core game development should be around 3-4 months to allow time for the random problems and slowdowns that will inevitably occur. So: This game needs to be small. There will be no sweeping worlds, complex leveling systems, or last minute explosions of extra features. It will stay small. It will stay simple. And we're going to get it done.
My priorities:
- Learning UE5 and indie game publishing
- Developer mental health
- Entertainment / delight / fun measured by play testing
- Satisfying visual and auditory feedback of actions
- At least 1 hour of gameplay
Non-goals: Profit, novel/groundbreaking ideas,
Why did I write this? To keep myself accountable and have something to look back on for progress as well as reference point and resource for anyone on a similar journey.
Work Log -1
Time spent: ~10 hours
Progress: Minimal, gaining bearings
Morale: Extremely High
1. Download Unreal Engine 5
First, I simply just downloaded the game engine. Why did I choose Unreal Engine 5? I mainly chose UE5 because that's what I want to learn next. Plus, I'm not as optimistic about Unity's long term prospects and Godot isn't quite developed enough yet. There are tons of great (and terrible) comparisons online between different engines so just search around if you're interested. It really will depend on what you're trying to do which engine is a good fit.
2. Fuck around and find out
I started messing around in the Engine, checked out the Lyra Starter Project, created an Empty game template and started working on simple character movement. I messed around with a simple 2D character and learned how to set up Enhanced Input to make a little 2D spaceship move around. Enhanced Input takes some getting used to (there is quite a bit you need to make sure is set up correctly) but once you start to understand how it's all connected it becomes straightforward. I quite appreciated Druid Mechanics documentation walkthrough on YouTube to understand the core components and historical context.
3. Research, research, research
I also spent quite a bit of time this week looking into how it all works. I suspected that Marketing would be the most challenging area for me, so I spent quite a bit of time watching various videos, previous indie developer stories, and trying to figure out reasonable actions to take.
Here's what I found out:
How to Release a Game on Steam
You release a game on Steam via "Steamworks". This page outlines the basics of releasing a game to steam. Essentially just sign up do paperwork and pay the $100 fee. (Plus set up a decent game page, generate all the various assets and videos etc. but that's not a today problem.)
How to Market a Game on Steam
This area harder for me to understand, but based on what I've absorbed so far:
- Make a game that's marketable. Marketing efforts won't necessarily help a game that sucks or that the market isn't interested in. Don't make a game that no one wants to play (unless it just makes you happy, I guess). Determining a niche in gameplay or art style can be beneficial to help your game stand out. Do research to pick the right game concept. Look at what other similar games are doing and understand the quality bar for your segment of the market. Consider adding cats or dragons.
- Timing is important. It seems there is quite a bit to consider in terms of timing of a release to earn a good position on Steam lists. Research this and adjust accordingly.
- Find a way to be visible, or hire someone else to do it. Avoid screaming into the void, do participate in marketing activities to generate visibility (ex. articles/interviews, relevant festivals, streamers/influencers).
Fees, royalties, taxes, etc.
Understanding the various cuts I that will be taken took a bit of research to understand.
Steam: 30% + ??? taxes, refunds, various other random stuff
Unreal Engine: 0-5%
- 5% in royalties for quarters >$10,000 revenue
- First $1,000,000 USD exempt but requires submitting Release Notification
Unreal is free* to use until you make $1 million (lifetime gross revenue) if you submit the Release Notification Form to Unreal. If you don't submit it technically they could come after that 5% for any calendar quarter you are over $10,000. See their FAQs for more info as well as the EULA for the exact phrasing.
*If you don't submit the Release Notification Form before you release you're not eligible for the waiving of royalties for the first million. (See EULA Royalty Addendum section 4b)
4. Download Visual Studio + Connect to UE5
I also picked up VS Community (free for individual developer license). Rider would be my second choice. I do quite like Rider + Unreal integration for blueprint visibility, but it looks like Visual Studio + Unreal addressed this with the Visual Studio Integration Tool, so I'm looking forward to seeing how it feels to work with that.
I will say the integration didn't just 'work' out of the box, there are a few configuration bits to ensure you set up correctly which are easy to miss if you don't follow the documentation: Microsoft Documentation -- Unreal Documentation