Eye of the Temple

Eye of the Temple is a VR game that lets you explore a vast and treacherous temple using your own feet. Keep your balance as you step from one moving block to another, dodging traps and solving puzzles with your torch and whip in hand. As you explore the Temple complex and its past, you might just uncover the mystery of the Eye, and find yourself becoming part of its legend.

Eye of the Temple makes unique use of room-scale VR and delivers the experience of exploring a vast environment. Lose yourself in the depths of the temple without teleportation, artificial locomotion, or other distractions taking you out of the immersion.
Buy the game or try the free demo:
Get Eye of the Temple on Steam

I also made this website:
Eye of the Temple official website

There's media and info for journalists etc. here:
See the presskit for the game

A brief history

After positive reception of the 2016 VR game jam game Chrysalis Pyramid, I decided to create a more ambitious spiritual successor. Keeping only the core mechanic of stepping from one moving block to another, development of Eye of the Temple began in the spring of 2016, where I worked on it on a part time basis.

A whole different aesthetic and environment was chosen for Eye of the Temple, focusing on the atmosphere of treacherous temples from classic action adventure films. After much research and development, a physically simulated whip was added as a new core mechanic in 2017.

At the end of 2020 I quit my day job at Unity Technologies to pursue indie game development full-time. I spent my time in 2021 wrapping up Eye of the Temple and on October 14th 2021 it finally shipped.


Eye of the Temple won the Design Award for Excellence in Locomotion in Road to VRís 2021 Game of the Year Awards.
"The amount of intention that went into designing the entire game is actually pretty mindboggling."
Eye of the Temple was included in UploadVR's 10 Best PC VR Games of 2021.
"A great reminder of just how powerfully immersive VR can really be."
Eye of the Temple got 9.3/10 in a review by Worthplaying.
"It's rare to jump into a new VR game and feel like it's something giddy and exciting that you haven't experienced before. Eye of the Temple is that game for me."
Eye of the Temple was #3 in Ben Plays VR's top 10 SteamVR games of 2021.
"I couldn't stop playing until I finished it."
Apart from that, Eye of the Temple got a very positive user review score on Steam, and many of the reviews are highly enthusiastic. Capturing the essence of over 100 reviews is no easy task but Iíve put together the following summary, with links back to 27 of the original reviews.

A slew of reviews highlight the uniqueness of the game, saying itís ďa refreshing change to see a new game form in VRĒ, that thereís ďnothing like this in VRĒ, and that itís an ďinstant classicĒ. Others write that itís ďsome of the most creative VR gameplay of any VR gameĒ, that itís ďnothing short of geniusĒ, and that ďthis dev is some sort of mad geniusĒ. Some write that itís ďa revolution in Virtual RealityĒ because ďthe motion system is completely revolutionaryĒ and that it has the ďpotential to create a whole new genre in VR-GamesĒ.

According to the reviewers, what makes it so innovative is that ďbeing able to actually walk through the entire game in your play space is just mind boggling and super immersiveĒ, making it ďone of those rare mind-blowing VR experiencesĒ. Some say that the game ďdoes otherworldly things with your mental perceptionĒ that ďmakes you forget you are in VRĒ and that as a result, ďthe immersion level is off the chartĒ and it ďtakes vr immersion to a new levelĒ.

For some reviewers, that level of immersion made this VR adventure the ďmost ingenious and thrilling VR gameĒ, speculating that ďif Steven Spielberg or George Lucas made VR games instead of movies ... this is the VR game they would come up withĒ because it ďcaptures perfectly the whole Indiana Jones vibeĒ, so that ďif you want to feel like Indiana Jones, this is the closest you could ever getĒ.

Overall, lots of reviewers say itís ďone of the best VR experiencesĒ and ďone of the greatest VR experiences of all timeĒ. Several focus on room-scale, calling it ďthe best Roomscale VR GameĒ theyíve played and ďthe best room scale experience out thereĒ. Some say itís the ď2nd best roomscale gameĒ next to Half-Life: Alyx and that they ďhaven't had this much fun since playing Half Life AlyxĒ. Others think Eye of the Temple surpasses it and is simply the ďbest VR gameĒ. One reviewer didnít limit it to VR and said: ďIíve been playing video games for 30+ years, and finding ALL the secrets in Eye of the Temple was easily the most satisfying moment Iíve ever had in a game!Ē.

Itís almost hard for me to believe how positively these reviews describe the game. Iím blown away and humbled by the response here.

One year later...

Oct 14 2022 - blog post, 0 Comments

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?

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.


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.

Launching Eye of the Temple - this was my experience

Nov 22 2021 - blog post, 21 Comments

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.

The time leading up to launch

Iím a developer first and foremost, and I frankly donít enjoy doing work related to promotion very much. I know many others are in the same boat.

The last major development work I did before launching was implementing localization around the end of August. Then came some weeks of working intensely on creating two trailers - the launch trailer for launch day, and a shorter launch day announcement trailer to be released a month before launch. Both trailers used mixed reality footage recorded by Anaburn.

When the trailers were more or less done, I had an entire month of doing just promotional work like creating gifs, sending out a press release and mails to journalists and creators (influencers) about the upcoming launch, tweeting, preparing the game for launch in Steamworks, tweeting specifically to influencers, plan pre-launch exclusive streaming with Ragesaq and spazkoga, writing to the (small) mailing list, etc. etc.

Once launch day came, I had been deeply entrenched in ďPR modeĒ for a long while, which is probably not ideal for my psyche.

Launch day

Release day finally came and I spent much of it sending out emails to journalists and YouTubers, writing posts on Reddit, Twitter and Facebook, and keeping the awesomely supportive people on the game's Discord server informed, and asking for their support once again. At 4 pm (local time in Finland) I finally pressed the release button and then I was busy replying to the flurry of comments and replies everywhere for a few hours.

A few days earlier I had asked for advice on Twitter about what to do on release day in order for it to be a good emotional experience. The general advise was to avoid sitting in front of a screen all day obsessively hitting refresh on pages, and instead make sure to take time to celebrate the achievement of shipping in good company with good food and drinks. And so I did!

At 6 pm my partner and I went over to a launch party that my friends at Forbidden Studios had graciously offered to host at their studio. Champagne was had, pizza was eaten, and some people tried out the game for the first time while onlookers were entertained by it. Lots of chatting and high spirits. This was really nice and I hardly checked the Internet at all.

In the following days my notifications were on fire like I've never experienced before, and I spent all my time replying, retweeting and posting a few things of my own. It was kind of stressful but also very cool.

I checked the sale stats too.

Mediocre sales

Sales of Eye of the Temple were not absent. The game was selling. It just wasn't selling a lot.

Let me clarify one thing. Most indie games aren't selling a lot. In fact, most indie games sell less than Eye of the Temple. It's well known that only a fraction of games on Steam make enough money to make game development sustainable for their developers. Even a base level of success (only barely covering the costs of making the game) requires being way above the median. So let me start by saying that Iím lucky the game has been selling at all.

Will sales of Eye of the Temple on Steam cover the costs of making it? Not really. Iíve developed Eye of the Temple over five years, but some of it was part time. It corresponds to about three years of full time work. Since itís predominantly developed solo with only little use of contractors, the biggest expense is salary for myself. If I calculate with a salary for myself thatís less than half of what Iíve earned in the past, and lower than the average entry level game programmer salary (ignoring Iím a senior programmer with 13 years of experience), the game is on track to cover maybe half of that after one year of sales, assuming year one sales will be about 3x of week one sales.

But Iím fortunate to have other sources of income besides the game sales, so I wonít be struggling paying my bills. Donít worry about me.

Really, the main reason the sales feel mediocre to me is that I think thereís a lot more people who would enjoy the game (and have the means to play it). But before I can meditate on the question of whether it feels like Eye of the Temple should have been able to sell better, we first need to catch up with some other things that happened.

An awesome review score

Four days after release I wrote this on Twitter:

Eye of the Temple currently has 32 reviews from paying customers. I'm curious if it'll reach the magical threshold of 50 reviews in the first week. No matter how highly a game is rated, it can only go from "Positive" to "Very Positive" with 50 reviews.

And lo and behold! Already the day after I could write this:

Eye of the Temple reached 50 reviews, and Steam changed the label to 'Very Positive'! This honestly happened quicker than I thought it would, and I really appreciate the help from you all! Thanks a lot!

A ďvery positiveĒ rating on steam requires at least 50 reviews and that at least 80% of them are positive. But Eye of the Temple has a much higher rate of positive reviews. At one point it was 98%, a fact I used as part of drawing focus on the end of the launch discount.

Promotional image used when the launch discount was about to end.

Itís since dropped to 96%. (With only a bit over 100 reviews, all it takes is one more negative review to make it drop one percentage point, while it takes over 20 positive reviews for it to climb back up again.) Still, thatís a super high percentage I hadnít expected at all, and Iím positively thrilled the game has been received that well!

During development I had the impression, based on play-testing with lots of people (also VR first-timers), that only quite few people had issues with motion sickness when playing the game. However, I always had a worry that my perception was skewed for some reason, and that lots of people would report getting motion sickness once the game shipped, and that this would have a big negative impact on the review score. But that never happened at all, and that has been a huge relief!

The awesome Steam reviews

The reviews on Steam are just awesome. They proclaim Eye of the Temple to be not only mechanically groundbreaking with an unprecedented level of immersion, but also simply one of the best VR games created.

Capturing the essence of over 100 reviews is no easy task but Iíve put together the following summary, with links back to 27 of the original reviews.

A slew of reviews highlight the uniqueness of the game, saying itís ďa refreshing change to see a new game form in VRĒ, that thereís ďnothing like this in VRĒ, and that itís an ďinstant classicĒ. Others write that itís ďsome of the most creative VR gameplay of any VR gameĒ, that itís ďnothing short of geniusĒ, and that ďthis dev is some sort of mad geniusĒ. Some write that itís ďa revolution in Virtual RealityĒ because ďthe motion system is completely revolutionaryĒ and that it has the ďpotential to create a whole new genre in VR-GamesĒ.

According to the reviewers, what makes it so innovative is that ďbeing able to actually walk through the entire game in your play space is just mind boggling and super immersiveĒ, making it ďone of those rare mind-blowing VR experiencesĒ. Some say that the game ďdoes otherworldly things with your mental perceptionĒ that ďmakes you forget you are in VRĒ and that as a result, ďthe immersion level is off the chartĒ and it ďtakes vr immersion to a new levelĒ.

For some reviewers, that level of immersion made this VR adventure the ďmost ingenious and thrilling VR gameĒ, speculating that ďif Steven Spielberg or George Lucas made VR games instead of movies ... this is the VR game they would come up withĒ because it ďcaptures perfectly the whole Indiana Jones vibeĒ, so that ďif you want to feel like Indiana Jones, this is the closest you could ever getĒ.

Overall, lots of reviewers say itís ďone of the best VR experiencesĒ and ďone of the greatest VR experiences of all timeĒ. Several focus on room-scale, calling it ďthe best Roomscale VR GameĒ theyíve played and ďthe best room scale experience out thereĒ. Some say itís the ď2nd best roomscale gameĒ next to Half-Life: Alyx and that they ďhaven't had this much fun since playing Half Life AlyxĒ. Others think Eye of the Temple surpasses it and is simply the ďbest VR gameĒ. One reviewer didnít limit it to VR and said: ďIíve been playing video games for 30+ years, and finding ALL the secrets in Eye of the Temple was easily the most satisfying moment Iíve ever had in a game!Ē.

Itís almost hard for me to believe how positively these reviews describe the game. Iím blown away and humbled by the response here.

Of course, if you would rather sample some of the reviews yourself, you can see all the reviews on Steam here.

The buzz

A whole lot of people made videos of Eye of the Temple on YouTube, most of which can be found here. Itís too many to list, but I appreciate all of them! I gave out a lot of keys to even YouTubers with very low subscriber counts who had shown an interest in the game while it was in development. There has also been many people streaming the game.

A few larger channels made videos as well. Hereís all the videos I know of with 2,000 views or more:

A lot of the videos are really brilliant. The most concise is the excellent 2 minute review by Ben Plays VR while two of the most entertaining to me are the mixed reality videos by Naysy and OtterWorldly. Naysy even had a TikTok video too that went viral with over 4 million views. Thatís really cool!

I couldnít see any spikes in sales from any of these things, but Iím convinced they all helped a lot combined. All in all, it feels like thereís a bit of a ďword of mouthĒ effect for Eye of the Temple.

The silence

Disappointment is just a miscalibration between expectation and reality. In this section Iíll talk about the biggest emotional let-down, but itís important for me to emphasize that Iím not complaining, blaming anyone, or saying that the world is unfair. Iím just saying that I had certain expectations that were not met, which means they were incorrect to begin with.

You see, I had kind of assumed that the press outlets and popular YouTube channels that had covered the game before its release, and spoken highly of it, would most likely also cover the release of the game. That turned out to be an incorrect assumption.

Letís start with the press. The highest-traffic outlets that have reviewed Eye of the Temple are Android Central, VRFocus and the German MIXED, which all reviewed it on launch day. Eye of the Temple hasnít gotten reviews in more mainstream outlets like IGN, The Verge or Screen Rant, and I never much expected it would, since they never covered the game prior to release either.

In contrast, the two most popular outlets for VR news, UploadVR and Road to VR, have covered the game multiple times prior to the release. UploadVR covered it here, here, here, and here and mentioned it in an article 38 Titles We Canít Wait To Play and Road to VR covered it here, here and here. With that much coverage prior to release, it took me by surprise that they didnít review the game when it finally launched, and here over a month later still havenít. UploadVR did post a quick note about the end of the launch discount and I appreciate that of course.

Taking a bit more zoomed out perspective, we can look at Metacritic. Metacritic doesnít include all reviews, but it can still give a general overview. When looking at the Metacritic page for Eye of the Temple you can almost hear the tumbleweeds rolling, with its single review from VR Focus. Compare with the pages for other recently released VR games that sold much better: I Expect You to Die 2 (PC version) with 11 reviews and Sniper Elite VR (PC version) with 20 reviews. Of course, those werenít made by solo indie developers, but itís just to put things in perspective.

On YouTube a similar effect was going on, to a degree. Since we already talked about coverage of the released game on YouTube, with the most seen video having 14K views, we can do a little comparison with some videos from last year that covered the free demo of the game:

This makes the view counts of the videos of the released game seem almost quaint in comparison. The demo got covered by channels that have more subscribers and can command higher view counts. (Thatís ignoring Naysyís TikTok video that got 4M views of course. I donít currently know how to meaningfully compare YouTube views with TikTok views.)

Here, I had particularly thought it likely that Virtual Reality Oasis would cover the full game since heíd talked positively about it not only in his video but also in the podcast he hosts. On Twitter, after release, someone suggested he was likely to cover the game, to which he replied ďI already covered it and had a great time with itĒ - referring to his coverage of the demo a year prior. And I really appreciated that earlier coverage of course, and said as much. And yet: That thereís no reason to cover the released game when already having covered the demo is a logic that probably makes a lot of sense from the perspective of a YouTuberís situation, but to the game developer it feels like getting cold water thrown in your face. My expectations were miscalibrated, and having them corrected was no fun.

Another YouTuber I had hoped might cover the game, even if it was a slim chance, was Nathie. He hadnít covered the game or its demo, but he had covered the game jam game Chrysalis Pyramid from five years earlier that was the precursor to the game. And back then he had said he hoped the developers would make a full game out of it, and he had made a bunch of suggestions for things to include in such a game. And now five years later, there is a full game, and it does include a lot of the things he suggested. If he then tried out that game on his channel, it would be like going full circle. It just seemed like such a good story, and people love good stories.

Two weeks after release I told that story through this video, honestly hoping it might nudge him to cover the game on his channel. The video was very well received by people, and I was happy to see that Nathie also quote tweeted it on his Twitter account, but alas still no video coverage. Ah well, it was worth a try.

Anyway, lesson learned. With both press and influencers it seems logical to think ďif the game got this amount of coverage before it was released, surely it will get at least as much if not more when it actually launchesĒ. But thatís not a given at all. Reality can end up being the opposite.

Speculation time

Okay, there you have it, all caught up. The reviews on Steam were way better than I expected and there was a healthy buzz on YouTube. The coverage in the press (and to a degree among more mainstream YouTubers) was way worse than expected, and worse than coverage of the game prior to release had been. And the mediocre sales were somewhere in between, being lower than expected but not completely bad.

Now I can meditate on whether it feels like Eye of the Temple should have been able to sell better, or rather on what the reasons might be that it didnít.

Maybe PC VR is just dead

Thatís what some people tell me. All the attention is on Oculus Quest these days. There might be something to this, though this doesnít explain why some other recent PC VR games like Sniper Elite VR, Cooking Simulator VR, or I Expect You To Die 2 sold way better on Steam than Eye of the Temple (extrapolated from number of reviews). And Eye of the Temple has as good Steam review or better as any of those.

Maybe itís because the play area requirement limits who can play the game

Thatís true. According to an old survey, only about 50% of people with VR headsets have a play area of 2m x 2m or more. Headsets have decreased in price since then, becoming available to people with lower income, and this might mean an even lower percentage have enough room now. But thatís only because the number of people with headsets grew so much.

Itís estimated that 2 million people own Half-Life Alyx and that per July this year there are nearly 3 million monthly connected headsets on Steam. Even if only 10% of those have a 2m x 2m play area, thatís still a huge market. So the play area requirement is by no means the bottleneck here.

Maybe people just donít care as much about indie developers with no track record

Harsh but true to a degree. I mean, like I described above, there has been decent coverage of Eye of the Temple in the press prior to launch, and a respectable YouTube buzz when it launched, so itís not like nobody cares. But when looking for reasons why there was so little coverage upon the actual launch, and also why the sales werenít better, being an unknown indie is probably a notable factor in that.

Maybe itís my lack of PR experience

Another factor that goes hand in hand with being an unknown indie developer that self-publishes is having a lack of PR experience and know-how. While Iíve read a lot on the subject and followed a lot of best-practices (sending review keys to journalists and influencers well in advance of launch etc.), thereís undoubtedly also things I didnít think about, things I didnít execute well on, and things I did know about but didnít have time to even try. Iím pretty sure this factors into the lack of press coverage.

Maybe the demo stole some of the thunder

Journalists and influencers prioritize "fresh news" and there's a risk that a demo (or free prologue) released in advance of a full game can detract from the "news value" of the release of the full game. The original intention was that the demo was released a few months in advance of the full game, which is supposedly the ideal gap, but then the full game took much longer to wrap up than I had thought. It ended up being released a full year after the demo, and this can further have magnified the "old news" effect.

Maybe the game just doesnít have mainstream appeal

Oof, this is not a nice thought. This is also very speculative because itís very hard for me to directly assess. While developing a game, itís easy to get trapped in an echo chamber where you hear most feedback from fans of the game. I feel like Iíve always been aware of this, and while Iíve never dismissed positive feedback, Iíve kept in mind that it might not be representative of a larger player-base.

However, the reviews on Steam has been just as positive. Is it possible for Steam reviews to be an echo chamber too? I suppose if a gameís presentation (trailer, store page etc.) very effectively selects for the people who will end up enjoying it, then maybeÖ If this is what has happened, itís probably a good thing. Itís valuable for a game to only attract the people who will enjoy it, exactly so that it can get better reviews, word of mouth etc. from those who have played it.

However, it would also have the effect that the positive reviews are not at all indicative of potential for more mainstream interest in the game, which could be counter-intuitive and confusing. This would explain the large discrepancy between the really positive Steam reviews and the mediocre sales and silence from the press. But I don't know if a "Steam review echo-chamber" is a plausible hypothesis or not.

Maybe it's the game's presentation that doesn't have sufficient appeal

One thing that goes against the "limited mainstream appeal" hypothesis is that many people have talked about how showing the game off to family and friends is a blast, and have recommended the game as a great choice to show to VR first-timers. I would think that this indicates very healthy mainstream appeal. Another possibility could be that while the game itself has good mainstream appeal, the game's presentation, such a trailers and store page, doesn't manage to convey that, and doesn't manage to attract all the people who would have enjoyed the game if they tried it. But the plausibility of this hypothesis is also hard for me to assess.

Maybe itís a combination

Itís probably a bit of all of the above?

Still, I have a feeling thereís a lot more people out there who would enjoy the game, and I hope more of those people might discover the game over time and get to see for themselves what those glowing reviews are raving about.

The future

Hereís what I have planned for Eye of the Temple:

I want to add support for multiple save slots so multiple family members can play with separate saves, and people can let their friends try the game without losing their own progress.

I might look into adding some features to the speedrun mode that might make it more motivating to try out, like having speedrun challenges for completing just a section of the game.

And of course, Iíd love to bring Eye of the Temple to Oculus Quest 2, but I donít have the skill-set to do it myself. Iíd need help from a skilled Unity developer (studio or individual contractor) with lots of experience profiling and optimizing for Quest or other mobile platforms. I'm now in contact with a number of companies - we'll see how it goes!

Thanks for reading! If you have any thoughts on all of this, be sure to let me know. :)

Eye of the Temple in 2019

Dec 31 2019 - blog post, 0 Comments
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.

Fall 2018

In September 2018 the game got a proper looking in-game menu replacing the old debug UI.

It also got area names appearing when reaching a new area (or revisiting an old one).

Lastly the speedrun mode got completely revamped. In the speedrun mode you can step onto platforms before timers run out to build up incredible speed - if your reactions are fast enough! This is not for the faint of heart, but if you're up for a bigger challenge than the base game provides, it's worth checking out. What's new in revamped speedrun mode is that it gives visual feedback that makes it clear how fast you need to step to rake up speed.

A big update hit in October 2018 with two new areas - Fiery Pass and Black Sanctum - as well as a whole new and rather cool-looking ability in the game which I won't reveal here. Okay, now let's look at 2019!

New area, new music, and Steam achievements

2019 started with an update in January that added a new area called The Wall as well as changes to the existing areas The Atrium, Monument Square, and The Cauldron. The temple got more "tied together". January is also when the game got Steam Achievements implemented. And last but not least, a new dynamic music track was added, composed by Claudio Martinez who's also behind the other music in the game. I implemented the track into the game such that it changes dynamically to match different moods in different areas of the game.

Satisfying combat and water splashes

In February the combat in the game was revamped to feel more satisfying. This was done based on lots of helpful feedback from the playtesters and various people on Twitter.

And water splashes were added to the areas with water for fun and immersion, though they have no effect on the gameplay as such.

Big minecart update

A big update hit in May, where minecart rides were added to the game! To get access to it, you'll have to first get through a new added area called Creepstone Mine. A small new area was also added that's only accessible by minecart.

This update also added a secret room in the game. To this day, none of the playtesters have found it yet.

New areas, and the game now has a story

An area Watergrave Arena was added in August, featuring more combat, and in October an area called Dark Ruins was added which culminates in a new kind of challenge with some tense moments. Afterwards you'll get to pick up an all new gadget. This update also added a new element to the game which is story. Bits of story can now be uncovered at a number of shrines throughout the temple. The overall story was developed in collaboration with Lex Wilson. In the final game the story bits will be voice acted, but for now it's text only.

Reveal trailer

I released a reveal trailer for the game in November, which you can see here:

This was covered by UploadVR as well as by a few other outlets.

Looking to 2020

2020 is the year Eye of the Temple is released, unless things go terribly differently than I anticipate. (That said, I once thought it would come out in 2017.) There's one final area in the game left to do, apart from various fixes and improvements. That sounds manageable, but then, it's probably the most challenging area to design and get right, being the culmination of the game and all.

If you're interested in Eye of the Temple, don't forget to add it to your wishlist on Steam!

Happy new year!

Creaking Gorge and The Cauldron

Sep 17 2018 - blog post, 0 Comments
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.

Creaking Gorge

Creaking Gorge is an area where you move along and into cliff sides and atop wooden scaffolding. It's by far the most vertical area in the game, spanning more than 50 meters vertically. It's a fairly non-linear area too with multiple paths that can be followed in an order you choose. The verticality combined with the fact that not all of the paths can be seen, since they carve into the cliffs, means that it can be a challenge to keep track of your orientation and where to go next. It's an area of contracts since the bright and wide open space of the gorge itself is interspersed with ventures into cliff caves with narrow corridors and dark suppressing chambers. Creating Creaking Gorge was mostly a level design job, as the elements and mechanics of it were already present in the game, apart from the wooden scaffolding which is purely visual.

The Cauldron

Following Creaking Gorge comes The Cauldron, a smaller area taking place over flowing lava and involving fire traps and puzzles.

The first thing I did for The Cauldron was start working on the lava surface. I looked at existing solutions like this Lava Flowing Shader, but its unidirectional flow is more suited to a lava river than the kind of lava pools I have.

I ended up offsetting texture look-ups in two directions according to some sinus and co-sinus functions. Additionally there's a texture that maps distance to walls, so the flow can be slowed there and the lava also be darker. Here's that texture, and its effect on the lava. The bubbles are made with a particle system emitting sphere meshes, but they looked bad when I just gave them fixed or random colors. I ended up making the regular lava texture based fully on world space look-ups, not UVs, so the bubbles could be mapped identically. After adding steam particles, a better lava pattern, and baked lightmaps, the result looked like this: After getting the lava into shape (which frankly is purely visual too but adds a lot to the feeling of the area), I got cracking working out the puzzles. For the fire-based puzzles here, I had to generalize a bit how fire propagation worked so that anything that can catch fire can be lit up by any fire source. The result is some simple puzzles where the player has to use fire in new ways than previously.

Two distinct new areas done in one month! I'll have a hard time beating that in the future I think, but here's to hoping.

Level design workflows

Jul 14 2018 - blog post, 0 Comments
Let me talk a bit about my workflows for doing level design in Eye of the Temple since I recently had some progress in that area.

I've been in something akin to a level design writer's block for a long time, being able to rework individual small areas, but unable to start the major world redesign that I've been intending for over a year.

Maybe calling it writer's block is pretentious - the fact is that I've never done this sort of work before, so I may just not have developed the necessary workflows to deal with it. Anyway, I think I might have finally cracked the nut.

I've had plenty of ideas, but fragmented and not crystallized enough to get down on paper. How do you start planning a non-linear world meant to be highly interconnected and interdependent? I can talk about what eventually worked for me.

I've long pondered what type of document could help me get ideas down on paper in a quick way. In addition to text documents (glorified to-do lists) I've been using tilemaps for sketching level designs.
I've been experimenting with using Unity Tilemaps as a digital replacement for pencil level design sketches. Some success so far, although I'm really missing rotation/flipping of selection and proper multi-selection.
— Rune Skovbo Johansen (@runevision) November 27, 2017
These tilemaps naturally lead to obsess over details though. What recently helped me move on was allowing myself to draw free-hand inaccurate lines and gloss over the contents of rooms. It's difficult because I have ideas for the rooms that are important and which informs their shapes. The fear of forgetting those details if I don't put them down right away is there, but have to be ignored to get on with the broader strokes.

In order to inform what to draw in those broader strokes, I consult my documents with intended progression of a given section of the game. What puzzles are encountered, what abilities are learned and used. This is an iterative process where both documents are altered. Finally, after watching Boss Keys episodes by Mark Brown (@britishgaming), I tried using his dungeon graph notation to document, then refine, how dependencies in the world works. I already had loosely these ideas in my head, but getting things into the right document form can help immensely. These 3 document types, progressions described in text, a world map sketch, and a dependency diagram, each make certain aspects of the creative process easier, and iteratively refining them all in a complimentary manner now helps me plan out the complex world. The tilemaps are convenient in that the rough sketches can be refined into more detailed plans over individual rooms where each tile is planned, but my lesson was to only do this later, as necessary. This is not to say that these will be the only document types I use for planning out the world. None of them capture the three-dimensionality of the world well, and white-boxing may well be the next thing I look into. That's it. A lesson learned in using various forms of documents that fit various aspects of the job in order to be able to get on with "getting things down on paper".

P.S. Be sure to check out Mark Brown's awesome dungeon graph template on his Patreon.

New pots feature, mixed reality, Discord server, Yonderplay event

Apr 22 2018 - blog post, 0 Comments
It's time for a new update on the development of Eye of the Temple.


GDC in March is well behind us and I had a great time there. Among other things, I got to show off Eye of the Temple at the European Game Showcase (and saw a lot of other cool games too). This was a private event for specially invited people from the network of the organizers.

Now, Eye of the Temple has been selected for Yonderplay, an event that's part of the Nordic Game Conference in MalmŲ in Sweden and open to everyone at the conference. This will go down on May 25, the last day of the conference. This is the most public showing of the game yet, and I'm very excited about it! If you'll be at Nordic Game Conference yourself, come by and say hi and give the game a try.

Mixed reality

At GDC I also met some of the fine people from LIV, a platform for mixed reality recording (and more) for VR content. I've been integrating support for LIV in Eye of the Temple (it's very easy) and a handful of people from their community has been helping me test the game both with focus on mixed reality and in general.

Apart from testing and feedback, I've also been allowed to create and use some gifs from their recordings. Being able to show Eye of the Temple in mixed reality is very exciting to me, since it shows the physical nature of stepping around in the game in a way that's been impossible with regular purely virtual footage. Here's a few examples: These gifs are featuring ThreeDee from ComedyPipe. I tweeted them here and here.

I would love to have mixed reality gifs with others playing the game as well. If you have Vive or Oculus Rift with a mixed reality setup and is up for it, please get in touch!

Discord server

For a long time I've been using itch's forum feature to talk with early testers of the game, but I'm now beginning to move more towards Discord. I've only just learned about Discord recently, but have been happy with it so far. Feel free to join! Here's an invite link to the Eye of the Temple Discord server


Last but not least, I just implemented a new feature in the game: Pots!

Pots contain gems. You can tap the pots gently to get the gems out a few at a time or just smash the pots with your whip or torch to get all the gems all at once. But that would be a shame for such antique and rare pottery, now wouldn't it?

The pots give players more opportunities to use the whip, which I think was much needed. They also add more physicality to the game, since the pots (and the shards if they're smashed) are physics-driven objects. Hopefully it also adds just a bit of player expressiveness potential and unpredictability to the game.

A player can intentionally smash a pot, or intend to just brush it softly with the whip to tease out gems in a non-destructive way. This can however still accidentally make it topple over and fall down and get smashed way below. Players could set goals for themselves to smash all pots or avoid smashing any. Whether this will happen in practice is yet to be seen but it at least feels nice to me to allow for different approaches like this.

I made this silly and crudely acted video showcasing the new pots. Do you enjoy pottery too? Let me know in the comments!

New trailer, public Steam page and Eye of the Temple in the press!

Mar 20 2018 - blog post, 0 Comments
Last week I took a dive into the world of PR with Eye of the Temple.

There is a new trailer you can see on the website eyeofthetemple.com or right here below.

And Eye of the Temple now has a Steam page: Eye of the Temple on Steam

If you have a Vive or Oculus Rift, and think Eye of the Temple looks interesting, you can totally add it to your wishlist on Steam now! ;)

After that I took my first stab at contacting the press with a press release. The story got picked up by UploadVR and a handful of smaller outlets (see list on the Sanctum Dreams website). Considering I'm an unknown small indie developer with no experience with the press, I'm pretty happy with the results.

This week I'm at Game Developers Conference in San Francisco. I'm mostly here with Unity, but I'll also be showing Eye of the Temple at the European Game Showcase.

Exciting times!

January 2018 update

Jan 30 2018 - blog post, 0 Comments
It seems like I didn't blog since July. How scandalous! Well, here's an update on what I worked on for Eye of the Temple since then.

Presented as a series of tweets, because that's what I have time for.

Note: Add blockers seem to sometimes randomly block some of the embedded tweets for some reason.

Prettier background environment

The cold snowy mountains didn't give the feeling I was aiming for. Failing to find anything ready-made that fit the bill, I created my own lush, mountainous environment.

Failed attempts at mixed reality capture with StereoLabs ZED stereo camera

I think a mixed reality video would be the ideal way to show off Eye of the Temple, so I invested a bit in this. Unfortunately it didn't go well due to a combination of a bad choice of immature tech, and an insufficient green-screen setup. I might revisit this in the future though.

Glowy light for certain platforms

New build for testers with whip and other improvements

I finally finished developing the whip and got a build out to the testers.

Trying to recruit people to test the speedrun mode (never had any luck!)

The speedrun mode is super fun and challenging to me, but nobody else seem interested in it. Besides asking on twitter I also contacted some of the notable VR speedrunners and people who has posted about VR speedrunning on Reddit, but got nothing out of it. If anyone reading this have a Vive and would like to try it, do let me know!

Implemented a new type of dangerous rooms for the temple

The reviews for this feature are through the roof.

Got serious working on the big level design overhaul

Still far from finished with this one.

Worked on a texture tool "Bricker" to easily create bricks and carved shapes

More on that in another post.

Contracted a few pieces of concept art to get inspiration for improving the visual look of the game

And finally, introduced this little birdy

That's it for now. Hope you enjoyed this glimpse into the development, and see you soon. Back to working on the game for me! Remember you can also follow the development as it happens following @EyeOfTheTemple or @runevision on twitter.

July update: Trials and triumphs of whips and levers

Aug 3 2017 - blog post, 1 Comments
Here's the latest updates on the development of my Vive VR game Eye of the Temple.

For the past several months I've been working on improving the whip I prototyped last year. In the last post, I showed how it could grab levers, but there were a lot of issues and the whip and lever didn't exactly look pretty. Now see what it looks like now:

This feels really good to use now. It didn't get to this point without a lot of issues on the way though.

The whip

A bit of background on how the whip is implemented in broad strokes. Using physics joints etc. quickly turned out infeasible when I did the prototype last fall. Instead, Iím keeping track of positions and velocities of ďlinksĒ in arrays in my own scripts and doing very custom simulation with lots of tweaks and workarounds. One of the needed things to make it behave whip-like is that in the spring code that maintains distance between adjacent links, one link should affect the other slightly more than the other affects the first. This is to simulate the fact that the whip gets thinner towards the end, which is critical for whip-like behavior.

Collisions with level geometry works by doing sphere-casts, one per whip link per frame, which is around 30. The spherecasts are from the previous position of a segment to its new position, and if anything was hit, I move the new position to the intersection point, which should be in between the old and the original new position. That's the basics.

There's special logic that makes the stick of the levers "sticky" and "unsticky" at specific times, which aids the behavior, but the way the whip curls around the stick (or fails to curl, sometimes) is still driven by the regular simulation apart from that. For all other surfaces, there's no special logic. It uses the sphere-cast based collision avoidance I mentioned above.

I should say there's a glaring issue in my collision approach which isn't shown in the video, which is that collision fails against moving surfaces, such as the moving platforms. I'm not quite sure if I want to solve that, because it's going to add tons of complexity to the code, while probably also degrade performance significantly. I've chosen to ignore this for now, since there's no lack of other things that need to be done that are more critical.

The lever

The lever has caused me all kinds of problems. Doing a lever that works properly, particularly for VR, is apparently a complicated problem. I made a video about my woes here:

I found out that levers could be made to avoid sliding out of their joints given three criteria are met:

First, the collider of the lever handle must not overlap with any other colliders in the world. The tricky thing here is that it's not easy to see that overlapping colliders might affect the handle, since the handle is firmly locked in place. But they do affect it in very non-obvious ways. So I ensured the handle collider doesn't overlap with any other colliders.

Secondly, the rigidbody must have its position set to locked.

Thirdly, the center of mass of the rigidbody must be overwritten in script to be set to the pivot that the handle should rotate around. Unfortunately, this leads to another problem. Sometimes the lever handle would get completely stuck, in which case no amount of forces would make it move one bit. After some experimentation, this seemed to happen if the handle is exerted to forces while the connected rigidbody (which is kinematic) simultaneously move. (Some levers in my game sometimes get moved around.) I worked around this by disabling the rigidbody position locking at strategic times and then reenabling it again. This seemed to fix the issue.

Polishing it up

After I had gotten most of the technical issues resolved, I set out to create proper 3d models for the whip and lever to replace the simple cylinder placeholders I had before.

And as the last step, I added the ability for the whip to be rolled up (which it now is by default). The whip is still fully simulated while rolled up, which is what gives the rolled up whip its nice juicy appearance. There's no animation or pre-canned movements involved in the whip at all.

The transition where the whip gets rolled up is done by pulling at specific segments of the whip towards a specific point on the handle. This happens to also be how the whip remains rolled up in general.

In the video I do a little upwards flick and then the whip rolls up. This is purely "role playing" though. The rolling up is actually triggered just by pressing a button on the controller. ;)

If you've been following the development of Eye of the Temple, does the whip related gameplay change how you view the game? What do you think it adds to it?

June update: Verticality, puzzles, whip

Jun 13 2017 - blog post, 0 Comments
Here's the latest updates on the development of my Vive VR game Eye of the Temple.

For the past month I've been mainly working on improving the whip I prototyped last year. It can now be used to grab levers at a distance, and then you can yank the whip backwards to activate the lever.
There's still some way to go, especially with getting the audio cues right. The physics will never be quite like a real whip, but making it satisfying to use is the top priority.

Apart from this I've been looking into designing more puzzles for the game. I'm no expert puzzle designer, but bit by bit I come up with some that I think work well. The latest involve tall rotating towers, activated by levers (no whip use necessary for this one) where you need to step around on and in them at two different levels.

This also marks my increased effort in making better use of verticality in the level design. Experiencing the great heights is a draw of the game, and I'm figuring out how to use that optimally. I don't have a new build with these new things yet. The work right now is on smaller isolated pieces and puzzles, and once I have a set of those that fit nicely together, I'll begin integrating it all back into the overall world design.

April update: Fire, blades, speedrun mode

Apr 2 2017 - blog post, 0 Comments
Here's the latest updates on the development of my Vive VR game Eye of the Temple. New additions:
  • Fire! One challenge tunnel now has fire hazards.
  • Blades! One challenge tunnel now has swinging blades.
  • Speedrun mode! A more challenging way to play the game. More notes below.
  • Hat! You're now wearing a hat. Hope you like hat.
  • Experimental spectator camera. 3rd person view. More notes below.
  • Field of view is now restricted when close to falling and when falling in order to further reduce risk of motion sickness.
  • Placeholder ambient soundscape taken out of the game for now since it had confusing footstep sounds.

Speedrun mode

For those of you who wanted more challenge in the game, there is a new speedrun mode. This mode times your play-through but also speeds up the platform movements as long as you can keep up.

This mode is has a higher risk of being uncomfortable, causing motion sickness, and falling over, so engage on your own risk.
  • Each time you take a perfectly timed step onto a new platform, the game will speed things up a little bit.
  • Each time you miss an opportunity to step onto a new platform, the game will slow things down a little bit. (This can occasionally happen through no fault of your own.)
  • When you die, the speed is reset, so it's recommended to keep to a speed you can handle in order to not lose momentum in your speedrun. You can avoid speeding thing further up by taking steps in a slightly slower way.
I do not recommend this mode to people who haven't already played through the game at least once, so in the final game I'll probably only unlock the speedrun mode by completing the game.

How to use: For now though, you start a speed run by first starting a new game, and then press Shift+R on the keyboard.

Experimental spectator camera

The gameplay in Eye of the Temple can be hard to get an impression of for others by looking out in first person. I've experimented with an alternative camera angle shown on the monitor that shows the action from 3rd person perspective.

How to use: Activate/toggle 3rd person spectator camera by pressing X on the keyboard.
This view requires extra resources from your computer, so if you get performance problems, turn it off.

What do you think of 3rd person spectator camera? Is it something you might use for streaming, videos, or for people watching you play? It's still a bit buggy and has room for improvement, but I'm curious what you think of the overall idea.

February update: Gems

Feb 21 2017 - blog post, 0 Comments
Here's the latest updates on the development of my Vive VR game Eye of the Temple. New features:
  • There are now gems throughout the temple that you can collect.
  • Moving platforms have glowing symbols on them.
  • Visuals: Intro area has some red stones and some of the dungeons have grittier gray stones and spikes.
  • The way the platforms move has been tweaked, hopefully to further reduce potential for dizziness.

Notes on gems

The gems are found throughout the temple. The exact placement tries to take player proportions into account so that they are at a comfortable distance for reaching. I haven't tested this on different people yet though. If you could let me know how it works for you and how tall you are, that would be helpful. If you don't want to share that, that's ok too.

Right now the gems don't do anything yet. Later I will implement at the minimum a way for you to see how many you collected.

Beyond that I need to decide if the gems have a critical or non-critical function:

A critical function of the gems could be if they are used to unlock new areas in the game and thus are needed to progress. Or an almost-critical function would be to unlock alternative paths or secret rooms not otherwise accessible. This is still fairly critical because it would be annoying if you're trying to see 100% content of a game to find out you can't due to some mistake made earlier that's too late to do anything about. Currently there are one-way platforms that you can take which will prevent you from going back to collect any gems you might have missed. If I make the gems critical, I'd have to find a way to make it possible to always go back to all areas of the temple.

Non-critical functions of the gems could be high-score, achievements, and, I dunno, unlockable hats if I get a selfie stick implemented for the game. :P Old games would typically grant you extra lives, but it doesn't work for modern games with infinite lives.

For now I refrained from placing gems at platforms that only go one way. If there were gems there and you failed to pick one up, you wouldn't have a second chance and I thought that might feel unfair or frustrating.

Early testers online forum

In order to try to get faster feedback and shorter iteration cycles, I opened up for people to sign up online to be early testers of the game. If you have access to a Vive (and 2.2 by 2.2 meters space) and would like to try out the game and provide detailed feedback based on your experience, please don't hesitate to join!

Sign up to provide feedback on early builds of Eye of the Temple

January update: Visuals, usability and early testing

Jan 30 2017 - blog post, 0 Comments
For a while, my focus for my Vive VR game Eye of the Temple have been to not expand more on gameplay right now but rather on improving what I've got in order to make it as presentable as possible.

That has meant:
  • Improving visuals.
  • Addressing usability issues found in play-testing.
(If anybody wonder what happened to the Whip Arena spin-off game, I put that on hold after it become clear it only worked well with a quite large physical VR space, which very few people have available.)

    3D models

    Gate model. Two keys must be inserted above the gate to unlock and open it:Stone torch model. You light these with your torch to trigger things happening:Cliffs model. The temple used to just float in the air; now it's grounded:
    For a long time the game was full of placeholder models made of simple boxes and cylinders. There's still some of those left, but I've been working on replacing them all with proper models.

    After briefly planning to work with contractors for 3D models, I decided to learn 3D modeling myself instead (and deal with the various challenges that come with it).

    The models I need have highly specific requirements (they need to have very exact measurements and functionality to fit into the systems of the game) yet in the end they are quite simple models (man-made objects with no rigging).

    With this combination it turned out that back-and-forth communication even with a very skilled artist took as much time as just doing the work myself. I'll still be working with artists for the game, just not for the simple 3d models I need.

    Several of the models still have placeholder texturing. I have an idea for a good texture creation workflow for them, but it will take a little while to establish, so I'm postponing that while there's more pressing issues.

    Intro section

    My goal is that Eye of the Temple should be a rather accessible game. You need a body able to walk and crouch, and not be too afraid of heights, but I want it simple enough to play that people who don't normally play computer games can get into it without problems.

    This has largely been a success. Gamers or not, I normally just let people play without instructions, and they figure things out. My dad completed the whole thing in one hour-long session when he was visiting.

    The game did throw people in at the deep end though, asking them right from the start to step between moving platforms four meters above the ground. Some people would hesitate enough to end up mis-timing their step and stumble, making the experience even more extreme right from the beginning.

    To ease people a bit more in, I've worked on an intro section that starts out with only a 0.75 meter drop, and the first two platforms have no timing requirement. I have yet to get wide testing of this to see if it helps.
    There is one particular problem I've toiled with for a while, which is to design a platform that bridges two spots in a compact manner. Why this is tricky relates to how the game lets you explore a large virtual space using just a small physical space.

    Originally I had platforms rotating around a center axis, but that made some people motion sick who otherwise didn't have problems with the rest of the game. I tried various contraptions to replace it, but they were complicated and awkward to use. My latest idea is using just a barrel-like rolling block, which is nice in its simplicity, and also a fun little gimmick to balance on once you understand how to use it.

    Figuring out what you're meant to do is easy to miss though, as I found out with the first tester trying it. I have some ideas for a subtle way to teach it, but that will take quite some time to implement. For now I settled for slapping a sign up that explains it.

    Early testers online forum

    There is no substitute for directly observing people playing a game, but this is impractical for me to do frequently when I also have a full-time job. I'm lucky if I get to do it two times a month.

    In order to try to get faster feedback and shorter iteration cycles, I've now opened up for people to sign up online to be early testers of the game. If you have access to a Vive and would like to try out the game and provide detailed feedback based on your experience, please don't hesitate to join!

    Sign up to provide feedback on early builds of Eye of the Temple

    The quest for automatic smooth edges for 3d models

    Jan 4 2017 - blog post, 0 Comments
    I'm currently learning simple 3D modeling so I can make some models for my game. I'm using Blender for modeling.

    The models I need to make are fairly simple shapes depicting man-made objects made of stone and metal (though until I get it textured it will look more like plastic). There are a lot of flat surfaces.

    The end result I want is these simple shapes with flat surfaces - and smooth edges. In the real world, almost no objects have completely sharp edges, and so 3d models without smooth edges tend to look like they're made of paper, like this: What I want instead is the same shapes but with smooth edges like this: Here, some edges are very rounded, while others have just a little bit of smoothness in order to not look like paper. No edges here are actually completely sharp. The two images above shows the end result I wanted. It turns out it was much harder to get there than I had expected! Here's the journey of how I got there.

    How are smooth edges normally obtained? By a variety of methods. The Blender documentation page on the subject is a bit confusing, talking about many different things without clear separation and with inconsistent use of images.

    Edge loops plus subdivision surface modifier

    From my research I have gathered that a typical approach is to add edge loops near edges that should be smooth, and then use a Subdivision Surface modifier on the object. This is also mentioned on the documentation page above. This has several problems.

    First of all, subdivision creates a lot of polygons which is not great for game use.

    Second, adding edge loops is a manual process, and I'm looking for a fully automatic solution. It's important for me to have quick iteration times. To be able to fundamentally change the shape and then shortly after see the updated end result inside the game. For this reason I strongly prefer a non-destructive editing workflow. This means the that the parts that make up the model are kept as separate pieces and not "baked" into one model such that they can no longer be separated or manipulated individually.

    Adding edge loops means adding a lot of complexity to the model just for the sake of getting smooth edges, which then makes the shape more cumbersome to make major changes to afterwards. Additionally, edge loops can't be added around edges resulting from procedures such as boolean subtraction (carving one object out of another) and similar, at least not without baking/applying the procedure, which is a destructive editing operation.

    Edge loops and subdivision is not the way to go then.

    Bevel modifier

    Some posts on the web suggests using a Bevel modifier on the object. This modifier can automatically add bevels of a specified thickness for all edges (or selectively if desired). The Bevel modifier in Blender does what I want in the sense that it's fully automatic and creates sensible geometry without superfluous polygons. However, by itself the bevel either requires a lot of segments, which is not efficient for use in games (I'd want one to two segments only to keep the poly count low) or when fewer segments are used it creates a segmented look rather than smooth edges, as it can also be seen below.

    Baking high-poly details into normal maps of low-poly object

    Another common approach, especially for games, is to create both a high-poly and a low-poly version of the object. The high-poly one can have all the detail you want, so for example a bevel effect with tons of segments. The low-poly one is kept simple but has the appearance from the high-poly one baked into its normal maps.

    This is of course a proven approach for game use, but it seems overly complicated to me for the simple things I want to achieve. Though I haven't tried it out in practice, I suspect it doesn't play well with a non-destructive workflow, and that it adds a lot of overhead and thus reduces iteration time.

    Bevel and smooth shading

    Going back to the bevel approach, what I really want is the geometry created by the Bevel modifier but with smooth shading. The problem is that smooth shading also makes the original flat surfaces appear curved.

    Here is my model with bevel and smooth shading. The edges are smooth sure enough, but all the surfaces that were supposed to be flat are curvy too. Smooth shading works by pretending the surface at each point is facing in a different direction than it actually does. For a given polygon, the faked direction is defined at each of its corners in the form of a normal. A normal is a vector that points out perpendicular to the surface. Only, we can modify normals to point in other directions for our faking purposes.

    The way that smooth shading typically calculates normals makes all the surfaces appear curved. (There is typically a way to selectively make some surfaces flat, but then they will have sharp edges too.) The diagram below shows the normals for flat shading, for typical smooth shading, and for a third way that is what I would need for my smooth edges. So how can the third way be achieved? I found a post that asks the same question essentially. The answers there don't really help. One incorrectly concludes that Blender's Auto Smooth feature gives the desired result - it actually doesn't but the lighting in the posted image is too poor to make it obvious. The other is the usual edge loop suggestion.

    When I posted question myself requesting clarification on the issue, I was pointed to a Blender add-on called Blend4Web. It has a Normal Editing feature with a Face button that seems to be able to align the normals in the desired way - however as a manual workflow, not an automated process. I also found other forum threads discussing the technique.

    Using a better smoothing technique

    At this point I got the impression there was no way to get the smooth edges I wanted in an automated way inside of Blender, at least without changing the source code or writing my own add-on. Instead I considered an alternative strategy: Since I ultimately use the models in Unity, maybe I could fix the issue there instead.

    In Unity I have no way of knowing which polygons are part of bevels and which ones are part of the original surfaces. But it's possible to take advantage of the fact that bevel polygons are usually much smaller.

    There is a common technique called face weighted normals / area weighted normals (explained here) for calculating averaged smooth normals which is to weigh the contributing normals according to the surface areas of the faces (polygons) they belong to. This means that the curvature will be distributed mostly on small polygons, while larger polygons will be more flat (but still slightly curved).

    From the discussions I've seen, there is general consensus that this usually produces better results than a simple average (here's one random thread about it). It sounds like Maya uses this technique by default since at least 2014, but smooth shading in Blender doesn't use it or support it (even though people have discussed it and made custom add-ons for it back in 2008), nor does the model importer in Unity (when it's set to recalculate normals).

    Custom smoothing in Unity AssetPostprocessor

    In Unity it's possible to write AssetPostprocessors that can modify imported objects as part of the import process. This can also be used for modifying an imported mesh. I figured I could use this to calculate the smooth normals in an alternative way that produces the results I want.

    I started by implementing just area weighted normals. This technique still make the large faces slightly curved. Here is the result. Honestly, the slight curvature on the large faces can be hard to spot here. Still, I figured I could improve upon it.

    I also implemented a feature to let weights smaller than a certain threshold be ignored. For each averaged normal, all the contributing normals are collected in a set, and the largest weight is noted. Any weight smaller than a certain percentage of the largest weight can then be ignored and not included in the average. For my geometry, this worked very well and removed the remaining curvature from the large faces. Here is the final result again. The code is available here as a GitHub Gist. Part of the code is derived from code by Charis Marangos, aka Zoodinger.

    Future perspectives

    The technique of aligning smooth normals on beveled models with the original (pre-bevel) faces seems to be well understood when you dig a bit, but poorly supported in software. I hope Blender and other 3D software one day will have a "smooth" option for their Bevel modifier which retains the outer-most normal undisturbed.

    A simpler prospect is adding support for area weighted normals. This produces almost as good result for smooth edges, and is a much more widely applicable technique, not specific to bevels or smooth edges at all. That Blender, Unity and other 3D software that support calculating smooth normals do not include this as an option is even more mind-boggling, particularly given how trivial is it to implement. Luckily there workarounds for it in the form of AssetPostprocessors for Unity and custom add-ons for Blender.

    If you do 3D modeling, how do you normally handle smooth edges? Are you happy with the workflows? Do some 3D software have great (automatic!) support for it out of the box?

    Spin-off game: Whip Arena

    Dec 4 2016 - blog post, 0 Comments
    I've spend the past few days at Exile (like a game jam but not a jam this year). I've envisioned having a whip in Eye of the Temple for a long time, and at Exile I began developing this whip mechanic.

    In the main game, the whip is meant to be just one element in the gameplay, aiding in puzzles, like being able to grab and switch levers from a distance, and grabbing objects to pull towards you. However, for now I started out making a little self-contained game based just around the whip, so that I could focus on getting the feel right first.

    At the end of Exile I had "whipped up" a little game I might call "Eye of the Temple - Whip Arena". Here's a video of the gameplay:

    Implementing the whip physics was rather tricky. I've ended up with something that doesn't work quite like a real-world whip - you can't really make it do a crack in mid-air - but feels very responsive in its own way. The sound and haptics is based directly on the simulation, and I found it quite satisfying to use.

    Now I'm wondering if I should take a little break from developing the full Eye of the Temple game and try to get this little arena game (which is much smaller in scope) finished and released first. I wonder if it's something people might be interested in? It definitely got positive reactions and feedback at Exile.

    I'm thinking it would work well as an infinite game with high scores. There's not yet any fail condition though - I'm trying to think what might work well for that. I also need to implement some kind of bonuses and multipliers in the scoring probably.

    As a side note - after spending several days prototyping and implementing this whip mechanic at Exile, I ended up with quite sore shoulders from whipping so much. ;)

    If you have a Vive and would like to be an early tester of Whip Arena, let me know.

    Announcing Eye of the Temple

    Sep 27 2016 - blog post, 0 Comments
    I've been working on a VR game for the past months. It's called Eye of the Temple and it's a Vive game quite unlike any other.

    Here's a pre-alpha trailer for it!

    That's the first time I've made a trailer by the way. Quite challenging but also fun! It's got some placeholder models in it and it's made from playtest footage rather than clips made specifically for this trailer, but I tried to make the best of what I got.

    Eye of the Temple is currently at an early stage in development.

    Speaking of placeholder models, I'm just beginning now to look into working with contractors to have some nice art created for the game. If you know of any skilled concept artists or 3d modelers who'd like to design ancient contraptions for a game like this, let me know!

    I previously worked on the game jam game Chrysalis Pyramid. Eye of the Temple is based on a similar core mechanic, but expands upon it in scope and variety, and is completely rewritten and redesigned from scratch. The goal is a commercial release in 2017.

    Playtesting so far has been very promising and it's a lot of fun developing the game. Follow the development here and on Twitter, and let me know what you think!