by Tom

Postmortem

January 17, 2021 in Announcements by Tom

Since today marks one year since the release of Lenna’s Inception on Steam, it felt like a good time to look back over the game’s development and release. If you haven’t played Lenna’s Inception yet, feel free to read on without fear of spoilers. And if you don’t have Lenna’s Inception but like the sound of what you read here, you should know that both the game and the soundtrack are 50% off for today, and today only (edit: no longer)!

It’s hard not to be quite critical of past mistakes, but I don’t really have many major regrets. Over the period of time covered here, I learned a ton, made new friends, formed connections, and built up a new career. Making and releasing this game was definitely worthwhile.

In case you’ve come here from elsewhere and aren’t already acquainted with the game, Lenna’s Inception is a sort of metafictional, glitch-themed take on the Zelda series. After the hero dies in a glitch-related accident early in the game, the titular character Lenna, a schoolteacher who just wants to make sure her students are safe, is forced to take up the mantle. The game has multiple endings, procedurally generated maps, local co-op, tons of puns, and a set of challenge modes. We released the game on the 17th of January, 2020.

Initially, I (Tom) worked on Lenna’s Inception alone. From January 2015, Jay worked with me on art, playtesting, script edits, and boss design. He’s now my business partner and owns half of Bytten Studio. Since the release of Lenna’s Inception we’ve released one major content update for it, and announced our new project, Cassette Beasts.

Lenna’s Conception

Lenna’s Inception first started to take form in January 2012… For those who are too young to remember, 2012 was the year the world was supposed to end. It was also the year of Obama’s re-election, an era when the idea of Trump as president was a minor joke in an episode of the Simpsons. Which, yes, means that I worked on this game for a long time–over 8 years, in fact!

I’d been replaying the Zelda games from my childhood, including the Oracle games and Link’s Awakening, which had a fascinating screen-skipping glitch that let you explore out of bounds. The most recent Zelda game to release was Skyward Sword, which (at the time) hadn’t been received as well by fans. As far as I could tell, indies at the time weren’t making Zelda-style games either, so it seemed like a good niche to target–a fact that Anodyne later seemed to prove with its success in 2013 (a great game by the way).

Up until 2013, with the release of A Link Between Worlds, Zelda games generally used a pattern of locks and keys to control pacing: each item you collect works as a key that resolves some obstacle. Said obstacle then gives you access to new areas with new obstacles and a new key item. As a programmer, I love patterns because it means I can write code to automatically generate more.

So that’s where it began. Back in 2012, procedural generation was the hot new thing, there were no Zelda-style indie games, and I was captivated by weird glitches. This was not such a bad idea for the time! I’d identified a legitimate underserved audience in the market–although, of course, it wouldn’t stay that way for 8 years.

Sidenote: Some of you might point out that the Binding of Isaac was a 2011 procedurally generated Zelda-like game, but I’d argue it’s not really Zelda-like in a way that appeals to fans of Zelda. It’s a hardcore action-roguelike that is even more punishing than game development.

Part-time development

I started this project with a fair bit of experience programming, and some experience making little games as a hobby in my teens, but admittedly no knowledge of the games industry. So I did what seemed sensible to me, and kept my software development dayjob.

Treating my first indie game project as a part-time job is the number one reason it took so damn long to finish this game, but it also saved my ass in so many ways. Having a secure source of income while working on this took away the danger of going broke if my game failed, and it gave me time to learn what I was doing.

Eventually I did leave my software development job to work for an indie game publisher in 2015–one that had already found financial security. It was there that I met Jay, my current business partner. I learned a lot just being there: the language the industry uses (e.g. what a producer does), how the business works, what publishers like to see in games they look at, and so on. I stayed there until mid 2019, and through that time Lenna’s Inception remained a side-project.

It was an extremely valuable experience, and it’s because of that experience that I feel confident enough, and have the knowledge and contacts to be able to work on Cassette Beasts full time.

Sidenote: I’d be remiss not to mention that that publisher was also publishing Lenna’s Inception for a while. In the end, we parted ways before the game’s release.

I estimate I spent an average of 10-15 hours on Lenna’s Inception each week, which means if I had been working on it full time, it would have taken between 2 and 3 years to develop. With a release in 2014 / 2015, it might have sold more copies. But I don’t think I’d have been able to turn it into the start of a career without meeting the people I met, and learning the things I learned working at an already successful company in the industry.

I’m not sure that I can comfortably recommend working on a game in evenings and weekends for years on end. It’s a little like long-term crunch and has all the same negative health and social life effects, but at least it’s you who gets the benefit of the work, not your boss! If you’re someone with no experience who is desperate to dive into indie game development, I feel I can more comfortably recommend working at a small game studio for a while to learn how the industry works, if you can, before staking your livelihood on it.

Sharing early work

Keeping the same side-project for 8 years is pretty tough. Sharing early screenshots and keeping a blog definitely helped with staying motivated, but it can be a bit of a double-edged sword. It’s common indie folk wisdom to show your work off constantly, and as early as possible, but there are two important caveats that you’re never told:

  1. You only get one first impression
  2. Google Images never forgets

Make sure your game looks good and polished before you show it to the Internet! I can’t count the number of times an embarrassingly old screenshot has shown up in an article about the game.

And hello to you too, 2012!

In 2014, I launched a paid public alpha for Lenna’s Inception on itch.io. While it wasn’t a complete disaster, and I received no complaints about it, I do regret this. Getting feedback from people playing (and enjoying) the game did help with the motivation to keep going, and the bug reports definitely helped, but I honestly feel bad that my players had to suffer an unfinished game for so long. A buggy alpha gives bad first impressions.

Although this wasn’t a problem with Lenna’s Inception, I know from several other projects I’ve had hands in that players can sometimes object to changes necessitated in the course of a game’s development. So my advice to other indies is not to do any kind of early access unless you literally have no other option.

Have a plan!

This is probably the number two reason the game took so long to finish. I can’t find many of my notes from back in 2012. I definitely didn’t have a design doc or a script. The nearest thing I can find to a design can be more accurately described as a shopping list of features that would be cool in a game. This is not how games are designed.

While it’s true that design docs have been becoming unpopular among game developers for a long time now, if you’re an indie you probably have a very small budget, which means it’s even more important to spend time and money on only the things that will matter. You can do that if you know what the end product will look like, not if you’re just working on whatever seems coolest next.

This is going beyond the scope of the post a bit, but for Cassette Beasts, after some initial concepting and prototyping, we designed and planned out everything before committing our savings and starting production. That meant writing a design document (just for us, not for anyone else!) so we knew what the end product would look like, then breaking that down into each task, estimating each task, and figuring out a schedule that will get everything done. This doesn’t mean we’re committed to the design we wrote up at the start of development (which is why devs say they hate design docs), or to a particular date, it’s just so we know when we’re changing the design and can see how it affects our schedule, our release date, and ultimately our cashflow.

In the case of Lenna’s Inception, since the design resembled an already existing game, the biggest problems caused by the lack of a plan affected the story. The script ended up going through several major rewrites. Each time it required content in the game to be pulled out and replaced, because like a dummy I was putting it into the game before I had a complete story I was happy with. This cost probably 2 years.

The advice I would give to indies new to writing dialogue would be to first figure out what you want to say with your game–what is the message going to be, what are the themes? Then figure out your characters, and how those characters relate to one another. Only when you have your message, themes, and characters can you start to think about a plot and write your dialogue.

While on the subject of the story, I’d also say avoid doing parody. Not everyone is familiar with the tropes you’re making fun of, and in any case it’s too easily mistaken for imitation. The story in Lenna’s Inception might be quite different from the Legend of Zelda, but it still has to spend time at the beginning establishing the tropes that it plays with later on. Some people just play the beginning and think that’s it.

One of the big selling points for Lenna’s Inception was, by release, the presence of “two art styles”. This wasn’t originally intended for the project! For the first several years of development, I was drawing the Game Boy-inspired 8-Bit pixel art myself. In the first playable version of the game on itch.io, this was how the game looked. When Jay joined the project, his proposition was redrawing all of the existing assets in a second “Game Boy Advance” inspired art style that look more modern and therefore be more commercially viable in the indie market of 2015. The player would then be able to choose which art style they preferred, and it could be a marketing gimmick.

Unsurprisingly, this turned out to be more work than expected. The game wasn’t close to feature complete at that point, so the amount of art to redraw increased at around the same pace it was being drawn. In some later additions, such as several boss designs, Jay drew the initial design and I instead drew the 8-bit variant based on his sprites.

Our composer Joel joined the project at a late stage (around the middle of 2019) to produce a soundtrack. To match the dual art styles of the game, each music track in the game has a “32-bit” or “8-bit” version. Despite joining with 6 or so months left to release, Joel managed to produce 26 compositions each with a 32-bit and 8-bit variant, leaving us over 50 tracks in the final game. I feel like much of Lenna’s Inception’s final “identity” is tied to its soundtrack now.

Ultimately, the “dual art style” aspect of Lenna’s Inception is something I probably wouldn’t want to attempt again. Not only was it twice the work to actually draw the assets, but it also affected how art would be implemented, or what could or could not be done with the game’s graphics. If it was planned from the start it could have been a feature incorporated into the gameplay itself (something multiple games have done in the past several years) then it might have been a worthwhile endeavour. Cassette Beasts, unsurprisingly, will feature one set of art assets.

On engines and programmers

Don’t do what I did and roll your own engine in Java. I feel embarrassed about it, honestly.

This has made porting Lenna’s Inception to consoles all but impossible, and if you’re an indie game dev in 2020/2021, getting your game on consoles is absolutely vital to your success!

OK, putting aside the choice of language, there are sometimes times to make your own engine. But absolutely not if you’re new to game development, if you want to make a game, or if you like your sanity. Not even if you’re a hotshot genius programmer. I’ve been programming almost as long as I’ve been able to talk, I have a degree in Computer Science from the top university in the UK (Cambridge, not Oxford!), and I worked for years on compiler backends and optimisations–clever stuff, but I still made every damn mistake imaginable. Nobody’s intellect compares to the collective hive mind of the games industry, to knowledge earned through decades of thousands of developers making mistakes and then doing better next time. Stuff like that you can only learn by using tools made by the wise.

In any case, programmers are the absolute worst people to design game engines. We overestimate the importance of “hard” technical problems and underestimate the importance of the “soft” non-technical problems (design, art, business, etc.). I think we do this because we like to imagine the only important problems are the ones that have solutions, and thus we can control our own destinies / successes. The reality is that the stuff that really matters can’t be quantified–sometimes all you can do is feel out the options and make an intuitive judgement. Nobody cares that your engine can render two extra polygons each frame, if your gameplay sucks because the engine didn’t give the designers the flexibility to make things feel better!

Programmers are also prone to ideological dedication to 3-letter acronyms (FSM, MVC, ECS, OOP, etc.). TLAs give you ways to simplify complex problems to invocations of said acronyms. It can be several years before you realise that your chosen acronym simplifies the problems, not the solutions, and by that time your framework has turned into a metal cage and you’re trapped inside! Aaaarghh!

Seriously though, if you end up working in a team, most of your engine’s users will not be programmers anyway. So it’s pretty important that they’re able to understand and use it. If your engine or build system presumes knowledge of the arcane, it’s a bust.

The one upside that came out of this mess of an engine was that while messing around with JVM languages (Scala in particular) I realised delimited continuations can be used to do everything behavior trees do in a way that is far more natural and flexible. I ended up using this to control cutscenes and monster behaviors once I knew finite state machines wouldn’t cut it. Coroutine combinators don’t seem to be in wide use in the industry (as far as I know only myself and one other seem to have used them for this), so it would make a good topic for a blog post another time.

I use Godot for projects now. It’s open source, so I still have the flexibility to modify it myself, but it’s made by people much smarter and more knowledgeable than me, so I rarely need to.

How did the release go?

It went about how we expected! To date, just over 6800 copies on itch.io and Steam (excluding sales from the itch.io Bundle for Racial Justice and Equality). That doesn’t sound like a whole lot, but it is above average for an indie game these days. Mike Rose of No More Robots puts the average number of copies sold (in 2019) at just 1500.

6800 copies works out to less than the UK’s minimum wage per estimated hour worked, so I do feel my decision to work only part-time was justified.

There were some pleasant surprises too: 88% of Steam reviews were positive! I think because I’d been working on it so long I began to hate it, and assumed everyone else would too.

Also of note is that 5% of copies were bought by Linux users, which is a lot more than the average for games on Steam. I think this comes down to several factors:

  1. The low number of total copies sold means that not many extra Linux users in absolute terms have to find the game to push the relative-terms figure up.
  2. Actually reaching out to Linux-specific gaming press and treating Linux as a first-class platform. I do think that indies have yet to really figure out how to market to Linux gamers, who often get ignored or lied to by larger studios. There are more than enough Linux gamers out there to make your indie game a success; the difficulty, as with all platforms, is in reaching them. The difference is that nobody seems to be marketing specifically to Linux gamers. The first to actually succeed at this could maybe double their sales figures or more.

I did all the coding for Lenna’s Inception on Linux (I like a good terminal), so officially supporting the platform has been almost free. Linux gamers are also very good at fixing your bugs for you!

The figure for Mac was a lot lower: .8%. Most likely because we dropped official Mac support prior to release because continuing to support it became a huge burden.

22% of purchases happened on itch.io rather than Steam (not including even the Bundle for Racial Justice and Equality). I think this is several factors again:

  1. The earlier paid public alpha in 2014 may have been better timed than the eventual release in 2020. There are a lot more indie games releasing every day in 2020/2021!
  2. People underestimate itch.io. Steam might have a larger overall audience, but only a fraction of Steam users are actively looking for indie games, while almost everyone on itch.io is! Itch.io also has better curation, etc.

If you’re considering putting your indie game on itch.io, just do it. It takes almost no time to set up a page. Pushing updates is as simple as using a web form. Or if you like to automate deployment, it has an upload tool called butler that is far superior to any other store’s.

We saw a lot of interest from Germany, France and Japan. If the strings were actually in a different damn file and we could localise the game we might have been able to get a factor of two improvement on sales figures. Oops!

A few interesting things happened several months after release. Here’s our units sold graph from Steam over the course of 2020 (itch.io is similar, but with lower numbers):

I’ve marked on this graph in yellow where we saw a significant jump in sales, and in red the major events.

The first major event was obviously its release. We saw about a third of our first year sales in the first week, in January 2020.

The 11th of May was when we announced our new game Cassette Beasts. The trailer we dropped saw 110k views over Youtube and Twitter, so it’s maybe not so surprising a few people would check out our other game in the weeks following, even though it’s in a totally different genre.

In June we put Lenna’s Inception into the itch.io Bundle for Racial Justice and Equality. This was a bundle offered during the 2020 Black Lives Matter protests where all proceeds were donated to the NAACP Legal Defense and Community Bail Funds. Developers got none of the revenue from the bundle, and we knew this was going to be a popular one, so we expected this to wipe out our future sales. Even so, Jay and I felt strongly about using the game for a good cause, so we went ahead. 814,525 people bought this bundle and now have Lenna’s Inception in their library.

In the weeks following the bundle we experienced effectively a second launch week. The complete opposite of what we expected! Given the time delay between the end of the bundle and the start of that big week I suspect (without evidence) that it’s mostly attributable to one or two large streamers and the word-of-mouth that followed. A lot of streamers and youtubers were playing the bundle’s games during that period, and Lenna’s Inception was lucky enough to be fairly visible, high up on the list.

Streamers picking up and raving about the game might have been a more common occurrence if they could actually stream the game. For some reason, OBS and Discord like to turn the game into a slideshow, or just straight-up crash! I think this may be because the engine is unusual (Discord at least is injecting itself into the game’s memory space, not just recording video output), but since the issue is in someone else’s code I literally can’t do anything about it.

One thing that did work well with the streamers who could play it was remotely messing with their games, live on stream. Prior to release, I set up a way for the game to check with a server for dialogue files written for a specific seed. That way if we spot someone streaming the game, we can take the seed, write some dialogue uniquely tailored for that streamer, and have it played back on the stream minutes later. Like live coding, it’s a bit of a high-risk high-reward strategy, because any bug could crash the game in front of thousands of people. But based on the reactions it seems to have gone down well!

https://twitter.com/TheNo1Alex/status/1217835488817512449

We released a big content update at the end of August, which did nothing to our sales. It perhaps might have if it had been sooner. But I could also theorise that word of mouth is more effective the bigger your audience is, and that therefore if your audience is small you’ll get more word of mouth by courting other, larger audiences–the set of people interested in Cassette Beasts, for instance.

The most surprising thing one year after release is that the community is still active! For this I thank the speedrunners–shout outs to PetePlaysTheGames, Soocy, Linkshot, QuantumZari and everyone else! I’m sorry I can’t name you all here! I understand that there are in fact some streams planned for the one year anniversary today, so do check out our Discord community or the #LennasInception hashtag for the links!

Lenna’s Inception seems to be an interesting one for speedrunning. The procedural generation means that to get a better time you can either try to improve your run on a fixed seed, or you can try to search for a better seed that makes the critical path shorter, which refreshes things whenever a new seed is found. It’s similar in some ways to the Link to the Past Randomizer, which came out in 2016. I’m still not sure whether ALTTPR’s earlier release has helped or hurt our game, but I would assume it has overall helped in a small way by having already created interest in this sort of thing.

Once we realised there was interest in speedrunning we did a few things to support the growing community:

  1. Based on community feedback, we added an in-game timer that counts frames, so that your time is unaffected by what hardware you use, low framerates, etc.
  2. Leaving their preferred skips and sequence breaks in the game. Some devs remove them and I don’t know why. Games and speedrunning are both ultimately about having fun. If a skip is fun to use what’s the problem?
  3. Responding quickly to things they’d like fixed.

Conclusion

Lenna’s Inception wasn’t a commercial success, but it was extremely valuable in terms of gaining experience and making inroads to the industry. Treating it as a part-time job kept me financially secure while I networked, made friends, and learned a ton (often the hard way).

I have a few personal thoughts on the game itself. In terms of design and gameplay, I feel like procedural generation held it back more than anything, although it did gel pretty nicely with the multiple endings. The world being different makes it less annoying when you play it a second time to reach another story branch. In the story, the parts I’m most proud of are the (too few and far between) heartfelt and earnest character-driven moments. No wait, I mean the puns.

If I’m to give some final, random and unsorted advice to new indies:

  1. Set your expectations low, and don’t quit your dayjob.
  2. Marketing is important, and it starts right at the beginning, long before any publisher is involved. By this, I mean that market research should be a major factor of any commercial game’s concept phase. Pick an underserved target audience, and scope your game so that you can release before the market changes and the opportunity is gone. That means choosing a release window, which also requires:
  3. Have a plan, know what your finished game will look like, and when it will be done. Even if you don’t tell anyone else!
  4. Make sure your game looks good before sharing screenshots and videos, and finish your damn game before you sell it.
  5. If you’re a programmer, know that game development is harder than any other software development. I don’t care if you’re Linus Torvalds, Bjarne Stroustrup, or Satoshi effing Nakamoto–if you’re new to games, don’t make your own engine! At least take the time to learn what other engine developers have learned first.
  6. Don’t sleep on Linux, itch.io, consoles or localisation. They’re important!
  7. Do a press release when you announce a game, when you announce a release date, and when you release. It’ll take a day or two each time but it more than pays for itself.
  8. Take part in charity bundles. The exchange rate on karma to money is apparently pretty decent?

If you read this far in the hopes of earning some prize, let me just remind you that Lenna’s Inception is currently 50% off (edit: no longer)! Be sure to check out our other game Cassette Beasts and wishlist that too! And join our Discord community for both games!

Will Lenna return some day? Wait and see!

by Tom

Patch 1.1.3

October 3, 2020 in New Version by Tom

Hi folks! A new patch is rolling out with a handful of fixes. Here are the changes!

Fixes

  • Fixed certain bosses ‘doubling up’ if you die and continue on their screen
  • Adjusted Santaquiel’s hurt frames
  • Fixed a softlock that can occasionally be caused by the dungeon generator putting a sokoban puzzle in a position that prevents completion
  • Made the Skullbeaks (birds) slightly less evil

If you’re wondering what happened to 1.1.2–that was a private build I sent out to a few people to help test some of these fixes.

That’s all for now. Take care!

by Tom

Patch v1.1.1

September 5, 2020 in New Version by Tom

Hi folks! On Monday we released the 1.1 update. We’ve had a few bug reports come back to us, so we’re rolling out a small patch to address them. Here are the changes!

Fixes

  • Fixed Mallowmarrow (one of the cave minibosses) charging off the screen
  • Fixed a crash and potential script error / softlock in the perfect ending battle and the recurring glitchy dungeon miniboss fight
  • Fixed a graphical issue on one of the dungeon exteriors in the blossom biome

That’s all for now. Stay safe!

by Tom

Update 1.1 is out!

August 31, 2020 in Announcements, New Version by Tom

Hey everyone, the 1.1 update is rolling out, but it might take a couple of hours for certain stores/platforms to update. For a taste of what’s changed check out the new trailer above, otherwise read on!

New features:

  • Steam Input support, which should allow more different types of controllers to work with the game if you’re using Steam
  • New Game+ mode, which you’ll need to beat the game once using 1.1 to unlock (although you can do this with an old save file)
  • New biomes
  • New enemies & minibosses
  • New weapons
  • Spoiler log generation
  • Seeded challenge modes

Version 1.0.11 will continue to be available (but won’t be updated). On Steam, you can install this by switching to the “v1.0.x” branch. Itch.io users can access it with the itch.io client, which lets you install any previous version.

If you don’t already have Lenna’s Inception you can get it on itch.io or on Steam! You may already have it if you bought the itch.io Bundle for Racial Justice and Equality!

To celebrate reaching 1.1, Joel Baylis, the composer on Lenna’s Inception (and our other game Cassette Beasts), has put together a guitar medley remixing the Lenna’s Inception soundtrack!

If you enjoyed that, you can get the soundtrack on Bandcamp or on Steam for approximately £5 / $5.99!

by Tom

Patch v1.0.11 & Cassette Beasts

June 14, 2020 in Announcements, New Version by Tom

Firstly, I want to give a big welcome to all the new players who picked up the game in the itch.io bundle for Racial Justice and Equality! The response to the bundle has been incredible, and I’m so proud that we were able to be part of it! Thank you for supporting the bundle!

The patch that went out just now (v1.0.11) is a small one. This update fixes the GIF upload feature on the arcade challenges. Apologies that this wasn’t fixed sooner–I only found out about it yesterday!

In case you missed it, we announced our new game Cassette Beasts last month. Some of you may have noticed hints about it in Lenna’s Inception, in the lead up to its announcement!

Cassette Beasts is a monster-collecting RPG where you transform into the monsters you collect, and then fuse with your companions to create combined forms! Check out the website and the trailer:

If you want to see for yourself how the monster fusions work, there’s a web-based demo over on itch.io!

The v1.1 update for Lenna’s Inception is coming along too. And–oh, what’s this? Are these monsters fusing? I wonder what else Cassette Beasts and Lenna’s Inception have in common… 🤔

Until next time!

by Tom

Patch v1.0.10

March 29, 2020 in New Version by Tom

Hi folks, hope you’re all keeping safe! I haven’t left my flat or spoken to another human being in two weeks, but there’s nothing new about that 🙂

Luckily, the way we prefer to work at Bytten Studio is remotely, so we’re still mostly unaffected at this stage. In fact we’ve been working on something very exciting that I hope will provide some of that positive news we all so desperately need. We’ll be sharing that with you soon!

In the meantime, patch v1.0.10 is on the way out. Here’s what it contains:

Fixes

  • Removed a trademarked term from one of the books.
  • Fixed a cause of ever-growing memory usage. (And the memory limit has also been raised in case there are other ‘leaks’ that haven’t been reported yet.)
  • Fixed a crash that could occur if input rapidly oscillates while talking to a pet.
  • Fixed an exploit that would allow a player to clear the cheat-indicating ‘C’ next to their timer.

Update Plans

The v1.1 update we announced in the last post is still on the way and planned for this Summer. As a reminder, here are the features we have planned for it:

  • A “New Game+” mode
  • New enemies
  • New biomes
  • New items
  • Manual seed entry for challenges
  • Spoiler log generation (for story mode speedrunning)
  • Improved moddability

Many of these are already at least partially implemented! We’ll be sharing more details about them in a blog post prior to starting an open beta for the update in the Summer. Follow us on twitter to stay tuned in, or join the discussion on Discord!

by Tom

Patch v1.0.9

February 28, 2020 in New Version by Tom

Hi folks, a new patch is on the way out! Here’s what it contains:

Improvements

  • Changed the color of the cursor on the 8-bit equipment menu to contrast better with the background
  • If you’re playing with a timer and use a cheat or take a map screenshot, a letter C will be appended to your time (indicating that a cheat was used)
  • Time spent in menus, dialogue and cutscenes is counted by the timer (only generation is excluded now)
  • Your final time, and the name of the ending, is now shown in the credits if you play story mode with the timer enabled
  • Added an easter egg

(Note that the timer still works by counting frames and dividing by the frame rate. It’ll still drift a bit versus a clock on your wall, but after discussion on Discord, it was determined that this was marginally better than people being able to game the system by forcing a low framerate.)

Fixes

  • Fixed some challenges starting the player off with two bows
  • Fixed items hanging in the air if you pick up and throw a snail

Due to the timer-related changes, the challenge leaderboards will be wiped. Old scores will still be accessible by link, but will not be shown by default.

Update Plans

And we have more good news for you: a content update is coming this summer! Here’s what we’ve got planned for v1.1:

  • A “New Game+” mode
  • New enemies
  • New biomes
  • New items
  • Manual seed entry for challenges
  • Spoiler log generation (for story mode speedrunning)
  • Improved moddability

We have some huge surprises in store for you in the coming months, so follow us on twitter to stay tuned in, or join the discussion on Discord!

by Tom

Patch v1.0.8

February 3, 2020 in New Version by Tom

Hi folks, a new patch is on the way out! Here’s what it contains:

Improvements

  • Made the Tab Left / Tab Right buttons (used in the inventory) configurable.

Fixes

  • Fixed co-op players getting stuck off-screen when jumping a ledge on the edge of the screen
  • Fixed the dungeon generator sometimes failing to place item checks–this caused for instance, the seed ‘Agulo’ to allow you to simply walk out through the screen where Lance dies, and skip it entirely.
  • Fixed one of the endings giving back control to the player without the ability to warp or save.
  • Adjusted some dialogue that occurs at certain times if you have memory #7 but not the others.
  • Fixed Blast Protection tunics and potions not protecting the player from bomb-arrow explosions.
  • Fixed the coins display on the inventory being hidden off-screen in ultrawide resolutions.
  • Prevented use of memories during certain end-of-game moments when using them breaks things.
  • Fixed dead players (in co-op) picking up items.
  • Fixed Archangel Headraniel getting stuck if you throw him too soon.
  • Fixed the I AM ERROR challenge not being glitched.

In other news, the Chairman seems to have set up his own twitter account!

by Tom

Patch v1.0.7

January 28, 2020 in New Version by Tom

Hi folks, a new patch is on the way out! Here’s what it contains:

Improvements

  • Added an optional in-game timer to story mode to aid with speedrunning. See below for details
  • Made the positions and types of enemies spawned by the hallucination potion deterministic. On the same screen and the same seed, the same enemies will always spawn in the same positions

Fixes

  • A few users have reported an inability to launch the game on their machine. I’ve made some internal changes to the way the game starts that will hopefully resolve the issue, or if not, to at least log some additional information that will help track down the cause of the problem
  • Fixed the cave music not looping correctly in 32-bit mode
  • Fixed the perfect ending final boss fight locking up if you go into it with the hover effect on
  • Black bars are now drawn along the side of the screen in ultrawide resolutions to avoid spoiling the locations of hidden rooms
  • Fixed out-of-date dialogue in the Hallucinatory Battle Arena — there are 9 rounds, not 11
  • Fixed a certain item breaking when using speedrun tricks to skip memory cutscenes
    Spoiler

    Missinglasses

  • Fixed a dungeon generator bug that caused water to sometimes be placed on the edge of a screen where you’re not guaranteed to have the swimming shorts, potentially causing the player to be trapped there until death
  • Fixed the temporary files the game creates not getting erased on Windows
  • Removed an unintentionally bombable wall from a certain secret area

About the new story mode timer

Story mode has a new timer that can be enabled in the options screen. This was provided for players who want to speed run the story, but exclude the time spent generating maps from their time.

There are a few caveats about what specifically it includes and excludes to be aware of:

  1. The timer excludes time spent generating maps
  2. The timer is actually counting frames instead of time, so you might notice some drift versus wall-clock time
  3. The timer excludes time spent in menus, dialogs and the map
  4. Despite excluding the time spent in dialogs, it still includes time spent in cutscenes (however cutscenes are generally independent of player input so this won’t affect relative rankings, etc.)
  5. It doesn’t currently record your time upon completion of the game, but this is something we can add in future. For now you’ll need to make a note of your time yourself

Depending on feedback, we’ll make further improvements to it in future.

If you’re interested in speed running Lenna’s Inception, join our Discord server! There’s a lot of discussion around its speedrun potential right now, among other topics.

That’s all for now!

by Tom

Patch v1.0.6

January 24, 2020 in New Version by Tom

Hey everyone!

We’ve got a patch rolling out tonight with a ton of bug fixes and quality-of-life improvements!

Improvements

  • We’ve added a ‘Multiplayer’ menu option to Story Mode. This menu option lets you assign controllers to player characters. If you haven’t yet unlocked multiplayer it gives you a quest that will walk you through it
  • All arcade challenges now start with the bicycle
  • Done a thing to two of the bosses
    Spoiler

    Made sparing Sandolphin and Delvin less awkward, and more like the other bosses: bring them down to their last hit point and then use the Power of Compassion

  • The summary card for arcade challenge GIFs has been polished
  • Removed the hovering effect from the blue, exploding, on-fire buff combo used on the final dungeon’s minibosses and late-game cave monsters
  • Whirligigs no longer receive buffs in miniboss rooms and caves
  • Shortened the hallucination tunic minigame and made it more challenging

Fixes

  • Fixed inability to enter a certain area during multiplayer
    Spoiler

    The palace, via the sewer

  • Fixed the incorrect functioning of a certain end-game item during multiplayer
    Spoiler

    Missinglasses

  • Fixed the inability to launch the game under the Turkish locale
  • Fixed the overflow in the slot machines minigame
  • Fixed the inability to use potions on a dead player in multiplayer
  • Fixed a certain boss’s projectiles launching early if you pause while they’re spawning
    Spoiler

    The Chairman’s bulls

  • Fixed a certain boss’s projectile homing in forever on a dead player (in multiplayer)
    Spoiler

    The Chairman’s Cashmehameha

  • Removed the unused inventory slot
  • Fixed spurious yellow dots in hidden cave rooms
  • Fixed music sometimes stopping if you use a particular item in a particular location
    Spoiler

    The missinglasses, in Glitch City

  • Fixed a few stray pixels in some animations on Shadow Lenna’s sprite
  • Fixed the incorrect description of the marshmallow quest
  • Fixed the UI locking up while processing newly-recorded arcade challenge GIFs
  • Fixed library books flipping 2 pages at a time if you bind the movement controls to the same keys as menu controls
  • Fixed text entry breaking if you bind pause and/or cancel to alphanumeric keys

What’s next?

We’re planning a few more fixes and improvements, including, in a few months, an update with new modes, manual challenge seeds, and a couple of additions to story mode.

If you’ve completed the game already and are wondering what to do now, join our Discord server! We have ongoing discussions of (safely spoiler-tagged) secrets, speedrun strategies, interesting seeds, and a few initial forays into modding!

As always, if you enjoy our game, please consider leaving a review on the store page!