About SmilingCat (twitter: @SmilingCatLTD)

Smiling Cat Entertainment, LTD is a small, independent game development studio based in central Ohio, USA. Founded in 2009 by long-time gamer Duke (that's me) and my lovely wife Gill!, Smiling Cat seeks to create affordable gaming alternatives that are enjoyable to play and suitable for the entire family.

Over the past 5 years, I've created several games on web and mobile platforms. My best works so far include "EARL's Warehouse" on the web platform, and "Prepare for Warp" and "Breaking Block" on Android and iOS.

My rookie Ludum Dare entry, "Dehoarder" (LD26), did well enough to garner some press attention and a couple of Let's Play videos, and nearly cracked the top 100 in two categories. My second entry, "City Beneath the Surface", fared less well, though I still had fun participating.

My primary strengths on the game developer spectrum center around design and coding, though I seem to have an ability to be resourceful and clever when working in other skill areas. I find artwork especially challenging. My artwork tends to have a minimalist feel, usually utilizing basic geometric shapes and patterns to composite a larger whole. Sometimes this works for me, and sometimes it doesn't.

My dream and goal is to work on my games full time, and to be able to support myself and my family while doing so. I originally took up software development to become a game developer, but currently find myself in a dayjob role in corporate software development.

I look forward to participating in future Ludum Dares (Dareii?), and seeing all of the great games produced!


Ludum Dare 35
Ludum Dare 32
Ludum Dare 29
Ludum Dare 26

SmilingCat's Trophies

SmilingCat's Archive

Deep Dive for Five

Posted by (twitter: @SmilingCatLTD)
Thursday, April 20th, 2017 7:09 pm

My hat is in the ring for my fifth Ludum Dare.  My planned toolset has one important change since my last entry.  As usual, I will be using Unity 3D, probably blender for 3D models and Audacity for sound editing.  cgMusic is out, though, (since it no longer runs), and abundant-music.com is in, seeing how it did wonders with last year’s music in “Werepenguin’s Escape”.

Last year I hit a milestone, posting in the top 100 for a category for the first time (#66 in Humor).  Of course, I hope to do even better this year.  Maybe a top 25?  It’s going to be hard to top those hilarious ragdoll physics in “Werepenguin’s Escape”, though.  Since humor keeps being such a strong category for me, I’m just going to continue to roll with it.  Maybe I have a future as a comedy writer.

Good luck, everyone.  Once again, I look forward to playing some terrific games after the submission deadline.


I Just Had To…

Posted by (twitter: @SmilingCatLTD)
Tuesday, April 19th, 2016 6:04 pm

The ragdoll physics in my entry “Werepenguin’s Escape” worked out so well that I just had to make a montage of it in action:

Be sure to check out the full game! http://ludumdare.com/compo/ludum-dare-35/?action=preview&uid=21630

PSA: A couple quick distribution tips for people that use Unity

Posted by (twitter: @SmilingCatLTD)
Monday, April 18th, 2016 6:02 am

Good morning all,

Now that I am well rested, now begins the process of playing everyone’s great games!

In this post-Unity WebPlayer era, I am seeing a lot more Windows builds of Unity games than in past LD’s I participated in.  Here are a couple of quick tips to help streamline the judges’ download process based on the downloads I’ve seen so far:

  1. Strip out the .pdb files.  These are debug information, and are not needed for your game to work properly.  They inflate download sizes a LOT. (one example I downloaded had 80MB of actual game, and 130MB of .pdb debug info)
  2. Use .zip files.  Every modern Windows machine can decompress a zip file.  Not everyone has handlers installed for .rar, .7z, etc., especially on fresh gaming rigs.
  3. The less clicks needed to download the better.  Direct deep links to your .zip file are best.

Happy judging and good luck to jammers who have yet to submit!

Whew! A squeaker this time!

Posted by (twitter: @SmilingCatLTD)
Sunday, April 17th, 2016 8:23 pm

Well, I finished with only 15 minutes to spare, but my entry “Werepenguin’s Escape” is done and is ready for play.


Despite wasting Friday evening trying to do this in 2D, I think this turned out quite well.  I’m very surprised that I was able to model 5 full 3D levels as well as build the rest of the game in less than 48 hours.  Deciding to go with 3D was the right move; it gave birth to the most hilarious element of the game – the ragdoll slip and falls on the ice patches.

The game itself is a simple puzzle game that involves redirecting moonlight to the right places in the level to serve your purposes, with a twist: That very same moonlight will turn you into a penguin! While in penguin form you can move across ice, but you are unable to jump.

I hope everyone enjoys my entry, I certainly enjoyed making it these last two days.  I look forward to seeing what other great games came out of this jam!



A World Takes Shape

Posted by (twitter: @SmilingCatLTD)
Saturday, April 16th, 2016 8:24 pm

Well, halfway through the compo and I think I am back on course from last night’s missteps.

3 levels of “Werepenguin’s Escape” are through rough drafting.  Two are ready for final texturing; one still needs some more testing before it can be considered stable enough to be textured.


Right now, objects can be moved around the level by nudging them.  One of my next steps is to give the ability to latch onto and push or pull objects, which will give a substantial improvement to gameplay.

Sounds and music are pretty close on the heels behind that. I also want to add at least two more levels, and fill the game out with a story.  At that point I will consider the game submittable.

My stretch goals after that are to add one or two more puzzle mechanics, and add as many more levels as possible before the deadline.

And that is pretty much my plan for the next 23.5 hours.

Slipping in Some Hilarity

Posted by (twitter: @SmilingCatLTD)
Saturday, April 16th, 2016 12:07 pm

So – the basic premise so far is this.  You are a werepenguin.  Beams of moonlight turn you into a penguin, and silver coins change you back.  When you are a penguin you cannot jump, but when you are in human form you cannot walk across ice.

I still have a couple more game mechanics to implement before I start making proper levels, but at this point I think I am ahead of schedule, despite the rough start last night.

And yeah, I ditched that 2D work from last night :-(.   Oh well, I think the result is much better – this kind of slip and fall hilarity would not have been possible with 2D:

Rough Going So Far

Posted by (twitter: @SmilingCatLTD)
Saturday, April 16th, 2016 1:57 am

Just about ready to call it a night… I’m nowhere near where I wanted to be, though I did manage to get one of the riskiest parts (for me) done – capturing animated 2D sprite renderings of the main character(s). It is a technique that I haven’t used before, so it involved a bit of trial and error.  With this done, I am much more certain that I can handle the rest of the artwork on the project.

One of the biggest issues I ran across was with trying to find a model format that MakeHuman, Blender, and Unity could all agree on.  No matter what I did, the resulting model wound up munged in some way and unusable.  I lost nearly 2 hours there.  I wound up having to cut Blender out of the picture and make my desired modifications to the model a different way.

So, yes, it is quite concerning that I don’t have any sort of gameplay yet except on paper. I do think I have a solid idea, though, so hopefully I can hit a home run tomorrow with it, because tonight was kind of a 1-2-3 inning.


So what exactly are these two doing? We’ll have to find out tomorrow when I can focus on it again.



Four on the Floor

Posted by (twitter: @SmilingCatLTD)
Friday, April 15th, 2016 6:01 pm

I am IN for my fourth Ludum Dare! As usual, I will be using Unity 3D, plus Blender if it is a 3D project, Audacity for any audio editing, and cgMusic for any music generation needed (shame it will only run on an WinXP VM).

My focus will be on humor once again, as that is perennially my strongest category.  I nearly cracked the top 100 last time (#108) (LD32) with “Dirty Fork: Unleash the Mayhem”.

Speaking of older entries, be sure to check out my ongoing Dehoarder 2 Steam Greenlight for the full realization of my LD26 entry, Dehoarder:


Best of luck to everyone, and may the best game win!


Entering the Home Stretch

Posted by (twitter: @SmilingCatLTD)
Sunday, April 19th, 2015 1:57 pm

…and add some music, and bam, it’s a game!

“Dirty Fork: Unleash the Mayhem” is effectively complete.

Dirty Fork

The more havoc you cause, the more restaurant staff get involved to subdue you.  Eventually, you can get a whole team of managers rapid-firing tomatoes at you.

The AI is as dumb as a bag of hammers, but the game is hard enough anyway. If I try to make the enemies smarter, I don’t think it will turn out very fun.

Clean Fork

From here, I plan to spend the rest of my time working on some stretch objectives, like crouch controls and better textures. And maybe chef’s hats and another type of food.  I don’t think I’ll get to rigging the person model or implementing multiplayer.

I looked into the whole Unity to WebGL thing.  It REALLY IS pants at the moment.  The TL;DR is that I would not be comfortable submitting the garbage that was output from that process for judging.  Sorry, Chrome users.  You’ll either need to apply the workaround or use the .exe version that I supply.


I wasn’t optimistic based on what I’d read.  But, wow…  Webplayer build of this project is 3.5MB, runs like butter, and looks divine.  For the WebGL build – after taking 15 minutes for this trivial project to build, the distribution is over 10MB (assuming my web hosting can use all the gzip stuff, have not tested that yet and others have reported problems.  Without gzip – 50MB).  Then, when loaded up in the browser, it looks like a dog turd, and runs about as fast as one too. (3-4 fps vs. over 100fps)

So, Unity developers aren’t in a very good spot with Chrome right now with the whole forced move away from NPAPI, and it really is a suboptimal situation.  I’m all for moving away from old and insecure technologies, but not being able to do truly high-performance 3D apps in the browser like I am used to seems like a giant step backward.  Something has to give here.  Either Unity’s WebGL tech needs to be quickly brought up to par with the other Unity platforms, or some type of continued support provided for NPAPI plugins (a solution that does not require IT training of my users to apply like the current workaround), or something.  And I’m looking at both of you, Google and Unity Technologies.


Now that I got that off my chest, back to making Dirty Fork even better…

Who Ordered the Pie?

Posted by (twitter: @SmilingCatLTD)
Saturday, April 18th, 2015 5:10 pm

Who Ordered Pie

An epic food fight is brewing.  So far we have tomatoes, pies, and hot dogs, to be used on customers, a Maitre ‘d, waiters, chefs, and managers.  If you attack the restaurant’s customers with food, the staff will respond in kind.  It gets pretty hilarious when the staff starts hitting the customers with food as collateral damage.

There’s cover to be had, and the room contents generate randomly with each play through.

Next is some breakables, music and sound, more types of food, and lots of funny dialogue.

I think it’s coming along nicely.  Time for a meal break.

Food, An Unconventional Weapon

Posted by (twitter: @SmilingCatLTD)
Friday, April 17th, 2015 11:55 pm

I think maybe I’ll just let this screenshot speak for itself:

Throwing Tomatoes

Still in early prototyping obviously.  I so want to make this (optionally) multiplayer, but have no experience writing game network code.  Maybe if I have time on Sunday I’ll fiddle with that.

My Common Code for This Go

Posted by (twitter: @SmilingCatLTD)
Friday, April 17th, 2015 8:19 am

This year, it’s mostly just a bunch of extension methods I’ve collected.  There’s also couple of really handy types, like the ColorHsv and ColorHsl classes.  Gone from last year’s library are some of the basic UI elements like volume controls, because I haven’t had time to re-implement them in uGUI, and I don’t want to carry around the legacy UI stuff.  Streaming loading is also out this year because Unity Web Player is effectively dead as of three days ago and the new WebGL platform does not seem to support streaming loading.


I’m a bit concerned about the move to WebGL within Unity; my initial experiments yield unacceptably large build sizes and glacial build times for just an empty scene, so hopefully I’m not spending too much time tweaking things.  I hope I don’t need to resort to making my entry as a downloadable executable only.


It Was Close, But I’m In for LD32

Posted by (twitter: @SmilingCatLTD)
Thursday, April 16th, 2015 11:44 am

I’m in for my third stint at Ludum Dare.  There was a chance I would not have been able to do it this time around since my wife was in the hospital, but she was just released yesterday so I can go ahead and commit now.

My main goal is to improve on my performance from last time, which was not as good as my performance the first time.  I’ll be using Unity 5, Audacity, Blender, NeoTexEdit, sfxr/bfxr, and probably some other tools.

House PerspectiveI’ve also been hard at work at a sequel to my first Ludum Dare entry, Dehoarder.  Strangely enough, it is called Dehoarder 2, and it is very close to being in a state where I’d feel comfortable submitting it to Steam Greenlight.  As you can see here it goes well beyond the single-room cleanup that I implemented for LD26.  I should probably be working on that this weekend, but I am trying to make LD an annual thing for me.

Good luck, everyone!  I hope to start voting on a bunch of great games Sunday evening!

City Beneath the Surface Retrospective

Posted by (twitter: @SmilingCatLTD)
Tuesday, April 29th, 2014 6:31 pm

Title Screen Shot

What Went Well

This time around, there was a very quick committal to a game concept after the game was announced. This may have been due to having others around as a sounding board when the theme was announced. This allowed actual work to commence a lot faster than in LD26, when over an hour elapsed before committing to a concept.

This theme was too easy. There was no lack of ideas: a city builder where you had to move humanity into an underground city, an anthill adventure, playing as a fish or octopus, a game based on fracking, an adventure beneath the surface of the skin. Any one of these could have been viable. Indeed, I am starting to see that many of these concepts have been done by others.

The procedurally generated buildings turned out great. By taking a few base components, and giving the basic instructions for building up one floor at a time and randomizing, I was able to have the game generate some complex building layouts. Sure, the architect of these buildings must have been crazy, but isn’t that the same for most games?

One area of player feedback from LD26 was that Dehoarder lacked some kind of finality for a full clear of the room. There was one goal end at 10,000 points, but that was just an artificial goal and was only celebrated by a single popup that was easily dismissed. For City Beneath the Surface, I set aside time to create two different endings that are definitely final. I even had time to make them cinematic. They were the second largest identifiable time cost in the game, at 7 hours, with much of that spent watching the submarine escape scene in 10x slow-mo to get the timings and measurements good.

Milquetoast Sub Escape

Finish With the Epicness

All in all, I managed my scope well. I had intended to put a means of moving from floor-to-floor inside the building, but as Sunday afternoon loomed, I re-evaluated that feature and decided that it would not add much value to the gameplay that was there, so I axed it. (If anyone asks, the Atlanteans moved between floors on unpictured elevators built into the corner blocks on each building.)

Similarly, the original scope for the building generator had the engine building interior walls as well, sometimes making for multiple rooms per floor. This never got implemented, never even made the prioritized backlog, and honestly would detract from gameplay and make the game unnecessarily harder.

Blender and I have been getting along even better since our bromance started in LD26. The shark is my crowning 3D modeling achievement for this Ludum Dare. Maybe someday I’ll actually get better at rigging stuff, too, so that he doesn’t just move stiffly through the water, but stiff is fine for a 48-hour compo, especially since your back is to him while you’re running from him anyway =D.


Making sound effects for this was fun. Some basic stuff, like alerts, inventory feedback, etc., were done with sfxr, but other in-world sounds were recorded on a cheap mic on my laptop. I think the scream for the shark death turned out especially well. I got a kick out of using the bathtub to make the water sound effects. Luckily with the way my house is set up, the laptop could be kept safe behind a wall while the dispensable mic did all of the dangerous wet work.

The music just happened for the second time, it was like a gift from above. I fired up cgMusic like I did last year, and fiddled a bit with it. I wasn’t sure it was up to the task of creating the deep, warm, droning music I was looking for. Then I took a piece it had generated, deleted everything after the second part, and turned the tempo way down to 15 bpm. Voila! The perfect sound – slow arpeggio guitar melody over a glacial harmony by string instruments with bows that must be 5 feet long.

There was something just wrong about the input for much of the project. I was using a fairly standard move-mouse-to-turn model, but it just wasn’t working out well. There seemed to be a weird acceleration curve, and that movement control always confounds me once the mouse moves outside the game window. So I switched out the controls at the last minute, and fixed another latent bug in the user input code. I was very glad I took some extra effort to correct this, it made the controls much, much better.

Starting Next to Sub

At a few points this weekend, I took a step back, and wrote out a list of what remained to be done. Then I would quickly prioritize all items on that list 1-4, and then knock out the 1’s and 2’s from that list. I repeated this until I was done. This micro-agile approach seems to work great for compos, because it keeps the highest-risk, biggest impact work at the forefront.

Having some common code libraries harvested from prior projects was a big plus. Some basic calculations were just there without having to go to Google to look up algorithms. And being able to fit a bunch of re-usable polish trim right in place, like streaming loading, volume controls, scene transitions, and the like, helps me present my entry in the best way that I can.

It was good that I had blocked off the entire weekend for this compo, otherwise it would have been fail. I even took a day off on Friday to relax before the compo to make sure I was going in fresh and rested. That was a very good idea. It allowed me to put in 6 full hours the first evening of the compo. For the rest of the weekend, I had my support network in place, meals arranged, and everything planned out so that I could focus on Ludum Dare to the maximum, and I am very glad that I did. With 34 of 48 hours utilized for the compo, 3 hours spent preparing meals or doing chores could have made the difference between success and failure this time around.

What Did Not Go Well

A procedurally-generated level was the best choice for this type of game, and manual level design of this scope would have taken longer and required a lot more pre-planning. Still, the map generation code took much longer (about 9 hours, over 25% of the project) than was hoped. This put the project behind schedule early, and I had to work like the dickens to make up the shortfall.

Atlantis Buildings - unfinished

I would have liked the game to be more playable in the early stages. While basic player input and physics were done early, map creation was a large obstacle to testing any actual gameplay. Thus, it was not until halfway through the compo that the game felt more like a game and less like a physics simulation and world generator. It was not until Sunday morning that the game was actually winnable. It was hard to know early whether the gameplay would actually work out or not, which is vital with a compo.

34 Hours was a little more time than I wanted to spend on my compo entry this weekend – that leaves only 14 hours for sleep, eating, hygiene, and not totally falling off of the world around me and into my own reality where it is only me and The Game. I am well aware that I picked a project that was almost too big to handle in 48 hours. Still, this means I pushed my abilities to their limits, so this could be considered a very good thing as well.

It seems that despite my best efforts, a lot of people are finding the controls for the game difficult and frustrating. One source of contention is the lack of an option to invert the camera pitch tracking. It seems the old fighter-pilot convention of up pitching downward and down pitching upward that I am used to is no longer the norm, so in the future I will be sure to provide this inversion only as an option. People also complained specifically about turning being too slow – the slowed movement was an intentional design choice to boost the mood of the game by making the player feel through the controls like they were moving through water. This does not appear to have been received well. These two points are the only specific feedback provided so far about the input issues. I retested, and could find no further issues myself.

What to Change

In future events, I will try to focus more on gameplay mechanics before world building. In the case of City Beneath the Surface, I would instead have created the mechanics of the prisons and keys and sub parts before creating the first building, making sure the game was winnable early on. I had done this with Dehoarder in LD26, and did not realize until I was deep in the rabbit hole that I was doing differently this time around.

Aprodite Prison

I wish I could say I won’t try anything this ambitious in the future, but part of the good of these events is that they push me to my absolute limits. So I will likely take on ever more ambitious projects anyway no matter what I say here to the contrary.


This was another awesome event. Even though I was intensely heads-down during a large part of it due to early missteps, I managed to create something really cool that probably would have taken a couple weeks to a month without the pressure on. It was great to see exactly what I am capable of, and how much I’ve improved since my last Ludum Dare. I’m looking forward to seeing everyone else’s submissions in the coming weeks.

City Beneath the Surface

Posted by (twitter: @SmilingCatLTD)
Sunday, April 27th, 2014 2:58 pm

And with a last-minute user input change that makes controls a lot less frustrating, my Atlantean adventure is complete enough for submission!

Title Screen Shot

Your submarine breaks down while you are out on a joyride.  What to do?  Get out and find those parts it chucked!

Starting Next to Sub

Don’t try to hitchhike a ride with this guy, he looks like a shady predator.


Aphrodite is imprisoned and needs your help!

Aprodite Prison

Escape from the watery depths, or hang around and see what the gods have in store for you!

Milquetoast Sub Escape

Finish With the Epicness

I might make a couple more tweaks with the 3 remaining hours, but honestly I’m pretty happy with it as it is. And I’m tired. And hungry.

(As for the correspondences in the game, I can’t help it, my mind naturally goes there =D)

One casualty of the compo is that my lawn is now overgrown.  Small price to pay for an awesome and fun crunch!

Total working time to make game: 34 hours.


Foleying is Fun!

Posted by (twitter: @SmilingCatLTD)
Sunday, April 27th, 2014 10:58 am

In the process of recording sound FX. So far, I have made use of two bathtubs simultaneously (run one bathtub and mic the faucet on a second one down the hall to get ambient water noise), and an odd plastic tube that I just knew I would need at some point in the future (for bubbling noises).

What kind of creative SFX recording have you been doing this weekend?

[cache: storing page]