Developer postOriginal post (opens in a new tab)

Diary Page #6: Crossroads

Dear Scholars,

It has been nearly a year since the last entry. If you're concerned something might not be right, I'm here to reassure you it's actually very much the opposite. It has been an incredibly productive year so far and the restrain from writing dev diary entries was one of many, small, conscious decisions I made to ensure I can put as much time into Selenwald's development as humanly possible and arrive to a point of having a feature complete playable build.

Feature complete

I know what you're thinking - the release must be right around the corner, right? Well, not so fast. Let me clarify. While it's a remarkable milestone worth celebrating, it might not be what you expect.

To set the stage, let me shed light on my primary development objective over the past months (or should I say years). As I might have mentioned previously, I aim to sign a deal with a publisher or an investor to raise funds to wrap up the game within a realistic timeframe. This is a non-trivial amount of money that is required to recruit the necessary talent and allow me the luxury to focus exclusively on Selenwald, without the distraction of freelance work that currently sustains me. The problem is.. times are extremely difficult now. Publishers and investors have never been as cautious as they are now. They rarely fund/publish games which aren't already very close to getting released. For a debut title by a new studio such as mine, especially that—although not working entirely alone—I carry the entire weight of the project on my back, it is imperative that I have a playable demo which feels as close to the final game as possible. Being an indie developer with no money, this is a massive, and incredibly difficult undertaking. But it is achievable and I do finally have a playable build that has all the essential features in place.

The essentials

Yes - when I said "feature complete" I didn't mean every single aspect of the game is implemented. There is absolutely a lot of programming work still left to do (not to mention the actual content) but core systems and mechanics which are the backbone of Selenwald are finally in place. This includes:

  • very complex and elaborate procedural generation system
  • ranged combat with skillshot style aiming
  • dynamic melee combat with dodges
  • trait and stat systems allowing for deep character development and customization
  • stealth system allowing for sneaking by, assassinating, and even pickpocketing
  • character senses
  • unique inventory system
  • spell conjuring system
  • dialogue system
  • simulated character disposition system with factions and relations between every single creature
  • meta-progression
  • lighting and field of view working together to create a fog-of-war-like visibility system
  • procedurally generated playable characters
  • and more!

Now some of these systems are still in their infancy or rather in the state known as a "minimum viable product". For example, the magic system is currently in a very simplified mechanic used temporarily until the target solution is implemented. It works and roughly shows the idea of how are spells going to function but doesn't have the desired depth yet.

There are also features that are missing entirely but are deemed inessential. That includes, for example, procedural environmental puzzles with traps. Are they important? Yes, they are going to fit the vibe and the pacing of Selenwald very well. No classic dungeoneering is whole without some optional intellectual challenges. But they're not absolutely needed for the primary gameplay loop to feel complete (and solving them will never be the only way to progress through the university). Therefore, adding them isn't of high priority.

Then what's the underlying challenge when so many features are already in place? Why doesn't it signify that the game is nearing its completion? The core reason lies in my fundamental goal: fundraising. With my primary strategy being to align with publishers and investors, it was crucial to present as many of the planned features as possible and showcase the game's potential in terms of fidelity and quality. Those who are considering funding the game need a comprehensive glimpse of its various facets, and they need to envision its final calibre. To accelerate achieving this representative state of the game, I opted to prioritize the external presentation, even if it came at the compromise of some internal components. This compromise is what we often refer to as "technical debt".

Technical debt

Imagine building a house. At first, you might use shortcuts or temporary solutions to quickly erect the structure and see how it looks. Maybe you use tape instead of nails in a few places, just to get the walls up. This is efficient in the short term and lets you visualize the end product, but over time, that tape will wear out and might cause problems. If left unattended, the walls could collapse. In game development, "technical debt" refers to these temporary or quick-and-dirty solutions implemented to achieve immediate progress. But just like the tape in our house analogy, if not addressed, these solutions can lead to bigger issues down the road.

While the concept of technical debt might seem concerning at first glance, it's important to recognize the silver lining in this approach. By aiming for a feature-complete demo—even if it means relying on less-than-ideal solutions—I've actually gained a clearer understanding of the project's architectural needs, which are largely determined by the design elements that crystallized during the demo's creation. Diving headfirst into crafting a "perfect architecture" from the outset isn't always the wisest choice. Often, what appears to be a sound structure in the initial stages might not align with the evolving demands of the project as it progresses. By first navigating the "messy" path, I've been able to identify the project's true requirements. Armed with this knowledge, I'm now better positioned to refactor and mold the architecture into its optimal form. Think of it as sketching a rough draft before creating a masterpiece; the former informs and enriches the latter.

Shifting to full production

It might be tempting to think that, with the demo in its current state, it's prime time to unleash it onto the public. However, there's a key distinction to make here: while it's structured to capture a publisher's or investor's interest, it's not quite ripe for public hands just yet. To make it really playable and enjoyable, it would require an addition of more content, and a significant polishing of the existing systems and content. But diving into either—content or polishing—without addressing the underlying "dirty" architecture would be unwise and short-sighted. Now, with the "publisher demo" stage achieved, it's the optimal time to shed that technical debt by delving deep into a refactoring process. This strategic choice means that for the next couple of months, additions to the content and features, as well as the necessary polish, will be on pause. Therefore, those eagerly awaiting a public pre-alpha test or sneak peek will need to exercise a bit more patience.

The magic of refactoring

Here's the bright side: this upcoming refactoring is going to be a game-changer. Once undertaken, it will immensely accelerate the pace of further development. Introducing new content will become almost effortless, and the overall game structure will stand on a more robust foundation. With the goal of achieving a modular design, the revamped code will be far less susceptible to bugs. And on the off chance a bug does manage to creep in? They'll be significantly more transparent and easier to address.

Also, one of the unexpected benefits of adopting temporary solutions was that it provided me with a sandbox to experiment with various architectural design patterns. This hands-on approach was enlightening. It illuminated which strategies were viable and which ones faltered. There were moments when I believed I had pinpointed the perfect design, only to have that belief challenged when applying it to certain segments of the code. But these trials and tribulations have been instrumental. They've forged a clearer, more informed vision for the game's architecture. After all, sometimes it's through our missteps that we gain the most clarity. It has been a taxing journey, piecing together a complex puzzle with what felt like duct tape. But now, with these invaluable insights, I'm eager to transition Selenwald into its most efficient and elegant phase of development.

The tipping point

Selenwald's journey is at an undeniable tipping point. I now possess a compelling publisher demo, and the horizon ahead is populated with various negotiations and dialogues leading to a potential partnership with a publisher or an investor (or both). This conventional route—aligning with a publisher, or potentially teaming up with an investor and external marketing experts—has been my primary blueprint for Selenwald's trajectory so far. There have already been ongoing dialogues, and the feedback from publishers has been very positive.

However, we must acknowledge the current state of the gaming industry: it's in a state of flux, marked by uncertainties. Even with the game's favourable reception, securing a partnership—especially one that feels just and equitable—could be a formidable challenge. With all these variables, a pressing question casts its shadow: "What if I don't find the right partnership?"

Plan B

As with any ambitious endeavour, it's essential to have a contingency plan, and Selenwald is no different. If the upcoming discussions prove less fruitful than hoped and the refactoring phase reaches its culmination before an agreement with publishers or investors materializes, I may find myself at a crossroads. Staying completely independent may ultimately become the chosen path.

After years of unwavering commitment, pouring immense time, energy, and resources into Selenwald, the notion of trading a significant revenue share for publishing or financing aid becomes less compelling. While the financial assistance remains crucial to bring onboard the necessary talent and expedite the game's completion, the roadmap could see a transformative shift. Rather than gunning for a grand release after two more years of funded development, wrapping up by the end of 2025, I might reorient my sights. The focus could shift towards crafting a public demo, laying the groundwork for a potential early access release, possibly bolstered by a crowdfunding initiative. This trajectory implies that you, the eager player, might get a taste of Selenwald sooner than anticipated. However, it also means that the timeline for the game's final and polished release (leaving Early Access) could extend largely beyond the initial 2025 projection, given the inherent limitations of crowdfunding compared to the substantial backing a publisher or investor could offer.

Each day brings us closer to critical decisions that will chart the course for Selenwald and the studio. As the story continues to unfold, I'm gearing up with my never-ending enthusiasm and motivation to finally dive into the codebase rework I've been dreaming of for way too long.

Thank you for reading,
Wiktor