Miriam’s Mice Update (v1.1 and v1.11)

I’ve just released an update to my latest game (rolling out on Android shortly), with the following contents:

  • Overhauled the Mouse Guide system so that the player can toggle between mouse types and an inactive guide, rather than unlocking guides once and then being unable to inactivate them.
  • Added the ability to skip dialogue at the start and end of a room if the room has previously been completed.
  • Increased the speed of Undo/Redo in rooms, and added the ability to reset the room in one step by pressing ‘R’ (WebGL version only).
  • Fixed a bug with the Undo/Redo system that occasionally led to an Ace score being awarded even when the room was completed with more than one movement.
  • Fixed a bug where a previous dialogue box would sometimes reappear at the start of a later dialogue before being overriden.
  • Corrected a few spelling/grammatical mistakes.

Unfortunately for those of you who have been playing Miriam’s Mice on Newgrounds, I will not be able to publish this update there. (Technical details: this is because I’m using Unity’s PersistentDataPath to store save data, and due to how Newgrounds hosts WebGL games, a new upload would have a different path, and thus it would lose everybody’s save data – an unacceptable side effect for such a lengthy and challenging game.) At least none of these fixed bugs were game-breaking. If you were one of the people who was awarded a star despite not actually acing a room, I’m sorry for how anticlimactic that must have been! If you have the motivation, you can always try and ace it properly, even if there’s no extra reward remaining.


UPDATE: I’ve now also released v1.11 to correct a bug introduced in v1.1 (whoops!) – now the game won’t freeze when toggling colour-blind mode.
Thanks to those of you who alerted me to the issue! As always, you can send bug reports to david@wigdev.com

Miriam’s Mice (Complete Game)

Miriam’s house has been overrun by strange, colourful mice! Will you help her chase them away?

Your primary goal is to use Miriam’s various devices to solve challenging puzzles and guide the mice into their holes. But perhaps, if you investigate more deeply, you might learn why this cluttered house is full of such oddly intelligent mice in the first place…

I’m pleased to make this game available for free online, but if you’re interested in thanking me and supporting my work, I’ve also made it available on Android devices for a small price. The mobile version of the game has better audio quality and smoother gameplay, and each download would mean a lot to me!

I don’t currently have any plans to release Miriam’s Mice on iOS, but if you are looking for other ways to support me, they can be found here.

This game was made using Unity, and all the graphics, sounds and game design was done myself, with the help of tools such as Fruity Loops and Inkscape. Have fun – and good luck!

Mini Autumn Update

Hi all, this is just a brief check in from Mr WigDev. (Hmm… nope, not using that nickname again.)

Thanks to everyone who sent me bug reports and suggestions for my Miriam’s Mice Beta. Those paying close attention will notice I’ve stopped updating it – my attention is now solely on the final version of the game, and the latest tweaks and improvements have only been added to this (currently unpublished) version. Feel free to send me more bug reports and suggestions, but the beta has been updated to its final state. (…Unless another fatal issue is found I suppose – which is entirely possible!)

I still have the last stages of testing to do on the final version (some music triggers and animation timings are misbehaving between different platforms, ugh) but as soon as I’m done, I’ll let you know here how you can access the full game in all its glory.

And since I said I’d keep it brief, that’ll be all for now! Mr WigDev signing out! (Ack, still awful)

Colour-Coding and Accessibility

When you want to convey information visually, in a quick and simple manner, it’s no secret that colour-coding can be very effective. But if you aren’t colour-blind yourself, it can be easy to forget that not everyone sees different colours in the same way. I actually am slightly colour-blind, but only mildly, so I completely forget about it most of the time!

Up until now in my games, I’d never thought about specifically catering for colour-blind players – but my graphics had all been distinct in shape as well as colour, so I got away with it. In my latest game however, there were some graphics (mice, cats, etc.) that differed only in their colour – and their colour was a core part of the puzzles! As some of you rightly pointed out: that needed fixing.

So I’ve been busy! Luckily I had already been using blue and red as the most common colours, meaning many people with red-green or blue-yellow colour-blindness (the two most common varieties) may have no problem with the graphics. For those who do though, I’ve just updated the Miriam’s Mice Beta to version 0.51, which includes a new Colour-Blind mode. This adds high contrast borders and patterns of vertical or horizontal lines to the shapes so that they can be distinguished even by somebody with complete Achromatopsia (the impressive sounding name for rare total colour-blindness). It may not be perfect, but it should help!

(As an aside, it’s frighteningly easy to lose yourself in researching the different varieties of colour-blindness, their occurrence rates, and how precisely they affect vision. Not to mention the fascination of playing around with LMS colour-space filters to try to simulate how colour-blind people perceive different colours. Don’t start investigating unless you have a free evening/night/day/week/year/lifetime ahead of you!)

Thanks to those who pointed this out, and to Andrey for your helpful suggestions. I’m still just one guy, with limited experience, so do please let me know if I make more dumb accessibility oversights in the future!

The Infinite(?) Miriam’s Mice Update Log

Rather than spam new posts for every minor update to my Miriam’s Mice Beta, I thought I’d collect them all here in one place. This list will probably only interest me, or the nosy, or anyone who wants an insight into the particular quirks of Unity/WebgL compatibility, but if you’re one of those curious people, don’t worry! I’ve edited it to avoid any major spoilers.

  • v0.11 – Small delay to intro timing so that the title dropdown appears correctly (More technically: now waits one frame after game load before beginning intro Coroutine – a Unity/WebGL specific issue)
  • v0.12 – Resized certain text that overflowed out of containers (a Unity/WebGL specific issue)
  • v0.13 – Removed a debug level skip code (Whoops!)
  • v0.20 – Fixed staggered mouse movement that made them pause at every intersection (More technically: in the main game loop Coroutine, altered every ‘yield return new WaitWhile(x)’ to check ‘if(x)’ once before yielding, to avoid delay frames – a Unity/WebGL specific issue)
  • v0.21 – Set map scroll speed with arrow keys to be faster and constant (More technically: multiplies all scroll movement by time since last frame to account for WebGL-introduced lag)
  • v0.22 – Reassigned various early-game character expression images to better suit their dialogue
  • v0.23 – Fixed the appearance of key items in the Workshop so that they maintain their base colour while glowing
  • v0.24 – Corrected the timing of mouse conversion during pellet deployment (I was rounding up instead of down, ugh)
  • v0.25 – Adjusted mouse translation text display so that it doesn’t wobble with each new line (More technically: gave the Text component a fixed line spacing so that it doesn’t update due to variable letter heights as new words appear)
  • v0.30 – Fixed major issue where key items in Workshop/Basement were sometimes unclickable (More technically: flipped objects by giving them negative scale rather than rotation through x/y axis, to keep their hitboxes parallel to the z-plane – a Unity/WebGL specific issue)
  • v0.31 – Redesigned some puzzles (“Attraction and repulsion” & “The wildcat enclosure”) containing devices that may not have yet been unlocked, which allowed unintentional early access to later rooms
  • v0.32 – Corrected bug that sometimes left extra mice in the room if pressing the stop button when mice were overlapping
  • v0.33 – Fixed major issue where a story event was failing to trigger (Anyone who has completed the room “A solitary cell” before this update should re-complete it as they did initially to fix the problem)
  • v0.34 – Allowed paper background to auto adjust to fit the variable sizing of handwritten fonts (a Unity/WebGL specific issue)
  • v0.35 – Set various object rotation speeds to be faster and constant (More technically: multiplies all Quaternion rotations by time since last frame to account for WebGL-introduced lag)
  • v0.36 – Fixed bug that sometimes left dialogue option buttons on screen (More technically: only sets button.interactable when both options have fully appeared)
  • v0.40 – Overhauled certain one-off events so they will re-occur if ever interrupted by a webpage reload (More technically: delays all calls to SyncFiles() until the event is complete)
  • v0.41 – Paused game events while progress gauges are filling
  • v0.42 – Stopped the current mouse guide colour from switching unnecessarily when using Undo/Redo in a room
  • v0.50 – Added a late-game mouse variant book and popups to help keep track of mice seen, as well as overhauling the related allegorical dialogue (Finally an addition, not just a bug-fix!)
  • v0.51 – Another addition: a Colour-Blind Mode! (More details)
  • v0.52 – Fixed certain in-room game events to only trigger if the room is successfully completed
  • v0.53 – Flipped/Rotated a bunch of rooms (“Lost and found”, “Carefully timed consumption”, “Delayed start”, “Windows”, “Close quarters”, “‘Lactose’ intolerance?”, “Sofa party”, “The odd couple” & “Corner pellet”) to stop any chairs/sinks from facing the walls (Nitpicking, I know…)
  • v0.54 – Altered image compression method to balance crisper graphics with reduced filesize for WebGL platform (More technically: RGBA Compressed DXT5, with larger base graphics and Crunch Compression, without Mipmaps due to the fixed WebGL game window resolution)
  • v0.60 – Fixed a late-game room (“Bottleneck”) that had been inadvertently broken by a previous update (Yikes! So sorry to those of you who’d been aiming for 100% since then!)

Beta Version of Miriam’s Mice

Hello all! I recently uploaded a full Beta Version of my latest project: Miriam’s Mice! A ‘simple’ game about chasing ‘mice’ into holes.

Those of you who have been diligently following my development updates will have noticed a fair bit of ‘deadline creep’ recently. Part of that is the inevitable result of a 1-man project (especially when that 1 man keeps coming up with new ideas!), but I’d also been testing the game on various platforms, and hadn’t yet decided what form and content I wanted to release for free here on my site.

In the end, I’ve uploaded the entire game – with all 100 levels and hours of gameplay! – but without any audio. This should provide a lot of fun and be suitable for testing, but it won’t be the full immersive experience of the complete game. (And it also helps to reduce the file-size – a notorious issue with Unity WebGL projects!)

Fair warning: The game has not yet been fully tested in this WebGL format! I’ll likely deploy many small updates to address any bugs or WebGL compatibility issues over the coming weeks, but these shouldn’t interfere with any save data, so dive right in! If you find a bug yourself, you can alert me at david@wigdev.com

Have fun!

The Death of Flash

Yes, I know, it was a long time coming. Nevertheless, for those like me who grew up with flash games online, gathering untold entertainment and inspiration from the simple, but often deceptively deep, creations of others, this loss deserves a moment of mourning…

…But that moment has clearly passed. I am, after all, two months late – and while I’m sure I could write some sort of overblown eulogy, I wouldn’t be saying anything that hasn’t been said many times before (and far more eloquently). So where does Flash’s demise leave this site? Well, it’s entirely possible that I will remake my older games, such as Unstable, for a new medium in the future. For now however, I can no longer support my flash games online.

But I expect there are some of you who may have maintained ways of playing flash files offline, or through some other convoluted method, and for those of you I offer the .swf files of my flash games for download, available on their pages (e.g. Unstable). These files are offered for personal use only, but otherwise go nuts!


(In other site news, those waiting for an update on my latest project will not need to wait too much longer: I will be releasing a beta version of Miriam’s Mice some time next month in early April, when I’ve finally tied up the remaining loose ends. So don’t move a muscle until then!)

2020 Christmas Update

Happy Christmas all! Despite everything, I hope everyone’s managed to get as much healthy enjoyment out of this year as they can? I’m personally looking forward to taking a break from everything for a few weeks – in which I will sleep for as long as humanly possible – but before that I figured it was only right to give you a progress report on Miriam’s Mice, my latest game in development.

I’d originally been hoping to get an alpha version uploaded for you all by now, but I recently came up with a great new idea for an extra feature in the game which I haven’t quite got working yet. So rather than give you a pitifully substandard version without this incredible feature, I’ll instead be waiting until sometime in the new year for the alpha release.

(Full disclosure: yes, as I’m sure you’ve all guessed, this great new feature is something minor and unnecessary that will probably only be fully enjoyed by one person: me. Totally worth it.)

In the meantime, it’s been far too long since I displayed the progress I’ve made since the very outdated demo I published earlier this year, so to whet your appetites, here’s a flood of screenshots. Given the limitations of the medium of screenshots, you’ll just have to imagine the cool animations and sounds that go with them…

As you can see, there are still a few graphics that need finalising – most obviously I haven’t yet created proper graphics for Miriam herself, but I also want unique closeups of the mice for dialogue popups, plus more decoration in the workshop and basement, and some significant tweaks to the UI… not to mention that everything else is subject to change depending upon my whims… (Okay, so I’m not quite at the alpha release stage, new feature or not!)

Still, the end is in sight! And I hope that becomes a more global refrain as we move into 2021. Take care all!

Difficulty Curves in Puzzle Games (the WigDev Way)

Happy October, puzzlers! Apropos of pretty much nothing (but mainly because I’ve been endlessly designing rooms for my upcoming game, so it’s on my mind), I thought I’d share some of my recent thoughts about difficulty curves in puzzle games.

It’s tempting to assume that in any puzzle game, the challenges should get strictly harder – and for a simple linear game, such as a set of sudoku puzzles, that might be fine – but in a broader game with story or adventure elements, this isn’t necessarily the best option. If a player is spending many challenging minutes/hours on every single puzzle late in the game, at the same time that they’ve started uncovering and resolving some of the game’s mysteries, then their slow progress may feel annoying – just when the puzzles are supposed to be at their most fulfilling.

As with all games, difficulty should ebb and flow to provide breaks and levity, but there are some features unique to puzzle games that can allow even a ‘simpler’ challenge to fulfil a useful role. With that in mind, I thought I’d summarise my own approach here:

EARLY GAME

  • Basic puzzles that introduce key gameplay elements (including the core mechanics of the game, and how the interfaces work)
  • Easy challenges that combine these basic elements
  • And, in non-linear games: Moderate optional puzzles that require more complicated strategy with these same basic elements (to reward players who want to put extra thought in, without yet requiring it)

MID-GAME

  • Puzzles that introduce new gameplay elements (these might be new features that have been unlocked as the game/story progresses)
  • More complex puzzles that combine all the elements so far
  • Short puzzles that require one clever insight to solve (such as a way different gameplay elements interact that the player was not explicitly told)
  • And, in non-linear games: Challenging optional puzzles that also require obscure tricks to solve (to reward those who want to fully explore all the gameplay elements so far)

LATE GAME

  • Moderate puzzles that introduce any final new gameplay elements
  • Very tricky puzzles that combine all elements (expected to take significant time to solve)
  • Relatively simple puzzles featuring earlier gameplay elements (to provide downtime between the tricky puzzles where a player can reflect on any story, as well as a reminder of mechanics the player may have forgotten)
  • Short but complex puzzles that require (and guide the player to) obscure key tricks to solve (so that a player, once they have solved these, can return to earlier optional puzzles armed with the tools necessary)
  • And, my favourite: Gimmicky or outlandish puzzles that are more about humour/entertainment than any true challenge (again to provide levity between the more difficult puzzles, as a sort of reward)

ENDGAME

  • Fiendish puzzles taking advantage of all elements and tricks in the game (possibly including some more gimmicky, but still difficult, challenges)
  • And of course, the WigDev classic: One final puzzle that, within its complexity, subtly hides a trick that hasn’t yet appeared anywhere else in the game (to give one final ‘Ah-hah!’ moment for the player when they spot it, while providing payoff to those who had worked out such a trick in advance)

Now, to be clear, this is not some sort of ‘manifesto’ for how all puzzle games should do difficulty curves. (If it was, I’d make it look nicer, with pictures and examples.) Every game is different, and ideally the spread of puzzles should uniquely reflect the features and tone of the game they’re in. But this list does neatly summarise the way I approach the issue – The ‘WigDev Method’, if you like.

If you’ve played my games, you’ll likely recognise levels and puzzles that fit with what I’ve written about here. And the next time you’re late in a WigDev game and come across a surprisingly short or simple puzzle… You’ll have a good idea what’s coming next.

New Early Game Demo

Hullo, puzzle fans!

I hope you’re all keeping well in these unusual times. For myself, lockdown and separation from some of my usual devices and workstations has led to me spending the last few months developing a new game, and I now have a limited early demo available!

Miriam’s Mice is a ‘simple’ game about chasing ‘mice’ into ‘holes’. And I don’t see how I could be more ‘forthcoming’ than that.

Miriam's Mice roomMiriam's Mice map

Since this game is still early in development, this demo currently has no sound and contains many placeholder graphics, but it is nevertheless already full of challenging puzzle content! Full marks to anyone who can clear all the rooms, even at this early stage!

Be sure to come back in a few months for the complete version of the game, featuring sounds and music, more intricate puzzles, upgraded graphics, and that classic looming WigDev sense that something isn’t quite right…