Archive for the ‘City Beneath the Surface’ Category

Whither Prior Games?

posted by Duke
Nov 11

Today I wanted to talk a bit about my plan for my back catalog of games. It’s great to have a history of games, but sometimes measures must be taken to reduce costs and consolidate brand power. If you are a fan of Smiling Cat games, please read as the below may affect how you enjoy those games. My players are important. If you will be negatively impacted, please comment and let me know.


  • EARL’s Warehouse and possibly Chroma Invader to get free Windows releases.
  • Retiring from Kongregate and GameJolt coterminous with these Windows releases.
  • Thrust or Bust and Snowflake support to be discontinued at that time as well (and Chroma Invader invader if it does not get a Windows release).
  • Considering Dropping iOS support.

Web Player Games

Unity Web Player died long ago, a casualty in the war against insecure browser plugin technologies. Unfortunately, I have 4 games that I have released exclusively on the Unity Web Player platform (ordered by how awesome I think the game is):

  1. EARL’s Warehouse
  2. Chroma Invader
  3. Thrust or Bust
  4. Snowflake

EARL’s Warehouse is a project that I’m particularly proud of. This game has a lot going for it, both gameplay-wise with its interesting puzzle mechanics, and technically with its home-rolled voxel engine that actually performs well in Unity. EARL’s Warehouse also highlights what was so awesome about the Unity Web Player’s performance – in some areas (the penultimate level of The Depot specifically) it was pushing over 1 million triangles per frame, through a web browser, in 2013.

Chroma Invader Screenshot 6Chroma Invader was a quick project that was my take on the quarter-eating days of the early “wave progression” arcade games. This was my second game, and it was the first game of mine to earn any sort of recognition, picking up “Browser Pick of the Week” honors from the now-defunct site back in December of 2010.

Thrust or Bust will always hold a special place in my heart as my first game release, back when my doe-y eyed dumb ass thought that all I had to do was build it and they would come. Its flaws are apparent to me today, but it was a very ambitious first effort, much larger than it should have been for my first game.

Snowflake was kind of a psuedo-jam game, created over a long holiday weekend. If you haven’t played it, don’t bother; it’s not particularly good by any measure.

I have Windows builds of all of these games except Snowflake. My current thinking is to release the Windows build of EARL’s Warehouse as a free download in the run-up to the release of Dehoarder 2. I’m not entirely sure about Chroma Invader, but I might release the Windows build of that game, too. Unless there is someone who really MUST have Thrust Or Bust, though, I was going to retire that title. Forget about Snowflake, it is being retired; it would be too much effort to bring the project from what was probably Unity 2 all the way up to Unity 2017 just to create a new build of what I consistently rank as my worst game.

In addition to these Unity Web Player exclusive titles, I also have Unity Web Player versions of my first 4 Ludum Dare entries (Dehoarder, City Beneath the Surface, Dirty Fork, and Werepenguin’s Escape). These have always been available as downloads for Windows, so I have much less concern there.

Most/all browsers now refuse to load Unity Web Player unless you hold your mouth a certain way, if even that. Given that, I think that my game pages on Kongregate and GameJolt aren’t doing anyone much good any more. When the Windows releases of EARL’s Warehouse and Chroma Invader are made available, I will be retiring all Unity Web Player content from Kongregate and GameJolt.

If I have any Mac/Linux users who are still enjoying these games on Kongregate or GameJolt, I want to hear from you! Unless I know that there is some demand for Mac/Linux builds of my current Unity Web Player content, I won’t feel that it is worth my limited time to target these platforms.

Mobile Games

Currently I have 3 titles available on mobile:

Vintage Pachinko
Breaking Block
Prepare for Warp

My biggest problem overall on mobile is iOS. With the release of 64-bit, I do not have 64-bit builds of any of these games anywhere near ready. These titles were all created in the days of Unity 4, so they are several versions behind, and I know at the very least that Vintage Pachinko requires some effort to work with the newest version of Unity. In addition, as someone who lives primarily in the Windows world, developing for iOS is a huge pain. It requires me to maintain a separate Mac computer, which never gets turned on unless I’m creating a iOS build of an app, which means that it always needs hours and hours of updates and upgrades before I can even start being productive.

Prepare for Warp was delisted by Apple earlier this year seemingly because it simply hadn’t had an update in a long time. It didn’t have a history of crashes or any complaints that I received, but I got a nastygram all the same that said update or else without outlining anything that specifically needed to be updated. I’m not happy about that, but nor am I going to create updates for the hell of it when I have nothing of value to deliver, especially for my least popular mobile title. That’s insanity. Breaking Block is probably next.

Also weighing heavily is the fact that iOS sales are not even covering the developer program fee at this point. We’re far enough down the long tail of these titles that the revenue is approaching zero. They were never making me rich, but at least they used to pay to keep themselves going and then a bit more.

Because of issues like these and the distraction that they create for my current development, I’m seriously considering pulling out of the iOS market entirely, though I haven’t come to a final decision on that yet. If I don’t pull out of iOS, I will require a few weeks away from Dehoarder 2 in order to update my entire catalog in one big push. Hearing from those of you who want to continue to see these apps on iOS will certainly sway my decision. My final decision will probably be made in February when my annual tribute of $99 to Apple is due.

If I do let my Developer Program subscription lapse, the net effect is that my apps would no longer be available for download through the AppStore, but would continue to function on devices on which they were already installed.

I have no complaints about the Android environment, and as long as they continue to make my life easy I will maintain the Android/Play Store versions of these apps.

Full Steam Ahead with Dehoarder 2

Of course, my immediate future platform-wise lies with Steam. Dehoarder 2 at the very least will be on Steam, and probably several project after that. The future is difficult to predict, however, as the above clean-up plan shows.

Speaking of Dehoarder 2, I just received the latest batch of models from Arvex, and will be working today to integrate them into the game. With this latest delivery, we have just one more batch to go, and then I think the object set for the game’s release can be finalized.

Listen as the folks at Multivarious Games discuss several games by Smiling Cat Entertainment, including both Ludum Dare entries Dehoarder and City Beneath the Surface, as well as EARL’s Warehouse.

Thanks for the shout out, WMVG, I really appreciate it!

For the impatient, the bits regarding Smiling Cat run from 28:10 to 34:30, but you should really listen to the entire podcast as WMVG is a great group of game developers.

City Beneath the Surface
Ludum Dare is Ludum Done, and there is a new game in the Smiling Cat library as a result.

The theme for Ludum Dare 29 was “Beneath the Surface”. I felt this was a very easy theme to come up with a game idea for, though I almost bit off more than I could chew. I had to pull out all of the stops, and really bust my hump to get this one done for the deadline.

What resulted is an Atlantean adventure that I’ve titled “City Beneath the Surface”. In this first-person adventure game, you set out to repair your broken-down submarine, but soon you will discover that there is much more going on beneath the surface. Strange, glowing orbs speak into your head, and the Greek gods are pleading for your help. Will you uncover the truth of what really happened to Atlantis? Or will you just repair your sub and get on with your day?

Argh! Did your sub break down again? I hate it when that happens.

Argh! Did your sub break down again? I hate it when that happens.

I was really pleased with how the mood of the game turned out. Between the music, sounds, lighting, and fog, I really managed to capture the feel of swimming around a lost, sunken city. I was also pleased with my 3D model for the shark, that, while not rigged and not perfect, really shows how much my modeling skills have improved. It’s the first actual animal model I’ve attempted since that dreadful hornet model from Thrust or Bust.

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

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

Judging will still be ongoing for the next three weeks. From the first feedback comments I’ve received, people really love the setting and mood, but are frustrated by the controls. I’ve taken some steps to correct that; unfortunately, I cannot update Kongregate until after the judging ends. Hopefully the game does well in judging in spite of that.
Screenshot 4

This is the first game by Smiling Cat to feature multiple cinematic endings. Whether or not you get the best ending will depend on who you help – yourself, or the gods. Anyway, you should make sure to check out the game on Kongregate, or download the Windows desktop build.
Screenshot 5
Screenshot 6

For more details, You can check out my development journal on the Ludum Dare site. Included below is my retrospective writeup from the event.

Ludum Dare 29: City Beneath the Surface – Retrospective

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.

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 that for the second time just happened was 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.

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.

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.

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.