Accidental Woman Development
DETAILED PLANNING USING THE PRINCIPLES OF
PROJECT MANAGEMENT FOR A SUCCESSFUL GAME DEVELOPMENT PROJECT
It's true that there is more to a project than just how much you like what the project is about. Whatever the project may be, it's also important that it isn't just a pipe dream; it has to be something realistically achievable. While I hope that you like what Accidental Woman is about, I want you to know that there's more to it than just a hopeful vision.
Accidental Woman depends on the support of kind patrons, but it isn't really fair to ask people to support a project as ambitious as AW without information about its planning and development methodology. To that end, I've created this page to explain what's backing up the my vision for AW.
There's no point in giving platitudes here: it is impossible to say with certainty that any project will be successful from the outset. I can't guarantee that Accidental Woman will succeed or even be finished; anyone making guarantees like that is either deluded or a charlatan. What I can say is that I have strong confidence that not only is AW possible, it's probable with support from patrons.
Where does this confidence come from? Experience, academics, and training. I've taken the time to plan and examine the project; to formalize design and mechanics, and ensure that every part of what I want to do is feasible. It isn't mere speculation; I've checked the technical details of each system, and created contingency plans for potential faults.
A game like AW is certainly possible for a development company, one that has the funding and range of skills needed to make it happen. The problem is that no established development company in the (western) game industry would ever make a game like AW. If a development company DID make an adult game, it would almost certainly stick to vanilla content to the point of blandness. Likely, it would focus on graphics or mini-games, and lack the depth people are looking for. Leisure Suit Larry comes to mind.
Japan and some other Asian countries do have an established adult game industry. But the problems there are two-fold: the first problem is the language barrier and localization, which can be surpassed on occasion by dedicated fans or promise of profit. The second problem is a lack of player freedom, which for many is a more significant. Most Asian adult games are visual novels, and exceedingly few offer much in the way of player freedom or open play.
That means that it's up to us, the community, to make the sort of games we want to play. While a small developer like myself doesn't have the resources of an entire company, that doesn't mean that a project is impossible, only that it needs good management.
It's pretty obvious that Accidental Woman has a wide scope, that's part of what makes the project appealing. A wide scope is also a potential problem; it's possible for a developer to bite off more than they can chew, particularly when they don't know about the work that will be required to make it happen. However, scope by itself isn't the problem. The problem is having work that exceeds the resources available.
There are two basic solutions to this problem: reduce the work or increase the resources. When dealing with a small development project, increasing the resources isn't something that is always possible, and if it is it often adds new inefficiencies. The most common solution therefore, is simply to reduce the work. For many, this means reducing the scope and thereby reducing the work, but that isn't the only solution.
I'm taking several steps to reduce the work needed to achieve the desired scope. These aren't new concepts; in fact they're quite common elsewhere. The fact that they aren't common in indie game development is more a matter of skill set limitation than any functional reason for them not to be used. Non-programmers tend to miss the programming techniques, while programmers can miss the creative techniques. (I'm not putting anyone down here, we're all human.) These are some of the techniques that are being used to reduce the work necessary to complete Accidental Woman:
Use functions to automate repetitive code: Rather than checking a host of variables each time a situation arises, use a simple function call instead. It may take 50, 100, or more lines of code to accomplish something the right way. It may save time to avoid defining a function the first or second time, but afterward it quickly saves time.
Use parser techniques: This is really a subset of the last item, but understanding grammar allows building complex parser functions that do a good job of describing details. This allows for detailed character customization without much work.
Take advantage of complexity theory: A flock of birds flying through the air together seems vastly complex. In reality, the birds are simply following a basic set of rules. Similarly, complexity in AW follows principles used in many simulation games, where simple interacting mechanisms result in depth.
Framework first: building the mechanics of the game first takes far less time than building basic mechanics and then trying to go back and add new ones during development.
Efficient Design: by creating the framework and mechanics of a game with content additions in mind, it becomes far faster to add said content because the back-end doesn't need to be coded for each new piece of writing.
Planned Development: completing a project is far more efficient with planning. This is why project management is such a popular field in the business world: planning → efficiency → reduced work → reduced costs → increased profit.
Intelligent Content Contribution: Adding user-submitted content is a great way to add a much larger variety and quantity of content. TiTS and CoC are good examples of this process at work. By using efficient design, however, it becomes far faster to add this content. TiTS struggles with the time needed to turn content into code, limiting the speed it can be added. Coding some of the content in TiTS gave me experience with this first-hand.
And more... Everything in AW has been designed with the idea of making the game I want to play, in a way that is possible to actually create.
Developer (thaumx's) Experience
Obviously, it takes more than a random person off the street to develop a good game. Making AW into a reality demands a strange person like myself. I hate talking about myself too much, because I fear how arrogant I'll sound. Being perceived as arrogant or full-of-myself was a problem for me growing up, even though that wasn't the way that I felt at all. That said, it's hard to have confidence in a project being run by someone you know nothing about.
First of all, I'm never going to claim I'm the best at anything. There are plenty of people who are better programmers, designers, artists, writers, and planners than myself. However, the number of people who are reasonably good at all of those things is slim. My unique ability is to successfully bridge different sectors of knowledge and ability.
While there are plenty of problems I've had to deal with in my life, as well as the gift of occasionally-crippling depression, I was lucky enough to be born a genius. Certainly no Stephen Hawking, but I had learned to read and write by the time I was four. I taught myself multiplication and division in kindergarten, started reading textbooks in first grade, and learned algebra in second grade. I wrote my first chat bot in 3rd grade after teaching myself how to program in Basic.
By the standards of most people, I'm already successful. I have multiple graduate degrees. I've been part of project leadership teams working on projects with budgets over $100 million. I make good money, and outside my primary career my services are in demand. I've been part of many popular projects in online communities all over the place. It's given me the breadth of experience to be knowledgeable about many things.
Accidental Woman isn't about money to me, and it isn't about proving myself. Making more money is only a matter of taking a job offer to move to the private sector. AW is really the realization that if I wanted a game like Accidental Woman to exist, waiting around for it to happen wasn't going to get it done. I knew I could do it, if I was willing to give up other things to make it happen.
It's easy to imagine feature creep being a problem for any development project. It's also a problem that I'm uniquely aware of. The solution is just to avoid adding any additional features unless it's absolutely necessary, or the feature is extremely easy to add. If you don't have a plan, you don't know what is a feature and what is an additional feature. With AW, all the planning was done before development started. I already know all the features that are planned, and what would be adding more.
By following the plan, as it were, we avoid feature creep. So far I've yet to add any unplanned features. If I do, I'll be sure to share the details. It can be hard to say no, but I think everyone agrees that it's worth it.
(If you've been watching development and thinking "oh no, feature creep!" you probably are concerned about the scope of the game. After all, there's no creep yet!)
It isn't a popular decision, but it's one that is necessary for successful development. Putting mechanics first means paving the way for future content, but delays initial content. A plethora of failed projects can be pointed to on Patreon and elsewhere that have failed because they focused on content first. There is an obvious reason why so many creators focus on content first in a patronage-funded development environment.
Patronage doesn't necessarily reward effective development, it rewards content. If enough content can be slapped together, it provides a surprising amount of momentum to a project, even when the flow of content slows to a trickle. From this perspective, it makes sense for many developers to focus on what will fund development now, and worry about the consequences later.
This leads to some interesting consequences. Games with any level of complexity usually end up failing under the burden of technical debt and other problems. Some continue in a zombie-like state of drastically slowed development that seems to go on forever. Simple games are less affected by this, but outside of certain genres, they have a limited appeal.
Of course, AAA game development follows another model all together, because many elements of games are being worked on at once. But looking at development in general, and indie development in particular, we see that mechanics and design almost always come first. If you want a successful project, that's the way to do it.
So here we have Accidental Woman. I've made the decision to focus on the framework and mechanics of the game first. It might not be the most popular decision early on, and I've certainly felt the weight of voices asking for a switch to content first, but I strongly believe it will reveal itself to be the right choice when AW succeeds.
Trying to base expectations on a content-first model isn't going to work with Accidental Woman. It's also a complex game, and depth in gameplay takes work. If you're unfamiliar with the project, I'd ask that you read a bit about it before judging solely on the change you noticed from one version to the next.
If You Think Development is Slow:
If you've been following AW development for any length of time, are familiar with the development principles behind the project, and still think that development is slow... I don't know what to say, it might be a problem with communication, perhaps it's a layer 8 error.