Work/Life Balance

In the year or so leading up to the release of the Demo of The Ditty of Carmeana, I worked a full-time job but managed to find plenty of time to work on the game to get it ready for a release.

Now that I’m planning to turn the demo into a full release, I can’t manage it.  Figures, right?

Actually it does, non-ironically.  When I was finishing up the demo, I had frozen all features and the problems I was facing were narrowly-focused: testing, controls, fixing bugs, stuff like that.  Now that I’m back into full development mode (or trying to be at least) the problems I face are very open, and it’s a lot harder to focus and find time with a full work schedule.

This is not a major roadblock though.  In a few weeks I am reducing my hours to 50%.  (This was made easier for me because some changes at work made it into not quite as nice a job as it used to be.  Also, depending on stuff, my reduction in hours will either be perfect timing or the worst timing imaginable, but either way I’m doing it.)  So, hopefully I reduce hours and tip the scale of work/life balance in a direction than can accommodate game development, I’ll start to make some real progress.

Updated: August 11, 2015 — 10:31 PM

New “job posting” for an artist

I’ve created a job posting for a new artist.  Please visit the following page to view it:

[Edit: I took it down. Might put a similar one back up.]

Updated: March 31, 2016 — 2:19 AM


Well, it appears that Valve has come to their senses and greenlit The Ditty of Carmeana.  Which means I am now allowed to sell it on Steam, just as soon as I finish it….

Honestly I am surprised it was greenlit so soon.  I was expecting it at some point; it was hovering around the top 30 for awhile.  But part of the point behind Greenlight is not just to test the game concept but also the marketing, and I’ve still done very little (myself) to market it.  It still has the cheap teaser trailer I made that shows absolutely nothing about gameplay, for instance.

And yet there are graphs that show other games with more votes than mine, that have been on Steam Greenlight longer than mine.  I suppose having a working demo helped (also that I never traded anything for votes).

Updated: September 30, 2015 — 4:14 AM

Future plans

So, after a lot of thought, and a fair degree of confidence I will be allowed to sell the game on Steam at some point, I’ve decided that I will make a run at releasing at least a few more levels of The Ditty of Carmeana.

I’ve decided to stick with Python and my homemade game engine, while modernizing some things.  (I had previously considered porting the game to C# and the Unity engine, but after a little investigation, I decided Python wasn’t so bad.  Of note, I learned that many graphically-intensive games only use a relatively small amount of the main CPU since they’re constrained by graphics mostly.  If Call of Duty can get away with 50% CPU, The Ditty of Carmeana can get away with Python.)  This means that a large effort I was anticipating to port the game isn’t needed.

The only two things I do need to bring The Ditty of Carmeana to reality are:

1. Time, and

2. Artwork that isn’t distractingly bad.

I don’t really even need money.  Except, perhaps, to help procure time and art.  And time is something I can borrow pretty easily; I’ve been paying forward on it for years.

Artwork is the tricky one.  I am sure I could up my level of art to “not pathetic” if I wanted to, but I don’t, and I could spend better time elsewhere.  So I am looking either to partner up or subcontract, or both.

I will update this spot as soon as I create my ad.

Updated: April 23, 2015 — 12:22 AM


Here is a summary of technologies used in implementing The Ditty of Carmeana, which I am doing mostly for the sake of not having a completely empty blog.

The Ditty of Carmeana is written mostly in Python 2.7.  I don’t mean that Python is the scripting language: the whole game is written in Python.  I used C to implement a few things that are time-critical: graphics, audio, and collision detection, but everything else is Python.

It makes use of PyGame for what might loosely be described as platform-independent interface to the windowing system and the inputs.  (Speaking of inputs, you should play The Ditty of Carmeana with a gamepad.  I think it’s a much nicer experience.)  PyGame’s gonna be gone next iteration.  It’s crufty, and I don’t like how it does event looping.  I’m now looking a Kivy, which might also make it easier (though no picnic) to port the game to Android.  And iOS I suppose.

It does not, incidentally, use PyOpenGL. There are very few things in this world I hate more than PyOpenGL. (One of them is sweaters, another is Adolf Hitler.  In that order.)  Instead I wrote my own wrapper to OpenGL in C, one that queues commands to make streaming vertices and textures more likely to work in the background, in theory anyway.  Also, it’s kind of embarrassing, but right now the game uses the OpenGL fixed pipeline.  (Well, I started writing the game in 2006 when shaders were this newfangled thing, and so far it’s sufficed, but it’s still embarrassing.)

Other libraries I make use of are Pango (which, incidentally, I hate more than PyOpenGL) for text layout, Soft OpenAL and Ogg/Vorbis for audio, a hoary old library called Cal3D for skinning (which is written in C++ and unfortunately means my game is not Certified C++ Free™), and Numpy.  I’d like to replace Pango but I don’t know with: most libraries aren’t strong enough to lay out paragraphs; others (such as webkit) are way overkill.

The toolchain is also entirely in Python.  All my 3D assets are in Blender, and a Python script runs inside Blender to output the scenery in the format used by my game.  Sound assets are all converted to OGG format.  I probably should have used WAV files for sound effects but OGG seems to be working fine.

On the use of Python: I was able to work with it because I am an expert and know how to get the best out of it, but it has some serious problems that will not allow the game to scale up:

  1. It’s slow
  2. It is limited when it comes to threading
  3. It has some annoying problems with dependencies

As such, if I were to get really serious about bringing The Ditty of Carmeana to the next level (like, quit-my-job-to-work-on-it-full-time serious), my intention is to rewrite the game in C# using the Unity engine.

Updated: February 15, 2015 — 12:40 PM

Developer Blog

So I have a developer blog now. Which is odd timing, since I just released a new version of the demo. It’s gonna be crickets for awhile.

Updated: April 22, 2015 — 11:53 PM
Tampered Evidence Software © 2015 Frontier Theme