Less than 72 hours left to get in on Retro Game Crunch, six games in six months—plus five bonus games! (For you development types, don’t miss the Retro Game Crunch Primers.)
Horror Vacui 2 is coming soon to the iPhone, iPod touch, iPad and Mac. It’s the first game to use the framework I designed for Mimeo and the Kleptopus King. There’s even a Mimeoverse audio Easter Egg hidden in the game’s options.
Update: Horror Vacui 2 is out now for the iPhone, iPod touch and iPad! It’s also been approved for the Mac App Store so it should be available on Day One!
While I removed the target launch date from the project description back in April or May I don’t think I’ve explicitly addressed it on the blog. This question comes up a lot on Twitter and when showing the current demo in person. Holidays 2010 was an ambitious and, as subsequent work and research has shown, unrealistic estimate (New Super Mario Bros. took a team of more than 60 individual designers, programmers and musicians over two years to complete).
In addition to doing all the design, programming and music for Mimeo and the Kleptopus King I’m also designing, developing and supporting two commercial products (Mint and Fever), a number of freebies (like Lessn and Shortwave) and other projects (like a sequel to Horror Vacui and the next version of Designologue).
A more realistic estimate might be something closer to the five years it took Pixel to create Cave Story (although hopefully not that long). The bottom line is that this is a one-man labor of love and will take as long as it takes.
Still quiet, putting the new iOS/OSX game engine through its paces by revisiting Horror Vacui before returning to work on the Mimeoverse.
Mimeo in the Tumbleverse has been quiet lately. This is why.SI2d Running on iOS and OS X
Just a quick note to point out that I’ve added a FlashNSF player to the sidebar of the site. Now you can listen to the 16-bit version of the themes from the game on infinite repeat. The best part is that the p1xl guys use the same audio library I do in the game so the songs should sound identical—without me needing to manually trim and convert each track to MP3.
For the curious, I’ve also written two posts on my personal site documenting my workflow and sharing the tools I use to generate NSFs.
Pre-crisis gameplay and level design test. Temporary tileset. Block. Blocks. Blocking. Blocked. BLOCK.
This might be a long one. Mimeo is having a bit of a gameplay identity crisis.

Mimeo was originally imagined as a Mario clone. Run, jump, bump and stomp through levels and enemies while collecting bits. Powerups, instead of affecting the player character, modify the gameworld and graphics. Everyone seems to love the concept but I’m having trouble translating it into a coherent and compelling gameplay mechanic. Without a solid gameplay mechanic based around resolution switching the visual and audio variety is just surface decoration. And right now resolution switching is creating more problems than it solves:
- resolution is in one respect a glorified health meter; a 2-bit Mimeo falls with one hit; 16-bit, four hits (with each hit dropping the resolution)
- resolution is also tied to walls and bridges in each level; bumping up the resolution causes a platform to appear making it possible to scale a cliff or cross a gap; a binary state controlled by one of four inputs
- because resolution is tied to both player vitality and level design, the latter must allow for completion with only the lowest resolution; this leads to an unsatisfying path of least resistance through every level that potentially negates the challenge of higher resolutions
- resolution switching is an indirect action; it is performed by the player, not the player character; less satisfying than direct action and probably the hardest thing to reconcile
The Mario template is also causing gameplay dissonance:
- the upgrade from 2- to 4-bit comes with a growth spurt but has no analog in subsequent resolution upgrades; all narrow passages require a switch to 2-bit
- after (implementing and then) removing the bump mechanic taller offers little benefit over shorter; while Mimeo jumps no higher he does have a greater reach of one tile; but he is also a larger target for enemies and projectiles
- acceleration and momentum-dependent jumping (run faster to jump higher) undermine height obstacles with resolution switching based solutions
- the current jump behavior (borrowed from Mario) is not suited to the vertically-challenged 10 tile high viewport; a standing jump spans 4 vertical tiles, 5 with a running start; assuming Mimeo must be standing on something to jump add 1; if taller, add another 1 to Mimeo’s reach; that means Mimeo has a 6 or 7 tile reach when jumping, nearly three quarters of the screen
Limitations of touch controls compound these problems:
- because there is no tactile feedback and because (in the interest of visibility) touch points are confined to the edges of the screen, the player’s thumbs can easily drift off a button at inopportune times;
- a player’s reflexes are only as good as their input device; Mario’s core gameplay mechanic is jumping, falling in holes being a ubiquitous threat; occasionally erratic controls plus instant death equals player frustration
So how do I resolve these issues? Not exactly sure yet but here’s some possible solutions (some of which introduce their own problems):
- decouple resolution and player vitality; which means the addition of hearts, a health bar, or hit points
- simplify and normalize player movement; consistent behavior ensures that the player feels in control
- clearly differentiate the impact each resolution has on gameplay; 2-bit empty space becomes a solid block in 4-bit which floats to a different position in 8-bit and runs along a regular looping path in 16-bit; different enemy behavior in each resolution including a vulnerable “hibernation” state; maze map that can only be navigated by changing to the correct resolution before exiting/entering room; rooms that prevent resolution switching until an objective is met
- add ability to “herd” enemies into a desired resolution; possibly to activate their hibernation state or meet some other objective (does that mean that enemies don’t exist across resolutions?)
- adopt exploration gameplay with gradual but permanent resolution acquisition to eliminate “path of least resistance” problem; funny, before Mimeo was Mimeo and a Mario clone it was more of a Metroidvania; full circle
So these are some of the problems I’ve been grappling with the past couple weeks. I’m not giving up. Putting a name on them makes them seem surmountable.
Some initial boss ideas and sketches (based loosely on the Veined Octopus).
Been quiet around here lately. I’ve been grappling with ways to integrate resolution switching into the level design. Or rather, with making resolution switching central to the level design. Because if it’s not the core gameplay mechanic then (at least) three quarters of any work I do will be for nothing.
Late last week I made a good start on the programming for the Snowsquatch Frost Breath ability. The graphics aren’t done so no video of that yet.
Earlier this week I implemented moving platforms which involved taking the grid-based collision/physics engine and updating it to allow collisions with arbitrarily positioned entities (which was also required for Mimeo to be able to interact with frozen entities).
The past two days were spent on miscellaneous graphic updates and some new sprites (one of which, an 8-bit Kiddo fleeing after being rescued by Mimeo, is shown above).
Today I rewrote entity management. Previously when a level was loaded all entities were created, added to the map and ran on the same update cycle—whether they were on screen/map or not. This led to two issues. First, the most obvious, is that the game was running lots of logic that had no impact on the onscreen action on every frame. The second, most problematic issue was that locomotive entities placed at the end of the level were moving on (eg. towards the center of the level, down holes, or otherwise off map) before the player could encounter them. Now entities are only created and added to the map when their spawn point is within a few tiles of the visible area and removed when venturing beyond that extended region.