Category Archives: Crimson Glow
February 2016 Update

Spankers, Spankees, and Switches of All Ages (18 and above),

So I’ve made _excellent_ progress. I’ve managed to finish the first round of the game engine, something I wasn’t expecting to finish until the end of February at the earliest. Right now I’m working on the startup code. By the end of the week (at the latest) I should have all the code written to run the game for the first time.

However, that does _not_ mean that a release is right around the corner. Here’s a list of things I still need to do:

  1. Write JSON files describing the random enemies of the first dungeon, and the boss of the first dungeon (won’t be too hard. Maybe four files tops?) This includes writing the in-combat spanking text, but I’ll be lifting and modifying the combat text from the first enemies of Potion Wars, so that shouldn’t take too long.
  2. Write JSON files describing the clothing options for the player (lots of files here, but items are much simpler in this game than in Potion Wars, so again it shouldn’t be too difficult)
  3. Translate the transcript of the first day of the first episode into a JSON-like format (it’s not quite JSON because the events have line breaks, which I don’t believe JSON supports), and do any editing I decide to do.
  4. Debug the game. This one will probably take a while. I’ve been reasonably good about writing tests I think, however I don’t really have tests for the view or controller. The view because GUI code is rather hard to test automatically. The Controller is also woefully lacking in tests. Now, most of the Controllers are simple enough that that probably won’t be a problem (query model, invoke method on appropriate game screen). However the Combat Controller is rather complicated. I really should refactor that one out into smaller, more testable pieces. But I’m lazy.
  5. Balance the first dungeon.

Once those five steps are complete enough, I’ll pass it off to my beta testers to break.

So we may see a release by May, but officially, I’m going to keep it at June. I’ll admit that I have cut a few corners, and I’m not sure how badly that cutting is going to hurt me just yet.

One nice thing: I feel like I have a _much_ better handle on this codebase than I did on the Python codebase for Potion Wars. So that at least is a success!

December 2015 Monthly Update

Spankers, Spankees, and Switches of all Ages (18 and above),

Don’t have time to write a lot. Need to catch a plane early tomorrow. Still, I thought I’d give you a brief progress report. The past month has gone something like this:

  1. Dig into undocumented, poorly formatted spaghetti code to try to modify it the bare minimum necessary for Crimson Glow.

2. Watch it break in strange, and incomprehensible ways.

3. Have no sane means of debugging.

4. Throw things and swear until my voice is hoarse.

5. Realize the codebase is beyond all recovery.

6. Start over.

So yeah. I’m not happy about that at all. I was hoping to get something out in November, or even this month, but with having to write everything from scratch, I doubt we’ll see the first day before April. Sorry about that. I hate jerking you all around like this, but it is what it is. That being said, I like to think I learn something from my mistakes, so I’m going to be much more deliberate about my coding. In particular, I’m going to make sure to actually write tests. Because you know, that’s kind of a fundamental thing you should do. I’m also going to document the codebase, so that I have some idea of what the hell I wrote when I back to fiddle with things a year from now.

I’ve also decided to write this in a different language. In particular, I’ve picked Java. The primary reasons are:

  1. There is a _wonderful_ testing framework out there called the Spock Framework that makes writing (unit) tests downright enjoyable. Seeing as how testing is so critical to making sure I don’t write a piece of junk, and seeing as how it can be difficult to be disciplined enough to write thorough tests when there isn’t anyone else around to slap your hand if you don’t, I want tests to be as easy to write as possible.
  2. While it is possible to write large programs in duck-type scripting languages like Python (or Groovy for that manner),  for me at least, it requires a lot more discipline than in a statically compiled language. Plus, since I became a code monkey I’ve actually seen well written Java code at scale, while I haven’t seen well written Python code at scale yet. So hopefully my growing experience with large Java programs means I’m more likely to get it mostly right if I write it in Java.
  3. I find it much easier for myself to slip into the kind of structured, design-focused programming mentality that I need for something of this scale when coding in Java. That’s likely just because Java is where I have the most experience writing structured, design-focused code, but it is what it is, whereas most of my experience in Python is throwing together quick hacks and glue scripts.

So I’m working as fast as I can, while still trying to write code that isn’t utter garbage. Needless to say, if there’s anyone out there with some skill in Java, and would like to help out, please drop me a line. I’m particularly looking for anyone who enjoys writing GUI code (hate graphics programming of any flavor). If you’re curious, the codebase can be found here. There isn’t anything on master yet, but there is plenty on the GUI and Model branches.

November Update

Spankers, Spankees and Switches of All Ages (18 and above),

First weekend of the month, so monthly update. I’ve finished the first draft of the first day of content, as well as most of the tweaks to the engine and to the first dungeon that I want to make at this point. The next step is to update the customization choices at the beginning of the game, then spend about a week ripping my hair out and swearing as the game crashes like a racetrack full of drunk drivers driving monster trucks. Once the game starts crashing like a racetrack with a single drunk driver in a monster truck, I’ll toss it off to my beta testers, and then we’ll get the first day posted.

I was planning on posting the content I had for episode 2 of Potion Wars, but apparently compiling LaTeX into PDF is more complicated than it should be on a Mac. Useability my ass. Anyway, I’ll see if I can get it compiled and posted tomorrow.

For the rest of the post, I’m going to talk some about the structure I have envisioned for this game, particularly the dungeon crawling part. In Potion Wars, I was trying to make each fight fairly challenging (at least until you gained a few stats, and some more health/mana). Basically, at first you needed to run back to the healer after each battle. However, in Crimson Glow health and mana have been merged into a single stat, energy. Furthermore, there aren’t really going to be healers (or potions).As a result, energy is going to become a very limited and precious resource. Finally, the emphasis is going to be on battles with supervillains rather on generic fights, and you should feel like a superhero when fighting generic enemies. So you should be able to mow through lots of generic baddies.

To capture this, dungeons are going to be much more about energy conservation. Generic battles won’t be particularly challenging, but they will wear on the player, and a big part of the strategy will be determining the most energy-efficient means of completing the dungeon, so that you have the energy to defeat the supervillains. Furthermore, generic enemies will be very fragile (i.e. non-super enemies will have 1 energy, with the possible exceptions of the first boss), and they won’t really have any special skills. So you should be able to one-shot them easily. However, there will be a lot of them, and they’ll be strong enough that you can’t just hold down the attack button and blindly mow through them. On top of that, there will be energy attrition. Basically, each round your character will lose some energy (because it takes energy to keep your powers going). The amount you lose depends on the difficulty level:

Hand: You lose no energy each round, and supervillains lose lots of energy each round. Resting also takes no time. This is the difficulty for people who want to breeze through the game and experience the story and spankings without too much challenge.

Strap: You and supervillains lose a roughly equal amount of energy (villains may lose a little bit more, because they didn’t have to slog through a dungeon) each round. Returning to your room and resting takes some time, but you should be able to have enough time to rest once or twice without ignoring too many other responsibilities. This should be a good, reasonable difficulty for people who enjoy RPGs.

Cane: You lose quite a bit of energy each round, and supervillains don’t lose as much. Resting takes a significant amount of time (several hours). This is the difficulty I will be balancing on (mostly because if I’m not careful, this difficulty could be unwinnable), and will (hopefully) require a careful use of skills.

 

Speaking of skills, this is another difference from Potion Wars. In Potion Wars, there were a fair number of stats (six, I believe) and everyone learned the same set of skills, In Crimson Glow, there will be far less emphasis on stats, and far more on skills. There will only be three stats: Strength, Speed, and Willpower. Strength controls how good you are at grappling, Speed controls your regular attack, and Willpower will generally influence how much energy you have, and how strong your skills are (though Strength and Speed will also play a role depending on each skill). However, I plan on there being a lot of skills, and each skill will have multiple levels. Not only will there be skills that are general-purpose (like Crimson Punch), but there will also be skills that are very situational. For example, there might be a supervillain who is a flyer, and really fast, but not very strong. So you can learn a skill that allows you to anchor your opponent to a building, drastically reducing her effectiveness. Of course, anchoring may not be effective against other opponents who are on the ground or something.

Basically, my plan for each supervillain is that you will have two avenues open to defeating them:

  1. Patrol a lot and get high enough stats that you can beat them using just the general-purpose skills. This will be the more challenging route, but it will be necessary if you want to be able to beat supervillains the first time you meet them.
  2. Get your butt spanked the first time (most likely), and then develop a special-purpose skill that neutralizes the supervillain’s strength, or inflates a weakness.

In particular, I want each villain to have their own combat style (as much as they can given the relatively simplistic combat system) with their own unique and powerful skills, and I want the player to be able to develop counters to those skills. It always bugs me when enemies have super-powerful skills, and you have no way of countering them (I’m looking at you Avernum: Escape from the Pit and your stupid acid raining bosses, and utter lack of silence spells, or elemental protection spells or cure-all spells for the entire early game). I just love being able to take an enemy’s strength and turning it into a weakness.

A little sample of some of the skills you’ll be learning:

Crimson Slap: This game’s version of firebolt. Standard single-enemy damage skill. Higher levels make it more powerful, but also cost more.

Crimson Armor/Boots/Eyes: Increase strength/speed/willpower at the expense of the other two.

Crimson Cord: Pull an enemy into a grapple.

Crimson Flare: Blind every enemy in the battle, giving them a significant penalty to speed.

Crimson Bind: Wrap the Crimson Cord around an enemy and essentially paralyze them for a few turns.

Furthermore, different skills will be unlocked based on levels gained in other skills. For example, to unlock Crimson Bind, you need to get three levels in Crimson Cord, and to unlock Crimson Spanking you need to know Crimson Bind and Crimson Slap.

Basically, I want a lot of the depth in the game to come from skills. Which skills should you train? Which ones should you use in this situation or that situation? What kind of character do you want to play?

 

Edited to Add: Furthermore, the nature of this game means it is much more conducive to having help from outside writers. In particular, I’m looking for writers who’d be willing to adopt one of the player’s roommates (there are five. Three have been adopted already). Basically each roommate will be associated with one of the basic choices you can make each day:

  1. Patrol – Taken (by me!)
  2. Work – Taken
  3. Study
  4. Party
  5. Train – Taken

And the events of each activity will further develop that character. For example, one of your roommates will be a colleague at your work, and the work events will feature him/her heavily. My dream is to have someone else working on each of the other activities. That way, I can focus just on writing the Patrol events, on improving the game engine, and merging everything into a coherent episode. If you’re interested, send an e-mail to my google account sprpgs, or contact me on animeotk (my handle is “aka”) and we’ll talk.

Previous Page