Monthly Archives: October 2014
Text Positioning Sucks

Spankers and Spankees,

So as part of the previous update, I was fiddling with how I position text, because of problems with displaying multiple people in the party. I got a new approach that seemed to work. This evening I realized that I forgot to make sure this text positioning scheme worked for party display in the dungeon, and in combat.

Guess what? It didn’t.

So, I’ve uploaded a new version where I reverted back to the previous system. I also recalled some weird workaround I have to use that I don’t understand that magically gets my text positioning to work across multiple lines (I hate graphics programming. Even simple graphics programming like splitting text into separate columns. Hate it, hate it, hate it, hate it) which I wasn’t using in the party display screen, which I am now using, so the problems with text positioning are fixed!

I don’t know if that paragraph made any sense to you (it doesn’t to me). But the point is, download this version. The combat screen isn’t messed up in it.

Anyway, please make sure to read the previous post as well. In addition to more information about the updates contained in versions 1.14/1.15, it also has some sketches of the potential automap. Thoughts on the automap’s design would be greatly appreciated.

New Save File Format, Storyboard for Automap

Spankers and Spankees,

While messing around with transitioning from episode 1 to episode 2, I discovered that the game crashed every time I tried to save during episode 2. I managed to narrow it down to the problem line of code, but I had no idea why that line was a problem, or how to fix it, because I was using a very complex third-party module that solves a highly non-trivial problem (turning program state into text is a lot harder than you’d think) so I didn’t really understand the module I was using.

Therefore, since I had no idea how to fix the problem, I decided to go back to rolling my own save format. Unfortunately, the new format is completely different from both of the previous formats. I think it’s superior to both (at least in the context of my game), but it’s still very different. So, once again, old saves are no longer compatible with this version, and you’ll have to start over.

I’m really really sorry about that. However, once episode 2 is released the save format is pretty much locked in forever, so I really need to make sure to get it right before that happens.

On the bright side, I think the reason the most recent versions of the game dont work with PlayOnMac is because PlayOnMac doesn’t know how to handle the third-party module I was using. Since I’ve gone back to generating plain text files for my saves, PlayOnMac might start working again. So if there’s anyone out there with a Mac, please try it out with PlayOnMac and let me know if it works or not.

I’ve also fixed a few bugs and typos, including a bug where the game crashed when you tried to end the episode. I’ve also modified the logic of the dungeon events. Now, once you’ve completed the event in each room, the entrance squares will no longer display text. Hopefully, that will make going back to Paloma less of a hassle. You can find the most up-to-date version of the game in the Downloads section.

I’ve also been doing some preliminary designing for the automap. Below are some sketches that I’ve made of my proposed design. Criticism would be greatly appreciated. Note that I haven’t implemented anything yet for the automap, so I have absolutely nothing invested in this design. So feel free to tear it apart. Furthermore, the top-down perspective will look very similar to this, so keep that in mind when critiquing these sketches.

Suppose we are in a dungeon. It’s dark and scary. Or maybe it’s a sunny day in the middle of a forest with dinosaurs rumbling happily. We’ll never know.

Now, suppose we press A to  trigger the (A)utomap command. That gives us the following screen.

This screen displays what we’ve seen of the dungeon so far. Note the J. That’s the first letter of the player’s name (in this case, I’m assuming the name is Juliana), and indicates where the player currently is. Now suppose, we want to define a route from our current position to the stairs down to the first level. I start pressing the arrow keys. Pressing the up arrow twice, and the right arrow once (or twice, this thing isn’t exactly to scale and it’s hard to tell) gives us the following screen:

We continue flailing at the arrow keys in a random (yet totally logical) manner to complete our route. Note that while you are selecting your route, your party isn’t actually moving. Therefore, you will not experience any random encounters while selecting your route (you will however, have random encounters once you start walking the route). Anyway, once we’ve finished selecting our route, we have the following:

Now, suppose we hit Enter. The party starts walking the path above. Note that this is not displayed to the player. From the player’s point of view, the party will simply teleport to the desired square. However, behind the scenes, the party is traversing the dungeon one square at a time. So from the system’s point of view, travelling by a path is exactly the same as travelling manually. Therefore, once we hit the red square, we trigger combat!

After combat, we go back to the main first person display:

Except clearly on a different square (a red square). Note the blue (W)alk command. Pressing W will resume the path. Note that the command will vanish as soon as the player moves off of the current square. However, suppose we open the automap again instead. This gives us:

Observe that the J has now moved to the red square. Furthermore, the game has remembered the part of the route that you haven’t traversed yet.Pressing (Enter) will allow you to continue the path, the arrow keys allow you to edit it.

Your thoughts on this would be much appreciated. Also, I’ve been giving some thought to how to make combat faster without inhibiting clarity. I’m thinking that a combination of colors and sound-effects could get you the information you need, without boring lists of

“Juliana slapped Vengador.”
“Vengador lit Juliana’s face on fire.”
“Juliana cursed loudly.”

But we’ll have to see. So, expect similar storyboards for a new combat interface in the coming months.

October: A Month of Dogs, and Boring Background Stuff

Spankers and Spankees,

Apparently, it’s already the first month of October. The good news is I recently adopted a dog from the local shelter. He is the most gorgeous little thing you ever did see. At 20lbs (9 kg), he’s little bit smaller than I would prefer, but a perfect size for my apartment. Right now, he’s plopped down on the couch next to me (I know, I know, I’m spoiling him) after a long, exciting morning full of pre-dawn walks (*grumble*), three attempts at getting him to take some goofy anti-biotic (*grumble*), a visit to the vet, a visit to the pet store, and a walk through the park.

Also, I have a job offer for a job that won’t totally suck, which means that when I graduate, I won’t be homeless. This also means that I’ll have more time this month to work on Potion Wars because I won’t be preparing for as many interviews.

The bad news is that this month has been a little bit crazy, so I haven’t had as much time to work on Potion Wars as I would have liked. So, I think that’s all there is to talk about. Till next time.

walks away.

Time passes.

Faint grumblings can be heard from all 5 people in the audience. Someone tries to start a slow chant for Potion Wars, but everyone else gives him weird looks and he stops.

There is an awkward silence.

More time passes. The audience starts glancing at their watches, wondering how long before AKA gets tired of this stupid joke. They then get confused, because nobody wears watches anymore.

AKA comes running back on stage.

Sorry, sorry. Forgot to tell you about Potion Wars progress.

Someone coughs. It sounds suspiciously like “bollocks.” But that’s just silly. “Bollocks” isn’t even a word.

“I didn’t cough it you twat, I shouted it!

Anyway, despite the crazy month full of dog adopting, and job searching, and what-not, I have managed to find time to work on the game. I’ve uploaded a new version, version 1.13. See the download section for links. What I’ve done:

1. Fixed a few stealth bugs caught by PyChecker, before they led to crashes on your ends.

2. Did some writing. I’ve currently written about 60 pages, with about 100 nodes. And that’s just about finished the scene you get at the beginning when you sleep at the guild. I now need to write:
a. The scene for when you sleep at Maria’s.
b. A brief conversation with Elise and Sister Samantha about Carrie’s party
c. A subplot with Carrie (I know what the subplot is. I just don’t want to reveal it because spoilers).
d. A scene involving the teaching of Anne, Peter’s daughter.
e. The whole damn dungeon.
f. Carrie’s party.

3. Upon realizing just how much I have to write, and how I don’t have 16 hours everyday to dedicate to writing, I’ve recruited Jeffrey the Jungle Ape to help me write the scenes that tend to be the most intricate, detailed, and hardest to write: the spanking scenes (I’ve also asked Emily, but she hasn’t responded yet). I’m not recruiting anyone else just yet. Partially because I want to see how things go with Jeffrey first, and partially because if you offer and I turn you down, it’ll be awkward. My fan base is small enough as it is. Don’t need to be scaring anyone away.

4. Sent Emily an outline of the episode for her feedback.

5. Completely revamped the setting. The game is now basically taking place in the Jurassic period (plus a few dinosaurs from the Triassic, magic, humans, elves, and maybe other things) on the supercontinent Gondwana, way down at the south pole, because:
a. Dinosaurs.
b. Fuck yeah.
c. Of the various periods in history, the Jurassic was probably the closest to your standard fantasy world: Lots of giant monsters running around, only two giant continents (which were close enough they could almost be considered one), a ginormous desert in the middle of the planet.
e. Pet dinosaurs.
f. Fuck yeah.
g. During the Jurassic period, the only parts of the planet where you could find
a cool temperate climate (which near as I can tell is roughly the climate that I grew up in) were at the poles.
h. Clothing made out of dinosaur skin.
i. Fuck yeah.

Also, it gives me an excuse to rekindle my boyhood love of dinosaurs.

6. Had to make a variety of small changes to the first episode to line up with the new setting (birds didn’t exist yet, though they did have Archaeopteryx, mammals are few and far between so they don’t have access to milk, and cheese, no flowers or deciduous trees. Also, no wool.). I probably missed something, so if you notice anything that doesn’t make sense (i.e. clothing made out of wool, flowers, birdsong, people munching on cheese) let me know. Note that they didn’t have grasses, so you wouldn’t have grains (which are grasses). However, bread can be made out of things other than grains, so bread is safe. Furthermore, I’m assuming that they have a cottonlike plant that I’m calling cotton. Mostly because dinosaur skin would probably make a scaly leather similar to alligator skin (though some of it, like Iguanadon skin, would be quite supple, others like Stegosaurus skin stiff and hard), which might not be flexible enough for some of the clothing effects in the first episode. I don’t know, I’m not a clothing expert.

7. Replaced those horrid X’s in the dungeon with filled in squares (actually trapezoids, thanks to the magic of perspective). I’ve also rearranged the colors. Now, the entrance of the dungeon (and exit for dungeons that have exits) are blue. Events are yellow (because they may or may not involve combat). Combat is red. Stairs are green.

8. I’ve made it more obvious when you’ve stepped on a stairs square, so that we don’t have the problem of people wandering around for an hour because they didn’t notice the damned “(D)own” command. Seriously, I think someone on AnimeOTK said that he was wondering around for an hour or two because he didn’t realize that stupid grey X was a set of stairs. Thank you person-whose-username-I-could-look-up-but-I-won’t-because-I’m-lazy for not just shoving my game in the Recycling Bin like I might have in the same situation. In particular, now the (D)own/(U)p command is bolded and colored green, and the direction you’re facing is replaced with the word “Stairs.” Hopefully that will make it obvious enough for people to notice.

9. Tried to add a new non-trivial command to my LaTeX -> PDF translator. Unfortunately, my code was so confusing and hacky that I couldn’t debug the new command. So I’ve started rewriting that from scratch (well, nearly. I think I saved two of the functions from my previous implementation) in a much cleaner, easier to follow way. Kind of sucks, but when they say that “good writing is rewriting” they’re not just talking about poetry and prose.

10. Reworked some of my planned future plotlines.

P.S. According to google analytics, I’ve broken 1,000 page views. Nifty.