Hardest update and story! (Patreon)
Content
I'm happy to bring you another update and massive changes.
TLDR: Massive changes, new big feature, story continuation bringing in several events and nsfw scenes.
This post contains spoilers!!!
You can listen to this update with audio:
Voiced by the wonderful Carson McCamy.
Or read it below:
Hi there,
These last few months were the hardest and most time consuming updates that I had done to date.
Yet I was locked in to die for it.
It mattered a lot for the game and it mattered even more for me.
Now I’ve reached another internal milestone that I needed to complete once in a lifetime.
At this point, I have crossed the point of competency I desired.
I have crossed the complexity that I sought.
I’m really happy with the code, the architecture, and the features I have right now.
I have no regrets.
The 4/20 update
I posted a silent update on 4/20, but I waited with the post in case all those changes broke important features and until I completed story update to go with it.
After reading several books, done the complex architecture, thrown away slow patterns, and most of the other things I wanted through the code.
Now that I met most of my architectural and learning checkmarks, I’m satisfied that I can finally continue with story.
While I’m sure there are still bugs that I didn’t manage to fix in time… you know how it is: if you don’t have a rock, there is nothing to polish over time.
My gratitude
Now that I am past these changes, I hope to return to a normal workflow.
I truly feel like I have reached the peak of my understanding, both for understanding the game and in general game dev.
The time I spent experimenting, refactoring, and improving was truly something special.
It was all possible thanks to you and this game, and I will be forever grateful for the time I had to get through it.
What was the problem?
Other than my thrown away old code, I was irritated at one thing…
My game was just too simple. It had story, and only a very simple features.
It bothered me that the game had very simple traveling system. That made me feel like there was no way to expand on this side of the game.
There was no place to show that adventure fantasy other than just a few renders. It wasn’t traveling, but just skipping.
I needed to have a core loop for the players that want to participate in that which is related to the game more tightly immersing the player more in the world, not only being stuck with the few common sprites of town.
I remember the games I played in the past, which I still love. Games that weren’t just renders.
Those games are simple to understand, but both horizontally and vertically deep in features. They weren’t scared to break multiple feature walls to make a funny story scene or feature, etc.
Not only some basic “money counter” or ai coded 2D turn-based system. There is already plenty of that. It should have complex interactions that are integrated with other features.
I wanted to do that!
Therefore I did and I introduced Overworld.
The overworld is a piece bringing it all together.
Now it in itself is creating content. Through new stories, books, functionality, and surprises.
It gives the world itself deeper lore.
So now the fantasy of traveling with your guild is no longer just a map click and notification,
Now it feels like adventure.
The world is twisted...
Just travel to the bottom of the world and you will see what I mean!
Now for those who want that side of the game they can play it as they desire.
I’m not saying it’s perfect, but it’s so much closer now to perfection!
With all this the new wave of changes was integrated.
You won’t believe it, but I literally rewrote half of the systems.
Now the game has enough features, written in a way that I wanted to, and I love it for that!
You will encounter new features in the interactive places when traveling through the overworld.
As you encounter the parties, you can combat them and of course there comes another wave of changes…
The combat system needed to be performant and bring new possibilities for upgrades. Therefore, it was refactored.
The skill system was somewhat functional, but unsatisfying long term with bad architecture. Therefore, it was also refactored. The entire tree should behave with more stability.
Now there are a few new abilities that you can obtain. Assign them to the task bar.
Everything is now based on the new stat system, which was non existent before!
There is also a new religion system, which gives a few more stories alongside the traveling.
A new language system that will allow you to decipher some of the texts in the game and get benefits upon deciphering them.
On top of this, I rewrote about 5 UI screens so it works with the new frames and so old architecture doesn’t get in my way.
That includes an improved, two layer deep new navigation system, pause menu, choices, animations, and dungeon ending screen.
If you played the previous version, you will find a substantial amount of changes in those UIs.
Reworked and more technically predictable keybinding system.
On top of managing your guild, you now also have an improved guild system by bringing in custom roles that give alternate benefits.
Over 100 items were added into the game.
You can now trade between different towns.
Party morale, consumption, campfires, resting.
The gene system now integrates into the stat system. The goal remains to make rest of the characters breedable!
The offspring should grow up with you and play a function in your guild, making it even more integrated.
Which required me to improve the time system. Now offspring integrates with time properly, and all the events are serialized in their new structure.
Another big change that is less flashy is fucking with Unity and their old patterns like how they barely supported multi camera system which I threw out to replace with something more reliable, and working across multiple variant scenes in a scalable manner.
Some other important changes include refactoring the background manager, which basically was responsible for every render you see, with transitions, etc. It should be faster on the cpu and take less memory.
It was causing race conditions on save loading sometimes. Now it is properly serialized in order, without clowning.
The dialogue ui itself was also refactored to a different architecture, with more predictable states and an improved text animator.
Now there are also gifting and complimenting features finally that work.
That brings 10+ more short stories related to particular items and some randomized outputs across several characters.
How all of this happened?
When I started the game, there were choices. Before this game, I really wanted to make completed game, write my own story, and grow as a game developer.
Entering this space, I saw the potential to create something special in environment where I can make any joke I want, regardless of the invisible limitations that modern games put on you.
So the first choice I made… I quit what I was doing. I gave myself some time. Whether I would be able to make everything in time, I needed to see for myself.
At that time, I choose Unity, and I had to do extra stuff that was already there in other, simpler engines.
Why did I choose Unity then?
Basically, everything from performance to capability is better in the Unity engine.
I do not think I would be as happy with development if I choose other engine.
Let’s take a look at the saving system, for example.
In example Ren’Py loads only a few saves and their thumbnails at a time. Meanwhile, in Unity I can have an unlimited number of saves while storing 10 times more save data at faster speeds with no view limitations.
And there is plenty to store in this game right now:
marriages, offspring, relationships, experience, stats, story state, background data, transitions, and so much more.
You can take a look at the development post for a more comprehensive Unity comparison.
There is plenty to worry about...
The game dev world is often not kind to developers.
There is lots of games dying and much more that die despite doing best their can.
Even lots of good games that just needed a few more months, but it died because they couldn't make it in time.
When I posted my first build, and then I saw that I had made the first mistake.
Apparently, sharing the game too early is not good for attracting people to the game. This cost me my first visibility spike.
Is the first visibility spike a big deal? Depends.
It’s very common in this space that a game receives 80% of its long-term support after release.
So what was my initial support with my barely functioning build? 20 subs. Yes, I’m not kidding you. It’s nothing compared to my current support.
I thought: “Is my game dead at launch?”, "Will I need to make hentai on the streets?"
I learned my lesson.
Game development this way is basically trying to survive and prepare yourself for the worst.
Yet I knew the game at that point was held together with tape, and it was leaking.
I wanted to see for myself: can I actually make the game I wanted?
I needed to do the work, and that’s what I did. As I was being put on a clock...which determined how much time I had left until I couldn’t work on this game anymore…
I locked the fuck in.
There is always lots of pressure
While on one side you have a few that understand and support you, on the other side there are people that demand and want more free corn.
You stay in the middle, pressured not only by your financial situation and future living situation, but also by trying to mitigate lots of false information. It’s exhausting.
I was constantly trying to make this game more of my daily job, so I needed to figure out a way to make that happen.
The problem is that the path ahead is not clear, and I had to experiment a lot making difficult choices that ultimately helped the game survive.
I will continue to do it until the game will be able to stay alive on it's own.
Back in the day I tried to mitigate the pressure by asking supporters what they wanted in the game, but that also was not a perfect solution.
I had a voting benefits. I really dislike making them. Despite it, it was probably the best thing I could have done at the time. I made a poll back then to decide what I should focus on.
Choices of story, features, and frequency of updates. Let me tell you:
the outcome of that voting literally made me enjoy the game more and now led to this!
The highest voted was, “You know what to do, developer just keep doing it.” God, that was such a good choice to create this poll.
At that time, you gave me newfound confidence.
Yet I knew the time ahead would be difficult. The problem is that I was experimenting with code architecture, functionality, and different execution methods.
It took a lot of time to figure it out. Then I had to refactor all the code where it didn’t match my expectations.
I knew it would take a lot of fucking time, and those kind of changes destroyed a lot of devs and I didn’t know how much time I needed until I finished the changes.
There is a reason why games get dropped: everyone knows that longer, non story refactors don’t pay. It’s hard for devs to find motivation for it.
It’s easier to just silently drop the game and move on to more profitable endeavors.
I had a few choices:
- Not do refactor of the things I want. Therefore be irritated every time I look at the code, grow tired of my game, and stall development.
- Drop the game completely.
I knew that losing support because of update delays while working on changes might force me to work on something else instead of this game.
I really didn’t want that.
I wanted this game to be up to my expectations in every standard.
The reason the game exists in the first place is because I'm doing this game for myself. Then for others.
So I chose what would be the least regretful for me.
I did the refactor of the things I wanted to do.
...and in the worst time because right after this, the visa fiasco crushed my visibility.
Realistically, with the golden spoon of visibility, you don’t need to do much to keep the game afloat, no matter the game. But that spoon never reached me.
For the game to survive and to secure the time needed for the changes, I needed a more aggressive strategy.
One that doesn’t fuck around and goes straight to the point otherwise I can’t prepare myself for the time ahead!
So I started partially patching to increase the benefits for the supporters.
Since itch provided me with invaluable bug testing which I could not get rid of the public had smaller story updates, and I left a few chunky ones for supporters only.
It gave me time to get through lots of those changes.
What wasn’t surprising is some people hating more on me. It is what it is; I understand how it is to wait longer times for something they like.
What was more surprising is the people that were so nice to believe in my development progress and kept their subscriptions through the entire time, or bought a new sub during this time!
I’m really grateful to you!
What now?
Right now the only priority remaining is story related content.
Even if my mind would be trying to tell me to gain more competency in programming.
There is nothing left for me to learn that would be actual help for gamedev.
I'm glad I'm making this project the way I chosen.
As always...
Thank you for supporting the development of the game! ❤️