Category Archives: Game News

Why is Matt’s Hidden Cats Taking so Long?

Hey everyone!

I’m realising it’s been around 3 years since I started working on Matt’s Hidden Cats – which is how long the original version of Epic Battle Fantasy 5 took to make, and that’s my best game by far!
So you may be wondering why a seemingly simpler project is taking so long…?

Well, I also need to answer this for myself to regain some sanity.
So here’s some reasons…



First of all, it’s not the only thing I’ve been working on. In this time I also ported Epic Battle Fantasy 4 to Android and updated the Windows version (sorry, iOS fans). I’ve been supporting the EBF5 modding community and fan-made Chinese translations for my older games. And I’ve been doing general maintenance, promotions, and customer support for my existing games, which are still selling well.

Secondly, I’m not working full time anymore! I have more hobbies now. I’m travelling more. I’m playing more video games. I’m spending more time with friends and family. All of that makes me feel like I’m not being as productive as I used to be, but I certainly am – it’s just that I’m producing personal experiences rather than content for the web. Though there is also a lot of procrastination in there that I could cut out.



In addition to spending less time working on game development, the scope of Matt’s Hidden Cats has also massively increased over time, for a few reasons…

There’s a LOT of hidden object games out there, and while many of them are very short and simple (or otherwise not very good), some of them are fantastic. Hidden Folks, Hidden Through Time, and the upcoming Lost and Found Co are amazing games, and I want to make sure that Matt’s Hidden Cats is at least as good as any of them.

And after seeing the success of EBF5 – a game that is still selling 7 years after its release – I want to continue making games that have long-lasting appeal. I don’t want to make games that go out of fashion or feel outdated eventually. I want Matt’s Hidden Cats to be a game that will still be good, relative to the competition, 10 years from now.

And what that means is that it has to have a TON of content, secrets, lore, and re-playability, as well as being polished and easy to get into for new players.



Another big challenge is that it’s by far the biggest project I’ve worked on from scratch. All my other big projects were sequels to smaller games that already nailed down a lot of the mechanics, and a lot of the code and assets could be reused. In Matt’s Hidden Cats, I’m solving an unusually large number of design problems for the first time, and in some cases I’m re-making mechanics and user interface elements that I wasn’t very happy with. Sometimes I’ll code something that just doesn’t feel good, and never sees the light of day – where as with my older games, it was very rare for me to spend time on cut content.

This also makes technical challenges more difficult, as features that I assumed would be trivial can end up being very complicated, simply because I didn’t have the experience to know that in advance. A big pain for me has been learning about how graphics are transformed – working with transform matrices, how to check if an object is mirrored or not, converting one coordinate space into another, programming motion tweens, etc – it’s all very confusing for me and I don’t have a good intuition for it. But it turned out to be very important for the features that I wanted, like being able to arbitrarily attach objects to other objects in my level editor – so that you can make a horse wear a hat, or stick an arrow in its butt.

Sometimes these challenges are the right level of difficulty and end up being fun, but sometimes it’s nothing but math, which I don’t like at all.

Another example is context-aware hit-boxes. All the interactive objects in the game have pixel-perfect click detection by default, but objects of interest – goals, keys, movable obstacles, etc – have larger hitboxes to make gameplay smoother (especially useful if the game eventually gets a mobile port). This seemingly simple feature requires a lot of logic to make sure that the larger hitboxes are only active at the correct time. A lot of work is going into stuff that most players won’t even notice!

I suppose modern game engines handle some of this kind of stuff for you, but I’m still using Flash.
Oh well… at least I’ll have experience with features that may be useful in future projects, or maybe I’ll just know what to avoid programming again.



Related to the previous section, I wrongly estimated how long content would take to create. I originally assumed that creating graphics assets would be the most time consuming (but also the most fun) part of this project. I thought that once the graphics were done, designing levels would be fairly quick – and in the beginning it was!

But as the number of assets and special interactions in the game grew, the complexity of each level increased. It took longer to pick out the right assets for each level. It took longer to hide objects behind other objects, behind destructible walls, behind movable carts, and so on. All of that required more planning, and as more levels were made, I had the additional task of trying to make sure that each level was distinct from every other level, so as to not feel repetitive.

And the amount of collectables in each level increased! First there was only one set of goals, then there were 3 separate sets of goals for each difficulty setting, then there were gems to find that could be used as currency, and then there were pieces of art to fill out the gallery. So I had to go back and update levels I had made earlier.

I also… probably made too many art assets, and then had to make enough levels to justify their existence. The game is going to be fairly long to complete to 100%, that’s for sure.

No one (sensible) is gonna be complaining that it’s too short.



I originally didn’t want the game to have any story at all – or any human characters – but I figured that would be wasting an opportunity to get the existing EBF fans interested in this project, and also try out some new storytelling techniques.

On Twitter I tested out some mock-up dialogue screenshots featuring the EBF cast, and they were super popular (some of my most popular Tweets ever). So I programmed a dialogue system with very expressive character models and special text formatting, and tested out some dialogue segments in the form of YouTube videos. And that was also received very well, with some of the videos getting over 30,000 views – which is a lot for my little channel, and a lot for indie game promotional videos. And finally, the updated designs of the characters have received a lot of fan-art already.

So it was quickly settled that Matt’s Hidden Cats needed a fun story related to the lore of the EBF universe in order to multiply sales. I’m having fun with it so I’m not complaining, but it’s certainly adding to the development time. I don’t think I’ve mentioned all of it yet, but there’s gonna be some fun interactivity in the cutscenes. You can enter names, branch dialogue based on how you answer questions, and maybe other fun stuff…

And if you’re reading this and still don’t know… the story of Matt’s Hidden Cats is about the EBF crew forming a game development studio, creating this game, and getting you to test it. It’s both a continuation of where the EBF5 story ended, but also an alternative universe where things are somewhat more realistic.

You can interpret it as you like – all the other games’ plots are only loosely connected anyway.



While Matt’s Hidden Cats is a Flash game, it’s being programmed to run in a Flashplayer emulator called Ruffle. Ruffle has plenty of advantages over the traditional player, including performance enhancements that allow the game to handle way more animations at once. But Ruffle is a work-in-progress, so it’s still got some quirks here and there, and using it to publish games for Steam and other platforms is mostly uncharted waters.

I’m keeping a close eye on the Ruffle Discord to see what sort of features people manage to hack together on it, and I’m also contributing by hunting down some bugs occasionally, as well as being a sponsor of Ruffle’s development.

This stuff is important because I hope to also port my older Steam games to Ruffle, so that they run smoother. And if things go well, I’ll continue using it for future games.



In addition to just making an all-round great game, I keep coming up with fun ideas that I want to try out. Stuff that can give the game a bit more depth and re-playability. Stuff that might be fun to code.

This includes unlockable cursors that grant abilities – the pencil can draw, the gun can… do something. These basically amount to minigames that can be played in any level. Totally silly and optional, but could add hours of play time to those who enjoy them.

I also want to add some shader options in order to play around with the art style, but this also adds potential for a user-defined difficulty setting – black and white mode, Game Boy style, pixelated graphics, whatever. This can make the game harder, or interesting to replay. I’m not sure how it will turn out, but I think it’ll be pretty fun if I get it working.

Features like these may also be useful to add to my other games. The ability to draw on the map is something that people wanted in EBF, for example. So now I’ve got the code for that and could potentially copy it over at some point. And the shaders could be great for the retro-themed areas in EBF5.



Anyway, that’s all I’ve got to say.
The game is taking way longer than it was supposed to, but mostly for good reasons.

It’s definitely not a simple project to test out Ruffle any more.

I wanted to launch it by the end of this year, but that’s starting to look unlikely now, and early 2026 seems like a better plan. I’ll grind away at it over the next few months and pull all the pieces together, so you guys will have something to test, and I can collect some feedback.

Oh, and make sure to wishlist the game on Steam so you get notified when a demo or update drops.



Creativity from Limitations

Hey guys, it’s been a long time since I was in the habit of writing longer blog posts.
Social media has made me very lazy, and now with AI generated slop taking over many platforms, I think it’s more important than ever to start making sincere and long-form content again. Maybe I can even turn some of my writing into YouTube videos later…

Anyway, it’s often said that “limitations breed creativity”, in the sense that various constraints on a project will force you to find creative solutions to problems with whatever resources you have available. You can see this quite well in a lot of indie games that can’t afford to do everything that AAA games do, so they focus on doing a few things very well, and if you’ve played retro games, you can see how hardware limitations of something like the NES console dictate the design of the games that run on it.

In my case, the games I work on are also designed around my personal limitations, rather than me trying to chase the coolest thing that’s trendy at the moment.

My earliest browser games – such as The Kitten Game, Mecha Dress Up Game, and Brawl Royale – were basically glorified PowerPoint presentations: You click a button, and an animation plays somewhere. There were a few variables keeping track of score and stuff like that, but for the most part, the state of the game was just tracked by whatever animations were currently playing. That’s all I knew how to make at the time, since I had some animation experience, but very little programming experience. All of these games were focused on having cool, catchy or even violently shocking animations, while the gameplay was very primitive. They were also all quick to make – about one month of work each. But it worked. That was enough to make fun web games at the time (around 2008). And even today you can still make games that are basically PowerPoints – such as visual novels – if you have an interesting premise and some good design skills.

The next step from there was to learn programming! While I was studying computer science at university, I was still making browser games in my free time. They taught as Java, which wasn’t too different from the ActionScript 2 and 3 languages that Flash uses, so it was just a case of me skimming through some textbooks to see how object oriented programming concepts were implemented in Flash’s languages. You can track my progress quite clearly in the first 3 Epic Battle Fantasy games – each game really pushed the limits of what I could program at the time. Making a Final Fantasy 6 style RPG was totally impossible for me – I could design one, but I still didn’t have the programming skills to pull it off. So each Epic Battle Fantasy game added a few more basic mechanics as I got better at programming: Starting with in-battle turn-order and move selection, then adding level-up perks and more character customization, to finally adding an explorable overworld and more detailed menus for item management.

Gradually ActionScript 2 fell out of favour for the newer, faster and stricter ActionScript 3. It was like going from JavaScript to cleaner Java code. I had to suddenly get serious about organising my code, since ActionScript 2 let you get away with some very sloppy coding practices. Anyway, my next few projects started to get more technical. Bullet Heaven and Adventure Story were action games now – not turn-based – so performance mattered. Animation quality was scaled down as I focused more energy into optimizing performance and testing the limits of what a little browser game could handle. I got to know Flash lot better – what the performance bottlenecks were, how to organise object classes neatly, and just generally getting comfortable with programming anything I wanted in ActionScript 3.

Epic Battle Fantasy 3 was at the very limit of what could be done with very sloppy, unprofessional code. So now that I had a bit more experience with good coding practices, I could make Epic Battle Fantasy 4 an even larger and more ambitious game. In fact, it was perhaps a bit too ambitious for the browser game market, which declined massively while I was working on the game, and mobile gaming took its place. Problems such as browsers deleting your save files and it being quite a large download also plagued the game. But eventually, and luckily, it was allowed to be published on Steam, and I saw more success there than I ever had before. So I was getting to the stage now where I really had to be aware of and consider what worked for each gaming platform.

Bullet Heaven 2 is a bullet-hell shoot-em-up, and it was an experiment in using Flash’s hardware-accelerated engine, called Stage3D. Flash graphics were generally rendered by the CPU, which is why they’re so slow, but it also makes working with them much easier. Using Stage3D meant you could do some very ambitious graphics using the GPU if you put in the effort to code them right. So I started this project by testing out how many bullets and other particles Flash could reasonably display on screen, and it turns out, a few thousand is no problem at all if I make correct use of spritesheets and a low number of GPU calls. So I built the game around that concept. I also learned a bunch about object-pooling, and other memory management practices, but unfortunately was too lazy to implement all of those correctly, so the game stutters occasionally when the garbage is collected. Overall, the game could have used more time in the oven, and it wasn’t my most successful one, but I learned a lot!

Something worth mentioning about all the EBF games is how Flash’s performance limitations influence their design. This is why there’s no dynamic camera moving around in battle, and why you’re permanently limited to 3 characters on your team. This is why the world map is broken up into small, dense sections like a GameBoy Zelda game. Regular Flash graphics works best if there’s only animation happening in a few parts of the screen at a time, and background stuff can just be cached in place. Most of the places where the games slow down are because I broke the rules and did some very inefficient effects. There are advantages of course – I don’t have to worry about memory management or asset resolutions, since Flash uses vector graphics. (more on that later)

Epic Battle Fantasy 5 was my first EBF game made specifically for Steam, and I was also a financially stable and experienced programmer now, so a lot of limits were off the table, and new opportunities arose. It was a question of how polished can I make the gameplay from previous games, in a reasonable amount of dev time? I figured I could put up with about 3 years of work before I went insane, so that’s what happened. Some new design goals were:
• Make the game polished enough so that people will be happy to pay up-front for it without needing to play a free version first. So this meant: polished, consistent graphics, a catchy trailer, and 98% positive Steam reviews.
• Fill it to the brim with content so that people can keep coming back to it for years, and no one can say that it was priced too expensive.
• Reboot the story in a way that new and existing fans will understand it.
• Take advantage of new social media platforms like Discord to really leverage community involvement: feature more fanart, get feedback on balance, support mod development, etc.
• Translate it to an ambitious 12 languages with the help of the fans!
(Chinese in particular turned out to be a really big deal)

All of that went very well, and the game was a huge success. The main issue is that I don’t know if I ever want to work on any project of that size ever again, because on top of those 3 years, I also spent another year making an update and then a mobile port. So in future, a new limitation will be to keep the work interesting for myself by doing as many things differently as I can.

Finally, the game I’m working on now – Matt’s Hidden Cats – is built mainly with two goals in mind: to take advantage of Ruffle’s strengths, and to be a casual game that anyone can play – including my parents and the children of my friends.

Ruffle (a Flash emulator) has been in the works for a few years, but only in the last couple of years has it become viable for running ActionScript 3 games. What Ruffle is exceptionally good at is rendering Flash’s vector art using the GPU, which is something that the original Flashplayer only did on mobile devices. Flashplayer on PC used the CPU, which you’ll know isn’t ideal for drawing graphics – it works okay in a small window for browser games, but really starts to slow down in HD resolutions. With Ruffle, I finally had access to a game engine that renders vector art very fast, even at high resolutions – I don’t think there’s anything else like it. And since I’ve been using Flash the whole time, I didn’t have to change my work flow very much.

What this allows me to do is to have tons of animations on screen with unlimited resolution, and a hidden object game can really take advantage of this, as the genre is known for having very detailed levels, and the ability to zoom in and out. Some of the hidden object games I’ve played have issues with graphics becoming a bit blurry or pixelated when fully zoomed-in, and this leads to a bad experience when trying to find very small items. You can overcome this by making all of your assets very high resolution, but that of course increases the hardware requirements for the game. Vector art doesn’t have this problem – it’s always sharp!

If you’re not familiar with vector art, you should know that it doesn’t use pixels – it’s not a bitmap. It’s a mathematical representation of how the computer should draw lines and shapes, and outside of Flash games, it’s pretty rare to see in 2D games. (it’s conceptually similar to how 3D shapes are drawn)
You’ve probably seen it used in map apps.

Anyway, the development of Ruffle opens up a lot of new possibilities and makes Flash games with vector art viable in the current year on modern hardware, which is pretty cool. And the tech is only going to keep getting better, since it’s a work-in-progress.

The second goal of Matt’s Hidden Cats is to be a good game that even non-gamers can easily pick up. I haven’t seen many good examples of this since the earlier PopCap stuff like Bejeweled, Peggle, and Zuma. Now that mobile gaming has taken over, most casual games are free-to-play and ruined by predatory micro-transactions, and are artificially designed to keep you coming back every day indefinitely. Matt’s Hidden Cats won’t insult your intelligence – you get a complete game with hand-made levels that you can play at your own pace.

I’m aiming to address a lot of the gameplay problems that other hidden object games have. Here’s some examples:
• A lot of them have very limited hint systems: sometimes you have to wait a frustratingly long time to receive a hint, or sometimes the hint just isn’t very helpful. In Matt’s Hidden Cats you’ll have options to change how often you can use hints, and the degree of helpfulness they offer, so you can make progress at whatever pace suits you.
• Often the games become more frustrating as you try to find the last one or two items in a level. To address this, items you’ve found remain circled, so you can clearly see in which parts of the level you haven’t found anything in, which really helps narrow down where the remaining items might be. It’s a subtle hint that players will probably feel smart about exploiting.
• There’s usually no difficulty options in these games! Most puzzle games go for a one-size-fits-all approach, which will exclude some players, and it also means that once you complete a level, there’s not much point in ever replaying it once you know the solution. In Matt’s Hidden Cats there are 3 difficulty options, with a different set of goals to find in each. Easy mode is for younger kids, Normal mode is not trivial but also not challenging, and Hard mode is for anyone who really wants to dig in deep and spend some time getting to know every nook and cranny in the game.

This aspect of game design applies to all of my other games too – I look at games in the genre, take mechanics that I like, and change things that I think should be done differently. Maybe this won’t lead to a completely groundbreaking and innovative game, but it means that my games will be familiar to fans of whichever genre, and the mechanics have already been proven to work in other titles, so I don’t have to reinvent the wheel and spend a lot of time trying out completely new concepts.

You’ll probably have seen by now that a lot of indie game projects out there fail because the team doesn’t have the experience or resources to pull off what they had envisioned. It seems kind of obvious, but I think you should strive to design a game based around what experience and resources you currently have, rather than trying to make your dream idea work at any cost. And even if a project doesn’t turn out how you wanted, there should still be a meaningful place for it in your portfolio of work. For me, even if a game doesn’t turn out to be financially successful, at least it was a good learning experience.

Anyway, that’s all I’ve got to share for now.

Flashplayer is Kill

Flashplayer is kill – Flash games will (in most cases) no longer run in browsers starting yesterday. In case you haven’t heard yet, some alternatives include BlueMaxima’s Flashpoint Infinity app (I’ve tested it, my games work on there), the Supernova plugin for Chrome, or the Pale Moon browser. I do think Flashpoint Infinity is the simplest solution though – once you set it up it’s really easy to use. I think it’s Windows-only though.

Ruffle can already play a lot of ActionScript 2 games in browsers, including Epic Battle Fantasy 1, The Kitten Game, and Mecha Dress Up Game. The games actually run much smoother than they did in Flash! Newgrounds has Ruffle enabled for games that work with it. I’m excited to see the day when Ruffle can run ActionScript 3 games – a lot more people could potentially play Epic Battle Fantasy 5 in HD without lag! If you have any spare money lying around and want to preserve Flash games, I really encourage you to donate to the project. (you can also donate your time by reporting bugs and stuff)

You’ve also got the option to buy my latest games on Steam and Itch.io, which include a lot more content than the free versions. And in a few months, the Epic Battle Fantasy Collection will be available to purchase too, which will include ALL of my older games with slight updates.

Anyway, here’s some EBF5 art that Ronja made. Very cool.

Let’s Play Mecha Dress Up

I found a very enthusiastic Let’s Play of Mecha Dress Up Game, which is that one game I made in 2008 (!!!).
It’s cool to see people still digging up my old stuff.

I had a lot of ideas for a sequel to the game – too bad I never got round to it after actually learning how to program properly.

NoLegs in Indie Game Battle

Hey guys, NoLegs is going to be in a Smash Bros style game called Indie Game Battle!
He’ll be in one of the upcoming updates, and he comes with the Temple of Godcat stage, so that’s pretty cool! Check out the trailer below.

The game is currently in early access on Steam.

While I feel the game has potential, I must say that it’s not very playable in its current state. It still needs a lot of work in all areas before I can recommend it. So you should only buy it if you like testing games that are really early in development.