SakeTami
arewar
arewar

patreon


Obsession - Retrospective

This is a retrospective for Obsession! Alexander’s DLC will be coming, but that’s outside this scope.

Spoilers may be included.

This post is mostly for me to organize my thoughts, but I welcome any thoughts / questions / discussion. The purpose here is too look back, review the good and bad, and find ways for improvement in the next project. This will be quite long!

TOPIC: Expenses

I think most devs usually keep this info hush-hush, not sure why, this might be a lesson I learn the hard way. But I see no reason not to, especially given the support Patreons have provided to the game.

The total cost of Obsession was just short of $10,000 USD. Patreon funds provided less than half of that funding, the rest was paid out of pocket.

I always said the goal of ‘success’ for me was to break-even on these expenses. This is and always will be a passion project. I still haven’t yet reached that goal, but it looks like I should by end of this year.

Reaching that goal was always my criteria for starting development of Remembrance.

Expenses - The Good

Overall, there was very little ‘waste’ during Obsession’s development. I trashed about 4 pieces of art total and only had ‘drama’ with one single artist that I had to drop due to them misrepresenting their skill level early on in development.

Although the quality and consistency does vary in the CGs more than I would like, overall I think the funds were well spent. The variation in CGs was far more due to the time constraints of the game’s best artists than it was funds. Given this project spanned over 18 months, this was a far bigger commitment than anyone expected, so I don’t fault them for having life get in the way.

Expenses - The Bad

I severely underestimated the costs of art when I started this game. I guess most devs learn this the hard way, hah!

When the game started, I wanted 1 CG per ending. That calculates to 10+ CGs per route, so over 40 CGs in total. I also wanted all custom backgrounds, and many of those backgrounds had varying day/night versions or other tweaks that added even more costs.

Obviously, that did not even remotely come close to happening! I used stock art for a number of backgrounds, which in some places looks awkward. I also have far more CGs for Sebastian than I do the other characters.

I also think I spent way too much on backgrounds in general and should have focused that money on CGs instead.

Ways To Improve

These are pretty obvious now that I know the real expenses and time obligations.

Good news is that all of the main character sprite changes for Remembrance are done. (The sprite artist had to resign for real life stuff near the end of Obsession, so I had to do this well in advance while they were available). Since all the sprites are done, the cost of Remembrance will overall be less than Obsession.

I will more fairly distribute the CGs for Remembrance across all characters within a realistic and established budget.

Funds will prioritize CGs significantly more than backgrounds.

I have been recruiting CG artists who can commit to a minimum year of development.

TOPIC: Voice Acting???

This is something I've seen mentioned in a few places. I'd love to look into it, but expense is obviously a high concern.

I am certain the game will not fully be voice acted, but maybe I can add some. I'm still searching for voice actors currently, so no promises.

TOPIC: Game Overall Quality

The feedback from fans that I’ve received is summed up so far as:

Feedback received! Much of the music in the game was added in after-the-fact and music in general was often an afterthought for me, I admit. I will keep this in mind when developing future content to ensure I’m adding appropriate music as the content is developed.

This is a tough one. It really is impossible to catch everything when you’re a team of one person. I’m looking to see if I can find an affordable & decent proofreader to help with this, but price is a high concern. Typical rates (for the total of Obsession at 500,000 words) would have cost $5000 USD and that is just not affordable.

……….. ?????  You can’t say you weren’t warned.

Very happy to see this! The Ethereal commentary was something I wavered back and forth about quite often and wasn’t sure how much to involve them. At one point I removed them entirely from the game, then later I added them back in.

The ‘goal’ of the Ethereals is to sort-of reassure the reader that they aren’t crazy or being ‘gaslit’ by the game and that the content (given how dark and extreme it is) isn’t intended to be taken seriously by the player. (As in, the game isn’t expecting you to be cool with what is happening.)

I know that sounds like a weird goal (which is why I was back-and-forth on them), but after watching some streamers, I think it was successful! The Ethereals keeps the game grounded into the absurdity of the extremeness. It was quite amusing to hear one of the streamers shout “THANK YOU!” when they made a comment about some behavior.

Understandable feedback, and I don’t disagree, but at the same time I’m not sure I would add much. I think the revelation of the world is a great ‘oh I get it now!’ moment. But I do understand it takes a lonnnngggg time to get there.

I worry if I’d added enough hints to ‘figure it out’ along the way it would have significantly changed the player’s perspective of the characters, which would have watered down the characters and had you second-guessing every moment while playing.

The overall ending of the game was planned, but Victor’s existence and involvement was an idea that occurred quite late. If I’d had him planned from the start, I would have probably used him quite a bit more and made him the source of some of those doubts.

In general, I like the idea that the player realizes… they know these characters, but… how well? What are they ‘really’ like in a normal world? I think that generates some excitement for Remembrance.

Someone in one of the streams while playing Sebastian’s route said (paraphrased) ‘cats are great at reading people, so we know Sebastian is a really good guy’. So……………. I wonder if they still think that????

TOPIC: Time

Writing (before the game even existed as an idea) began late December 2021.

The content became a game in February 2022.

The Patreon was created in May 2022.

Obsession was completed in September 2023.

I took off a couple weeks here and there, but for the most part I worked on this game nonstop until release, with the one exception of the month of April when I had an IRL crisis that caused the release delay.

Did I mention I also have a fulltime day-job?

That’s a lot of time! But it’s also important to keep a number of factors in mind:

All of that stuff took a lot of time and most of it will not be a factor in Remembrance, so (barring anymore real life disasters) I am hoping to have Remembrance done within a year.

TOPIC: Patreon

Patreon was great and I’m very glad I did it. No regrets!

Some suggested I should have gone with a Kickstarter, but I think Patreon was a much better fit for me as a person (and I didn’t have to ‘waste’ time advertising to get the support). Not to mention, I probably would have underestimated my expenses.

Having the obligation to get a build out every month with some new content - while sometimes stressful - is also very motivating and keeps me pushing myself forward. I really enjoyed having people play as it was developed and being able to share and talk about the development process as things happened.

TOPIC: The Characters

Julian

Anyone who followed development knows that Julian’s route was always the problem child of the game. I learned a lot of hard lessons with him. In the end, I am happy with his character as it is now, but it took a long time to get to that point. However, I will admit I’m still not fully happy with his overall route even after release. I think there are a number of endings I might rewrite if I started him over from scratch.

When I started his route, Julian was a concept that wasn’t fleshed out well enough in my mind. He was intended to be a hypocrite black-knight serial killer who struggled with who he really was deep down. But to have a character like that, you have to do a lot of background building to make it acceptable and understandable, and even then it could end up being a big turn-off in an otome game.

Without the background to support it, he’s just a confusing mess. If I was making a game of JUST Julian alone, I could do it, but a multi-LI game where the main focus on the game is a different character, it just doesn’t work.

Ash was inserted to compensate for that failure of character development to give a source and sanity to his character. And I think it was a good move and worked out well in the end. Together, Ash and Julian are fun to write and are interesting and offer something that make him unique.

So when I look back on it, I realize my mistake was I started writing him before I was ready. I did that because a lot of people were very interested in Julian after playing Sebastian’s route, but that itself was a problem because Julian in Sebastian’s route was not an accurate reflection of the Julian in his own route. I was very worried playing Julian would make people lose interest, and he probably did.

In comparison, Quinn and Brandon's characters and histories were well-planned from the start.

Quinn

I knew Quinn would be someone with a lot of inner pain reflected through self-harm, a traumatic upbringing, and desperate for acceptance and love.

(That’s the justification of why he’s so pro-Sebastian in Sebastian’s route, because he desires that passion, dedication, and love. It’s born of jealousy, really. Since Quinn’s route is so late in the game, I think a lot of players didn’t get this reason for blind ignorance of Sebastian’s red flags.)

He was always intended to the (most) stable, relatable, and fluffy (as fluffy as a game like Obsession can be) love interest.

In terms of what I would change, mainly it’s starting that character building earlier so the players understood what was going on in his head sooner during Sebastian's route.

Brandon

Brandon, meanwhile, was always intended to be the true villain love interest option, and although the child abuse and underage stuff was a major avoidance for many (I fully expected that), I am happy with how he turned out.

Brandon was a lot of fun to write because of how selfish and crazy and extreme he is. Overall, I’m extremely happy with Brandon’s route. I think everyone understood both him and their mother Luciana from the start.

For anyone wondering, yeah, I always intended people to hate them both from the start.

In terms of what I would change, mainly two things.

1 - I’m not completely sure I developed that transition event in his relationship with Monika enough. The death of Monika’s first boyfriend Jeremy was an extreme and pivotal moment in their relationship. Monika started to hate her brother and question everything about their upbringing and relationship after that happened. Brandon resented her reaction to the event, which to him was fairly insignificant (and obvious that it would happen), and was extremely hurt and angry that she essentially fully rejected him after that event. This is why he’s such an asshole to her in other routes. He feels she betrayed him and takes for granted everything he did for her in their childhood.

2 - I’m not sure it was worth the headache of excluding the route from the base game for the unsuitable platform content… but at the same time I’m not sure what I would have done differently. Those elements were always critical to the story. Without it, Brandon’s route would be entirely different, and I don’t know if it would be better or worse for it.

I do think it was the right call to make his route entirely optional, though.

I’m not ashamed or unhappy about the route content. Honestly, I think it’s great. But I really didn’t realize the platform problems it would cause when I started.

So in the future I am going to avoid all child-related content just so this isn’t a problem I have to deal with again. Which is fine, Remembrance wasn’t ever going to have stuff like that in it.

Sebastian

It’s probably obvious Sebastian is my personal favorite and overall I am very happy with his route. There’s very little I would change.

Overall, now I’d probably have Isabella be a bigger part of his story, but she didn’t even exist as an actual character until late in the game.

There was one streamer of the demo that was incredibly entertaining to watch. She started out liking and being into Sebastian, then as things started to get more and more extreme she grew to dislike him slowly… until Julian started getting weird and then especially when Brandon appeared.

Suddenly, with abusive Brandon standing there and Julian looking like a crazy person talking to himself about murder, Sebastian suddenly didn’t seem so bad after all! Watching that rollercoaster of an experience live was awesome and hilarious.

Sebastian is the full embodiment of Obsession.

TOPIC: Writing & Development

My childhood dream was to be an author. I’d originally hoped to go to school for that when I was young, but for various reasons it didn’t happen.

I love writing and I have loved creating Particles of Reality. Obviously, the majority of my time was spent writing. It’s so exciting to have a real product that I can look at and see people playing!

The numerous branching story lines were a ton of fun, but also pretty challenging to keep track of! Early on in Sebastian’s route I found myself not being able to recall what information each character knew and that got quite confusing. I had to develop a system to keep track of the story flow and branches and that ran me into problems with my tools (more on tools later).

(To be fair, I have a lot of memory problems. I know the branches aren’t that complicated or complex, but keeping track of it all was a challenge.)

The biggest challenge - of course - is writer’s block. I thankfully didn’t have a LOT of that, but Julian’s route was particularly difficult with mental blocks and I’ve already talked about that. Sebastian & Brandon’s routes were the least challenging in blocks.

Typos is a constant issue and a huge time sink. No matter how many times I go over content, I’ll still find things I’ve missed. I’d love to get an proofreader if I can make that work for an affordable cost.

TOPIC: Tools

I also started to hit a problem with the tools I was using to keep organized and writing. Most of my tools wouldn’t let me organize my story sections like I wanted to, and I ended up changing tools multiple times during development.

None of this is advertising, feel free to skip if you don’t care about the details, but ‘what tools do you use’ is a common question.

I started out with different mind-mapping tools. That was too limiting in the information I could store. I quickly switched to OneNote, which was great for having large quantity of notes but a huge nightmare to keep organized, since it limited how many sub-pages I could have.

I’ve used Evernote in the past and I’m just not a fan. It’s too unorganized for me.

Eventually, I moved into Obsidian, which was a lot better but still gave me headaches because I could only organize in folders, instead of a page having its own child page. That made organizing the flows very confusing. That was my only complaint about Obsidian.

Obsidian does have one really great positive though, and that’s their canvas tool. All the character route graphics were created in that tool and still are. I haven’t found something better yet that looks as nice.

Late in the game, I moved to Notion, which is where I am now. I’m still using Obsidian for the workflows because Notion doesn’t have an equivalent (that doesn’t look like crap).

Notion’s main selling feature to me is that pages can have unlimited subpages and I can change the icons beside each page name. This makes marking endings and choices very clear and keeping the story branches reflected in the file structure.

For the game development, I obviously used Ren’py and have no regrets. My day job is writing code, so that’s a bit relevant here.

The GUI development for Ren’py was a bit of a headache at times. I don’t think the code within it is consistent or clearly documented and this is my biggest complaint. Some issues I spent multiple days troubleshooting and had to create weird and unintuitive work-arounds. Ren’py does NOT expect you to have a ton of screens, but I did.

Because I’m a coder, I’m used to working in modular ways. Ren’py has built-in code where you can have multiple screens showing at once (essentially layering them). So I wanted to design the game so that the navigation elements were reusable code that I could use across multiple worlds.

Long story short, that code was deleted. It is not worth the headache.

Obsession is a screen. Particles is a screen. There’s a lot of duplicate code. I don’t like that. But it is what it is.

I also spent a lot of time simply making my own elements because of Ren’py’s poor/disorganized documentation.

A text button in Ren’py has a 23 possible properties (or that’s as many as I currently know about). Is there a single page anywhere in the documentation that lists all of these (and how they differentiate between other buttons)? Of course not. You can find a documentation page about text buttons that link you to a dozen different other pages of inherited properties sure, but not all of them apply or work intuitively.

So I made my own components that make all of these options optional parameters, essentially creating my own documentation in code.

I cannot count the hours I lost of “why the f- isn’t this working” to things that would be really, really simple to do in engines like GameMaker or Unity.

BUT, I’d still pick Ren’py today.

Ren’py is a visual novel engine first and foremost and it handles a lot of the typical and basic functionality automatically. Ren’py’s save system, audio system, layering images to accommodate complex sprites, backgrounds, positioning, etc are all great. In other engines, I might have to build much of that myself.

So end the end, although I have complaints, Ren’py is a good tool and in total saved me a lot of time in total.

Other tools maybe worth mentioning?

Visual Studio Code (free) is what I developed the code in, which has a Ren’py plugin that’s… okay, not perfect.

Affinity Photo (paid) is a pretty good cheaper photoshop alternative. Clip Studio is another paid optiion.

GitHub, Dropbox, and Google Drive for backups/storage.

My phone beside my bed at night when I’d have all those random brilliant ideas at 3am. ALWAYS WRITE THEM DOWN YOU WILL FORGET.

Ren’py’s console output (under preferences > options) that I did not learn existed until A COUPLE MONTHS AGO and would have saved me so much time and headaches and frustrations. F-K YOU RENPY DOCUMENTATION.

……..I think that covers everything I can think of. If you read this far, I’m stunned.

Next week - plans for Remembrance!


More Creators