Another Bugfix Update, and Plan from Here On Out

Spankers and Spankees,

First, a new release has been uploaded. Get it at Downloads. It fixes a few crashes that I found, as well as some typos and the like pointed out by some of my beta testers.

As I’m sure you’ve all noticed (much to your annoyance), releases tend to be crashy and buggy as hell.  Naturally, this is unacceptable. So lately I’ve started incorporating unit tests. I know, any of you with programming experience are exclaiming “You’re writing something as complicated as a game and you don’t have unit tests? What is wrong with you? Test driven development dumbass!”  In my defense (sort of), this is the first program that I’ve ever written which is complicated enough to require unit tests. In school you’ll have one class that might briefly touch on unit tests, you do them for that one homework that requires them, and then you never touch them again because all your assignments are only a few hundred lines in one or two files. When programs are that small, it’s just as easy to throw in a bunch of print statements (I’m also forcing myself to use a proper debugger).

So far, I have tests that test attacking, grappling, breaking a grapple, and throwing. These tests make sure that my damage formulas are correct. I also have tests that run through and execute each enemy’s in-combat spanking text, and a test that iterates through each conversation node and builds the text that is meant to be displayed. While these two tests don’t try to make sure the displayed text is correct (that would essentially require me to write my text in Python, which ruins the point of LaTeX->Python!), it does minimize the chances of stupid crashes from undefined functions, trying to add a string and an integer, etc. Admittedly, a crash might still slip through if there’s an error in the branch of an if-statement that isn’t followed. However, I try to keep inline if-statements small and simple. Anything complex gets pushed into another node, so these tests should catch upwards of 90% of all the dialogue-related crashes.

Over the next few months, I plan on introducing some tests for the other combat actions, and tests for any new code I add, or code that I modify. These should make the code a lot more stable. However, these tests are by no means exhaustive. So if you come across a bug or a crash, I almost certainly don’t know about it. So please let me know. To paraphrase alt cor, bugs feed my soul.

Another thing I want to talk about is my plan for future releases. I’d rather not go 9 months between the release of new content. But at the same time, I also don’t want the game to gradually become more and more railroaded because I skip branches in a desire to release faster. I also want to release enough content for people to get meaningful enjoyment out of it. So I’d like to release enough content to provide a coherent part of the story (this was the original intent of the episode structure incidentally). To balance these, my plan is the following:

1. Write, edit and release the “spine” of a particular act. These are the scenes that drive the plot forward.

2. Write and release the scenes that aren’t strictly necessary for the plot, but provide some useful insight into it, or that aren’t immediately important, but lay the groundwork for future events.

3. Write and release the scenes that contribute nothing but fap material.

4. On to the next act.

Note that scenes in the second and third category are the ones that will typically be written by the writers who are helping me.

 

Alternatively we could do:

1. Write and edit the spine of act 1, then act 2, then act 3.

2. Write and release scenes that aren’t strictly necessary to the plot, but enhance it for act 1, then act 2, then act 3.

3. Write and release miscellaneous scenes for act 1, then act 2, then act 3.

So for example…

———————-EPISODE 1 SPOILERS!!——————————————

 

 

 

 

 

 

 

 

If I were to have followed the first approach in episode 1, then the scenes would have been released as follows:

Act 1:

1. Conversation with the guard -> conersation with Maria -> conversation with Adrian

2. Conversation with Elise, conversation with Peter, conversation with Carol (employee of the taylors).

Act 2:

1. Conflict with the Young Vengador -> Encounter with Cosima -> Encounter with Mai -> Boss fight

2. Paloma, Dining Room

2. Ildri, Morey, Airell

Act 3:

1. Scene with guards -> bar scene -> conversation with Catalin.

2. Pre-bar scene with Elise and Carrie, conversation with Peter

 

If I took the alternative approach, the scenes would have been released as follows:

1. Conversation with the guard -> conersation with Maria -> conversation with Adrian

2. Conflict with the Young Vengador -> Encounter with Cosima -> Encounter with Mai -> Boss fight

3. Scene with guards -> bar scene -> conversation with Catalin.

And then fill in the extra scenes starting from Act 1 on.

If you have a preference, let me know. Keep in mind that this only controls the order in which I write scenes. Obviously I’ll add scenes as others write them, so even if I write the basics of the entire episode first, I may add additional scenes before I’ve finished the spine, as others finish them up.

5 thoughts on “Another Bugfix Update, and Plan from Here On Out

  1. I prefer the current release structure. I just think that it would be too easy to get ahead of oneself otherwise. Plus, there could me the temptation of running ahead with things skipped over.

    1. That is true. Plus, the extra scenes may still give me more insight into a character (and might even clash with my original plans for that episode), which I can then use in the subsequent acts without having to retcon anything.

      1. Yes, that too! One of the most time consuming (and previously unexpected) things about what I’m working on is getting those personalities and descriptions right to prevent rewriting due to clashing.

        1. Don’t worry too much about that. Just write based on your own interpretations of the characters. If you get it wrong, I’ll point it out, and we’ll adjust the scene accordingly. Plus, most of the guild trainers haven’t really been developed yet (even behind the scenes), so there’s not much for you to get wrong.

          1. OK! I may have went overboard with Airell’s scene, but I’m pretty much done. I’ll read over it tomorrow with fresh eyes, touch it up and send it to you.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.