Welcome to my solo game dev adventure.

Developer avatar

My solo game dev journey

Hi, I'm Garry,
My Game "Shattered Stories" is available to wishlist on Steam now.
Shattered Stories on Steam
There is also a free demo on itch.io.
Shattered Stories on Itch.io

Youtube 4K render test.

12th June 2026
Another delayed update.


​So I've done lots of work with very little to show for it. ​Writing this from memory, as my note taking skills are very poor.

    CommonUI
    Spent ages watching YouTube tutorials (like Mr. Butier, CodeLikeMe [links]). ​Getting the controller prompts to switch correctly is a nice bit of polish on the menus. Finally got it working how I want. ​Knowing that in 6 months' time, if I need to redo it, I would never remember what I did, I had the bright idea to make a YouTube tutorial for 'future me' (and hopefully help others along the way). ​Cue figuring out OBS and DaVinci Resolve. ​Then trying to get an example menu made in one take and editing out the mistakes. ​This whole debacle took way too long and the results were poor, so I gave up on that idea. Well, at least I upskilled myself.
    World Partition, Data Layers and Android.
    ​So on my PC, on my test levels, the frame rates seemed OK, even in VR. But I knew I could not put off learning simple optimization for too long, so back to YouTube I go. ​World Partition sounds good for bigger maps, but for my small to medium sizes, I realized I prefer having more control, and the Data Layer route seems best for now. ​This way, I can use trigger boxes to load and unload assets as needed. And since my next distraction is Android support, I really need all the gains I can get. ​I had previously got an early build working, but lighting and frame rates were terrible. Now that I've learned a bit more, I thought I would give it another whack. ​EOS had other plans. Since my original attempt, I've added simple multiplayer (very, very simple). ​When attempting to make an Android build now, I get a brick wall of errors. ​I had a week off from my day job and had high hopes of implementing more features, or at least more optimizations (seriously, my first Data Layer attempt was more of a proof of concept). Alas, most of the week was spent debugging error after error until it eventually compiled. Huge success! ​For some reason, I thought to test the multiplayer menu on my Android phone. It loaded up and I could create a lobby. Nice! There's got to be more errors or something, right? At least it loaded up, which is one thing. It was getting late, so I decided to call it a night and get some sleep. ​An hour later, I had a thought: would my PC build find and connect to the Android lobby? Nah, it couldn't possibly work, right? Had to test anyway, so I booted my PC up and went back to testing. ​Somehow my PC build found the lobby and joined (cue shocked Pikachu face). Both pawns standing there in the lobby. How the hell did that work? ​Clicked 'Start Match' and prayed like I was recompiling C code. And Android crashed. Well, that's what I was expecting all along. Cross platform multiplayer can't be that easy. I made some progress, so back to sleep I go. ​The thing is, once you've made some progress, it's hard to stop probably similar to how gamblers can't stop when they are winning. So, promptly after another hour, I had another idea. In the Project Settings for Android, there's a 'Levels to Include' array. Had I added all my levels, or just some for testing? ​Booted the PC back up, and also the Android version. I tried again, but selected a different map in the lobby browser, prayed again, and clicked 'Start Match'. ​Epic win! It loaded, and both players were in the same map and could see each other move. Now, I hadn't fixed the blinding lights on Android, or given the Android player the ability to shoot, so it was a one sided match, but it worked. Time to eventually get some sleep. ​Now that Android was barely working, it was time to add even more work.
    Standalone Meta Quest Support
    ​I had previously got some simple test projects working standalone, but this project is a lot bigger. ​Again, I had lots of errors but powered through them and got it working. The main small level was jittery, and the larger second level was terrible and crashed to desktop after a few minutes, but at least it worked (kinda). Graphics were terrible and need more optimizations. ​Next up, since Android multiplayer worked between PC and phone, could I get it working on Meta Quest? ​This leads up to where I am now. ​If you've got this far, you've probably figured out my next problem. All my multiplayer menus are CommonUI, which just doesn't play well with VR. I tried reparenting each Common component to its UMG equivalent, but got other errors. Time to go back to basics, freshen up my VR menu skills, recreate the menus, and then copy over the logic. ​I've got a couple of menus done and I'm close to the final hurdle. My last attempt on VR desktop to create a lobby crashed to desktop again. Guess I skipped some important steps. ​Anyway, I'm debugging that now. ​Wish me luck.
Screenshot of project settings screen from Unreal Engine.

8 March 2026
The Ghost in the Machine

    How a Single Rendering Setting Almost Wrecked My Project
    We’ve all been there. You’re feeling productive, you decide to merge a major feature (in my case, the Gameplay Ability System (GAS)) and suddenly, the house of cards collapses. But this wasn't just a merge conflict. This was more.
    The "Simple" Merge
    It started simply enough. I merged my GAS project into my main build. Then things went wrong. It turns out I had some name collisions between my GAS Blueprints and my main project.
    Lesson 1: Always namespace your Blueprints. "BP_Character" is a landmine waiting to go off. I've just started using Git so no problem. I rolled back. But testing showed my simple VR mode was still ghosting. Panic set in. Then I checked my main FPS mode. Also broken.
    The Backup Paradox At this point, I did what any sane developer does: I went to my pre Git zip backups. My own project hail mary of known working code.
    They were broken too.
    My VR mode was ghosting everywhere. If the bug exists in the zip file from three months ago that hasn't been touched, I stopped questioning my code and started questioning reality.
    The Two-Hour Rabbit Hole
    I spent two hours debugging old backups. I was convinced It was working back then but started questioning myself. Even getting the zips working was a pain. In the end I had to temp move my plugins to get the project to open, add some pretend C class then re add the plugins folder, the I could generate the code files.
    Finally, after all that, I found the culprit: Temporal Super Resolution (TSR).
    For some reason perhaps a global engine update or a project setting sync during the merge TSR had toggled itself on.
    The Fix
    I swapped the Anti Aliasing method back to MSAA (which, for some reason then displayed as None but functioned perfectly).
    Immediately:
    VR stopped ghosting.
    The FPS mode is still messed up from the merge or something.
    The Real Lesson
    If a bug is haunting your old backups, stop debugging your Blueprints and start hunting for hidden Engine setting overrides.
    It’s easy to assume a merge "broke" your logic, but sometimes the merge just triggers a change in how the engine handles the pixels. Now it’s time to head back into the diffs and see what else that GAS merge touched.
    Have you ever had a project setting change "globally" and make you think your entire codebase was corrupted? Let me know in the comments! If I had comments, maybe someday.
Screenshot of project settings screen from Unreal Engine.

Another overdue update

    Multiplayer Magic, GAS, and Growth
    It’s been a minute since the last update (okay, maybe more than a minute) but the "overdue notes" pile finally got high enough that I had to sit down and document the progress. Things are moving fast, and the project is finally starting to feel like a "real" game.
    Smooth Multiplayer (The Easy Way)
    I finally got simple multiplayer working! While I could have gone down the rabbit hole of manual port forwarding and IP address headaches, I decided I’d rather actually make a game than play IT support for my future players. I’ve integrated Epic Online Services (EOS). It handles the heavy lifting of connecting players, meaning no one has to touch their router settings just to play a match. Branding: I've officially got the project's identity set up within the Epic ecosystem. The UI: Added a simple, functional scoreboard to track who's actually winning. (Still need's work though)
    Gameplay & Mechanics
    I’m a big fan of player choice, so I implemented a quick toggle: Press 'V' to swap between FPS and TPS. Whether you want that classic first person precision or the tactical awareness of third person, you’re covered. I also took a massive leap forward in my technical workflow: GAS Integration: I built a separate project to master the Gameplay Ability System (GAS). Once I had the basics, I merged it into the main project. It’s a game changer for handling combat and attributes. (Once I learn more.) Version Control: I finally sat down and learned the Git basics. No more "New folder 2/3/4 etc". Being able to swap branches to test features without breaking the main build is amazing, no more CTRL Z untill its working again..
    Bug Hunting (The Eternal Cycle)
    The classic dev experience continues: I fixed some bugs and promptly created some new ones. Atleast the New bugs are much more interesting than the Old ones.
    Expanding the Footprint
    The game now exists outside of my hard drive! I’ve created accounts on Bluesky, X/Twitter, and YouTube to document the journey. Render Tests: Posted a simple render test to show off the current aesthetic. Editing: To make the videos look professional, I’ve been teaching myself DaVinci Resolve. It’s a steep learning curve, but the results should be worth it.
    The Goal:
    I’m aiming to keep better notes and provide more frequent, detailed updates. No more massive info dumps!


Overdue update

So, I was meaning to update more frequently but got carried away. Lots of changes in no particular order:

    Changed the main menu to a 3D scene instead of a static picture.
    Added background music to levels (still need to get it to loop)
    Added a crate to collect items from: spare parts and electronic parts.
    Added an option in the menu to track these, and also track how many Bobs have been rescued.
    Added an inventory limit.
    Tested getting the game to run on Android (for some reason).
    With no optimization done, it loaded, but the frame rate was really bad.
    It also had bad bloom, and the post-process volume I used on PC was not good on Android.
    Decided to skip Android for now.
    Experimented with partitioning the map.
    I put that off for now as I was distracted with adding VR.
    That’s right—adding VR support while I’m still learning the basics of Unreal Engine. That should be easy, right?
    Well, I got basic VR support working: smooth loco, rotation, etc.
    I will need to update the demo on Itch.io. When I do, check it out and let me know what you think!
    Distracted again... why not add multiplayer?
Let’s see how this goes. Wish me luck!


A minor update

Implemented "Press Space to skip" the opening sequence as that would definitely become annoying on subsequent playthroughs. Added a settings option to the pause menu. you can now adjust resolution, shadows and textures. This increases what systems it can be played on. Added text to the title screen saying " Press esc to pause". To Do: Add more settings to the options screen. To Do: Implement a dedicated controls page in the menu.


Platforms decisions

It's been weeks since I first had the idea to start making a game. My initial thoughts revolved around which platform would be the best place to launch. Steam has the largest market share and is easy to get approved on, as anyone can pay the fee to be listed. However, this also means any game I make might be lost in a flood of other new releases. Epic is kind of the opposite of Steam: it has a smaller user base and a curated store, making it harder to get a game approved. The flip side is that you're less likely to be lost among a massive number of other releases. Epic also has no fee if your game is approved and takes a smaller revenue cut, which is a nice bonus. They also offer exclusive deals where they take a smaller cut, or even no fee, if you agree to be exclusive for a certain period. This may or may not be worth the reduced sales I might get from the smaller user base. Epic may also pay an upfront guarantee for a certain amount of sales as part of an exclusive deal—a guaranteed payout would be hard to ignore. They also have the "Free with Epic" deals where they give games away every week, which would likely include an upfront payout and significantly increase my game's visibility. With an Epic exclusive, I would, of course, be unable to promote a Steam page until after the exclusive period ends. These are all things to consider. Other Platforms A console release for a first time solo indie developer is not a realistic option right now. However, Xbox does offer a Dev Mode you can enable on retail consoles (which Microsoft recently made free), so I might try to get my game running on my personal Xbox console as a first step. Microsoft PC Store seems straightforward to get on, but it has an even smaller user base. The upside is that if I get some sales there and have my game running successfully on my Dev Mode Xbox, it might pave an easier path toward a full Xbox console release. All this time, I keep talking about "my game." My game is, at the moment, extremely basic. Right now, it’s just a modified version of the starter template Epic provides but everyone has to start somewhere, right? Itch.io seems like the best platform for first time indie developers. There’s no fee to release, and it seems to be the norm to have games on there while they are being actively developed. They let you choose your revenue cut, and you can offer games using a "pay what you want" model or for a set fee. I can release the first few levels on Itch as a technical demo using the "pay what you want" option to gather feedback and perhaps make a sale or two, then plan for a full release on Steam or Epic later. While getting a large payout from Epic for an exclusive would be nice, it’s not a realistic expectation for my first game. The Launch Plan Time to set up a Steam page and an Itch.io page. [Steam and Itch pages are now live!] Wishlist on Steam now Or try the free demo on Itch Final Question Obviously, I should just release on all the stores, right? What do you think?

Game dev dreams

I've always been into games and have always dreamed of making my own game. Over the years I've had ideas but never had the skill or the time to actually do anything about it. One of my recent ideas involved a character who lived on an island floating in the sky leaving the island for an adventure. Epic games/Fab free assets for July 25 included a fantasy floating island. Well, I saw that as a sign and thought I would give my game idea a try.


Modern office workspace
-->