Blog

2023 retrospective and goals for the new year

Jan 8, 2024 in , , ,

2023 was a pretty good year for me!

I'll touch here briefly on my personal life, then go on to talk about the Quest 2 release and sales of Eye of the Temple, and finally talk about my new game project and goals for 2024.

Personal life

It's the first year since the pandemic that didn't feel affected by it. I moved from Denmark to Finland in 2020, just as the pandemic began, so on the social side it was some slow years initially.

Things picked up in 2022, but especially in 2023 we had lots of family and friends from Denmark visit us here and have a great time, and we also made more strides on the local social network front.

Particularly memorable was a wonderful weekend celebrating the 40th birthdays of me and a friend, with some of my closest family and friends from Denmark and Finland at a site called Herrankukkaro in the beautiful Finnish archipelago.

Eye of the Temple released on Quest and turned a profit

In April 2023, a year and a half after the original PC release on Steam, my VR game Eye of the Temple was finally released for Quest 2, with the help of Salmi Games. While it was super tough getting there, in the end we managed to ship the game at a level of quality I'm very proud of. Others agreed; it got a great critical reception, as well as a high user rating of 4.7 out of 5 stars.

It's super gratifying regularly seeing new reviews of the game from people who say it's the best VR experience they've had. Oh, and recently, UploadVR ranked it the 5th best game for Quest 3 and Screen Rant ranked it the 6th best game for Quest 2. Wow, what an achievement for my little game! (But remember, critical acclaim does not equal sales…)

I’m no longer working on the game at this point. After being occupied with it over a span of seven years, I really want to move on, and I'm also done with VR in general for now. But the sales of the game are still developing, so let's talk a bit about that.

My thinking about the game’s sales performance has changed a lot over time. I didn't pay myself a regular salary during the game’s three years of full time work. But when evaluating the game financially, I use the old salary from my previous job as reference, and calculate whether my time investment at that salary (I’ll refer to it as just “my investment”) would be covered retroactively by the game’s revenue. Of course, I also keep in mind that the covered percentage would be higher if I based it on a more moderate salary.

I was initially slightly disappointed in the Steam sales. As I wrote about back in November 2021, the projected year one sales would only cover 25% of my investment. Back then I expected the Steam year one revenue to make up the majority of the game's lifetime revenue. One year later, the sales had outperformed that projection, and my investment was actually covered 40%.

A lot has happened since then, in particular due to the Quest launch.

Comments from many VR developers in 2021 and 2022 had indicated that Quest sales could commonly be 5x-10x as large as Steam VR sales. For Eye of the Temple, the Quest week one revenue was merely twice of what the Steam week one revenue had been, so it was not quite as high as Salmi Games and I had hoped for. Speaking with other VR developers in 2023, it seems that the time when Eye of the Temple launched on Quest was generally a bad period for Quest game sales.

Still, Quest is easily the most important VR platform, and later the sales picked up significantly, with the recent Black Friday and Xmas sales combined having as big an impact on revenue as the launch sales. Already, 70% of total revenue has come from Quest and 30% from Steam, with the Quest version having been out for a shorter time.

Cumulative revenue from Steam and Quest

My investment is now covered 140%. In other words, even based on a proper salary for myself that's fitting for my experience, Eye of the Temple has recently flipped well into profitability. That still doesn't make it a runaway hit, but it's really nice to know that it's a success not only creatively and as a passion project, but also in terms of financial sustainability. Back in 2020 when I was still developing the game, I had not expected that at all for my first commercial title.

My new project: The Big Forest

So what comes after Eye of the Temple? Like I wrote above, I'm done with VR for now.

The working title of the new game I'm developing is "The Big Forest". It's set in a big mystical forest and has a strong focus on exploration. The gameplay will involve light puzzles based on connecting clues found through exploration and gradually gaining access to new areas.

The project is in its early stages. The game will be fully procedurally generated, and so far I've been working on a series of disconnected experiments and proofs of concept that will eventually all be rolled into the game. These include procedural generation of terrain, gameplay progression, creatures and music.

I started working on the game in 2022, but I put it on hold shortly after, when I started working on the Quest 2 version of Eye of the Temple. In the last third of 2023, I started working on the procedural landscape for the game again. You can see an overview of that progress in the video below.

As for what the game is about in general, I made this page about The Big Forest where you can read more about it.

Goals for 2024

I expect The Big Forest to be my focus for several years (and that might end up being an understatement).

But I also have a list of more concrete things I hope to get done in 2024, not all directly related to my game:

Present my Fractal Dithering technique

I want to release a video, blog post, and source code for a rendering technique I call Fractal Dithering. It's unrelated to my game — just something I developed because I had an idea for it and had to try it out. The code is all done, and I worked on an explainer video (not the one here below) back in June-July 2023. But making the video took so long that I ended up having to take a break from it because I was losing motivation. Let's get that wrapped up.

Release my Layer-Based ProcGen for Infinite Worlds framework as open source

I've put more than a decade into developing a framework for contextual procedural generation of infinite worlds. I wrote about it here in 2013. I originally developed it for the game The Cluster I was working on at the time. I since abandoned that game, but now I'm using the framework for The Big Forest. I think the framework could be useful for others as well, which is why I'd like to open-source it.

The generality of the framework is proven by using it for two entirely different games - The Cluster being a 2.5D platformer where the world is made out of generated meshes and The Big Forest being a first/third-person game based on generated terrains. In 2023 I put some work into removing cruft from the framework that was only relevant to The Cluster, and generally streamlining it. There's still some more of that work left to do.

Wrap up and release The Cluster as a free abandoned game

I already wrote about it here in 2022, but I'd like to wrap up my old game The Cluster and release it for free as an unfinished game, partly because the game is fully playable and one can easily have a few hours of fun playing it, and partly because the game demonstrates a lot of interesting things that can be done with my Layer-Based Procedural Generation for Infinite Worlds framework in areas including level design and pathfinding. It's the longest-running project of my life, and it'd be nice to get it out there, even if it's in an incomplete state.

Make better use of my YouTube channel

Until recently, my YouTube channel just had various videos that show off things with little or no comment, and without any channel branding or identity. I'd like to start making videos in a more "classic YouTube format" where I discuss a subject with a proper intro and outro, channel branding, background music, etc.

I've just recently kickstarted that effort with the video about developing a procedural landscape for The Big Forest that I embedded further up this page. I aim to produce a few more such videos in 2024, for example one video for each of the subjects mentioned above.

What would you like to see?

The goals above all relate to things I'd like to share, so I'm very interested in gauging which of those things might be of interest to you all. If there's anything you'd be interested in in particular, let me know!

Read More »

Charts to visualize how much you owe Unity for their per-install Runtime Fee

Sep 15, 2023 in ,

Unity Technologies has announced a new Unity Runtime Fee that charges developers a fee of up to $0.20 per installed game above certain thresholds. According to my calculations, it can be a bankruptcy death-trap, at least in certain cases.

Shockingly, the owed percentage is unbounded to the point that the owed amount can exceed gross revenue, since it depends on installs, not sales.

Update: Unity since backtracked and apologized for the announced changes. With the new updates to the terms, Unity will clamp the install fees to be at maximum 2.5% of revenue. And the changes will not be retroactive after all. Furthermore, John Riccotello is stepping down as CEO. There are more details in the linked blog post.

Even with these rollbacks, the changes to the terms still constitute a price hike, at least for developers earning more than one million dollars in a year. Furthermore, Unity has suffered a tremendous decrease in trust and goodwill, which already was not great before. With the rollbacks, there is less urgency for developers to switch to a different engine, but the whole situation has highlghted the importance of being prepared for such a scenario and have eyes and ears open towards other engines as well.

The original post continues below.

You can check out the specifications in their blog post. Based on those, I've made two charts where you can look up how big a percentage of your gross revenue you would owe Unity, based on the number of installs and on how much revenue you make for each of those installs. The fee specifications are different for Unity Personal and Unity Pro, so there is a chart for each.

If you want to check the math used for the charts, you can check out the source for the chart for Unity Personal and the chart for Unity Pro.

Effect on free-to-play games

The first takeaway is that free-to-play games are kind of screwed, since the average revenue per user is often very low in that monetization model. This is probably deliberate. See, Unity is reducing or waiving the new fees for games that make use of certain services of theirs, such as Unity Gaming Services or Unity LevelPlay mediation for mobile ad-supported games. And there are reports that getting more games to adopt these services and kill off the competition was the whole point of introducing the new fees. This sounds like a rather shitty anti-competitive practice.

Enough about free-to-play though; I don't personally care that much about it and my knowledge about this area is very limited. What about premium games? Even if those are just collateral damage in Unity's strategy, they are still profoundly impacted.

Effect on premium games

Premium games (games that are bought with an up-front purchase) can typically have price tags such as $10, $20 or $60, and at those prices, Unity's Runtime Fee of $0.20 (or lower) per install is just a tiny fraction, right? No, unfortunately that's not how it works at all.

Sure, if you assume that a premium game has one install per unit sold, and think of the revenue per install as the original price the game is sold at, then the new fees don't look too bad for premium games. But it's a trap to think that way.

The average lifetime price for a premium game is lower than you think

The average price a game sells at over its lifetime can be a fraction of the price it sells for initially. Deep discounts (e.g. 90% off on Steam) and bundles (Humble Bundles and similar) can rapidly drag down the lifetime average price of a game, since it often happens that way more people buy it at these lower price points than at the original price.

So when using the charts above, don't consider a game's initial price. Instead, think of the lowest price the game could be sold at when it's at the maximum discount it will ever be, or when it's sold in a bundle together with other games, each game earning only very little per sale.

And that low price, that's just the starting point.

The number of installs is not the same as the number of copies sold

Don't think of the X axis in the charts above as the number of copies sold. The number of installs can be much higher, due to a variety of factors:

  • A customer can install their purchase copy on multiple devices. Unity has said this will count as multiple installs.
  • A customer can uninstall the game and later install it again. Unity initially said this will count as separate installs and later said it won't. They have not disclosed how they would be able to know.
  • On some devices and stores, updating a game to a newer version might count as a new install. Unity has not disclosed their methodology.
  • Pirated versions of a game are unrelated to copies sold. Unity has said those won't be counted, but in practice they have no way of knowing if a given install is a pirated copy or not. They have said that developers are welcome to contact them if they suspect they have been victims of piracy. If this does not fill you with confidence, you're not alone.
  • Sometimes, full premium games are made free to play for a weekend or similar. It's a kind of demo, but using the same build as the full game. It's just limited in time. Meta also has a try before you buy functionality where players can try certain games for e.g. 15 or 30 minutes before deciding if they want to buy it. These types of demos, that are not separate builds, count towards the install counts of the full game, and obviously the number of people who try the game can be much higher than the number who end up buying it. It essentially behaves similar to the free-to-play model.

How to actually use the charts

The problem is that you probably have little idea what the sold-copies-to-installs ratio will be for your game, given all the unpredictable factors mentioned above (multiple devices, reinstalls, updates, piracy, time-limited full-game demos if applicable). But you can start by pretending one sale equals one install and plot a point in the chart based on that.

  • Plot an initial starting point in the chart based on sold copies and revenue per sold copy:
    • For the X axis, predict how many copies your game will sell.
    • For the y axis, predict the average price the game will sell at, keeping in mind that it'll probably be closer to the lowest price the game will ever sell at than to the initial price.

Now spot the diagonal black line that goes through the chart, which represents the 0% threshold.

  • Draw a line from your chosen initial starting point in the graph and down and to the right, parallel to that black 0% line.

The higher the sold-copies-to-installs ratio is, the further you will move down and to the right along that line. This is because a higher sold-copies-to-installs ratio will both increase the number of installs and decrease the revenue per install. And in these particular charts, it forms a straight line because both the X axis and Y axis are exponential.

Example

Let's say you expect your game will sell on average for $10, taking discounts etc. into account, and that you expect to sell 300k copies. You want to know what you might owe Unity if you stay on the Unity Personal license (which is actually allowed regardless of revenue according to their announced changes).

So in the chart for Unity Personal you plot in an initial point, which is at 300k on the X axis and at $10 on the Y axis. This would represent what you owe if there is exactly one install per sold copy.

But to be aware of potential effects of the sold-copies-to-installs ratio being higher, you draw in a diagonal line starting from your initial point and going parallel to the bottom black 0% line.

Following this line shows you the effect of higher sold-copies-to-installs ratios, such as 2x and 10x, and you can see how this drastically affects how big a percentage of your gross revenue you owe to Unity.

Consequences

Unfortunately I can't help you figure out what is a realistic sold-copies-to-installs ratio to expect, because I have no idea even for my own games, let alone others'. And that's kind of the problem here. Charging based on installs is utterly bonkers due to how unpredictable it is.

It's impossible to budget for. And it makes all kinds of things which are a normal part of game development (like discounting your game, accepting that piracy is inevitable, etc.) into suddenly nerve-wrecking issues since they could have drastic effects on what you owe Unity.

On top of the number of installs being unpredictable even if they were counted correctly, you also can't trust Unity to do that, since the way they track it is proprietary and unaccountable. It relies on Unity saying "trust us, you owe us this much money" and you not being able to inspect their methodology, data, or calculations at all. And many of the things they claim they will correctly count or correctly refrain from counting, are simply not practically possible.

In fact, an alleged Unity employee (and it looks legit to me) posted anonymously that Unity is aware developers may in some cases lose more per install than they earn, even to the point of bankruptcy, but that they would "fix this with the customer to not bankrupt them".

The issue with that is that no serious business would leave a matter of potentially going bankrupt to be addressed with some future ad-hoc fix at another company's whim. That stuff needs to be up-front and contractual, even with companies you trust, let alone with Unity.

In short, this is an absolute train wreck.

On a related note, I also wrote here about how contrary to what Unity says themselves, Unity 2022.x or earlier and Unity 2021.x LTS or earlier are not affected by the Unity Runtime Fee as far as I can tell, based on Unity's own Terms of Service. It covers how a previous version of the Terms of Service allowed to stick with that version of the Terms of Service if you don't upgrade Unity, and how it doesn't matter that Unity removed that clause in a later version of the Terms of Service, since the older terms did not give them the right to change the terms like that.

Read More »

Behind the design of Eye of the Temple, out on Quest 2

My VR adventure Eye of the Temple, that I've been working on since 2016, has landed on the Meta Quest 2! It was released last week on April 27th.

Get Eye of the Temple for Quest 2 on the Oculus Store

Originally released for SteamVR in October 2021, so many people have asked for it to be brought to the Quest 2 as a native app, so I'm happy it's finally a reality. The Quest 2 version was co-developed with Salmi Games and it took all our combined and complimentary skills to bring the game to life at target framerate on the Quest 2 mobile hardware.

We also made this new trailer:

The game got a fantastic reception! UploadVR called it "A Triumphant Room-Scale Adventure" and has labeled it an essential VR experience, and it got great video coverage by Beardo Benjo, BMFVR and many others. It also got great user reviews and a high review score on the Oculus Store.

Behind the design

To mark the Quest 2 launch of Eye of the Temple, I've written no less than three articles - published elsewhere - about different aspects of its design.

The Origins and Inspirations of ‘Eye of the Temple’

To celebrate the launch, I spoke with Meta about the origins of Eye of the Temple and the wide variety of inspirations (from classic platformers to Ico and Indiana Jones) behind the game.

Read the article on the Meta Quest blog

Approachable and Immersive Design in ‘Eye of the Temple’

Immersion can mean many things, and VR has lifted the ceiling for immersion in games higher than ever before. In this article, I’ll detail how a design dogma of “embodied immersion” in Eye of the Temple goes hand-in-hand with making the game highly approachable—even for people who don’t normally play video games.

Read the article on the Oculus Developer blog

The Hidden Design Behind the Ingenious Room-Scale Gameplay in ‘Eye of the Temple’

Eye of the Temple is one of the rare VR games that focuses on not just on pure room-scale movement, but dynamic room-scale movement. The result is a uniquely immersive experience that required some clever design behind the scenes to make it all work. This guest article explains the approach.

Read the guest article on Road to VR

Other bits and pieces

  • Here's a reddit post talking about how we had to completely change the water effect implementation on Quest 2 in order to keep the same aesthetic on the mobile hardware.
  • Here's a short YouTube video where I explain how the room-scale platforming gameplay works behind the scenes. It essentially covers some of the same subject as the Road to VR guest article I mentioned above, but in less details.
  • Here's an FAQ with answers to common questions we've received since the Quest 2 release.
Read More »

One year later...

Today is the one year anniversary of the release of my VR adventure Eye of the Temple on Steam! It's currently 40% off to celebrate.

I thought I'd take a moment to talk about what I've been up to since the release, both related to Eye of the Temple and other projects.

Eye of the Temple updates

In the months after the release I worked on various fixes and updates to the game.

Of those, the Speedrun Challenges was the biggest feature. Leading up to its release, a handful of people from the game's Discord community had been testing the feature and competing for top spots on the leaderboards of the challenges. This was really great to see! I also set up a page on speedrun.com and even implemented autosplitter integration for the popular speedrun timer LiveSplit, meaning that the game can control starting and stopping the timer exactly.

Here's a video of Mettanine's current world record for the first speedrun challenge:

I had contemplated whether to run some sort of contest when the Speedrun Challenges feature released. However, after some contemplations back and forth, I decided not to wait and see if there was any interest in the Speedrun Challenges feature at all. I figured a contest should be used to boost existing interest, not conjure up interest out of thin air based solely on extrinsic rewards.

As it turned out, there wasn't any interest to speak of. Once the feature released (which I posted about in various speedrun and VR subreddits and Discord servers, on Steam and Twitter, and wrote to journalists about), there were only a couple of people trying it out - much fewer than the handful who had been fairly active testing it during beta. Oh well. While certainly some people found the idea fascinating, I guess speedrunning and physically intense VR are two niches with too tiny an overlap, at least for PC VR.

How has the game performed in its first year?

I wrote last year that sales of Eye of the Temple around its release had been mediocre, and that assuming year one sales would be about 3x of week one sales, the game would be on track to cover maybe half of its production costs after one year of sales if I based it on giving myself only an entry level game programmer salary.

Year one sales outperformed that projection, instead being 4.45x of week one sales in units sold, and 4.1x in revenue. So that's nice! The costs are about two thirds covered instead of only half. If I instead base the costs on my old salary I got at Unity, they would be covered only 40% so far. However, I think expecting a lower salary when going indie is reasonable, especially in the beginning.

What about a Quest 2 port of Eye of the Temple?

Edit: Eye of the Temple for Quest 2 released on April 27 2023! See this post for more details.

There's still no announcement regarding a Quest 2 port of Eye of the Temple at this time, but I do hope and believe it can happen, and there are still continuous efforts trying to make it a reality. Let's just say, I've been in a whole lot of meetings.

My next game

I have ideas for a new game, but it's in very early stages. It won't be a VR game. It'll be procedurally generated world focused on exploration. It doesn't have a name yet, but let's call it The Big Forest for now.

As the code name suggests, the game will take place in a big forest. I developed a procedural environment experiment in 2016 that serves as a proof of concept.

The game will have a generated structure of progression. In April I worked on experiments generating such structures and visualizing them as dependency graphs and spatial graphs.

The game will have procedurally generated and animated creatures, and I've experimented a bit in August with procedural animation. Luckily I can draw on my experience developing my Locomotion System back in 2009.

Furthermore I have ideas about how to populate the world in a way that's informed by my article from 2021 about designing for a sense of mystery and wonder. Combining all these elements into an actual game is going to be a tall order though.

My old game The Cluster

Before I started working on Eye of the Temple in 2016, I had worked for over ten years on a fully procedurally generated 2.5D platformer game called The Cluster. (Fun fact: The term "procedural generation" was not in common use back when I started in 2003, so I called it random level generation.)

Eventually in 2016 I gave up releasing that game in a traditional sense, for a variety of reasons. But in the past year I've gone back and implemented a few improvements and bug fixes, and I'm considering whether I should spend a bit of time wrapping it up enough to be released for free as an experimental game, or an extended tech demo if you will.

For one, the game is fully playable and certain people can easily have a few hours of fun playing it. I recently recorded half an hour of gameplay here:

For another, the game demonstrates several techniques that I think are still to this day somewhat novel within the field of procedural generation.

  • Overall, the game's procedural generation applies a planning approach to an infite world generated on the fly. In this article from 2015 I contrast the simulation and the functional approaches with the planning approach, which is more akin to traditional level design. In procedurally generated games, there are many examples of a planning approach used on finite levels generated all at once, for example in rogue-likes, and there are examples of the functional approach used for infinite worlds that are generated on the fly, for example in Minecraft. But I'm not sure how many games have used a planning approach for infinite worlds. The Cluster's multi-tiered map shows the game's planned space on a vast scale.
  • It demonstrates that the "Layer-Based Procedural Generation for Infinite Worlds" approach that I discuss in this moderately popular YouTube video from 2013 actually works and scales up to a playable game.
  • The game has directional signs at various spots where the road forks, pointing the way to landmarks like shrines, gates and the hub village. While this is common in manually designed games, I'm not sure if I've seen it in procedurally generated worlds. The things pointed to exist far outside the currently generated chunks, and reinforces the feeling of the world as a carefully planned place.
  • Because the game's planned world has knowledge of goals far outside the currently generated chunks of the world, the gameplay can revolve around exploration with a hints system that provides a balance in between aimlessness and knowing where to go.
  • It incorporates full enemy path finding in a 2D platform game, and moreover a procedurally generated one at that, so enemies can follow the player almost everywhere. It may have been done before, but it's certainly not common in platformers.
  • The game has sophisticated camera framing. Based on the locations of walls, ground and ceiling segments, the camera positions the player differently in the frame and smoothly interpolates between these different framings.
  • The game has a lot of built in debug options that makes it possible to inspect various aspects of the generation at the various layers of abstraction.

It feels like a shame to let all this go unreleased. On the other hand, any work on this free release can be seen as a distraction from working on my next proper game which has commercial potential. If you're interested in the release of this game, please let me know, since that all helps motivating me to wrap it up.

Overall

It's been a bit of a weird year. My attention has been split between all of the things above: Updates to Eye of the Temple, meetings related to porting it, working on various experiments for my new game, and tinkering on wrapping up my old procedural platformer. There've been periods of productive focus and motivation, but also periods in between of procrastination and lack of motivation. I hope I can find my way into a more persistent groove soon.

I can't talk much about Eye of the Temple, but if there's anything related to The Big Forest or The Cluster that you find interesting and would like to hear more about, let me know! This can help inform future blog posts and videos, and maybe even what I'll focus my attention on.

Read More »

Launching Eye of the Temple - this was my experience

My VR adventure Eye of the Temple, that I've been working on for the past five years, has finally shipped! It was released last month on October 14th.

Naturally this was a huge milestone for me after having worked on it for so long. And while I've released some smaller games for free in the past, Eye of the Temple is my commercial debut game. I actually did it! Wow, I say, patting myself on the back.

Shipping the game has been great, but also a bit confusing emotionally. There has been some big ups and also some downs. I might as well write about it here - mostly for my own sake, but who knows if it could be useful or just entertaining to someone else.

Read More »

Designing for a Sense of Mystery and Wonder

I play games to get to explore intriguing places, while challenge and story is secondary to me. But there still has to be a point to the exploration. I don’t want to just wander around some place - I want to uncover something intriguing and ideally mysterious. But the mystery lies not in the uncovering; it lies in the anticipation, or rather the lack of knowing exactly what I might find. In this article I examine that sense of mystery and wonder that’s tied not to story or themes, but to exploration. I’ll be using the word mystery as a shorthand for the kind of mystery and wonder I’m talking about here.

Zelda: Breath of the Wild from 2017 is an amazing game to go explore in, and one of my all time favorites. That said, while there are many things in the game that exude a sense of mystery - and certainly more so than in the average open world game - there are also a lot of missed opportunities.
Breath of the Wild reinvented the Zelda formula as an open world game.
I’ll compare Zelda: Breath of the Wild (BOTW) with Zelda: A Link to the Past (ALTTP) to try to figure out why ALTTP has a stronger sense of mystery than BOTW. A Link to the Past is a much older Zelda game from 1991 but I first played it in 2019.

Along the way I’ll be extracting four key design strategies for evoking a greater sense of mystery, and apply those strategies in the form of proposed design changes to BOTW. Finally, I’ll touch on some more general considerations to keep in mind when designing for a sense of mystery and wonder in general.
Read More »

Getting TortoiseHg on Windows to work with SourceHut's SSH authentication

Dec 9, 2020 in

You can skip to the header below for the actual guide. Or stay here for a rambling preamble.

I'm a skilled programmer, but I'm not a technical person. I'm not good with computers. Or at least I highly prefer if things just work, and I don't have to fiddle with settings and configurations.

This is one reason I strongly prefer Mercurial for source control over Git. It has a higher degree of just working. (I don't want to get into an argument over this. You can question my assertion, but my preference is my preference in any case.)

Unfortunately Mercurial has become a niche choice as Git has achieved overwhelming popularity, largely due to GitHub. I wouldn't really have cared about that, except it made BitBucket close down their support for Mercurial some time ago. And BitBucket was a hosting solution for Mercurial that was affordable and also just worked.

I and many other Mercurial lovers have then had to find alternative hosting. And I ended up with  choosing SourceHut. SourceHut is the opposite of "it just works". It's made for people who identify with hacking and tinkering and knowing all the technical stuff. Why did I choose it then? The "just works" alternatives had pricing that just did not work for a game development use case.

Now, SourceHut has been a pain to use in many ways for a non-technical person like me, but I've had the most pain at all trying to get SSH authentication to work. Unlike BitBucket, SourceHut does not allow HTTPS authentication, so you have to use SSH, and nobody ever sat down and made SSH easy to use on Windows.

Getting SSH to work involved juggling things like multiple types of SSH keys and formats all placed in a hidden folder, many different helper tools, and reading dozens of half-baked how-to guides that all contradict each other, often assume prior knowledge, and that are all for slightly different use cases which means they didn't quite work for me.

I got it all to work around a year ago, but I recently wiped my hard drive and needed to do it all over. I couldn't remember anything, so had to figure it all out all over again. So now I'm writing my own half-baked guide, mostly for my future self in case I need it again, but others might stumble over it and maybe find it useful too I guess.

When you read this guide, you might think it doesn't sound that complicated after all. But remember the guide omits all the things I read I should do and which I thus attempted, but it didn't work, and eventually turned out not to be needed anyway. Like running the main PuTTy application, or running tortoiseplink, or editing your mercurial.ini file. Anyway, on to the guide.

Read More »

Goodbye Unity

Dec 4, 2020 in , ,
Today is my last day at Unity.

It's been nearly 12 years since I joined the then-tiny startup with ~20 employees. Now there's over 3000 and it's been quite the ride to be part of this company while it has evolved, especially with the big role it has had in evolving the whole game industry too.

Lately I've been longing to do something smaller again, and so it's time for a new adventure in my work life to begin. Starting next week, I'm a full time indie developer! For a start I'll be wrapping up my VR action-adventure game Eye of the Temple that I've been working on part time for the past 4 years. There's a demo on Steam already that has very positive reviews and I expect the full game can ship in early spring 2021.

What I'll do after is not fully settled yet, but I have an idea for a (non-VR) game set in a big forest full of ruins, strange artifacts, pathways and mysteries that I might begin working on next year.

My mental state at the moment is kind of a mixed bag. On the one hand I'm very excited about future possibilities and being able to work on exactly what I want. On the other, my motivation and productivity is a bit flaky these days. I don't know the exact reasons, but possibilities could include:
  • Uncertainty about what my everyday life will be like (though economically I'll be fine!).
  • Having felt unfulfilled work-wise for a good while before I quit.
  • Having moved to a new country this summer (from Denmark to Finland), in the middle of a pandemic where it's hard to meet new people.
  • Being in the end stretch of developing a game where it's mostly boring stuff left.
  • Dark winter setting in - that normally doesn't affect me much but could be a compounding factor still.
However, I'll go easy on myself and just accept my productivity and motivation not being at its greatest right now. Perhaps I won't hit the ground running in my new indie life, but that's okay. I didn't have that much vacation this year either, so I'll see this as a chance to take it a bit easy for a little while while I adjust to my new life.

All in all, not a bad place to be, and I'm excited about the future!
Read More »

Eye of the Temple in 2019

I've completely failed to keep up the posting in 2019, but it's not too late to write at least one post this year! Here's (almost) everything that happened with the development of Eye of the Temple in 2019! But first, let's look at what happened in the last part of 2018 after the previous post.
Read More »

Creaking Gorge and The Cauldron

Since my last post in July where I finally got a vision down for the level design in Eye of the Temple, I've been feeling super productive adding new areas and features to the game.

In August I added two new areas and in September I've been revamping the in-game UI and the speedrun mode. Only problem is I haven't kept up with these blog posts. To avoid this post getting too long, I'll cover the new areas here and save the UI work for a later post.
Read More »