Monthly Archives: June 2014
Level Up Mechanics

Spankers and Spankees,

On the previous post I got a question about learning Distort Magic, and I realized that I have yet to make explicit what the level-up mechanics are. I threw in a few references in game, but it’s not always possible to see those, and they’re very vague.

 I had been planning on working on a manual at some point over the past few weeks, but between bug fixes and a bad head cold that struck me down at the end of last week, I haven’t had a chance.

So, until I’ve actually written up the manual, here is a brief rundown of level-up mechanics.

The basic idea is that your character improves depending on what you do in combat. That will get you 90% of the way to understanding the level-up mechanic, at least enough to beat the game.

In particular:

Warfare – Increases if you attack often
Willpower – Increases if you cast status spells (explained below) often, or if you defend.
Grapple – Increases if you use grappling actions (grapple, break grapple, throw)*
Stealth – Flat chance of increasing**
Magic – Increases if you cast spells
Health – Flat chance of increasing every combat. Chance increases if player grapples or attacks often ( grapple and attack bonuses do not stack. Takes whichever is higher).
Mana – Flat chance of increasing every combat plus chance of magic increasing.

*Starting with the next update, attacking while grappled will improve warfare and grapple.

**Starting with the second episode, there will be a new command “Hide” that allows you to ambush your opponents (or just not get attacked). Hiding will increase stealth.

Spells are broken into four schools: Combat, Status, Buff, and Spectral

Combat – Deal straight damage. Tend to be expensive, but can be devastating, especially against enemies with low magic. Firebolt is the first combat spell

Status – Interfere with your opponent’s ability to fight (typically by reducing stats, or paralyzing them, etc.). Weaken is the first status spell.

Buff – Improves your characters’ abilities to fight (also includes healing spells). Heal is the first buff spell.

Spectral – Weird spells. Typically have more than one effect (i.e. damage plus a status effect), or allow spellcasters to “simulate” other combat actions using a different stat rather than the stat the other action depends on. Spectral Push is the first spectral spell (Spectral Push simulates the “Break Grapple” option, but uses willpower rather than grapple to determine the chances of success. I’ll probably end up changing that to magic, however so that you can specialize in say combat magic, without grappling being dibilitating).

You learn spells of a given type by casting the spell of that type. So in order to learn Icebolt, you need to be casting Firebolt.  Casting Firebolt will not allow you to learn Mass Weaken. Only casting Weaken will get you Mass Weaken.

Spells are further broken into tiers: 0 – 9.

Each tier has three spells: Basic, Advanced, Specialized. As per the name, specialized is available only if your character specializes in that school (the path to specialization will begin in the second episode). You must learn the basic spell before you learn the advanced spell, and the advanced spell before you learn the specialized spell. Advanced and specialized spells tend to be stronger and/or cheaper versions of the basic spell. Firebolt is the basic tier 0 combat spell, Icebolt is the advanced tier 0 combat spell. Magic bolt is the specialized tier 0 combat spell (at this point, you’ve only seen Magicbolt used against you).

Every 3 levels of magic*** a new tier opens up. Note that you do not need to learn all the spells of a lower tier to begin learning spells of a higher tier. You learn spells of a higher tier the same way you learn advanced spells of a lower tier: cast spells of the appropriate type. So if you want to learn Distort Magic (which is a Status spell) you first need to get your magic up to three, and then cast Weaken/Mass Weaken a bunch of times.

When learning spells, it does not matter which spell of the appropriate school that you cast. Once you’ve unlocked Tier 9, you will be able to learn Tier 9 combat spells by just slinging Firebolts all over the place. On the other hand, if you haven’t learned Icebolt, and you start slinging Tier 8 spells around, you may learn Icebolt rather than a Tier 9 spell. However, you have a better chance of learning higher tier spells than learning lower tier spells (assuming the higher tier spells are available to you). So if you unlock Tier 1, and you haven’t learned Icebolt yet, you’ll have a better chance of learning Lightning Bolt than of learning Icebolt.

***This will change. Based upon how stats are increasing in the first episode, if I keep this across the board, you’ll be learning Tier 9 spells by about a third of the way through the game. At that point, you should be only up to Tiers 3-4.

—————————————Spells by School———————————————————

Here are all the spells currently implemented, sorted by school and tier. Basic is at the top, advanced at the bottom. Remember, the player cannot yet cast specialized spells:

Tier 0:                           Tier 1:
Firebolt                         Lightning Bolt
Icebolt                           Thunder bolt
Magicbolt                      Magicstrike

Tier 0:                           Tier 1:
Weaken                          Distort Magic                 
Mass Weaken                 Mass Distort Magic
Weak Charm****            Charm****

Tier 0:                           Tier 1:
Heal                               Shield
Fortify                            Magic Shield
Super Fortify                 Super shield

Tier 0:                            Tier 1:
Spectral Push                 Spectral Spanking
Spectral Pull                  Spectral Strapping
Spectral Shove               Spectral Caning

****Technically, this hasn’t been fully implemented yet, because these kinds of spells are tricky to implement, so I probably won’t implement them until I need to.

———————————————Sneak peak at next update———————————–
As a little sneak peak for rewarding you for reading this far, it occurred to me that the vast majority of the material for the various guild trainers is only available if you don’t have a white ribbon (and some if it will have small long-term consequences). Unfortunately, the only way to avoid getting a white ribbon is to basically avoid Paloma. Since at the beginning your character is really only good for one battle without healing, this means that you’d have to spend a very frustrating play session running from everyone, and then you’ll be painfully underpowered for the second episode. Neither of these is particularly fun. So I’m working on overhauling Paloma so that you can help her, get healing, and not get a white ribbon. Basically, after your first encounter with her, she’ll forget to give you the ribbon. Once one of the trainers tells you to get a ribbon, everytime you return to her you’ll have the option of asking her for healing, or asking about the ribbon. In terms of explaining why you never bother to get a ribbon (other than a recalcitrant “you can’t tell me what to do”), here are two possibilities:

1. If you help her, but never get a ribbon, it may be because you keep forgetting to ask. While it’s impossible for the player to forget (because the option to ask about it is staring you in the face) I think it’s reasonable that the PC could forget. After all, she’s running around getting stabbed, burned, and thrown all over the place, and she’s on the verge of collapse when she finally stumbles back to Paloma. Kind of pushes everything else out of your mind.

2. If you don’t help her, but never get a ribbon, it could be because you forget (see above), or you’re intimidated by her (since she’s kind of angry at you), and are afraid she’ll say no (or you’re ashamed, and feel like you don’t deserver a ribbon).

When Adrian confronts you about never getting a ribbon at the end, I’ll probably just assume one of the two above, because introducing new comments where there weren’t any before is a bit of a hassle (hopefully that will change, once I implement a script to convert some LaTeX with custom environments into Python source). However, keep in mind that just because a character says something (including the PC!) doesn’t mean it’s necessarily true. So feel free to rationalize never getting a ribbon however you want, and if the PC says something that contradicts your rationalization, just assuming the PC is fibbing a little to keep Adrian from getting too mad.

Bug Fixes and Stuff

Spankers and Spankees,

I’ve finished fixing the latest round of bugs and crashes. I’ve also modified the status spells (weaken, mass weaken, distort magic, etc) a little bit. Before, status spells had an average chance of increasing magic, and a small chance of increasing willpower. However, because willpower affects the chances of a status spell working (whereas magic only increases its duration), I realized that willpower is much more important to having powerful status spells than magic is. Furthermore, whereas buff, combat and spectral spells all have an average chance of increasing magic, there are no other actions that improve willpower. So now, status spells have an average chance of increasing willpower, and a small chance of increasing magic.

Also, as a reminder: the old save games will no longer work. I made a poor choice when designing the save game format, and had to correct that choice, so old save games will no longer be loaded properly. So please make sure that you don’t try to load any of the old games, otherwise you’ll at best get crashes up the wazoo, at worst all sorts of weird behavior.

Warning: Changes to Save file format

Spankers and Spankees,

No update today (sorry). Rather, I wanted to give you a warning. While fixing some of the latest bugs and crashes, I realized that I made a mistake when structuring the save file format. I had a choice between modifying the save game file, and trying to implement some sort of kludgy hack. Since the game is still new and very much in flux, I decided to modfiy the save game file format.

Your current save games will NOT be compatible with the next release.

I’m sorry about that, and I hesitated to modify the save game format. However, since there really isn’t that much content yet, I felt that losing your save games wouldn’t be too painful, especially considering all the paths I tried to put into the game for the sake of replayability.

I haven’t finished testing my fixes yet, so don’t expect a new version until tomorrow evening or Wednesday. Until then, I would recommend against playing because you will lose all your progress.

Bug Fixes, Rebalancing, and a New Item!

Spankers and Spankees,

I’ve fixed a whole slew of new crashes and bugs that people keep uncovering (jerks I mean, thanks!). Many of which were subtle, and very annoying to fix. I’ve also done a lot of rebalancing, so that hopefully now grinding won’t be as necessary to beat the boss. Though, this does of course depend on how your character develops (I was able to defeat the boss on the first try with 3’s across the board, health in the low 30’s and mana in the low 20’s, but it was close).

Finally, I’ve added a fancy new item: the staff. A staff is very similar to a spear, except that the damage is nowhere near as good, and it provides much better protection against grappling. Basically, it’s a defensive weapon for spellslingers.

I was planning on working on the manual this weekend, but I’m tired and grouchy from some of these bug fixes (maintaining consistent state is hard and I’m really bad at it), so I’ll hold off on that for now.

Bug Fixes (Continued)

Fixed some of the easier crashes pointed out on AnimeOTK. I failed to replicate the sporadic problem of stats going down instead of up when improving, and hitpoints randomly dropping down to zero when also improving. I did however find a few issues with stats that linger past combat, so hopefully fixing those problems also fixed the negative improvement bug.

The biggest problem right now (which I don’t believe I’ve fixed yet, though I have started poking at it) is that when you go back to the title screen, and then load a save game and/or start a new game, the game enters into inconsistent state (for example, the player might start at the end of the episode rather than the beginning). I think I know what the issue is, but restoring state is complicated, so I’m not sure if what I’ve done has successfully fixed that or not. So if you note any weirdness after returning to the title screen, a) let me know and b) quit and reload the game. That should reset the state, and allow you to play normally.

There are also some balancing issues with spells, and stat growths that I plan on addressing this weekend, when I have a day to sit down and just get in fights over and over and over again.

Bugs, Crashes, and Loops Oh My!

Fixed a few more crashes, and a few bugs pointed out by Uninventive over on AnimeOTK. Haven’t fixed the bug pointed by Skull612 yet about the city guard. That one requires looking at code I wrote months ago, and I don’t want to do that yet. Just don’t ever go back to the Edge of Avaricum, and you’ll be fine. At least until something else that I don’t know about happens.

Also, Python’s tendency to do minimal static checks is rather annoying. Many of the crashes I’ve been fixing are the types of things that most other languages would catch at compile time (meaning I wouldn’t even be able to create the executable until I fixed them). But since Python only does minimal checks until it attempts to actually execute the code, it’s very easy for blatantly incorrect code to slip through undetected. Such is the price Python pays for its wonderful flexibility. Such is the price of the language’s wonderful flexibility.

Finally, I’ve stopped posting torrents of the game. Nobody is using them anyway. I’ll start posting those again if/when the game gets big enough for direct mediafire downloads to no longer be practical (which probably won’t be for a few years).

Windows Executable! Yay!

Spankers and Spankees,

I’ve finally gotten my hands on some install discs for Windows 7, and I’ve managed to get Windows back onto my machine (much to my machine’s chagrin I’m sure). This means, that I can finally start creating and posting Windows executables again. See the Downloads page for the most up-to-date version. I also stumbled upon some crashes and bugs while I was playing it, and I’ve fixed those. Both the Ubuntu and Windows executables are the most up-to-date.

As a reminder, the process for notifying me of bugs has changed. See the “Reporting Bugs” tab above for details. You can also find a link there to the list of bugs that have not yet been fixed. It’s recommended that you look at that before downloading the game, so you know what not to do until I can fix it.

Also, SAVE OFTEN. With the quick save feature, all you have to do is hit “q.” I tested the episode as I wrote it, but sometimes I change things that have unexpected consequences, and something that was working when I wrote it is no longer working. I ran through a few paths with the most recent executables, but my exploration was by no means complete. There are almost certainly still options that crash the game. Keep your save up to date, and let me know whenever you encounter a problem.

The flyswatter has been applied with great prejudice

Spankers and Spankees,

I’ve fixed (hopefully) all the crashes and bugs that Zekel, Skull612, and Uninventive have pointed out (especially Uninventive). Thank you so for your patience, and feedback!

That’s not all however. No, I’ve been very busy these past two days. Yes. Very busy.

First, I’ve removed the Windows executable. Sorry, but it’s pretty much unplayable right now, so there’s no point in having it up, until I can a Windows 7 machine again.

Second, I’ve uploaded the most up-to-date Ubuntu executable torrent and I’ve uploaded the Ubuntu executable directly to MediaFire for those of you who don’t like torrents. See the Downloads page.

Third, I’ve licensed the source code under the GNU GPL v3, and uploaded it to a github repository. You can pull the source code off of there if you’re interested. It has everything except for the music files, because I’m not allowed to send the music files in plaintext. Sorry.

As far as users like us are concerned, all the GNU GPL v3 really says is that you are free to take my code, modify it, add to it, and use it in your own programs. HOWEVER, if you choose to release a program that uses my code, you MUST also release the source code. Probably the easiest way to guarantee compliance is just to “fork” the repository. This will create a different, public repository for you that you can modify without affecting the version that I’m modifying, and I can modify the original version without affecting your version. Furthermore, because the fork will be public, your source code will be released for you.

For those of you using Windows or Mac, and who refuse to install Ubuntu, downloading and running the source code is the only way to currently play the most up to date version. For more details on how to get the source code running, see the README.txt file included in the repository.

I’ve added some error logging to the code (which I should have done from the beginning). Now, if the game crashes, the error will be written to a file called “errors.log” that will show up in the same directory as the game. If the game crashes, please do the following:

1. Send me the errors.log and your latest savefile before the crash (assuming you can save). Make sure to give your e-mail a meaningful name that isn’t too long, such as “Potion Wars Bug: Can’t fight the boss.” or something.

2. Go to the github repository. Along the righthand side you should see a small link called “Issues.” Click that link. Then, create a new issue, and give it the “bug” label (you should see a list of labels along the right of the textbox in which you can describe the issue). Give it the same title as the e-mail you sent me, and explain the bug in as much detail as possible. In particular, describe in as much detail as possible what you did that triggered the bug, and how to get there from the savefile you sent me. This is as much for other players’ benefit as it is mine: what you say will help them avoid the bug themselves until I can fix it.

Note that I have deleted the Bugs tab. I will NO LONGER be tracking bugs manually on a page of this blog. It is HIGHLY recommended that you go and look at the issues page before you download the game, so that you know what bugs there are to avoid.

Comedy of Errors

Spankers and Spankees,

So as expected people were having issues downloading the torrents. That seems to have been fixed though. Mostly, I stink at choosing trackers.

Unfortunately, there was some confusion with the first scene. Basically, the trigger for the first event was poorly done (you’re not supposed to talk to the guard. You’re supposed to try to go Avaricum Square immediately. However, things get a little bit buggy if you try talking to the guard first). I’ve modified a few things to fix that bug. You can find the updated Ubuntu binaries under downloads.

Unfortunately, my Windows 7 OS decided that today was a good day to die, and I no longer have a Windows box, and I won’t have one until I can get my hands on some install disks (which may take a few days at best). As a result I will be unable to create new binaries for Windows 7 for the immediate future.

Finally, firefox has recently started complaining about (the subpage from which people can download other people’s files) being an attack page!. So, I’ve had to move the torrents to a mediafire link.

So very sorry about all the craziness. Please try to hang in there as I work out the kinks to this whole “sharing stuff with other people over the Internet” thing.

EDIT: Fixed a bug that causes the game to crash immediately if the player names their character anything but the default.

Spankers and Spankees,

Welcome to the spanking rpgs blog. My name (as far as you’re concerned) is Aka Russell, and this here is the first post on my brand new development blog of CRPGs with a strong old-school dungeon-crawling flare, a butt-ton of spankings, crude wire-frame graphics, and WAY too much text.

If you look above this here first post, you will see a bunch of tabs. “About” tells you a little bit about my game, “Download” tells you how to download my games (it is alas a bit more complicated than downloading from mediafire, because I don’t trust filehosting services like that). “Bugs” contains a list of known bugs and how likely it is that I’ll fix them. “Other Spanking Games” is where I keep a list and brief description of other games with a significant amount of spanking content that I’ve stumbled upon during my many hours on the web.

Currently, the first episode of Pandemonium Cycle: The Potion Wars (PCPW) is up for download. It is written in Pygame, is a text-based game with wire-frame graphics for the dungeons, and has music purchased from The game itself will be broken up into episodes. Each episode consists of a beginning, in which the player can interact with various members of the supporting cast, a middle, in which the player explores a dungeon and explores the main plot of that episode, and an end, which is similar to the beginning except we tie up (or at least develop a bit more) various loose threads from the beginning and middle.

Included in the download is a README that contains the seed of a proper manual. I will be writing a proper manual at some point in the near future, hopefully this weekend, which I’ll post along with the game’s source code (horribly written though it may be).

If you have any comments or criticisms please either comment on this blog, or send me an e-mail at: – for any comments or criticisms of the writing and story – for any comments or criticisms of the gameplay – for any bug reports or crashes – for anything that doesn’t fall under one of the above categories.

Criticism is welcome, however if you insult me, your e-mail will go unread into the trash (you are however free to insult the game. Just not me.). Furthermore, I ask that you provide useful information. Saying “This game sucks” tells me nothing except you didn’t like it. Saying “The spell Spectral Breakage renders every other combat choice redundant” actually tells me what the problem is. Even better if you have possible solutions to any problems you see.

One last thing: The game starts with an opening crawl that will automatically scroll through. You can skip it with the Enter key if you like, but it does provide valuable background information.

I hope you guys enjoy your time here, and enjoy Pandemonium Cycle: The Potion Wars.