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:
- 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.
- 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)
- 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.
- 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.
- 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!
sss asked me about my thoughts on when a playable version would be out, and my response has turned detailed enough that I figured I’d make a post about it. But first, a brief announcement: My host is performing some maintenance this Friday, so my site will be down for about 30 minutes around 7 AM Pacific Standard Time.
As far as a playable version, I’m shooting for end of June. As a brief reminder, here are the three large tasks for writing my engine:
(1) Design and implement a GUI that the user sees and interacts with.
(2) Design a backend that contains all the game’s actual data
(3) Write a middle layer that takes user inputs from the GUI, and queries (and modifies) the backend appropriately, and then send the results back to the GUI to display.
I believe that (2) contains the bulk of actual lines of code.
For (1) I’m using IntelliJ’s GUI builder tool. It’s not the greatest ever, and the GUI will probably be more than a little rough at first, but it should be enough to create something playable. With that tool, creating a GUI consists of dragging and dropping some GUI elements onto a canvas, and registering a bunch of buttons.
The most complicated part of (1) is drawing the dungeon. However, I came across an excellent tool called Grid Cartographer: http://www.davidwaltersdevelopment.com/tools/gridcart/
Essentially, this tool allows me to draw a dungeon, and save it as both an image file, and an XML document. So I can use the XML document to load the actual dungeon data into the backend, and for the frontend, rather than manually drawing lines and filling in squares like I did for Potion Wars, I can just render the dungeon image that I drew. Using that tool, I’ve managed to implement the dungeon view with a minimum of pain (so far).
I expect (3) to have the most complicated logic (particularly when it comes to combat), but the vast majority of it should be about as simple as the GUI code (take a command from the GUI, and invoke a couple of methods on the backend).
I think I have a reasonably good chance of having all the GUI code written by the end of February, and the controller code written by the end of April. I expect it’ll then take about a month to translate (and edit) the content of episode 1 day 1 from LaTeX to the mostly-JSON format that I’m using for Crimson Glow. Then, I expect it’ll take about two months to debug the engine from end to end, because you can only test so much with unit tests. GUI code in particularly is notoriously hard to test automatically.
Spankers, Spankees, and Switches of All Ages (18 and above),
Just the monthly progress update. I’ve managed to get a _lot_ done over the holidays in between family obligations. Basically, there are three big pieces to the program:
- The code that the user interacts with. This is responsible for displaying the game, and receiving commands from the user
- The code that models the current state of the game.
- The code that takes the user’s commands (given to it by 1), modifies the model (2) appropriately, and tells the view (1) what to display next.
I’ve finished most of the first pass of (2). Right now, I’m working on the code for saving and loading (which doesn’t require much. I’m using a library called Jackson, which does most of the work for me). Once that’s done, I’ll be finished with the first pass of (2), and then I’ll move on to (3).
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:
- 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:
- 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.
- 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.
- 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.
Spankers, Spankees, and Switches of All Ages (18 and above),
As requested, here’s a link to a PDF of the content of the second episode of Potion Wars:
https://drive.google.com/file/d/0B4c0BkzLlLZOcm5uNFVpNDZPejg/view?usp=sharing
It hasn’t been edited much at all, so it’s in very rough shape. But enjoy, nonetheless.
Also, if you haven’t, don’t forget to check out the previous post, November Update. That one contains some more information about the planned structure for Crimson Glow.
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:
- 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.
- 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:
- Patrol – Taken (by me!)
- Work – Taken
- Study
- Party
- 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.
Spankers, Spankees, and Switches of All Ages (18 and above),
So I have some bad news. I’ve decided to put Potion Wars in a coma. I’ve been having a lot of trouble writing the second episode, mostly because of massive tone clash. The premise just demands a very dramatic, down to earth tone. Dramatic, down to earth tones really do not mix well with spanking porn. Rape, torture, and incest porn? Sure. Just look at the success of Game of Thrones. But spanking has just too much whimsy to really work well with a story about a drug war being fought along racial lines.
Some of you are probably slapping your forehead and saying “No duh, dumbass!” In my defense, the story kind of got a little bit out of my control. Stories do that sometimes. Note that I’m not doing this lightly, and it’s absolutely not because I got bored and found a new, shiny idea. I love Potion Wars, I love the story that’s taking shape, and I very much want to tell it. This just isn’t the right place.
So the next question is, what now? One option would be to take Potion Wars, rip out all the porn, and release it somewhere as a vanilla game. However, this website is called “spankingrpgs.” Not “baitandswitchrpgs.” I’m going to write a full-fledged spanking RPG if it kills me. I just need to be careful to select a premise and tone that are conducive to spankings. So here are my constraints:
- The game needs to be an adventure tale that is ostensibly dramatic. It does not have to be serious and angsty, but I’m not a comedic writer. The content should be dramatic, even if the tone is not.
- The game should have an element of whimsy, silliness and absurdity. Spankings are absurd, and they will fit much better if there are other elements of absurdity already.
- There needs to be plenty of natural opportunities for spankings, both top and bottom. Ideally without making the spanker look like a total douchebag (unless the spanker is villainous and they’re supposed to be total douchebags).
After considering these constraints for a while, I decided that one of the genres that best fits is the superhero genre. Particularly, Silver Age superheroes. Silver Age superhero comics were more than a little absurd, but the characters took them more or less seriously (so we get a rather absurd tone, but also some drama). Furthermore, a Spider-Man style superhero (i.e. a part-time superhero whose trying to balance work, life, and superheroing) provides a ton of natural spanking opportunities. First, we get the obvious superhero-supervillain showdowns. You can spank supervillains for trying to take over the world for the umpteenth time, and supervillains can spank you for trying to foil their plans for the umpteenth time. Plus, Silver Age supervillains tended to be ridiculously over the top, and I could totally see a Silver Age style supervillain giving a Silver Age style superhero a sound spanking, and vice versa. Furthermore, there are plenty of opportunities for spankings as the player tries to live a normal life. You stood your boyfriend up, because you were fighting across a bunch of rooftops? That’s a paddling. You slept through class because you were up all night trying to find the villain’s hideout? That’s a paddling. Forgot your mother’s birthday? Paddling.
My basic thoughts are the following, at least for the first season:
Each episode of the first season will have a new villain. You’ll have an initial encounter with the villain, that will be fought either to a draw, or the villain will win. Then, over the course of the episode you’ll need to prepare for the next showdown with the villain. This could be done a variety of ways:
- You could patrol a lot. Basically, beat up a bunch of generic criminals to get stronger, and interrogate the underworld about this villain (note that patrols will have some unique content for each day, just like other events. You won’t just be grinding against generic enemies).
- Do some research. Maybe the villain is reminiscient of an animal of some kind. So the animal’s weaknesses may be analagous to the villain’s. Or maybe you study news footage of your last battle to better determine what their strengths are, and then develop a new skill to counter them.
- Try to learn more about the villain’s personal life. See if maybe you could use a bit of psychological warfare to manipulate them, or lure them into a location where they won’t be as effective (i.e. lure a flying enemy into the sewers).
- Some combination of the above three.
Furthermore, you’ll have obligations you need to meet outside of superheroing as well, like homework, family get togethers, a job, etc.
Each episode will be broken into days, and I’ll release content a day at a time. Each day will be a fairly small update, so that we don’t have massive droughts like with Potion Wars. Each episode will have a list of tasks you’ll want to accomplish, perhaps broken into subtasks (i.e. you have a midterm at the end of the week, so each day will have a subtask to study three hours. If you study three hours every day of the episode, you’ll get an A+ on the test). However, you will not have enough time to do all of them. You could do all of them so-so, or a few of them well, but you can’t do all of them completely. Furthermore, you’ll absolutely have to spend a lot of your time preparing for the final fight with the supervillain, because at the climax of the episode you’ll have to defeat them. So if you spend too much time doing personal life stuff, you may find yourself in an unwinnable situation.
Of course, you need to do moderately well at the day-to-day tasks as well. Perhaps if your grades get too low, you’ll have to move back in with your parent (you’re in college, FYI), which will make it harder to patrol and research villains. If you do too poorly at your job, you’ll be forced to spend extra time at work, giving you less time to patrol and research villains.
The supervillain combats will probably be a bit more elaborate than the battles in Potion Wars. Not a whole lot more elaborate (I’ll be using the same game engine, just with a few minor tweaks). But many of the combats will probably be multi-phase. You’ll fight for a while, then there’ll be a cut-scene, and you’ll get options (which options will depend on the choices you made over the course of the episode). The outcome of the options will determine who gets a bonus in the next phase of battle, you or the villain. Obviously there will be a lot of save-games to minimize repetition. There will probably be an auto-save at the end of each phase of battle, and an autosave at the beginning of each day.
Finally, I’ll probably introduce more customizations. In particular, I’ll give players the ability to control the gender of other characters. You’ll have the options of:
- Specifying the genders you prefer to see for spankees. This will generally influence the genders of supervillains (since you are required to defeat them at the end of every episode), and perhaps a side-kick if you get one (no promises!). If you turn off the ability for enemies to spank you, then all generic enemies will be this gender.
- Specifying the gender you prefer to see for spankers. This will generally influence the gender of authority figures (your boss, your parent, etc). If enemies are allowed to spank you, and both the spankee and spanker gender are the same, then all generic enemies will be the selected gender. Otherwise, the gender of generic enemies will be chosen at random.
- Let the game choose at random (or let characters use their preferred genders if they have one).
- Pick and choose on a case-by-case basis. This has the downside of interrupting the flow of the story a bit, but gives you more fine-grained control.
Note that this isn’t guaranteed to affect all characters. For example, I plan on pulling Carrie into this game as your best friend, because I just love writing her. She’s going to be female either way, because she will forever be a woman in my head.
The downside to giving players control over the gender of other characters is that there probably won’t be as many sex scenes as I’d planned in Potion Wars (i.e. few to none), because there’d be so many damn combinations to write (male-female, female-male, female-female, male-male).
Furthermore, dialog choices probably won’t have as much of an effect as it did in Potion Wars. This is because I want the various tasks you can choose each day to have significantly different content each day, and I do want to release content at a reasonable pace. I do still want to give you opportunities to influence conversations, and I want characters to remember them, but you probably won’t get as many dialogue choices, and your choices probably won’t have as many and as long-lasting effects as I’d planned for Potion Wars. For example, in most conversations, you’ll probably get one choice at the beginning, in which you’ll have two to three options of various personalities (cooperative, aggressive, bratty perhaps). Then, the rest of the conversation, I’ll put words in your character’s mouth, based on the personality you chose. So if you chose the bratty option, then I’ll give your character bratty dialogue in that scene.
That being said, I do want some activities in earlier episodes to influence later episodes, so I’ll try not to railroad you too hard. As always, it’s a careful balancing act.
Thoughts? In particular, feel free to make costume or supervillain/hero suggestions. Also, if there’s a particular personality you’d like the opportunity to roleplay (an angsty loner hero? A pompous bastard? A cowardly lion?) let me know in the comments. I’m always looking for personality suggestions, and if I’m going to spend time writing dialogue for a particular personality, I want to make sure there’s at least one person that wants to play it!
Spankers, Spankees and Switches of All Ages,
I’ve finished writing all the events for the first level of the dungeon (of two). Yay! Originally I had two other events planned, that I was going to write after releasing this level, one at Sofia’s clinic, and one at a Taironan church. But they don’t really contribute anything to the plot, and are probably better off being incorporated into an episode where they play a bigger role.
Furthermore, the first floor of the dungeon is designed and implemented. The things left on my to-do list:
- Finish the spanking combat text for any enemies whose text hasn’t been written.
- Balance the game.
- Toss it at my beta testers
- Debug the catfight code, and finish writing any in-combat spanking text for said catfight.
In the interest of getting something out, I’ll probably skip step 4 for now. Basically, in the location where a catfight can occur, you’ll just be given the choices to instantly win or lose, instead of instantly win, lose, or actually fight the catfight.
Note to self: Next time, build the dungeon with just encounters, write the enemies with placeholder spanking content, and throw it at my beta testers so that we can start balancing the game before I finish writing the text.
Spankers, Spankees and Switches of All Ages (18 and above),
A new Etrian Odyssey episode has (finally!) been posted. Get it over at the downloads section. I’m much happier about this one than either of my previous two. Which probably means it sucks, because that’s how this usually works.
As far as Potion Wars is concerned, I’ve been pretty busy lately (hence why I failed to post an update last weekend). However, I’m still chugging away. I have one and a half scenes left I want to write before I make the next release, which will finally, finally have the next dungeon level. However, I’ll also be introducing a some new game mechanics (weapon/clothing enhancement, and catfights) in addition to the next episode’s enemies. So there’s still a lot of debugging, and balancing ahead, so I can’t really give an ETA. In fact, I’m going to give up on giving ETAs anyway, because I always, always, always underestimate how long it will take me to get stuff done.
It doesn’t help that I’ve had a bit of writer’s overload the past few weeks. I think a lot of it is because I’ve also been working on Etrian Odyssey on Sundays. That’s a lot of writing. When I started Etrian Odyssey I believe I was either in the middle of, or coming off of a major coding period, so I needed some writing to change things up. Now that I’m in major writing mode for Potion Wars, I’m finding that also writing the Etrian Odyssey episodes is a bit much.
So here is what I’m going to be doing: when I’m in major coding mode, I’ll be working on my Etrian Odyssey Let’s Spank. When I’m in major writing mode, I’ll be working on a different coding project. This way, my Sundays can be a chance to take a break from Potion Wars, do something very different from whatever I’m doing during the week, and still contribute something to this site.
The question of course is, what will I be working on when coding? This project will be an attempt to apply the lessons I’ve learned from Potion Wars and since I started working as a professional programmer:
1. I’ll be using Test Driven Development. Basically, I’ll be writing the tests before I write the code. This will ensure that the code is much more stable.
2. I’ll be working hard to make the code much better documented, and follow some style rules so that the code is more readable.
3. I’ll be using actual tools out there in the wild to help me (say the build tool Maven, the language parser tool ANTLR, the GUI library NiftyGUI), rather than trying to roll my own hilariously inferior and buggy versions.
I’ll be working on the project in a combination of Groovy and Java. Basically, I’ll use Groovy whenever possible, and Java when the tool I’m using demands it (i.e. ANTLR). There are several reasons I’ve chosen these languages. Most importantly, there is an awesome testing framework out there for Groovy/Java called Spock. And since I’m doing TDD, having a good testing framework is a must. Next, Java is ubiquitous. So it has a lot of excellent tools out there, from IDEs to language parser tools. This also means that more people are more likely to know the language, which means I’m more likely to get programmers willing to help me (learning Groovy when you already know Java is very very easy, especially if you also know a scripting language like Python, Perl, or Ruby). Third, this will give me a chance to mess around with some of the tools we’re using at my job, which will be nice. Also Groovy looks like an interesting language that combines some of the safety of static type checking with the flexibility of duck typing. Also its strings are called GStrings. So you know, it’s just begging to have a spanking porn game written in it.
The repository for this new project can be found here: https://github.com/sprpgs/GroovyBooty
I can’t decide if my proposed name for the engine (GroovyBooty) is awful, or awesomely awful.
Right now, it only has one branch (other than a basically empty master), where I was messing around with Groovy’s ability to easily create simple Domain Specific Languages (DSL’s) to see if I could use it to implement a dialect for writing dynamic game text. Turns out doing it directly in Groovy isn’t quite powerful enough, so I’ll have to use ANTLR. Anyway, if there are any programmers out there who would like to get involved, but have been scared away in the past by the fact that my Potion Wars codebase is garbage, let me know.
The next question of course, is what game should I be using as my motivating example for building the engine? I have two possibilities under Eye of the Brainstorm:
The Majesty meets Princess Maker game I talked about a while ago:
https://www.spankingrpgs.com/?page_id=88
We also have a Multi-Generational Dungeon Crawler that I just posted under Eye of the Brainstorm:
https://www.spankingrpgs.com/?page_id=302
Both games will share a lot of the same code, so we don’t have to commit to anything just yet. I am curious about what people’s thoughts are though.
An important thing to keep in mind: Any sort of playable game using GroovyBooty is a loooong way off. It took me 18 months to get the first version of Potion Wars up in all its buggy, convoluted, hacky glory. And that was working on it for several hours a day for most of those 18 months. This will be a much more deliberate, slower development process aimed towards building a well-designed, stable codebase that can be easily maintained and expanded for years to come, rather than for just getting something out the door ASAP like with Potion Wars. Furthermore, I’ll only be working on this once a week in spurts.
And again, if there are any programmers out there who’d like to help develop GroovyBooty, shoot me an e-mail. Furthermore, if there’s anyone out there who would like to help with the design process, that would also be welcome. The only things I’m not looking for right now for this project are writers, artists or musicians, because we’re a very long way off from developing any actual content. I will happily take such help for Potion Wars ;).
Enjoy the new Etrian Odyssey episode
Spankers, Spankees, and Switches of All Ages (18 and above),
I’ve uploaded the latest version of Potion Wars, which fixes the bug that kept you from being able to select clothing past number 10. Hilariously, I then decided that it was silly to make dresses available when selecting pants, because they end up replacing the shirt you selected previously. So I shifted the dresses into the shirts menu, and now all the clothing has less than 10 items again! After all that work creating logic to select clothing item 11 too…
Anyway, you can get the most recent version over in the Downloads.
One other thing, Bonemouth has pointed me to a library of free to use (so long as I give credit) songs. They are quite good, and there’s more variety than I have access to through the place I got my original music (Play On Loop). Unfortunately, the two styles are radically different. So I’m thinking about replacing the current music completely. As a sampler, here are some of the tracts I have in mind:
1. To replace the Church theme (plays during the game’s opening crawl):
2. To replace the title theme (plays when the title picture shows up):
3. Not sure sure yet which I want to replace the generic combat theme. Here are a few options:
And finally, something a bit slower. This would replace the theme that’s played when the first girl you fight in episode 1 is dragged off by the city guards:
Does anyone have any strong opinions one way or the other? These would show up in the same version of the game that introduces the first level of the episode 2 dungeon.