• The Deific's Guide to Creating, Exploiting, and Destroying Pocket Worlds

    In my LD38 entry, play a minor god with recently discovered powers of creation and destruction.

  • LD35 Entry - Werepenguin's Escape

    In my latest Ludum Dare entry, play the role of a werepenguin attempting to escape a mysterious facility.

  • Dehoarder 2: Vote YES Now on Greenlight

    Dehoarder 2 is now up for voting on Steam Greenlight. Vote today!

  • LD 32 Entry - Dirty Fork: Unleash the Mayhem

    Horrors! You have been given a dirty fork! There is only one appropriate way to respond to this insult: Food Fight! Play for free on Kongregate.

  • Breaking Block Available for Android and iOS

    Wall destruction on a solar scale: Smiling Cat's latest game, Breaking Block, is available for free on the Google Play Store and the Appstore.

  • Prepare for Warp available for Android and iOS

    Intense spaceflight for your mobile device: Prepare for Warp is available for free on the Google Play Store and the Appstore.

  • Vintage Pachinko 2.2 Available for Android and iOS

    Smiling Cat's original mobile game/toy, Vintage Pachinko, is available on the Google Play Store and the App Store. Buy it today for only $0.99!

  • Ludum Dare 26 Entry - Dehoarder

    Free to play on Kongregate. Because playing a game about cleaning a room is more fun than actually cleaning a room.

  • EARL's Warehouse - Keep Calm and Carry Boxes

    What strangeness is going in EARL's Warehouse? Play for free on Kongregate to find out!

Oct 14

So, yeah. With the pre-GDEX crunch (during which I did NOT manage to get Dehoarder 2 to an alpha release state as planned), updates to this blog were pushed a bit down the perceived priority list. Now that the dust from GDEX has settled, it’s time to re-balance and get back to semi-regular updates on this blog.

GDEX and Dehoarder 2

GDEX was held on September 29 thru October 1. Aside from this being the 5th year, a significant milestone in itself, we also moved to a larger venue. We had simply outgrown our old digs at COSI, where last year we overflowed available exhibit space to some chagrin. So this year, we were at the Greater Columbus Convention Center. It was quite a step up.

For the Smiling Cat booth, I mostly revisited the Dehoarder 2 theme from two years ago, as the majority of my effort was focused on adding content to the game. We did have some new banners and signage, and 2 demo stations meant double the player capacity of the last Smiling Cat booth 2 years ago (remember that last year, I had a combined booth with a team of developers under the name “Ivory Skies”).

Dehoarder 2 had a phenomenal reception throughout the weekend. Some players were returning from prior years to see what was new in the game, and there were many, many new players. I even got a lot of compliments on the art style, which apparently at some point has evolved from “programmer art”, thanks to the combined efforts of myself, Arvex, and Isabelle. Many people were interested in buying the game on the spot. Keeping notes, by the end of the weekend I had enough material to create 52 distinct action items to further improve the game, and half of the items from that list were implemented last weekend.

This year’s GDEX was a very energizing experience. It has provided me with substantial creative momentum that I plan to carry through the next few months. Also, since I was in better physical shape this year, I wasn’t super-exhausted physically by the end of Sunday night.

As for what was shown at GDEX, Dehoarder 2 continues to mature. There are now a couple hundred object types, and a lot more events have been added, mostly in the realm of sidequest material. Rooms are much more populated with furnishings and junk, sometimes piled chest-high. Many new brands have been hilariously parodied, including a slew of vintage games. Also, there is now a goat, and a very pretentious robotic vacuum.

As far as a release date for Dehoarder 2, I’m once again hoping “sometime next year”. A lot of work is done, but there is still a lot left to do. One of my priorities over the next couple of weeks is going to be to lay out an updated and detailed roadmap for project completion. With everything that has been added, the game build is approaching 1GB in size, making this project over 10 times bigger than any other project I’ve released before. That’s been a huge part of my estimating difficulty, simply the sheer scale of what I am doing now versus what I was doing before.

Office Remodel

Between my day job, Smiling Cat, gaming, and other computer hobbies, I spend a LOT of time in my home office. So, earlier this year, my wife and I decided to remodel the home office, with the main goals of improving lighting and air circulation, and redecorating with fixtures and furnishings more befitting the current us (my wife in particular will be very happy to trade up her tiny corner desk that she has had since her teens).

After several months of planning, during the summer we made a lot of progress on this project in a very short time. Electrical and painting were done, and cabinets were hung. Then we discovered that we timed the carpeting portion of our project for the flooring business’s busiest time of year. So currently, our half-finished office sits empty while I write to you from our “temporary office” in the guest bedroom. We are on a wait list for carpet installation, so hopefully, in a couple of weeks, the logjam with the carpet installation will clear and we can finally order the new furniture!

One of the coolest parts of the remodel project will be the lighting effects that will be installed above the cabinets. I currently have a working prototype of a randomized light show powered by an Arduino and an RGB LED strip, and I plan to make a custom PCB/shield for it so that I can tuck everything neatly into an enclosure that can hang out of sight on the cabinet. The program driving it all is capable of running 2128 possible animated effect combinations, and is less than 5.2k of code and around 21k of data.


This is the first I hope will be an ongoing series of presentations highlighting handy game development tricks that can be explained in 10 minutes.

My first presentation demonstrates a shader technique that I am using in Dehoarder 2 to allow materials such as wallpaper and furniture fabric patterns to have player-customizable colors. I call this the Pattern Shader.

In addition to the regular albedo, normal, and metallic texture maps, the Pattern Shader takes another special texture map where the individual color channels map to up to four customizable colors.

Details are contained within the presentation materials. This presentation was originally given on May 6, 2017 at the monthly COGG meetup.

Apr 1

arvex1I am pleased to announce that a couple of weeks ago I received the first of six batches of models from Liam “Arvex” Wenzlaff, whom I’ve contracted with to create additional 3D content for Dehoarder 2.

The models that Arvex will be creating will complement the models created by me and the models obtained from the asset store, filling gaps where models are outside of my ability or scedule to create efficiently, and where those models cannot be easily and inexpensively located on the Asset store with sufficient quality.

arvex2.arvex3Attached are a couple of my favorite models from Arvex’s work to this point. I am very happy with the work that Liam has done so far. I hope that with Liam doing much of the remaining 3D modeling work for Dehoarder 2, I will be able to focus more closely on other areas that are just as important, such as gameplay and story.

Speaking of story, I have started filling in details in writing the “main” ending for the game. Already there are several game over scenarios, but this one represents the “happy path”, full success. I hope to be able to include a few “delightful surprises” within the ending sequence to reward players for their hard work. What I’d like to do is have a main ending flow, and introduce short sequences based on optional “side quests” the player has completed – so the length of the ending that you get is based on how much you complete. We’ll see how this works out.

Evolutions Evolved

posted by Duke
Feb 25

Vitruvian Harry Many months ago, I teased a feature by which Harry’s physical appearance would change as he advanced. While the basics of that were implemented at the time, it was not until today that I looped back and actually hooked it all up.

In true Dehoarder 2 style, I decided to parody evolutions from another popular game franchise (“It looks like Harry is trying to evolve!”). I thought the result was quite pleasing.

The change afforded by an evolution is not just cosmetic. With it comes a sturdy 30% boost to maximum health and maximum mood, reflecting a quantum leap in Harry’s progress.

Harry EvolvingRight now the evolutions are tied to reaching a certain willpower level, though I have been thinking about adding another requirement, either career advancement or finding a certain item. (lunar rock?) Or maybe tying it to use of the yet-to-be-implemented exercise equipment. Again, I have options.

I see completion of long-outstanding features like this as an indication that I am entering the home stretch on development. Hopefully within a few months, I will be ready to begin some form of semi-public beta of the game.

Steam Integration

posted by Duke
Feb 19

Goat Preview It has been another very productive weekend here at Smiling Cat. One of the biggest coding tasks left on Dehoarder 2 was integration with Steam, and that has been largely tackled over the past week. I now have functioning stats and achievements, and cloud-synced saves are all set up. On the artwork/assets side, Steam badges have been created, trading cards are defined and one of them is even complete. The game is mostly set up on Steam, to the point where I can upload builds and install and play them.

I made an attempt at creating emoticons, and it ended poorly, since pixel art is one of my weakest areas. Yup, I tried all of the tricks that I knew to make an 18×18 pixel alien head that looked decent, made several attempts at it, and it literally looked like crap – a nice two-toned floating greenie with two kernels of radioactive corn for eyes. (KlaatuHead-18) So I’ll need to do something about that. Like create and patent an algorithm that can resize any image down to 18×18 and still have it look beautiful. Or go back in time and prevent the invention of emoticons. Or hire a contractor. I have options.

Lack of pixel art talent aside, overall, the process of integrating with Steam has been pretty easy, especially for someone who has been to the app storefront integration rodeo several times before. Steamworks.Net kept me from having to get too low-level, where all the time-sinking rabbit holes exist. Pretty much everything worked as expected. The Steamworks.Net package should really be on the Unity Asset Store; I would give it six stars there. Well, maybe only five because it is leaking Hungarian variable notation into my code, which is very un-.Net-ish. At any rate, it’s much better than the most popular solution available on the asset store, Ludosity, which appears to be abandonware (no updates in 29 months) as of this writing.

Eastman Encounter PreviewSeeing the results of the whole process of getting integrated with Steam – Seeing my Steam status as “In Game: Dehoarder 2” (even though others can’t see that yet), seeing the game in my Steam library, being able to bring up the Steam overlay in game, seeing the too-familiar achievement toast pop up with achievements I created, viewing the preview of my first trading card – are a huge motivator, an affirmation that this is really happening and that I am progressing steadily toward a game release on Steam.

As promised, I have returned with a couple of screenshots of what I was doing last weekend. I’m kind of glad I had these screenies in reserve, because integration work is generally not very photogenic. In the first screenshot we see Pica; she is in the middle of jumping up and down to try to get Harry’s attention. The second screenshot is from the Eastman encounter, where the willpower that Eastman and Harry are putting off is rising up out of the surrounding land, Dragonball Z-style.

Well, Unity apparently decided to take a poop in its Library cache folder, so while it takes a half-hour or so to re-import the world, it’s a good time to post an update.

Recently, I designed one of the main neighbor encounters, with Eastman, the wild party man. It turned out as a nice, intense button-mashing mini game, where Harry and Eastman clash with their willpower. As Harry starts to gain advantange, very anime-like things begin to happen. I test-played it around at the COGG meetup last weekend, to very good reception.

Also, I bought a goat. Not a real-life one, but a model for the one I had the idea for as a pet in the game. Now, I just need to figure out how the goat will come to be in Harry’s care.

I added a proper game over screen for the game. Now, you will see the cause of death, and can see your overall progress right on your tombstone. The various endings, of course, will be collectable for progress toward an achievement.

My asset folder is a mess. So many textures, materials, and models for this game, and since about half of them came from the Unity Asset Store, they have ended up scattered all over in their own individual package folders. It is time to clean that up, so that I can actually see and manage what I have. This activity is actually what precipitated Unity’s little poo-in-the-cache accident.

Well, the project is back up, so it’s back to asset clean-up. I’ll try to pull together some screenshots of the new stuff for the next update.

Full Bedroom and Control IconsSome exciting news and progress on Dehoarder 2 has happened of late. First, I am in the final stages of negotiation with a 3D modeler who will be taking most of the non-trivial 3D modeling work off of my shoulders. This will allow me to take effort that I was expending making 3D models that were middling in quality at best, and instead focus that energy into gameplay, design, and story. I will have a further announcement with introduction once the ink is dry on the deal.

Today I’ve been working on a long-pending feature, the ability to unlock new colors and patterns in the store based on the collection of color samples. Implementing this end-to-end actually required the implementation of another planned feature – rare and unique items. Rare and unique items will spawn exactly once in a game. They are global spawns – basically, for every X items that spawn, one item spawns from the rare/unique list. These items, rather than being disposable, are collectable.

For now, the only unique items are the color samples, which are dynamically generated based on the list of available colors/patterns in the game. Each sample awards the color or pattern that it shows, which will then be available in furnishing and home improvement stores.

I had considered making samples that could grant 2, 3, 4, or even up to 6 colors at a time, but that quickly became untenable. Since the list of sample items is dynamic (based on the list of colors/patterns in the game), they cannot be easily pre-allocated into sets. On top of that, the custom rendering required for a dynamically generated 6-color sample swatch would have been kind of a mess – either with dynamically generated albedo textures, or sample swatch models that require 8 draw calls, pick your poison. So for now I decided to keep things simple with single-color samples.

There will be other unique/rare items in the game that can grant bonuses – maybe things like reduced energy consumption, happiness bonuses, faster actions, bonus to bin capacity, etc. The other side of the coin on these items is that they take space to display, and can usually be sold for a decent amount of money. Some unique/rare items will be so sentimental that Harry may need to develop god-like willpower to even think about parting with them.

Over the last couple of months, I’ve been working on filling out all of the rooms in the Dehoarder 2 house. I’ve taken a cue from the Lego games, stashing junk everywhere, just waiting to be released from drawers, cabinets, containers (stacked floor to ceiling in places), even plumbing. This technique allows me to greatly increase the number of items that can be present a single room without dragging down performance by having all of these objects active at the same time.

The rats become even more fearsome when they are part of a basement maze of boxes so tight that you cannot move past without being bitten. The rooms look even more cluttered when the walls are lined floor to ceiling with blue storage totes. Every drawer, every pocket of storage will appear to be extra-dimensional in nature.

The containers and rare item spawn rate synergize well. Some rare items are available at the start as part of the room junk spawns, but most will be hidden away in containers, awaiting discovery by treasure hunters.

I’ve also been thinking a lot about the mid/late game. Eventually, you get enough willpower that disposing most items becomes a breeze. Lower-level items don’t contribute as much to your willpower score, so there needs to be more ways to mass-dispose of these items, especially when large piles of these items show up unexpectedly.

One of the more popular suggestions I get is for Harry to have some kind of pet(s). Specific ideas have ranged from one (or many!) cats, to a platypus. However, I think I have come up with the ideal pet, one that fits perfectly with the theme of the game: A goat. There are urban legends of goats eating items like tin cans (not quite true but it suits my purposes). So, somehow, there will be a way to obtain a pet goat in the game (named Pica), and this goat will autonomously wander around consuming junk for you. This is just one of the later-game ways planned to creatively dispose of junk.

20161030_153942_resizedThis past weekend was another resounding expo success. Not only did our games show very well, but also our top secret “Castle Gateway” booth design was a huge hit.

Standing at an imposing 11 feet tall, our castle archway served as the entrance to our booth, making an impression on all who passed through. The free-standing wooden frame for the archway was my design, accompanied by a vinyl printed stone texture wrap designed by StarlightSkyes. Even on setup day as it was being assembled, word of our castle-booth spread through the expo like wildfire.

This was our first time showing MMMob, our very-early-prototype MMO simulator, to the world. While the game still has a long way to go, the reception was very positive to what we had to show so far.

Dehoarder 2 also continued to show well, and many are looking forward to the game’s release. The good news is, with GDEX behind me, I can now devote all of my game development energy into completing Dehoarder 2.

On Sunday afternoon, a T-Rex from the ARK spawned on the expo floor. It’s a good thing our entrance was made with stone! As a result, our booth made it through the incident with no damage.

Sep 10

Workshop Tile Animated v2I just finished adding the last major feature to the expo demo of the Ivory Skies game MMMob. This is great news, not just because MMMob is going to be a totally awesome Sim/Tycoon game, but also because it means that I get to start shifting my attention back to Dehoarder 2!

It has been a point of consternation for me that there is just not enough time/energy to do everything all at once. After a 40 hour work week, there are only so many productive hours left that I can put into game development work. So, I am very pleased that I will be able to return to focusing on Dehoarder 2, hopefully until its completion.

When we last left Harry and his hoard, he had met neighbors, his best friend, someone from waaay out of town, and government employees, both local and federal. He had the ability, but not necessarily the will, to get a job. Most of his day consisted of cleaning up trash and tending gardens.

Now, Harry’s story will continue to unfold. The antagonists will start antagonizing. Advances and setbacks will keep the boat rocking back and forth. The unexpected and absurd will be lurking around every corner.

Dehoarder 2 is officially back in active development! Check in later for more details on where Harry’s story takes him.

Summer of Coding

posted by Duke
Jul 30

It has been way too long since I have given an update, especially on the heels of the Steam Greenlight approval, and for that I deeply apologize. My goal is to be giving these updates at least once a month, though last month’s update was completely missed. This lapse in posting is not due to inactivity. When my workload gets super-heavy like this, I tend to withdraw into my work to the exclusion of all else.

The bulk of my progress has been made on MMMob, my collaborative effort under the Ivory Skies studio name. We’re desperately trying to get something playable by GDEX in October. It’s coming along pretty well, and we should be willing to share some screenshots soon, after our artists finish taking a first pass at some models, sprites, and UI.

Some work has been done on Dehoarder 2, but not as much as I’d like. As soon as the pressure lifts from the Ivory Skies expo crunch (I hate that term and what it represents), I’ll be able to devote more time to it. To be honest, once the voting slowed down after the first couple of days of the Greenlight campaign, I thought it was going to take many more months before Dehoarder 2 was Greenlit, if it was ever Greenlit at all, which is how the commitment to the MMMob expo scope happened.

I try my best to not get into situations like this, but here it is, and I think it is the Egregore of Game Development testing me. All I need to do to pass is continue stepping up, while somehow retaining my sanity.