Solo dev, "Axiom of Maria"

(Sound on) The translation is nearly done. I’ve received the Korean voice files and am currently testing them. You can try them in this video. After recording the English voice-over, using the Korean voices as a reference, I’ll be able to kick off the alpha test.

The review of the translation is all done, and it seems I’ll soon start recording the English voice-over. However, working across the sea feels like communicating through carrier pigeons or beacon fires. I didn’t realize it when someone was managing in the middle. While emails are coming and going, I’m doing another round of playability testing and working on things that can be fixed. I want to finish the English recording soon and start testing.

May I ask? What AA method and AA Cvars did you feel appropriate for this?

I found r.AntiAliasingQuality=3 -make sure you put that first to stop ghosting.

r.TemporalAACurrentFrameWeight=0.3

r.TemporalAASamples=2

r.TemporalAA.Upsamling=0

to be more optimal for UE projects projects but you’re project does look very good even with the YT compression at 1080p! I’m always open about learning more about that topic. I’ve seen billion dollar studios force botched AA in UE many times.

Thank you so much for your interest. I’m using the default scalability.ini, and haven’t even modified the temporalAA cvars. The rendering or graphic quality of my game isn’t that great, but the use of high saturation and high contrast lighting for an 80’s vibe might enhance its appearance when compressed into a video, IMHO. Apologies for not being more helpful.

Hmm. TSR or TAA in your project? It looks like TAA since I didn’t see any TSR rotation smudging. I guess UE’s motion blur really contributes a lot to hiding the ghosting from the default project.

You’re motion blur looks very crisp in action btw.

Feel free to implement the cvars above if you notice ghosting or thin objects like leafless trees turning into vaseline mush.

I’m uncertain about setting up TSR for UE4. Isn’t it exclusive to UE5? I agree, the motion blur does seem crisp. Could this be due to the motion blur quality or amount? It appears that players generally dislike motion blur and film grain during gameplay, so I’ve almost entirely disabled them except for the bike battles. Thanks a lot for your interest.

1 Like

TSR for UE4

It’s got a prototype secretly inside ue4(You can check out the TSR feedback thread if you want to know more about that, a ue4 game released an option for using it).
In my opinion, TSR would be worth putting on if it wasn’t for the insane ms cost and rotation smearing issue. That rotation bug is something I’ve never seen before in a temporal solution.

It appears that players generally dislike motion blur

As I player I hate it, only flipped it on when framerates was around juddery 30fps. And off when at 60fps. But most players are more familiar with an older gen motion blur(Warframe for example). That older gen motion blur is hated a lot but hey DE gives players the option off turning it off even on console so great on there part.

But UE’s is very natural and soothing to the eyes when you know the difference. This is because of the motion vectors I think.
But as long as it’s an option players can toggle, your going to get major respect from players. Same thing with TAA. A lot of people absolutely hate TAA as much as motion blur.
The big thing right now is forced TAA.
I recently found that FXAA on quality 5 looks great with r.Tonemapper.Sharpen .3

I’m from a studio that focuses a lot on respecting player choice as other AAA studios
fail to give. These are topics we are very passionate about :slight_smile:

Good luck on your project!

1 Like

Thank you so much for sharing your know-how. I often overlook things as I deal with so much stuff, but I’ll check the options you mentioned.

1 Like

While recording English voiceovers, I’m making build adjustments based on new feedback from the playability test and preparing materials. I’m also setting up a website for test announcements. The test version will support Korean, English, Chinese (Simplified/Traditional), and Japanese text, as well as Korean and English voices. I’d like to offer Chinese and Japanese voices at launch, but the recording cost is not insignificant. I want to finish recording English voices, start testing, release the game, and begin working on the next chapter as soon as possible. Once testing begins, I plan to keep the Early Access build in sync with the test build.

I’m continuing with the English voice recording. In the meantime, I’m making a new piece of music and the first trailer. The first trailer, which includes English and Korean voices, is expected to be released around the start of the test.

English voice recording is ongoing. I’ve uploaded the trailer with Korean voiceover and English/Chinese/Japanese subtitles. The Steam page has also been updated. Adding the game to your Wishlist on the Steam page from the link below would be a great help:

The English voiceover work is taking more time and money than expected. As soon as the English voices arrive, I’ll apply them immediately and begin testing. In the meantime, I’ve started working on the next chapter.

p.s.: If posting the Steam link violates the rules here, I’ll delete it.

2 Likes

Kay’s combat suit is a programmable suit connected to Kay’s spine, allowing for the addition of various abilities. The suit can be enhanced with skills such as wall-running and special techniques. There’s a limit to the additional space, so the functions need to be managed carefully.

1 Like

This is the trailer for ‘Axiom of Maria: Prologue’ with English voiceover.

1 Like

The alpha build of “Axiom of Maria” is now available. If you’re interested in a story-centric game with elements of action, you can participate in the alpha test by visiting the website.

1 Like

Here is the first 30 minutes of gameplay in ‘Axiom of Maria: Prologue.’

1 Like

As a lover of action games, I have to tell you your game it’s very cool, I like your style. From the 30 minute gameplay video I notice the great variety and pacing. The fact that you are then doing it yourself hats off to you. :grinning:

1 Like

Thank you so much for your kind words. Now, I need to sell this to fund the next chapter, but promoting the game seems to be beyond my abilities. It’s not as straightforward as game development where I press enter and something happens. I just want to get back to development quickly.

Alpha testing is coming to an end. I’ve made some modifications based on the bugs and feedback that came up. It’s not that busy right now. Over the course of a week, I submitted the alpha build to publishers. It seems like I’ll have to wait for about two or three weeks, and there’s some time to spare. I wanted to prepare for the game’s next chapter, but I couldn’t concentrate and work. So I decided to share the things I’ve felt and thought during the development as a way of summarizing. It could be common knowledge that I should be aware of, but it might be helpful to someone else like me. Please forgive me if you find it pathetic or disagreeable. I would be grateful if you point out anything I can improve.
Not like a post-mortem, I’m not separating what went well and what went wrong. I’m just jotting down things that come to mind like casual conversation.


Beginning

I’m just a game developer who loves making games. I’ve worked at a small team, a small studio, and a big corporation. After a few projects were canceled, I remembered my list of games I wanted to make. There were about 20 games on the list, and I decided to quit my job and start my first solo development with the thought of making half of the list before I die. It was a bit scary because it was my first time making everything from start to finish by myself, but I thought I could handle the development somehow because I roughly knew how games work. I didn’t know anything else, though.
I make games for the story. There are worlds and stories in my head, that I can’t keep in, or they will eat me alive.


Starting

I just made it. I made it the way I wanted for a year. It made me really happy. I was more interested in the world and the story with a new experience plus some presentation than deep gameplay. Based on that, I made a prototype. While making it, I thought of Another World a lot, and I thought of Full Throttle, FF7AC, Socerian, Zeliad, and various other games I played, and I just made whatever came to mind. In fact, the story was more important to me than the genre or form of the game. I wanted to create a light chemistry between characters like the A-Team in a bleak near-future Seoul.
Axiom of Maria had regular combat and bike combat, but I felt that both wouldn’t be good if I made both. Actually, I wanted bike combat more. However, I didn’t have the confidence to carry the story with only bike combat, and I didn’t have the confidence to make regular combat as well as other games. So, illogically, I made both, ensuring they didn’t appear separate, and connected them seamlessly. Even though it was rough, I felt proud when I saw the bike combat prototype running. It felt like I saw the flower of my life after a long time.


A Huge Blunder #1: Kickstarter / Early Access

I made a prototype with 40 minutes of playtime, and during the development, a significant portion of the development funds disappeared due to some situations. It was my personal money. At the time, I didn’t even have a business registration. I was a bit embarrassed. I thought I needed to do something with the prototype. I did a lot of Googling and tried to gather some models from games and imitated them to announce to people and try to collect some development funds. Unlike in the past, indie games seemed to be made together with users from the beginning.
I tried to launch a Kickstarter campaign similar to the game I used as a model. However, I soon realized that I needed to gather a lot of people in the community before that. I didn’t know how to gather people. I had never used social media. I just gave up on Kickstarter.
Then I made a big blunder #1 here, maybe because of my embarrassment. I started the Early Access without knowing what it was. My primary goal was to gather some development funds and feedback, and I viewed Early Access as a kind of incubator for my game. However, it turned out to be a surprise Early Access with almost no monetary gain or user feedback. I didn’t know that I had to gather a wishlist before Early Access, and I didn’t know that I had to collect followers on social media and keep telling people about the Steam page. Oh, I know the ignorance is not for bragging. Of course, if the game is really great, it might have worked, but mine was far from that level. The biggest problem was that I didn’t know what I didn’t know, which is always the scariest part. I’ll talk about this later because Early Access kept tripping me up until now.


A Huge Blunder #2: Hiding Early Access and Starting Over

After uploading the prototype as Early Access, I just started over from scratch for about a year and a half. I didn’t even make the Steam link public because I wanted to show the newly created one. Looking back, I wonder what I was doing. This mistake is one of the main reasons I’m writing this article. So, to summarize, I opened Early Access and then hid it. I was just insane.
While starting over from scratch, I posted DevLogs every week for about a year and a half. Despite having no prior experience with social media, I opened nine accounts and diligently shared updates. No one read them at all. I had no idea how to attract people’s attention. I read a blog that said, ‘Social media is the result of what you’ve created.’ Yeah, I got it. But I had no chickens, so I didn’t even have eggs. In the end, I managed to gather a few followers on one social media platform, but the rest was pretty much a ghost town. But on top of that, what I don’t understand is how people decide what to watch. Sometimes no one watches, and sometimes people flock to the same content and like it.
Meanwhile, I left the Steam page to rot while starting over from scratch for about a year and a half. I was going to make the link public once I had the new build ready. Oh, please, really, don’t ever do something like this.


Starting Over

I was fortunate enough to somehow solve the development budget problem. I took out loans and luckily received almost impossible investments. While I’m unsure I can call the loans a solution, they were enough funding to complete the current game. I’m incredibly grateful to the investor who enabled me to fully concentrate on development.


Unreal Forum

While making the game, I faced many obstacles, and every time, I got a lot of help from the Unreal Forum. However, sometimes there were too many answers, and I didn’t know which one was correct. Sometimes, the answers were so absurd that I wondered if professional developers didn’t post answers. Or there were cases where no one answered, as if no one had ever encountered such a problem. Maybe it was just my feeling. Anyway, it’s true that I received a lot of help from the Unreal Forum when I was stuck.


Unreal Engine

I had used Unreal’s Blueprint a bit in the previous project, but now, with C++, animation, materials, FX, lighting, and so on, there were so many things I didn’t know. I had a rough idea of most development areas because I had touched them all at least once in the past, so I managed somehow. Usually, I created assets with programming if I couldn’t make them using tools, especially for animation, FX, and background props. I think I used procedural mesh a lot for FX and backgrounds.
Using Unreal Engine was quite nice, as long as you understood the concepts. But if you use it without understanding its intentions, hell opens up. Once hell opens, and if you try to cover it up with various tricks, an even bigger hell opens.
I remember the Behavior Tree. It’s definitely called the Behavior Tree, but I misunderstood it as AI. I tried to use it to make decisions for the pawn’s actions, and it turned into a huge, terrifying monster. Later, when I used it solely as a behavior tree, everything became calm and peaceful.
Suddenly, I remembered there was a bug where variables specified in the Behavior Tree nodes were being reset. This was really bizarre. Something that had been working suddenly malfunctioned one day. After digging around, I found that one node’s blackboard variable was simply being reset. I told it to use variable #3, but it was set to the first variable #1. At first, I thought it was my mistake. But such incidents repeated several times. It was terrifying.
The most terrifying hell among all the hells was the one that only occurred in the Shipping build. I experienced it about three times, but I can’t remember it right now.
Oh, this is somewhat unrelated, but it may already be known, but to use a procedural mesh-made static background, in the Shipping build, you have to change it to a static mesh. On my computer and my friend’s computer, there were no problems, but on other users’ computers or Steam Deck, the background made with a procedural mesh I forgot to change to a static mesh was completely broken.


A Blunder #3: Movement Component

One part where I wasted about two months was the Movement Component. It might seem foolish, but I didn’t want to use UCharacterMovementComponent. Since I thought my game was a speedy combat action that didn’t need to be physically accurate and seemed to have too many unnecessary features for my needs, I created my own movement component at first, which caused a mess. After finishing the prototype, I switched to UMovementComponent. Looking back, I don’t know why I did that. It was probably because I didn’t carefully consider it and just created it hastily.


A Blunder #4: Lighting / Lightmaps

I had a lack of understanding about lighting when I created the prototype, and I continued to think about making lights just stationary. But as time went on, I just couldn’t stand it. I eventually baked Lightmaps. However, when working with sublevels, it kept causing trouble. If you unload a sublevel, VLM points disappear, affecting the lights in other sublevels. In the end, I baked Lightmaps as a Lighting Scenario. Still, there were cases where unloading sublevels made the lights behave strangely, and I couldn’t resolve them. I sigh when I think about the stress I experienced because of this. I saw one person on the forum who was experiencing the same issue as me but couldn’t find a solution. And, one more thing, Unreal kept crashing JUST AFTER FINISHING BAKING THE LIGHT MAP FOR AN HOUR if I didn’t delete the built data of the lighting scenario map.


A Blunder #5: Level Design

I liked Castlevania a lot, so initially, I made the levels interconnected, visible to each other, and explorable everywhere. But when I had a friend try it, they just got confused trying to find the way and found it zero fun at all. It’s just because of my lack of experience. It became even more dreadful when I tried dividing the interconnected spaces into sublevels. In the end, I just blocked almost all paths and made it mostly linear.
In my own way, I tried to give a sense of tension by using narrow and wide spaces appropriately. It seemed to give a feeling of claustrophobia in some parts.
I received some unexpected reactions from the pre-alpha build, which is a sense of horror in certain parts. This might be because the protagonist is the only human, due to the limited budget, with liminal backgrounds plus VHS-style video effects I occasionally used. I’m not sure.
I learned a lot from designing levels for an action game for the first time, with the biggest lesson being ‘Use space widely and ensure the ceiling is high enough,’ which is a basic thing that I missed. I missed many things.
I had to place many props in the background; in such cases, I handled it with programming. In UE5, it seems to support something like scripts, but in UE4, there was no editor support, as far as I know, for batch placement functions, which was a bit disappointing. Maybe you can do that with Python in UE4? I don’t know.


Game Flow Design

I was curious about this, even in the previous project. You know, there’s always something like this. Do A, then B after a while, and then C. But if you press a button, skip the waiting time between B and C, etc. Isn’t it terrible to do this with events in BP? If you have to deal with multiple threads at once? In the end, I made something like my own sequencer and used it. I’m really curious about how others do it.
It would be useful if there were a feature in the level editor that visually connects triggers and related actors, even if it’s trivial. I’m not sure if such a feature already exists.


A Blunder #6: Collision

I don’t know what this is, but sometimes when primitives overlap, the overlap ends immediately. What on earth is this? I couldn’t reproduce it, so I had to move on, but I really don’t know the cause. I just patched it up haphazardly out of sheer fear.


Modeling / Animation / Friend

I used 3ds Max for modeling and animation, as well as RizomUV and Substance for texturing. I’m not a professional graphic artist with limited knowledge of 3ds Max, but it still helped a lot especially when it came to relatively easy modelings like simple mechs and backgrounds and modifying animations purchased from the marketplace.
I had a friend who helped with modeling the protagonist and some of the enemy models. I received a lot of help from him with 3ds Max, and that friend also recommended RizomUV and Substance. A truly grateful friend.


Music

I dabbled in Cakewalk on DOS about 25-30 years ago and haven’t used it since. But when I tried making music again, I was pleasantly surprised. There are so many excellent free VSTs available now. You can purchase so many samples and just place them together to make music. I brought back the music I composed in 1996 for my game, used it as a theme, and created new tracks. My goal was to create music that wouldn’t annoy players.


Story

This was a bit challenging. Initially, I planned for either five or three chapters, with this being the prologue, which I had no idea how much I could reveal. There were many settings and stories, but I couldn’t showcase or explain them all. In the prototype, I revealed only a small part of the settings to provide a glimpse, but it felt like the story was almost nonexistent. More than anything else, I make games for the story.
I wrote a new script with more information about the settings. However, the feedback was brutally negative, and I couldn’t sleep well. Deep down, I also felt it wasn’t fun. I had nightmares. But at the end of my dream, I received bills, which made me grasp something.
In the prologue, I aimed for a reasonably complete story within the narrative, minimizing explanations about the settings. I rewrote about half of the script, and the response improved. I completed the game with a script I liked by about 60-70%. However, I still regret not explaining less about the settings. I’ll do better next time.


Pre-Alpha

I began the pre-alpha testing phase two years after initiating the project. Like many indie developers, I was working 15 hours a day without any weekends, unsure whether my game was enjoyable. Unfortunately, it wasn’t fun, and I was unsure about what needed fixing or how to fix it.
At that point, my friend, whom I mentioned earlier, came to my rescue once again. He played the game extensively, involving his two sons, and provided valuable feedback. He even recorded gameplay videos and sent them to me, for which I was incredibly grateful. During this testing phase, I learned a great deal and implemented numerous improvements. I found out the later stages were really bad because of my fatigue, and I reworked some of them from scratch.
My friend and his sons faced challenges due to my flawed level design. I could see their frustration in the gameplay video, which weighed heavily on me. It seemed I had successfully caused sons to dislike their father. Filled with guilt, I decided to block off most paths and make the game more linear.
Another friend also dedicated considerable time to playtesting and offering feedback, and I owe them a great deal for the many improvements and polish made during this phase.


Translation / Voice Recording

Phew, it costs a lot of money for a poor indie solo developer, especially for translation and voice recording.
I outsourced English/Chinese/Japanese translations. English was somewhat manageable, but Chinese and Japanese translations were really awful. I had a separate translation review, and I wonder what would have happened if I hadn’t. If you’re ever going to handle game translation, I’d recommend spending more on reviews than on the translation itself. In my case, I uploaded the translations to Google Sheets and reviewed them with the reviewers, asking questions and getting answers. Perhaps, for translation, it might be better to explain the story to ChatGPT and let it handle it.
For voice recording, I started with Korean. During the prototype phase, I recorded only English/Chinese/Japanese, and the quality was terrible. I had to dump and redo the English recordings. So this time, I directed Korean recordings with the intention of using the Korean voice-over as a reference for recording in other languages.
I had a lot of thoughts when it came to English voice recording. I wanted the script to be reviewed by a professional writer, and I wanted an English voice recording director, but the cost was substantial. I received quotations from over ten places. Some voice actors can record in their private booths and send the audio, which is way cheaper, but I couldn’t trust myself to direct those recordings, do retakes, and edit. In the end, I gave the Korean audio and the translated script to a studio and entrusted them with the script review, directing, voice actor casting, recording, and editing all in one package. I’m pretty satisfied with the result, and it even seemed to include the character interpretations. It cost about three times as much as the Korean recording (and more tax for the international outsourcing, oh my god), but considering that I had to discard the voices recorded for the prototype, I’m quite satisfied. Separately, the States has really slow processing. Korean recording took less than three weeks, but the recording in the U.S. took two and a half months. But, they were meticulous with their work, which was so good.
I wanted to do Japanese and Chinese recordings as well, but I don’t think I can afford them for now.


Alpha

When the English voice recording was completed last month, it had been about two and a half years since the start of development, and I immediately started the alpha testing. I received some really valuable feedback, but most people tried it out briefly in less than an hour and left or just disappeared with keys. I didn’t expect much. Still, I was tremendously grateful to anyone who came. I put the names of the people who participated in the alpha test in the credits.


Current Status

As completion of the development neared, I had to prepare for publishing. One night, while I was browsing Google News, I saw my game there. It was a complete shock. It was just a simple and short introduction, but the video views, visits to the Steam page, and wishlists all skyrocketed beyond the numbers I had accumulated until then (though it’s still an amazingly small number) – all in just one night. I was left speechless and decided not to deal with PR or marketing things.
In fact, during the past year and a half, I struggled to post devlogs and tried to gather people’s interest, which was dreadfully difficult for me and not in line with my aptitude. I thought I should contact a publisher quickly. During that time, luckily I had been contacted by several places. I reached out to publishers who contacted me a while ago and received the first reply.

“We don’t do publishing for games that have already been released.”

With this answer, I learned that Early Access is considered a release. Well, as I said before, Ignorance wasn’t something to brag about, but I simply didn’t know it. I submitted my game to several publishers, but due to Early Access, I’m uncertain about the outcome.
It’s not easy for me to have the opportunity to make improvements even with negative feedback from a considerable number of users, especially as a solo developer. I’m just vaguely thinking that the game is so-so to play, and that’s all. But I still love making games so much, what dare can I do? I just want to get back to it and focus on making games again as soon as possible.


ChatGPT

I couldn’t have done so many things without ChatGPT. I was really fortunate, and it came in handy in various ways, coincidentally fitting into the right timing. I even used it as a conversation partner while working on the story ideas.


Exercise

I hadn’t been exercising at all, but I started last February. I go hiking for about two hours every day, and now I’ve gotten a bit faster to one and a half hours. Hiking is great because you can’t give up in the middle. You have to climb down from where you are at least. Hiking reminds me of the saying, “Look at your feet as you go, but when it gets tough, turn around and see the path you’ve climbed.” It’s a phrase that is incredibly helpful when making a game alone.

Thank you so much for reading this long and boring post.

After 2.5 years of solo development, I’m finally releasing the demo on Steam, accompanied by a new trailer featuring new music. I’m a bit nervous. The demo offers about an hour of playtime. Thank you.

Giving me feedback on the demo or adding the game to your wishlist will greatly help me make the next chapter. Thank you.