A lesson in letting go

One of the popular gags in The Ditty of Carmeana is the three tests you have to pass to prove that you are a graduate of the University of Chingaim. This post is a little bit about how the game design for the tests came about.


It was my original intention to have about ten majors, and all of them would be extremely difficult tests except for one super easy one. Part of the puzzle would be to figure out which one was the easy major. And in order to discourage trial-and-error, the difficulty of convincing the Registrar to let you take the final for a different major would ramp up: you’d need more and more money for each new major you declared, or something like that. Then, I was going to put in a bunch of clues all over campus about what each major entails to help the player deduce the easy one. In fact, you can see a little remnant of that idea still in the game: there’s a little stand in the room with the Registrar and Bursar with a pamphlet on a choosing a major.

The problem with that original concept is, if I did that, I would have had to come up with, and write, ten tests.

In the end I came up with about seven test concepts, and fleshed out three or four of them.

  • The Aerospace Engineering exam was obvious: A. it was what I majored in, and B. it is an archaetypal example of a very difficult field. (“It’s not rocket science!”) I thought it’d be funny to just play that one straight: you say you majored in Aerospace Engineering, you get an actual, senior-level Aerospace Engineering test. Though I did throw in a few passing jokes about how airplanes and satellites haven’t been invented yet.
  • The Bowtudgel History test was a pretty obvious as well since my nature is to write long backstories. Now, for most writers, the clever and sophisticated way to work in a backstory is to reveal it with a stream of little clues. But I thought it’d be mildly amusing to just infodump the backstory right into the game in a few places. And once that happened, there was enough fodder in the game to make a test about the lore. Hence the Bowtudgel History exam. This test wasn’t something I was planning to make funny; I wanted it to be something that might be an interesting challenge for players who enjoy lore.
  • The (Ac)counting test. I don’t remember exactly when or how I came up with it (I don’t appear to have written it down in my notebooks). The joke was that this would be a major popular with student-athletes: that was one way you’d know it was the easy one.
  • I had an idea for a final exam in Medicine; it would be a real medical exam but with a twist I thought was pretty funny. (I won’t reveal the twist here because I might actually still do this at some point.)

At this point I was running out of ideas. I came with a few more concepts I didn’t flesh out: actual questions from the SAT (which wouldn’t have been legal, incidentally, they are copyrighted), a physics test where the correct answers are “game physics”, and I remember a few other ideas.

Wanting to release the game in my lifetime, I decided that three majors would suffice, and the puzzle about figuring out which was the easy major would no longer be a part of it. (I mean, there’s not a whole lot of ways to discourage trial-and-error when there are only three options.)

That’s a lesson is letting go, but it’s not actually the main lesson.


Those who have read other blog posts I’ve written are aware that sometimes I do things in the game just to mess with people. Well, at some point toward the back end of development, after I had already settled on the three majors and was working out the logic with the registrar, I had an idea of how to tweak achievement bros.

I had already been planning to randomize the Aerospace Engineering questions, but my reasoning was so that you couldn’t list the answers in a guide. The idea was to preserve the difficulty of the test. And I did realize that it would bother people who have to get every achievement.

But then I thought of a better way.

Originally I was not going to have the Registrar issue corrected results, but as I was play-testing I decided that it might seem suspicious, so I added a mechanic to do that. (This it turned out to be trickier than it looked, by the way. In fact, I botched it and released the game with a bug that prevented achievements.) And when I did that, I realized that this would really mess with achievement bros. They’d be thinking they beat the system, that they could just cheat on the Aerospace Engineering test by applying corrected results, and get their achievement, only to realize they can’t. The idea that people expecting to be able to cheat would see the randomized test and yell, “Oh no they changed!”, was too hilarious to pass up.

And I definitely did want to pass it up. The other thing offering corrected results did was to undermine the Bowtudgel History test. Remember that I had wanted that test to be a challenge for players interested in lore to dig up facts. Well, that doesn’t happen if you put in a way to cheat, because people will just cheat. And couldn’t simply disallow corrections for the Bowtudgel History test only. I needed to have an example of a test where cheating actually does work and actually is helpful: that makes the burn far worse when your cheating it thwarted.

That is the true lesson on letting go. I wanted that Bowtudgel History test to a real challenge, but the joke was more important, and I had to let go.


In order to get some measure of the original challenge back, I have added an achievement where you have to dig up the facts in the Bowtudgel History exam. In the course of a single game, you have to visit the places and/or do the things where these facts are revealed, and then pass the test, without viewing the corrected results at any point.

It’s not really the same, but it is a small measure of what I originally intended that test for.

Updated: March 4, 2023 — 3:06 PM

The Game Room

In this post I explain a little bit about the Game Room of the Chateau, the room with all the animal heads: how it all came about, decisions I made, and so on.

I suppose almost anyone who played the game and and is familiar with early 3D games realized that the Chateau was my parody of Resident Evil (the early ones, specifically, the ones where the emphasis was on the survival parts of the survival-horror, and which contained lots of puzzles). In fact, I even had Lance play a piano excerpt from the very same work that you have to play in the original Resident Evil: Beethoven’s Sonata #14. I wonder if anyone realized that. Beethoven’s Sonata #14 is more famously known as Moonlight Sonata, which is the tune you must play on the piano Resident Evil. The only thing is, the excerpt Lance plays The Ditty of Carmeana is from the less-well-known allegro movement. But it’s the same work.

Obviously the chateau needed more fleshing out than a piano room, and furthermore, I needed a way to force Lance to visit most the rooms in the Chateau, and some puzzles to solve. At some point it occured to me that the room I had been calling the Game Room, and where I was planning to put a possibly functional billards table, and maybe other games like skiball or even arcade games, could instead be a different kind of game room: a room where you mounted all the game you killed. And then, the fetch quest could be to find items that those animals need, and they would give you keys as a reward. That was how the general concept came about, and it seemed to me to be a good Resident-Evil-style puzzle, but a little sillier, as does befit a parody game.

But that’s just a concept. I still needed to flesh it out. I needed to figure out what the animals were, what items they would need, what their personalities were, and so on. For some reason, I found myself highly reluctant to do this. I suppose it was because once I came up with this idea, it was no longer a tight parody any more: it wasn’t based on a particular scene or level that I could draw ideas from. I would actually have to invent these characters, and their quests, from scratch. I actually remember searching the web several times to see if there was some other game with a similar concept that I could parodize. So I dragged my feet on it for a long time, and tried to think of alternatives, but couldn’t come up with any other ideas that I liked.

It took a trip to the DMV to get me moving. Thanks to the election of a certain groups of Highly Paranoid People to the United States Congress in the early years of the millenium, it was decided that if we wanted to use our driver’s license as identification to board an airplane, it would have to be a Real Identification, and Real ID meant that you had to show up to the issuing office in person to prove that you existed, and could not just renew your driver’s license on-line. Of course, I waited till the last minute to do this. The day before my 41st birthday in 2018, I stood in line at the DMV in Los Angeles. It was a Saturday, and the line stretched out into the street, easily an hour’s wait, and I couldn’t come back another time because my license would expire the next day. So I stood in line, and in the next 40 minutes I got more writing done on the game that I had in probably the previous four months.

At first I brainstormed on what the animals were and what their problems were. What I came up with seems kind of obvious in retrospect.

Any respectable hunter will have a deer mounted in their game room, the more points on the antlers, the better, so a deer had to be one of the animals. What is the deer’s problem? I thought about an odd piece of trivia I knew, that reindeer are the only species where female reindeer have antlers, and thought I could base a quest on that. Originally my idea was that the deer was a male deer who dressed as a female (as an entertainer or something) but no longer was able to because his antlers didn’t fall off in undeath, so Lance would have to find him a book or something that explained that female reindeer had antlers so the deer could dress up as a female reindeer.

A lion was obvious as well, another animal head every trophy hunter wants. I came up with the idea that the lion was resentful of the deer’s central position in the room despite the lion being king of the jungle, so Lance would have to switch them around. (Seriously, do an image search of a hall that has animal heads mounted. A deer or moose with lots of antlers will almost always be mounted most prominently.) Then, because it would be hilarious in light of the fact that the lion’s resentment was based on being an apex predator, I decided the lion would be a vegan.

I had an idea to use a rubber duck as one of the animals because I actually own a rubber duck that I take with me to certain social events (long story). I thought it would be funny if one of the animals was a rubber duck who wanted to take a swim, plus it would give me something to do with the bathrooms.

Then I came up with a wolf that was depressed, and Lance would have to find antidepressants. I have no idea where that idea came from, or why it was a wolf. (I have a vague feeling it might have been that the wolf was upset about always being characterized as a villain, but I didn’t write down the reason in my notes.)

Finally I figured at least one animal would not be happy to be stuck with the other animals and would want earmuffs or something to get peace and quiet. I did not assign that behavior to a particular animal, but I did write down possibilities for the last animal, one of which was a polar bear. I didn’t make it any further because, to my surprise, I made it through the DMV line in only 40 minutes.

That was how I came up with what the animals would be, and what their quests were. (It would evolve, of course. I decided to go with a donkey instead of a wolf because, quite simply, I could not find a usable stock model for a wolf. And, of course, the male crossdressing deer turned into a trans female deer.) But that still left an important aspect left to do: their personalities.

At least for me, that was much easier because personality often emerges as I write. In fact, I pretty much had only one guiding principle for what the animals’ personalities would be. Think about it. You have five different animals from different ecological niches, who were killed and resurrected, and now are living together in the same house.

Yep, the animals’ personalities are based on reality television.

I didn’t allude to that in the game at all. I don’t watch reality TV so I didn’t feel like I would be able to do it justice to make a parody of it, instead I just used it as an inspiration. One doesn’t have to watch much reality TV to know that it’s about as far from reality as possible, and that the personalities are carefully curated to cause as much drama and conflict as possible. And that’s the principle I used when writing the animals.

So of course you have the one person who’s so completely full of themselves they think they’re a friend to everyone even though no one likee them. You have the token nice guy (in this case, nice girl) who actually does like and is liked by everyone. You have the person who wants everyone to leave them alone. You have the complete jerk that is just a thoroughly dispicable, rotten person, who people often get the wrong idea about because they’re outwardly cute. I guess I’m not sure if depression makes much of an appearance in reality TV, at least not the kind of depression Ass exhibits. And there are certainly reality TV personalities I didn’t get to, like the stuck-up diva. But again, this is not reality TV, that was just the inspiration.

So there you have it: the animals in the game room are based on the cast of a reality TV show, whose stories I came up with while standing in the line at the DMV. I’d have to say they were definitely my favorite characters to write.

One other fun fact: the animals at one point had names. I got rid of the names when I realized it would be way funnier to just say “Ass” all the time.

Updated: September 16, 2022 — 10:46 PM

Some words on Game Design

I have seen many people wondering whether some unusual, annoying, funny, or just weird aspect of the game was deliberately designed that way or not, because you just never know for a game like this. It turns out, the answer is usually, “It’s deliberate”.

In the very long post linked below, I share some details about the design decisions I made for The Ditty of Carmeana, and how it’s reflected in the game.

WARNING: THIS POST IS SUPER SPOILER HEAVY. Do not read if you are still having fun exploring the game, it *will* reveal some pretty.

https://tamperedevidence.com/the-ditty-of-carmeana-some-words-on-game-design-spoilers/

Updated: May 29, 2022 — 6:30 PM

Maps

I admit to having casually watched a few of the recent Twitch streams of The Ditty of Carmeana. Watching video game videos is not something I ever really do, unless I am watching my own game so as to exploit streamers for free play-testing, or if I want to see a particular scene from a video game. A good number of the things I see in streams baffle me, and I will write a post about that later.

But there’s one thing more baffling than just about anything I’ve ever seen. I saw three streams where the streamer got lost and just wandered around aimlessly for awhile, until they stumbled into the correct location, or someone in the chat told them to pull up the Maps App. (Also one streamer who never managed to get the Maps App. Oh well that’s what you get for not listening to Tabitha.)

You’re a twitch streamer. You play video games regularly. The ones who I watched steam video games at least on a weekly basis. A big chunk of your life is wrapped up in video games, be it as a free time hobby, a legitimate side gig, or a full time job.

How on Earth can you be one of these people, and when when you get lost, your first instinct is not to pull up a map?

Updated: April 24, 2022 — 11:25 AM

Released!

It took a few more days than I expected, but at last, on April 16, 2022, I have released the Ditty of Carmeana and can throw off the shackles of guilt forever.

It’s about two weeks later than I originally promised, but honestly I’d have to say the wait is worth it. The hold-up was voiceover: I had got started way late, had pretty lofty aims (we recorded about an hour’s worth of dialogue), and it just turned out to be too much to get done before April 1.

I took advantage of the wait to add a few bonus features that I wanted but didn’t consider a priority.

  1. I added a certain way to create items that was only a minor side thing. I don’t know how much it helps but it adds a little dimension.
  2. Added a new app to Tabitha’s touchscreen that is an advanced version of an app that appeared in the Demo. I really, really wanted to do that app, it was one of the first ideas I had after deciding to create the full* game, but it was also so frivilous, and not exactly a simple to program. But I had time to get it in with the V/O delays.
  3. An obscure item that lets you easily get what’s otherwise a really hard achievement. It’s more of a meta item, as there’s no information about this item at all in the game.
  4. Some changes so that the game acted reasonably when you open Steam Overlay. (Especially, I made it reliably not hide the mouse pointer, which it would do sporadically.)
  5. Gamepad support. Yep you can play The Ditty of Carmeana with a gamepad. Even though I had gamepad ni the demo, and prefer gamepad to keyboard/mouse for this kind of game (third person action/adventure) I didn’t consider it a primary goal, as most PC users don’t bother. But with the extra time I got it back the game in and working. (If I’m being honest, Steam Deck is a big factor as well.) It’s called “Partial Gamepad Support” in Steam because there are a couple odd places where you have to type something in (and I did not want to add a popup keyboard), but for the most part, gamepad support is full and you can play it entirely with gamepad.
  6. Linux support. (Steam Deck was a factor there, too.) Distributing Linux games is a big time headache because of the brain-dead way Unix-like systems manage shared libraries. I didn’t really have a chance to test it on other Linuxes, and it’ll probably crash on any system that’s not a recent Debian/Ubuntu release, but it is in there.
  7. Fixed at least one thing that would have crashed the game that I probably wouldn’t have noticed, as well as a whole bunch of less serious issues.

Apart from fixing the crash, none of these are really super important from a big picture perspective, compared to things like making sure the game is robust, has a clean not-annoying interface, and runs smoothly in Windows. But they were things I wanted personally, andI feel they added to it.

So, in spite of the delay I think it was ultimately worth it.

Anyway, the game is finally released, so go buy it.

Updated: April 16, 2022 — 3:00 PM

Release pushed back a few days

Just an update: Was hoping for April 1 release of The Ditty of Carmeana, but it will be delayed a few days to get all the voiceover in.

Everything else is done, and I’m now taking advantage of the time to get in a few extras and do a little more testing.

Updated: March 31, 2022 — 2:57 AM

Release Date: April 1, 2022

I’m planning a relase on April 1, 2022.

The game is done, more or less. I have some art assets to still put in, a couple minor additions (such as putting in a few instances of one kind of shop), and finally auditing for any remaining issues. And more testing, of course.

And voiceover.

I wasn’t even sure I was going to do it until a week or so ago. Now I’m planning to, and it’s perhaps the main reason I pushed the release back three weeks.

Updated: March 5, 2022 — 2:58 AM

Provisional Release Date

A journey of a thousand miles begins with a single step. I’m about on mile 990.

Right now the date I’m aiming for is March 8. (Yes, 2022.) That is provisional and probably optimistic. The date could slip back a week or three, depending on how well testing and last-minute changes go. What’s not going to happen is for this to be something that keeps getting put off. Come hell or high water, I’m going to release this game within a few months from today.

(Well, let me amend slightly. There is one possible development that could delay the release by a few months, but this is a very low probability. On the order of 1% chance or less. If that happens I’ll let you know and you’ll see why.)

So where is the game at?

It’s pretty much done (except for some artwork that’s still in the pipe, and one final scene). I am at the stage of development I call the rolling-pin phase: I play through the game in detail and fix everything I see as soon as I see it. No more additions to to-do lists (ideally): this is the phase where I check stuff off the to-do list.

After the rolling-pin stage is done, I will enter the killing-my-children phase of revising dialogue: that’s where I go through the dialogue and delete anything unnecessary or unhelpful (or could get me canceled), so as to waste less of your time than I’d otherwise be wasting.

After that it’s lots and lots of play-testing. Once I’m satisfied the game is relatively unlikely to crash on a wide-scale, I’ll finalize the release date and continue play test until the release.

At the same time as play-testing there will be other things on the side: promotion, dealing with Steam issues, and (hopefully) doing a couple things of an optional nature I wanted to get in.

I will keep you all updated as I get through these milestones. Everyone who played or witnessed the old demo, I appreciate your patience, I hope it will be worth the wait.

Updated: January 21, 2022 — 9:20 PM

Conversations and cut scenes

In order to simplify the creation of conversations, for The Ditty of Carmeana I developed a custom format that is a bastardization of Screenplay format, Theatre play format, and Unix config file.

Dialogue looks a bit like a screenplay. The character name is in all caps and indented (though not centered like it would be in a screenplay); this is followed by the spoken dialogue on the next line.

Stage directions are in brackets, as they appear in plays for the theatre. Except in The Ditty of Carmeana, the stage directions are commands to the game engine, but they kind of still read like stage directions.

The Unix config file part is for stuff like camera definitions and some of the interactive options, since those sections consist of a line with a keyword of some sort, followed by other data on the same line separated by spaces (which is the syntax of just about every traditional Unix config file).

Although it started as a way to automate simple conversations, the format proved convenient enough, and I proved lazy enough, that I started using it for cut scenes as well. (Typically in game development, cut scenes are designed in the 3D editor, and then the motions and timings are exported to the game engine. But not in this one.) Here’s an example of what they look like:

[Set time.flashback to 550]
[Dialog box off]
[Cut to ridgecam]
[Music "birds-ambient.ogg" on]

[Fade in over 7 seconds]

[Enter Carmeana at Carmeana1]
[Enter Iduge at Guide1]

[Carmeana starts walking to Carmeana2]
[Iduge walks to Guide2]

[Carmeana stands]
[Dialog box on]
[Volume "birds-ambient.ogg" 0.3]

    CARMEANA

There it is, Sir Iduge! The Sacred Temple.
Home of the great holy relic of Riconism,
the Ricohedron.

    IDUGE

It is still quite a distance away,
Your Highness.

    CARMEANA

[Volume "birds-ambient.ogg" 0.1]

I know. We best move on if we want to
reach the temple before noon. Come!
Updated: July 17, 2020 — 3:18 AM

Progress Report

Today, May 24, 2020, in the middle of quarantine, I would like to announce that I have completed the Main Quest for The Ditty of Carmeana. One can now start the game, and play through to the end (of what I’m planning to release, anyway), and hit every point in the Main Quest.

As such, I am entering a “soft freeze” phase of development. The soft freeze means the Main Quest is fixed; I will be making no more content for the Main Quest.

It’s only a soft freeze because I still intend to develop more content for Side Quests, and for generally fleshing out the detail in the game, and for a few minor things I patched over in the Main Quest. Since I’ve been focusing on the Main Quest, I haven’t been doing things like fleshing out towns. I have several towns but they aren’t really towns, per se. There are not enough shops, characters, money-making opportunities, or goodies. I still have to create content for all that.

(Fun story: when I played through the game from start to finish, I found out that, due to the way I set things up, there were insufficient ways for Lance to earn enough money to buy things he needed for the Main Quest. I never noticed this during development because I have a developer key that can give me as much money as I want. In my playthrough, I had to rely on some backhanded ways to make progress in a few places. It wasn’t cheating, since I was planning to have those backhanded ways exist in the real game. But still, I need to let the player advance without neeting too much creative thinking.)

Furthermore, there is a whole lot of revising, bug testing, and odds and ends to get to. A whole lot. The game isn’t close to even beta quality. It still crashes here and there (though it’s far more stable then during some earlier stages).

But as for the Main Quest, it’s pretty much done.

Fair warning: the last time I implemented a feature freeze was in 2012, to get the game ready for a Demo. The very last new content I put into the game were the Rickroll and the background music. After this, it took me two years of just fixing bugs and improving the interface until I had the game ready for a Demo release.

This release will have about 4-5 times as much content as the demo, so, yeah, there’s a lot of fixing things up left to do. In fairness, a lot of the time I spent getting the Demo ready was just getting the control scheme right, and I don’t have to do that again. It’s not a linear thing; a lot factors affect how much time it takes to finish bugs. But don’t think I’m almost done. I’m not.

And one last point. With one possible minor exception, this progress report is the one and only progress report I’m going to give you until I have a release date. So enjoy it.

Updated: May 24, 2020 — 7:26 PM
Tampered Evidence LLC © 2015-2022 Frontier Theme