Archive for the ‘EARL’s Warehouse’ Category

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.

The Depot - Breaking GlassI am proud to announce that after many months of work, EARL’s Warehouse: The Depot has been released and is, as always, free to play on Kongregate.

Explore the underground warehouse depot facility, and discover and solve the mystery of Sigma, one of the EARL models that disappeared in the Gremlin Invasion that EARL fought off in the first two chapters. This chapter makes extensive use of light and darkness to build an overall feel of mystery and suspense. It also bears mentioning that some of the new puzzles are the most challenging in the game so far.

If you haven’t completed the first two chapters, do not fret, with this update the first level of every chapter should be unlocked for play, allowing you to progress through each chapter independently. A new bonus level also awaits for those who complete The Depot, filled with over a score of cannons!

The Depot - Cannons!Not only are there new puzzles and story to be discovered, but there are also several long-awaited improvements, including being able to pick up boxes via keyboard controls and better camera control.

I hope that you will find this new chapter an exciting, fitting extension of the EARL’s Warehouse game and story. Over the past seven months, EARL’s Warehouse has become my highest rated game on Kongregate, and my goal is to make the game even better with this new release. As my flagship web game, expect to see continued support for EARL’s Warehouse into the future, with possible plans for yet more levels, a level editor, and puzzle walkthroughs.

Please support Smiling Cat and play and rate EARL’s Warehouse today!

A Good Feeling

posted by Duke
Sep 7

I just completed what should be the release build of EARL’s Warehouse: The Depot, uploaded it to Kong, and I am ready to flip the switch next Saturday to take it live. This will make four projects already completed and released in 2013, with four months yet to go! I am already planning to complete and release at least one more project, and very possibly two, before the holidays settle in.

As I look back over Smiling Cat’s timeline, I am astonished that I have accomplished more in this year alone than all other years combined. It is a very good feeling. I’ve never loved any other work this much. I sit down to start work early in the morning, and reluctantly step away around dinnertime, not feeling drained or beaten down, but exhilarated and uplifted. I hope I can continue to devote time to game development and eventually transition to doing this as a full-time career. If I can manage five releases in a year with this as a part time gig, I can pretty well imagine what would be possible if I were developing games full-time.

WarpGame Proto ScreenieMy prototyping session last week quickly yielded some awesome results. I’m pleased to announce my next project, tentatively titled “Prepare for Warp”. It will, as promised, be an Android game release. It is already well into development at this point, and I’ve handed my phone around to a few people, who generally describe the gameplay experience as “intense”.

Today, I plan to work more on “Prepare for Warp”. I will probably finally add some texturing to some of the main 3D objects, maybe add some more detail to the ship model, and open up a few higher difficulty levels. It took me a while to beat the current hardest levels but now they seem too easy! There are actually only a few features left to add before the gameplay should be completely stable, so I’ll probably focus on that as well.

Please join me on Kongregate next Saturday morning at approximately 7:00am EDT for the launch of EARL’s Warehouse: The Depot. I’m looking forward to releasing this epic expansion to EARL’s Warehouse, and hope that you enjoy all of the new puzzles and the new story!

Sorry, no post last week due to family circumstances. At any rate, there has not been much to report, since Smiling Cat is in a transition between wind-down of one project and prototyping for the next. So far I have a couple of ideas that seems like they will bear fruit, but I’d like to test them out in prototype to see if they are actually any fun before announcing publicly what they are.

One important happening in the last few hours is that the Ohio Game Dev Expo has been moved to December 7. I’m still very much looking forward to the event, and I hope that many of you can join me there. However, this date change does mean that the launch of EARL’s Warehouse: The Depot will no longer happen at the Expo, as I have no real reason to delay the release of a game that is done by nearly three months. The release of EARL’s Warehouse: The Depot will go on as planned on September 14.

Instead of launching EARL’s Warehouse: The Depot at the Expo, I now hope to showcase one or two new mobile games, which may still be in development at that point. In a way, I think this is a good thing. Showcasing new mobile games alongside existing web-based games will more accurately reflect the future of Smiling Cat, since my focus for the near future is going to be mobile games.

That’s all for now, this week I mainly wanted to get the word out about the change of date for the Ohio Game Dev Expo, and clarify that the release date for EARL’s Warehouse: The Depot will remain the same in light of the Expo’s date change.

EARL's Warehouse Proto to NowNext week will mark the one year anniversary of when EARL’s Warehouse was born as a concept and the prototype was started. As you can see from the picture, EARL’s Warehouse came quite a long way from its early builds to its latest test build.

Today, I thought it would seem fitting to discuss and evangelize a bit about the prototyping and iterative development that went on in EARL’s Warehouse on the eve of this development anniversary.

For the first prototype, EARL was nothing more than a cube floating on top of a box, and his warehouse just a grid of grey cubes. He didn’t even have a name at that point; the entire project had a placeholder name of Bloxxel. When he picked up boxes, they simply disappeared, only to reappear when placed. The physics sucked, and often EARL would suddenly jump to the roof. Beneath this rough implementation, though, my First Impressions team found a gold nugget of fun that came from moving boxes around a voxel-based world to solve puzzles.

Slowly, over time, features emerged from the prototype design. Just enough work was given to each area of the game each time it was touched to take it to the next level. Boxes gained powers. One map turned into four maps. Some sound effects and a couple of cool music tracks were added. Crude physics gave way to more refined physics with less roof-jumping glitches. Placeholder graphics were replaced with flat textures. New robots were introduced. Four maps turned into ten maps. More sounds and music were added. Physics calculations were optimized. Bumpmaps were added to the graphics. Robots and powers were balanced and tuned. Ten maps turned into 24 maps, and so on.

Prototyping and iterative development as exemplified above are both very important to independent game development. Both are crucial techniques for preventing wasted work.

An early, rough-looking prototype like the one inset in the picture allows rapid experimentation to see if an idea will work or is total garbage. For every prototype like Bloxxel that gets made into a game like EARL’s Warehouse, I have 3 or 4 prototypes I will never touch again, because the concept could not be made to work in practice. The sooner a project is runnable the better, because that is all the sooner you can determine if the project is gold or garbage.

Iterative development allows you to quickly gather feedback on whether a project is heading in the right direction. By adding a few working features at a time to a runnable project, you can spot wrong turns quickly and make corrections. If you do too much work without pausing to gather feedback, you run the risk of wasting a lot of work that can be expensive to undo.

When doing iterative development, it is also important to address the highest-risk elements of the project first, so that you can quickly identify and address any project-crushing issues that may arise. It is important to iterate across your project, touching all areas, and not get too bogged down in seeking perfection in any given area. When all relevant aspects of the project have had some work, then it is time to restart with the oldest aspects of the project, and apply insight gained from other areas of the project.

There are many ways to apply these techniques. One of the easiest is to use an established game engine like Unity 3D, GameMaker, or any of the other offerings that are out there. Nowadays, most of them are cheap, if not free. And if it’s not cheap or better, it doesn’t fit with the philosophy of inexpensive prototyping and iteration. A mature, well designed game engine lets you easily play around with and re-arrange elements to explore game concepts. Interactions can be mocked up and refined quickly and easily.

Another way to incorporate iterative development is to commit yourself to delivering a playable build of your project at the end of every work session. I do this, and it keeps me honest about making sure I am leaving things in working order as I iterate, and has other advantages as well: I am always ready to give a demo of all of my latest projects, if needed. If done right, it takes no more than 5-10 minutes to perform the build and do a quick smoke test. (Note: Always keep your old builds for a while in case you discover a showstopping issue deeper than a smoke test can penetrate, especially if you demo often.)

I find that keeping a prioritized backlog of small-to-medium sized tasks serves to both keep me productive, and to promote iterative development. Each work session I will look over this list, pick out a few items I would like to deliver, and then focus on delivering only those items, getting sidetracked only if some other task blocks me from completing those items.

Some of these techniques I discuss from a solo developer point-of-view, but many have team-based analogues that they were distilled from. Nightly builds for team projects are common, as are Scrum-style product backlogs containing stories broken into tasks that are then assigned to individuals or teams. The basic concepts of delivering early and often are still there, and are at the heart of any prototyping or iterative development effort.

Iteration. It’s one of my keys to getting things done.

So while I climb down off this soapbox here, I’ll just dust off and say that testing continues to progress well for EARL’s Warehouse, and I am still on-target for release on September 14 at the Ohio Game Dev Expo. I hope anyone near Columbus who is reading this blog will be able to stop by and see all of us Ohio game developers there. As game development winds down, my preparations for the expo will be heating up.

Aug 10

Today I worked on the tool that will generate the optimized maps for each level of EARL’s Warehouse: The Depot. In theory, its job is to determine what blocks within the master map can possibly be seen by the player in each level, then save an optimized copy of the map for the level that contains only those blocks.

In practice, I am still working out a few kinks. The concept sounds simple enough, however, you start realizing things like the fact that you have to test multiple points (each corner) on each block, and that the resulting algorithm has a O(m^3 * n^3) performance profile that results in literally 10 billion Line-Of-Sight calculations and thus is the type of thing you leave running overnight… Not very good for testing.

With such a slow, methodical algorithm, at first glance it seems that it would be quicker just to hand-tune the levels, until one realizes that CPU time is a lot cheaper than human time, especially when that CPU time is spent while the humans are sleeping.

I’ve done what I can to speed this processing up, such as skipping processing on empty blocks, tweaking algorithms, multithreading, etc., and it seems I am at about 400 minutes to process an average map, and it doesn’t look like it’s going to get much faster than that.

Testing is going well, earlier this week I went through all of Chapter 1 and most of Chapter 2, and have made a few fixes and tweaks. Some were a long time in coming, such as shortening the jump a bit on the first Dash block level to make it less brutal.

Overall, I think I am still on-target for a September 14 release date. More updates to come!

It happened more quickly than I thought. All of the development loose ends that needed to be tied up are now tied up, and EARL’s Warehouse: The Depot is now dev complete and is ready for extended system testing.
By dev complete, I mean that all coding and map editing is done; the only edits that will happen in those areas now are tuning (gameplay and performance), and bugfixes.

System testing will involve testing the old levels as well as the new, to make sure that no regressions have occurred, and will also involve testing the infrastructure of the game, such as making sure levels get unlocked when they should, and all UI elements do what they should.

Beyond testing, the only other tasks that remain involve finalizing the assets that need to wait until maps are stable and tested, like creating screenshots for the level select thumbnails, creating optimized versions of maps for each level, and determining the times for bronze, silver, and gold for each level.

Right now, I am targeting the release of EARL’s Warehouse: The Depot to coincide with the Ohio Game Dev Expo on September 14. I think I am well on track to get there, and am really looking forward to it.

So, having unexpectedly reached this major milestone with my project today, I am going to reward myself with a few extra hours of downtime, and attack the system testing starting fresh with my next work session.

Today, I set out to finish decorating levels in EARL’s Warehouse: The Depot, adding physical representations of lights, more beams and trusses, and of course, lots of tongue-in-cheek signage. All was going well for a couple of hours, then, suddenly, the level editor crashed while saving the master map for The Depot. It turns out I was pushing dangerously close to the 32-bit process memory limit with both the Unity IDE and the level editor loaded. When I reloaded, I discovered a zero-byte file in the place of the master map, almost 3 months of work on that beautiful masterpiece gone.

Except… Wise Duke had a version control system in place, with commits made at the end of every work session, plus a fairly extensive history of server backups to choose from. Instead of losing almost 3 months of work, I lost only two hours of work!

I immediately changed my editor to make a hard backup of any file replaced while saving, turned down the egregiously high view distance in my editor to reduce memory usage, and was able to resume work and actually complete my goal of decorating The Depot today.

All the time I spent earlier this year upgrading my server, my version control system, and my backup system really paid off. If you are doing any sort of serious software development, make sure you have these things in place. Bad things do happen to good files, and preparing for that inevitability is well worth your while.

Also, if you are creating a custom editor for your project assets, strongly consider implementing a system that will back up replaced files on save. If I had that in place before today’s visit by mayhem, I would have lost maybe five to ten minutes of work.

Jul 20

Sorry no post last weekend, not quite sure what happened besides running out of time.

After overhauling the end boss level, and finally coming up with an exciting idea for the bonus level (lots of cannons!), EARL’s Warehouse: The Depot is now level-complete. I already have a laundry list of tasks going that need to be completed before the expansion is release ready. The main tasks remaining are adding decoration to each of the new levels, and a thorough end-to-end system test of the game, which hasn’t been done in a while.

Today I’m working on 3D models for a couple of new block types to give The Depot some more character. I’m sure industrial railings and chain link fence will look pretty cool adorning the warehouse units of The Depot. They will also make it easier for me to constrain EARL within the boundaries of the level without obstructing views. Once I finish those models, I’ll start going through the new levels one-by-one and decking them out with some character. This includes signage, beams, trusses, and lights in addition to the new railings and fencing. The monthly COGG meetup is also today, so the work will be stopping early in order to attend. I presented at the last two meetups, so I’ll probably just sit the sidelines for this one.

I just now noticed the Ohio Game Dev Expo going on here in September – seems to have been announced in the past week. I most definitely plan to be there in an exhibitor role, more info to come on that.

I had a sudden inspiration last weekend for a social mobile game, and Gill and I were really excited about it. Alas, when I researched the next morning, I found that several of the unique mechanics that composed my game idea already exist or will soon exist in other games. Oh well, that happens. Ideas are cheap. It would require quite a bit of server infrastructure anyway for all of the shared media that would be generated. Maybe it will still happen, though, if I can refine the concept to be different enough from the other games I found, and find a viable solution for the infrastructure. I’ll keep it on the back burner for now.

Probably, though, I should be starting with a somewhat less ambitious project for my next foray into mobile. Something I can deliver inside 2-3 months. Something simple, and fun, and addictive, and awesome. I just have to figure out what that something is.

Time to go figure out some 3D models, more updates to come!

The rough drafts of the eleventh and the final levels of EARL’s Warehouse: The Depot are complete. The boss level still needs some animation work, and will be an exciting two-phase boss fight against the main antagonist of the story, involving lightning bolts and lost footing.

This leaves just the bonus level needed, then the process of cleaning up and polishing each level begins, ensuring to the best of my ability that there are as few possibilities of getting stuck as possible. This is proving to be a particular challenge with using a master map, as it can be difficult to prevent the player from being able to break out of the normal flow, revisit parts of the map from previous levels, etc.

I’ve been starting to put some thought into what direction to take Smiling Cat after the Depot project. More than likely, my next project will be based on mobile technology, since mobile is shaping up to be the future. Also, I think with my successes this year with EARL’s Warehouse and Dehoarder, that it is time to re-approach the idea of making games for a living, which necessitates making games for revenue. That is currently a lot easier with mobile platforms than with PC or Web. Web portals like Kongregate are great and all, but unless working in the in-game purchase market or drawing millions of hits, the ad revenue just is not there.

Having said that, Smiling Cat’s current library of web games, including the upcoming expansion to EARL’s Warehouse, will continue to be available to play for free on Kongregate, if for no other reason than to increase my brand visibility.

I look forward to seeing what the future holds!