Category: Uncategorized

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.

Updated: May 29, 2022 — 6:30 PM


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


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]


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


It is still quite a distance away,
Your Highness.


[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


In case anyone is wondering why maps are so important in games, read this anecdote.

One of the dungeons I made for the Ditty of Carmean has a layout very close to the layout of the house I spent my teenage years living in. (I wanted something super disturbing and scary, as this dungeon has a horror theme, and boy did I hate that house.)

Recently I let my brother play though this dungeon. Now, of course, my brother grew up in the same house as me, so he should have been able to find his way around easily. He knew it was our old house.

He was just flat out lost. Couldn’t find his way around at all. And this was a house he grew up in.

Someone who didn’t grow up in that house?

Yeah, that’s why maps are pretty spiffy things to have in games.

Updated: May 23, 2019 — 8:16 PM

The most insidious enemy in the game: The Camera

The Ditty of Carmeana is, at its heart, a parody of The Legend of Zelda. As such, a lot of the early decisions I made concerning the game I just copied directly from Zelda. One of those decisions is that it would be designed to work with a gamepad. Zelda, being a console game, used a gamepad.

There’s another reason, too. I hate keyboard/mouse control. Just flat out hate it. I can see the appeal of the mouse for games that need precision aiming control (aka games that I never play), and of course sometimes you need to type or use menus which is much easier with keyboard and mouse, but other than that it’s just a terrible kludge. Using a keyboard to move a character around is awful. You’re basically limited to motion in eight discrete directions, at one or two different speeds. Gah. So I designed it for a gamepad and didn’t really worry about keyboard/mouse controls.

But, unfortunately, real-world concerns brought me around to keyboard/mouse. I wasn’t going to get this thing released on a console, and I knew that almost no one with a PC would go to the trouble of plugging in a gamepad just to play my silly little game. As a concession to usability, I added keyboard/mouse control to the game, and I spent a whole lot of aggrivating, hair-pulling time coming up with a control scheme that worked naturally with either method. And I think I did a great job of it.

But in all that time I focused on the controls, I really didn’t worry a whole lot about the camera. I did make one major camera change. When using keyboard to move the camera around, the camera remains in a fixed orientation relative to the character, unless it collides with something. With a gamepad, the camera is dragged along as the character moves. There is a reason for this.

Irrespective of the controls scheme, if you’re just roaming around it’s generally better to drag the camera along than to keep it at a fixed angle. The is the more natural and cinematic way to show a scene: the camera automatically tends to point itself at where you’re headed and presumably what you need to look at. The problem is, if the camera is swivelling as you move, it makes it pretty much impossible to run in a straight line with keyboard controls unless you position the camera directly behind the character, since a keyboard doesn’t allow movement in arbitrary directions. Because of this limitation, gamer expectations are that the camera doesn’t swivel as you move around when using keyboard controls. So that’s how I did it in The Ditty of Carmeana. (Have I mentioned how much I hate keyboard for moving a character around?)

But I only did it that way for keyboard controls. When using a gamepad the camera is dragged along by the character and swivels to keep the character in view. With a joystick it’s easy to run in a straightish line even when the camera is swiveling, because you can move in an arbitrary direction. Since that is usually the preferrable way to position the camera, I kept it for the gamepad.

And because I know some uber-gamer-bro is fuming over this (silently: there’s a reason there are no comments in this blog), I acknowledge that dragging the camera is not ideal for combat. This is why many gamepad control schemes include a button to constrain the camera motion. Some games, like Zelda, have auto-targeting. Other games have something like a “camera strafe” button, that fixes the camera angle. (And you can afford to do this with a gamepad because you don’t have three whole fingers devoted to character motion; you can spare one to fix the camera.)

Anyway, I’m getting philosophical and off-track here. The point is, for The Ditty of Carmeana, the only major change to the camera I implemented for keyboard/mouse controls was to fix the camera angle when using keyboard controls.

Here’s the problem. As I said, I prefer to play with a gamepad, so I had done the vast majority of my game testing with a gamepad up to the demo. I think all I did to test the keyboard/mouse controls was a single playthough, and decided that everything worked well enough. But, looking back I realize that although stuff worked, and the game was playable, it was really suboptimal. Almost all the early decisions I made with camera positioning were quite satisfactory for the gamepad. For the keyboard mouse, they made things awkward.

Here’s an example. This image shows the default positioning of the camera after you go through a door.

Why does the camera do that, you ask? Because that is where Zelda places the camera after you pass through a door. That’s the only reason. And, surprisingly, it works quite well… with a gamepad. Because of the way the camera tracks, the camera will very quickly end up in a suitable position, quite automatically, with only a little motion from the character. Failing that, a gamepad usually has a convenient camera reset button. (Again, you can usually spare a finger for this with a gamepad.)

But with keyboard/mouse controls, as they are now, it’s just painful. You can’t even swing the mouse around to get a better angle because it collides with the wall (and there’s currently no provision to allow the camera to move closer to the character). So you have to walk out toward the camera, at an angle for awhile, then swing the camera around. Not very fun.

And now that I’m adding things to the game like combat and some dungeons with narrow passages, it’s going to be even worse than it was in the demo. So I can no longer avoid it, but I’m going to have to revisit the camera positioning. And I do not want to. But it must be done.

Updated: June 28, 2018 — 7:54 PM
Tampered Evidence LLC © 2015-2022 Frontier Theme