Category Archives: Crimson Glow
Crimson Glow Flash Fiction

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

As promised, as follows are two little scenarios written by Chaosnova to get a handle on the various characters, and which he has kindly agreed to share. A few things to note before we get to the juicy bits:

Creative Commons License
The Courageous Crimson Glow by AKA Russell and Friends is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

What this means is that you are free to create your own derivative works so long as you.

1. Give us credit for Crimson Glow (attributing the work to “AKA Russell and Friends” along with a link to spankingrpgs.com will be sufficient)

2. Release your work under a compatible license (for simplicity, you can just release it under the same license). Here’s a link that will make it really easy to license your work: https://creativecommons.org/choose/

 

The scenes themselves are not necessarily canon. They take place around the midgame (which is very much not set in stone). Characters will certainly grow in unexpected ways. Superheroine names may change, etc.

 

The scenes have been tweaked a little bit to minimize spoilers.

 

With that, here is the first scene:

 

In the stressful (and often dangerous) life of a superheroine, there were a couple of things you learned.

First of all, that fighting crime is a pain in the ass, both figuratively and literally. You’d think I’d be joking, but I’m not. It’s almost amazing how often you see a new bad boy on the streets, doing all sorts of things from robbing convenience stores to bringing about the extinction of mankind. And if they’re not new faces, they’re the veterans – the bunch of bad guys so good at their job they’ve escaped capture – so you can bet a shiny nickel that they have a good chance of giving you the slip this time too. Either way, it makes keeping the peace an utter chore.

Well, in comparison, it probably isn’t that bad. Figurative pain in the asses was alright; you just needed a bit of extra effort to get through the ordeal. Literal pain in the asses, however, required a little more than willpower.

“Oww! P-please! I’m sory!”

As unbelievable as it was, even superheroes and superheroines get their tushes whupped from time to time. No, scratch that; a lot of the time. Those idiots at the Superheroes Police Agency aside, every villain in this place seems to be a pro when it comes to the art of thrashing one’s rear end. Mess up and fail to apprehend the bad guy, and you can say goodbye to sitting for a good millennia or three. If you happened to rack up some collateral damage along the way and the Agency catches you, then may Lord have mercy on your soul.

“Ouch! It hurts! Not there! Not there! Owww!”

If I could help it, I wouldn’t even want to think about it. But as much as it pains me to admit it (in more ways than one), spankings were a part of every hero’s life.

“I-I’m really sorry! Pleeease!”

… Then again, I might be thinking about it simply because of the scene happening before me right now.

“Generalissima. Do you mind explaining the situation?” I asked.

“What’s there to explain?” asked Generalissima, continuing in her harsh punishment of the girl draped over her lap. “I’m spanking her. Isn’t it obvious?”

I considered asking Delphi, the recipient of Generalissima’s ire, but she was too preoccupied with kicking, squirming and yelping in pain, so I turned to the only other person I could on the rooftop (Yes, we were on a rooftop. I have no idea how that happened either).

“Bright?” I asked hopefully.

“Little miss leader’s experiencing her time of the month,” the light-bending heroine replied.

Generalisima shot her a very dirty glare.

I let out a heavy sigh. Bright and Generalisima had failed to bond in the most spectacular of ways. None of us will never forget the things they called each other back then (most of which were terms I didn’t know and had no idea how in the world Generalisima came to know about. It took considerable effort for me to make her rear as red as my face had been after that). Perhaps Bright wasn’t the most unbiased of individuals.

“Generalissima?” I repeated.

With a sigh, Generalissima stopped her peppering of Delphi’s rump, leaving the girl sobbing like a toddler over her lap. Given how red her flesh was, not that I could really blame her .

“This little brat,” said Generalissima with a hearty slap to Delphi’s bum, eliciting a yelp from the girl. “Decided it was a good idea to put herself in danger. Again.”

“What, did try to  save a kitten in a tree again?” I asked exasperatedly. “That’s hardly a spankable-”

“Replace ‘climbing a tree’ with ‘jumping out a second floor window’, and you pretty much have the gist of it,” said Generalissima.  Delphi whined like a sad puppy, burying her face in her arms.

I felt my jaw drop. Had it been someone like Anklyana, a reckless act like that might have been understandable. When you can get hit by a semi without flinching (don’t ask), a fall from the second story isn’t exactly a big deal. But Delphi’s powers are…less than conducive to second story window leaping.

“… Then why aren’t you using a paddle?” I asked. “Just hand doesn’t seem to be enough.”

“M-miss Crimson!” exclaimed Delphi, raising her head in panic. She got accustomed to calling me ‘Miss Crimson’, after my superheroine alter ego Crimson Glow. I never quite got used to it, but it wasn’t as if I could just give her my real name.

“I was kidding, I was kidding,” I said. She was way too trusting sometimes. “Don’t make that face.”

“No, no, I agree,” chipped in Bright. “She should totally paddle her ass into the middle of next Tuesday. That’ll teach her to try a stunt like that again.”

“Don’t be a jerk,” I said. “You know she’s trying her best.”

“Irrelevant,” said Bright with a dismissive flick of her wrist. “If you can’t get punched through a wall, you shouldn’t be fighting.”

She sounded pretty cold, but Bright probably liked Delphi more than she cared to admit. Someone with her personality just can’t completely hate someone who tries their best. Maybe she’ll never admit to it, but she was a superheroine after all. She doesn’t have it in her to truly hate anyone, regardless of what she says.

“Well then, back to our ‘discussion’,” Generalissima said. “Are we going to have this conversation again, young lady?”

Interestingly, Generalissima likes to go all ‘mother mode’ during times like this with Delphi, despite their ages being pretty close. And  Generalissima’s tendency to childlike behavior. Of course, pointing that out would probably lead to her heating my seat, so I keep my mouth shut.

“N-no,” Delphi said timidly. “Ma’am,” she added hastily.

“Will you do something dangerous like that ever again?” Generalissima asked, the look in her eyes softening a little.

“…Y-yes.”

Bright hastily hid her laugh behind a hacking cough. I didn’t have the finesse, so I simply ended up choking.

“What did you say?” asked Generalissima. She was using the Demon Generalissima voice, and that was not a good thing. Especially when there was someone over her lap with their bottom exposed. I’d consider buying some lotion for Delphi and her soon-to-be flaming rear, provided I wasn’t in such a desperate need for a nuclear bomb shelter right then. “Care to explain, miss Delphi?”

“I-I can’t just ignore someone in need of help,” Delphi replied softly. Whether she was more embarrassed or more scared was anyone’s guess. “B-but I don’t want to lie to you either, miss Generalissima… I-I’m sorry…”

If I wasn’t scared out of my mind, I’d have praised her courage in the face of an elemental horror beyond the darkest musings of Lovecraft. Generalissima wasn’t the leader of the Crimson League, a superhero league. As in a bunch of super passionate people with the ability to put holes in concrete. So it went without saying how terrifying she could be when someone really pissed her off.

But instead of going Armageddon on her butt, Generalissima just heaved a long, drawn-out sigh and lifted Delphi to her feet.

“Stand there,” she ordered, pointing to a random corner of the roof. “Don’t pull down your skirt or pull up your panties. Crimson, keep an eye on her until I get back.”

“Uh… okay,” I said.

“Let’s go, light bulb,” she snapped, walking off.

“Bite me, Spaniard,” Bright countered, though she did follow after her.

“I’m Latina, you bastard spawn of Phreatichthys andruzzii,” said Generalissima.

“You know insults don’t work when the insulted doesn’t understand them right?” said Bright.

“So you think.”

And so I was left with Delphi. Luckily for her, she wasn’t told to stand on the edge of the roof, so no one would be seeing her rump unless they came up here. Not that it made the experience any less embarrassing.

“That was some response,” I said, sitting on the floor and keeping watch on the sobbing girl. “Do you hate sitting down so much?”

“I-I was just being honest…” whined Delphi. “I didn’t mean to make miss Generalissima angry…”

“Well, you-” I paused, noticing the purple spot on Delphi’s right ankle. “Delphi. Did you sprain your ankle?”

“Eh?” Delphi jumped, hastily shuffling her feet to keep it hidden. It was a futile effort, of course, but it didn’t stop her from trying. “E-er, well… I-I… Yes, I did…”

“Does Generalissima know about it?”

“N-no…”

“I swear,” I sigh. “You’re going to be the death of me.”

“I-I’m sorry…”

“Come over here,” I said, causing her to flinch. “I’m not going to make you endure another round. It’s tough to stand like that, right? C’mere.”

“Y-yes ma’am,” mumbled the terrified kitten that was Delphi, limping over. As soon as she was close enough, I spin her around, and pull her gently into a sitting position in my lap. “Eep!”

“Well, I gotta give you credit,” I said. “You’ve mastered every possible means of pissing the General off.”

“I-I’m sorry…”

“Don’t worry about it,” I said, examining the bruise. It wasn’t that severe, but it probably still hurt pretty badly. “Just don’t be so stupid next time, alright?”

“B-but, the little boy was crying, and…” Delphi trailed off, the rest of her words left unsaid. Well,  I could roughly guess what she wanted to say anyway.

“Leave that to us,” I told her. “If you put yourself in danger or hurt yourself, that’ll only cause us more trouble, you know?”

Of course, that alone wouldn’t stop her. If something like that sufficed, she would have stopped a long time ago.

“I’m sorry,” said Delphi again. I swear, apologies were her catchphrase. “I didn’t mean to…”

“We know,” I cut across her. “The General knows better than anyone else. That’s probably why she gets angrier than anyone else.”

“What do you mean?”

“Well, simply put, you remind her of her,” I explained. “This is a secret between us, but Generalissima used to be a little like you – simply reckless. She was more of a daredevil than you were, though, and she just did things for the heck of it most of the time. She didn’t really put much thought into what she did either, which often ended up with her crying in a corner with a flaming red butt. Like you right now.”

“T-that…” Delphi mumbled. “B-but miss General is so cool and smart… I’m nothing like her.”

“Well, in that aspect, maybe,” I shrugged. You have to admit, it’s difficult to compete with a girl who has enough brains to beat Cray Titan in a math competition. “But she sees a lot of herself in you. That’s why she can’t bear to see you put yourself in danger; she doesn’t want to see you make the same stupid mistakes she did and hurt yourself. And, well, hurt those around you because you didn’t think. If you hurt yourself, you’re effectively hurting your family and friends as well, you know? Knowing that you of all people are doing that makes her even angrier, I imagine.”

I paused, letting the weight of those words sink in. I’m not usually this chatty, but there were times where I could speak like an adult too. I am a superheroine, after all.

“… I guess I really made her mad,” Delphi muttered.

“Well, as long as you’re safe, she can’t stay too mad at you,” I comforted, stroking the girl’s hair. “I can’t make guarantees about the state of your bum, though.”

“Say, Miss Crimson,” she said. “Do you think I should-”

Before she could finish, the disaster duo returned, pushing open the door to the roof and freezing where they stood.

“… What are you two doing?” asked Generalissima, her tone… well, I hardly need to explain, do I? “Crimson, I gave you a job before I left, right?”

In retrospect, I probably should have explained the situation. If I just simply told her about Delphi’s sprained ankle, maybe everything would have turned out alright. But in that moment, I was feeling a more than a little mischievous.

Also, remember what I said before about elemental horrors? Yeah.

While cradling a very confused Delphi in my arms, I dashed and jumped off the roof, expanding my forcefields to catch an updraft and glide to another rooftop.

They would catch us eventually; Bright could fly circles around me while infected with the West Nile Virus. But for the moment, I’ll just run for my life while carrying a girl whose panties were still around her ankles and whose red butt was on full display.

Because if I were smart, I wouldn’t be a superheroine.

 

 

And the second scene, which follows shortly after the first:

Tarzana woke to the sight of a bright red sun.

Her first reaction was one of panic. She had fallen asleep indoors, so waking up outdoors was certainly a cause of concern. Several horrible possibilities flashed through her head in that instant, ranging from a fairly harmless
prank (in which case she’d have to tan a few hides into oblivion) to an assault on headquarters (in which case her hide was probably in danger).

All of those worries dissipated, however, when she realized she was still indoors. Then she realized that “red sun” was actually a pair of impressively red bum cheeks. She smirked mischievously.

“Wow, you really are Crimson Glow,” she said.

The superheroine standing in the corner of the room groaned. Crimson Glow, or Crimson for short, was a fellow hero in the Crimson League. She was the field commander, and and had been the first superheroine to appear on the scene.
Field commander or no, at that moment all she looked like was a thoroughly chastised teenager in a rather risgue Halloween costume.

“Shut up,” mumbled Crimson Glow with a sniffle. If the deep shade of red wasn’t proof enough, her voice certainly conveyed just how much her punishment had hurt. “Generalissima said she’ll deal with you for dozing off later.”

“Hey, it’s a comfortable place to nap,” Tarzana strecthed and stifled a yawn. The prospect of being paddled by Generalissima worried her more than a little, but for now, she was going to milk the moment for what it was worth.
“And I get such a nice view all to myself.”

“Up yours,” Crimson snapped, then gasped. “U-um, I…”

“Ho ho,” Tarzana beamed, her voice laced with mirth. With the air of a predator that had found fresh prey, she got up from her seat and walked towards Crimson. “Language, young lady. What was that I heard you say just now? Did
you by any chance just say ‘up yours’?”

“Um…” Crimson shuffled her feet. “L-Listen, Tarzana, I-”

“Oh dear me,” said Tarzana. She couldn’t contain her smile, which was so wide it could very well split her face in two. “If memory serves, the Superheroes Police Agency issued a little something that stated heroes had to behave
in a way that set a good example for civilians, didn’t they?”

“Ugh,” Crimson clicked her tongue, her interlocked fingers tensing up as she waited for the inevitable verdict.

“Amongst many other things, I’m pretty sure there was a rule that prohibited the use of profannies,” Tarzana said.

“Profanities.”

“Oh my, what could’ve gotten into me?” said Tarzana. “I’ve clearly got fannies on the mind. I wonder why?”

“Come on, Tarzana-”

“Oh right. It’s probably because the punishment for breaking that rule was a hearty spanking,” said Tarzana. “With their awful, awful paddles, too. Indestructible I hear.”

“If you’re going to beat my butt black and blue, just get on with it,” said Crimson with a sigh. Even without looking, Tarzana could tell she was slamming her eyes shut and bracing for impact. “J-just make it quick.”

“Well, alright,” Tarzana said, landing one solid smack to the girl’s ample butt, making her squeak and jump up and down. Reminded her of Bunni. “There we go. I’m not that heartless, dear; I’m not gonna wallop you with your rump
in that state.”

“You could’ve abstained from that slap too…” whined Crimson, wiggling her hips in pain. The Generalissima must’ve told her she couldn’t rub, and she was keeping to it. “Ouch… That really stung.”

“Look on the bright side.” Tarzana shrugged. “It’s way better than what you’d get from SPANK.”

“Says the one who walked away from their paddling with hardly a mark,” grumbled Crimson.
“You know what, I changed my mind. I’m going to paddle you till you cry a river after all.”

“Okay okay okay!” Crimson said hastily as Tarzana rested her palm on the other woman’s burning derrier. “I’m kidding! I’m kidding!”

“Thought so,” Tarzana chuckled. She walked away and sat on a chair by the meeting table. “What’d you do, anyway? I haven’t seen your ass that red since the Hiccup Incident-”
“Don’t bring that up,” Crimson said sharply, shuddering. “Ever. Like seriously. No. Please.”

“Alright, alright,” said Tarzana. She certainly couldn’t blame the other hero for not wanting to think about it. Everyone present for it could testify that no human’s butt had ever been (or would ever be) walloped so hard.
It was a mark of true heroism that Crimson had managed to endure something like that and lived to tell the tale. Rumor had it she couldn’t sit straight for a good few months after the dreadful event. “But really; what’d you do?”

Before Crimson could reply, the door to the meeting room opened, and a sobbing girl walked in. Delphi.

“M-Miss Crimson,” Delphi sobbed, wiping fresh tears from her eyes with one hand as she rubbed her skirt with the other. “M-Miss Generalissima said you could come out of the corner now. O-oh, hello Miss Tarzana…”

“Hullo.” Tarzana turned her wolfish grin on Delphi. “You got walloped too? Were you two partners in crime or something?”

“You could say that,”said Crimson, coming out of the corner and walking over to Delphi, her own rump completely ignored. “How’s your ankle?”

“B-better,” said Delphi, calming down a little. Tarzana noticed that one of Delphi’s ankles was bandaged. “Miss General… still p-punished me, but she went easy and… apologized for not noticing…”

“Well, that’s great isn’t it?” Crimson said. “Want a hug?”

Delphi dived into Crimson and wrapped her armed around her waist.

“Did you tell her what we talked about?” Crimson whispered.

“Mm,” Delphi nodded into Crimson’s costume.

“Well, this is fun and all, but I’m a busy gal,” said Tarzana, raising an eyebrow at the weird but heartwarming sight. “So I’ll leave you two-”

“You’re not going anywhere Jungle Lady.”

Tarzana froze on the spot the moment she heard that voice.

“H-hey, boss,” she said with a nervous smile. “W-what brings you here?”

“Well, I considered sending Delphi to get you,” said Generalissima crisply. “But then again, you’d probably run away if I did, so I decided to come here myself. I’ve had enough of people running away from their punishments
today, thank you very much.”

Crimson suddenly put a lot of effort into avoiding everyone’s gaze.

“And Delphi,” the Generalissima called out, making the girl flinch. “Geez. Calm down. I want you to come to my room later. I… owe you an apology. For not, well, noticing your injury and making you stand there.”

“Y-yes ma’am,” said Delphi, clearly unsure of how to react.

“Now then,”the Generalissima said, more authoritatively this time as she turned to Tarzana. “You know what to do.”

“Oh, come on-” Tarzana groaned. Then she saw what Generalissima was holding. “Whoa whoa! I-I only dozed off! Don’t tell me you’re going to use t-that!”

The only reply to her panic was a wide, wide smile.

“Bend. Over.”

In the face of that sweet voice, Tarzana could feel her blood freezing over in her veins.

Oh my god, she thought. I’m so not gonna be sitting down anytime soon.

 

April Update

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

**Insert obligatory crappy April Fool’s joke here**

Now that that’s out of the way, I’m getting very close to having a playable beta. I have everything implemented that I need for the first episode except for the combat code, which I’m working on now. As far as combat goes, I need to implement the following:

  1. Functionality for selecting skills.
  2. The logic to actually execute a round of combat.

That’s pretty much it. I already have the AI implemented, as well as the code that actually executes each action. I just need to glue all that together, and I’ll be good to go.

So I’m expecting to have all that done by the end of the month at the latest. What’s the next step after that? The next step is to pass the game along to my beta testers. I’ll consider it ready for release when I’ve gotten four approvals from my beta testers (or it’s early June, and I haven’t heard anything at all from my testers, depends on how responsive my testers are).

So we’re on track for a release in early June. My view and controller code still isn’t particularly pretty, but at least it works (far as I can tell anyway), and I have some understanding of how it works (though not complete. JavaFX has some infuriating and unintuitive bits around event processing that I haven’t fully grokked just yet).

So, to taunt you all, here are a few screenshots!

First, we have a screenshot of character creation

Character creation provides just as many options as Potion Wars, only thanks to the magic of libraries (instead of rolling it my own stupid self), it’s arranged very pretty in something approximating a real UI. Character options will include:

  1. gender: male, female
  2. bodytype: slim, average, voluptuous, heavyset
  3. eyecolor: blue, brown, green, hazel, grey
  4. haircolor: blonde, brown, red, black, rainbow
  5. hairstyle: down, pig tails, ponytail, single braid (something like this), buns, mohawk
  6. height: short (5′ – 5’3″), average(5’4″ – 5′ 7″), tall (5′ 8″ – 5′ 11″, gargantuan (6′ and up)
  7. musculature: soft, fit, muscular
  8. skincolor: ivory, peach, tanned, brown, caramel, black
  9. clothing: There are a ton of clothing options (mostly female-oriented, I’m kind of biased, alas) and all are available from the beginning, so that you have a high degree of control over the civilian appearance of your character. More clothing options may be added over time as people request them (clothing is very easy to add).

Next we have the options.

Crimson Glow provides the same and more options as Potion Wars:

  1. You can control whether or not your player can be spanked in battle. This will also affect supervillain story spankings. If the player is not allowed to be spanked in battle, then neither will the player be spanked after losing to a supervillain. Other in-story spanking scenes are possible, but since all of those will be avoidable by selecting the right dialogue option, rather than winning a challenging battle, those are not disabled.
  2. Artificial Intelligence controls how smart enemies are. Dumb enemies pick targets and actions at random. Average enemies pick their skills based on what they’re good at, but pick targets at random. Smart enemies pick their skills based on what they’re good at, and are more likely to pick targets who will be weakest against those skills.
  3. This game takes full advantage of the fact that both genders have an ass, and disciplinary spankings (which make up 99+% of the game’s spankings) focus exclusively on the bottom and thighs. “Spanker Gender” sets the gender of all characters who are tops (almost always administering rather than receiving). If the gender is UNKNOWN, then you will be given the opportunity to pick the gender of each top individually when you first meet them. The same for the spankee gender. All supervillains are considered spankees. If the genders for both top and bottom are the same, then all generic enemies will also have the selected gender.
  4. Energy Lost Per Round of Combat controls how much energy all characters lose at the end of battle (note: You cannot go below 1 energy through attrition). NONE means allies don’t lose any energy, and enemies lose a lot. MODERATE means enemies and allies lose at the same rate. SEVERE means allies lose a lot of energy, but enemies don’t lose very much (though they do lose some).

Next, an event screen.

This is the first event of the game. There is one, very important improvement over Potion Wars: Even text is now displayed with a scrolling bar. So no more multiple pages. The text of an event is now displayed all at once on the screen, and allows players to scroll through it (though moving on to the next event clears the view).

Finally, combat!

The first thing that should be obvious is that I’ve expanded significantly on the positioning system. Rather than having spanking/grappling/armslength, we now have spanking/grappling/armslength/distant. Different characters will be able to attack at different ranges, and will have different skills that work at different ranges. Positions are also displayed in a simple visual view. The top rows are enemies, the bottom rows are allies. The combat log is also a scrollbar, like events, and will display all feedback on user commands. The —-Character Name— tells you which character you’re selecting commands for, and will be displayed after the feedback of every command.

This view relies a bit too heavily on the combat log for feedback, but this damn thing is being complex enough to program. I may improve it in the future, but this should be enough to make the game playable.

One very important differences from Potion Wars:

There are no longer dungeons with mazes. It was decided that those really weren’t worth the effort of designing, and implementing. Furthermore, I don’t think they always work well for superheroes (which tend to focus on small-scale battles between heroes and villains). Not all villains have a billions minions at their beck and call, after all. Instead “dungeons” will be a sequence of events, like CYOA. In these events, the player will be able to make choices, many of which may involve using skills to get by obstacles, or gain the upper hand in battle. Furthermore, the player _does not_ get better through combat. Instead, in most dungeon events, the player will have a range of choices. Each choice will increment at least one skill by one point. For example, you may be faced with a thick fence. You could choose to ram through it (which improves strength), jump over it (improve speed), or find the guardhouse and convince the guard to let you through the gate (improve willpower). Of course, you might fail (bounce off the fence, land on the fence, get spanked by the guard) if your stat isn’t high enough, but you’ll still get the stat gain.

In short, unlike Potion Wars, battles are very painful (even easy ones will drain precious energy), and should be avoided when necessary. Of course, that doesn’t mean you might not get bonuses for charging into some battles, especially if it involves saving people.

This might seem like an odd decision, but there are a few reasons for it:

  1. This allows us to do much more interesting things. For example, the “dungeon” could consist of playing cat and mouse with a single villain, in which you try to find them, or manipulate the environment in a way to give you an advantage, occasionally having skirmishes with the villain if you fail an event, or get the upper hand.
  2. It provides more opportunity to roleplay. The time I would have previously spent designing dungeons, and getting them to display can now be spent writing up events.
  3. It removes a rather frustrating balancing act. If combat made you stronger, then on the one hand you’d want to get involved in combat as much as possible to become stronger, but on the other save your precious energy for the boss. While in theory this might be fun, I think it would mostly be frustrating, because you don’t know how strong you need to be later in the game, or how much energy you’ll need to fight the boss. So I think removing the built-in incentive structure from combat will make for a much more interesting gameplay experience. It will now be about “How do I efficiently get to the supervillain and defeat them?” rather than “RAAGH HULK SMASH!”

 

As an added note: One of my writers has written up a few short scenes to get a handle on some of the characters. He’s given me permission to post them, so you’ll see a few short snippets coming up in the next few days. Think of them as sneak peeks (though they take place around the midway point of the game, so they’re a little bit spoilery, but the only thing they really spoil are the superhero names of some of Crimson Glow’s allies).

 

March 2016 Update

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

So, I fired up the game the other day and… watched as the GUI did crazy shit. I was using IntelliJ’s GUI builder thing as a sort of shortcut, because I find GUI programming obnoxious, and was hoping to take a shorcut. However, it looks like IntelliJ’s GUI Builder SUCKS in a billion different ways. It is clearly geared towards creating a bunch of static popup windows with minimal dynamic content changes. Also, it’s really hard to keep things consistent across screens, and for whatever reason I couldn’t update the static placeholder text I put in there. It doesn’t help that the tool uses this weird combination of Java code and XML, and I’m not really sure how they interact, or how the program knows to go to the Java vs. the XML and… basically too much annoying, not easily debuggable magic.

And having a bunch of different screens that you have to constantly make fullscreen (i.e. for a game) leads to much flickering and is utterly unacceptable.

After much swearing and cursing and just general being pissed off, I blew away all that garbage, took a week off, and am starting the GUI (and possibly much of the Controller) code from scratch. I decided to buckle down and actually learn the JavaFX library, and am using that now. On the bright side, shit be making a lot more sense, and I have the TitleScreen done (probably the simplest screen), and am currently working on the Character Status/Creator screen (which is one of the more complex ones, only the Dungeon and Combat screens are more complex). The Character Status screen actually works, and displays stuff. I just need to tweak it to make it look good.

So, the bad news is I’ve had some setbacks. The good news is I’ve learned some stuff, and I am pretty happy with the JavaFX library so far. Makes a ton more sense to me than Swing ever did.

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