A lost review from 5 years ago: 12:54 to Asgard

I decided to look at the oldest drafts in my email, and apparently I wrote an essay-length review of 12:54 to Asgard after playing it. I don’t know why I didn’t publish it at the time, and I don’t remember much of the game itself (besides something with electricity and a heaven with clouds).

I decided to post it here so I can delete it from my drafts. I would definitely word things differently now but I thought it’d be more fun to post it unedited.

Old review from 2016

So I just finished 12:54 to Asgard by J Robinson Wheeler. It gave me a real mix of emotions as I played it, from frustration to joy.

I looked up some reviews of it, and I was shocked by the extreme negativity about this game. Wheeler waited 3 years to look at reviews of this game, and seems to consider it a big failure.

I think that the reviewer’s response to it was strongly colored by:

  1. The venue it appear in (IFComp), and

  2. The year it appeared (2010).

Because this game is an almost perfect (albeit buggy) late 90’s non-comp game.

The story

In this game, you play a grumpy repairman who has to fix a leak in the roof of a soundstage. Things go bad, and you make it to an afterlife, complete with Death and Charon. You are taken to an odd blend of Greek, Norse, and Judeochristian mythology. By passing a series of challenges and symbolic acts, you can reach an ending.

I am a huge fan of mythology, and this game hit up my favorite stories. Many of the reviewers, though, were not fans of the mythological view, especially the Christian view. As a Mormon, I appreciate games like this that treat Christian topics with respect. However, this game in no way proselytizes or even favors Christianity (if anything, Norse seems to take charge), anymore than, say The Life (and Deaths) of Doctor M. However, I can’t be upset with people who don’t like Christian themes, because I didn’t enjoy the anti-Judeochristian themes of The Chinese Room and The Tenth Plague.

The puzzles

Because this game was released in IFComp, every review I read was from someone who used the walkthrough. The walkthrough is nothing at all like the way you should play the game. In the opening scene, you have dozens of strange objects to interact with, but once you start poking around, it’s clear what you need to do to go forward. I had one hiccup that I peeked at the walkthrough for, then moved on, skipping dozens of lines in the walkthrough.

What people missed is that the game has a mechanism that both allows you and requires you to replay the opening scene over and over again, and that the game gives you strong hints on what you (eventually) need to do.

However, the game does get unfair later on, but in isolated spots. I would recommend getting as far as you can, peeking at the walkthrough, then going forward.

Here’s an example of stuff in the walkthrough unnecessary to moving forward:

The walkthrough tells you to take socks with you, give them to death instead of coins, then give the coins to a beggar, together with a blanket. You can just forget the socks, give death the coins, and just give the beggar the blanket, and still get the white cloud of success over the sapphire turnstile.

The NPCs

The NPCs are the weakest part of the game, and Wheeler admitted that he had to scrap some plans at the last minute. The main NPC responds to almost nothing, and I couldn’t figure out why she was there. The other NPCs only respond minimally.

That’s why I mentioned the year. In 2010, bad NPCs are almost unforgivable. But in the late 90’s, these NPCs would have been acceptable, although certainly not cutting edge.


The game is intricate and beautiful, but has numerous issues. None really affected my enjoyment of the game, though. For instance, some event text gets repeated after the event; some items can be in your inventory with the game text suggesting it isn’t; and some code text got printed for me.

I feel like Wheeler could have polished this really well, but from the reviews, it seems like the universe hated this game.


To me, this game is in the same category as So Far and Losing Your Grip, a beautiful old-school puzzlefest that is too hard for most people, but interesting enough to keep you moving.

If J Robinson Wheeler ever reads this, I just want to say that I loved this game (and ASCII and the Argonauts, First Things First, and Being Andrew Plotkin), and that I hope that one day you have time to go back and tweak the bugs, because it’s a real keeper. I always post about really good games, but I’ve never seen such a difference between the game quality and the reaction to it.

End of old review


Interesting you had this review sitting there. This game was in the comp the first time I came “here” (to the comp with Leadlight, or this board with anything). I was too confused by the game to say much about it in the author’s forum. In that forum, I did say the following in a topic estimating the chances of various games winning the comp that year:

I think Under in Erebus and Asgard are both in the baffling category, but they can baffle from earlier on, and the walkthroughs, being a raw list of commands, won’t necessarily make the baffled feel any clearer about it. So I don’t know that they could power past the more transparent games.

Your comment about the walkthrough is probably telling, since I remember turning to it early, and feeling I just didn’t know what I was doing or what was going on.


1 Like

I played this game (without a walkthrough) some years ago, but never finished it. It had some high points and I was very deep into it, but I just didn’t understand what was going on. I seem to recall being baffled by one particularly nasty maze. There didn’t seem to be any logic to it.

I think I got fed up around that point and got diverted onto other things. I always intended to return to it, as I hate to leave a game unfinished. It just hasn’t happened…yet.

1 Like

huh, re-reading my review of it now (heavy walkthrough use); apparently I liked the writing but found the implementation a mess? six out of ten is a neutral-positive from me though

1 Like

I haven’t played the game or read your review in 5 years, but I think I wouldn’t have been so strongly-worded now. I remember the game as having a lot of bugs, so the score you describe makes a lot of sense!

1 Like

It always helps if there’s one fan out there who seems to get what it was all about. Thanks for the review. It’s not high on my priority list, but it’s still in the stack of old things to revisit and fix up. I guess it’s slightly higher now that I’ve read this post.


For what it’s worth, I’d love to see an updated version as well! I suspect there are others on the forum who might be open to testing things to help you push out a post-comp release.

It’s also oddly heartening in a way to read your post, as 2010 was the first comp I judged, and since then I have a bunch of post-comp releases I still need to get out the door.

1 Like

I appreciate it.

The main memory of what’s missing from 12:54 to Asgard, in my head, was the time I spent writing an NPC who is not in the game, the pronouns were she/her, she was discovered in the harbor area after first entering the afterlife, and she was spritely, and danced around you with her own life, but offered suggestions as well. I recall her conversation getting so complex as to introduce bugs into the game, and so I removed her.

After reading and replying to this thread, I looked into my writing archive. I have a bunch of stuff there, but all trace of this missing NPC is not there, in any of the source files. I recalled that maybe I wrote all of her NPC.Quip[] data – which is where she came to life – in her own source code file, which is why she isn’t in the permanent archive where I only saved my file copy of release materials.

I thought I used to save everything. I did not.

It is possible that I am obliged to re-conjure, without benefit of anything but the memory of a she/her, a new NPC in order to finish and re-introduce The Train to Asgard.

(*I can’t re-introduce a game I can’t remember the time is 12:54 is 9:58 or 4:45 or what.)


1 Like

I did find a significant body of work on something called Bread. This is where the Threshing sidebar in the original Asgard game comes from. I was trying to make a thematic game about, yeah, well, Bread, with a part that involved threshing grain. Also a part about a Jean Valjean stealing a loaf, and being caught for it. And other stuff I don’t need to tell you.

I think I meant to make the Asgard game have more about what I wrote for Bread, but I don’t think I will make a new version feature any more of it. I want to make the Threshing Wheat make more sense, I think.



Finally, there was a “You Bet Your Life” with Groucho Marx part of the game, that was on rails. This particular bit, was at least supposed to be built on a 1950 game show set of options for interaction, but it came across as a cutscene with no interaction at all.

It was supposed to be a dialogue tree based on getting to 4 different outcomes that have to do with how the player is doing up until, and then after, this part.

I think I wanted to test drive this a bunch of times, and rewrite. I think I need a way to do that. I want 32 different paths, that I write. I’m looking for people who get that I mean 32, not 64 or 8 or 12.


Room Welcoming_station "Welcoming station"
	description [ stage;
		stage = StoryManager.chapterProgress(Afterlife);
		switch ( stage ) {
			0: jump stage0;
			1: jump stage1;
			2: jump stage2;
			3: jump stage3;
			4: jump stage4;
		print "Like the entrance to a theme park, if such things floated in the
			clouds as they do in the imagination of a child. A broad plaza, open above
			to the sky, and ringed by a zen garden of smooth pale stones, raked
			into parallel lines that follow the circular curve of the plaza. ";
		print "In the center is an inlaid carving of a compass rose, 14 feet across";
		if ( triangular_spike in location && triangular_spike hasnt moved )
			print ", with a triangular spike like a sundial whose shadow always 
			points north, no matter how long you stare at it";
		". ";
		print "A broad plaza, floating in a cloud and open above to the sky, now
			ringed by a garden of stout, vertical evergreens whose roots are 
			enshrubbed and flowered. ";
		print "In the center is an inlaid carving of a compass rose, 14 feet across";
		if ( triangular_spike in location && triangular_spike hasnt moved )
			print ", with a triangular spike at its center that seems to have
			split at the top to let a leafy shoot reach the light";
		". ";
		print "The plaza, ringed by a garden of stout, vertical evergreens whose roots 
			are enshrubbed and flowered, now seems lifted higher into the open sky 
			and nearer to the floating gate above it. ";
		print "The compass rose at its center is buckled along its petal carvings,
			sporting green shoots and grasses between every crack. The triangular
			spike has been swallowed completely by the trunk of a great alabaster
			tree, which has grown not just upward but outward, providing a leafy
			canopy and a good deal of shade. ";
		new_line; rtrue;
		print "The great tree has grown to overtake nearly the entire breadth of 
			the plaza, its vast maze of branches creaking and waving in the 
			wind, straining at greater height. Three great threads of stone,
			metal, and darker wood weave and wind up the bark, having somehow
			grown into or along with the tree. ";
		new_line; rtrue;
		"The great tree reaches a height beyond mortal ken, higher than the gate
		that used to float in an open sky, now looking -- distantly -- like the tiny
		top deck of a treehouse. The trunk of the tree appears to have fossilized,
		being as stone, the same stone that formed a third of the triangular spike,
		and now carved in a spiral around the circumference and leading up into
		the branches of the tree. Higher up, the tree shines in the light, glinting
		like metal, the trunk made of bronze and its shimmering leaves made of 
		gold. Beyond that, you cannot tell from here. ";
	d_to "You no longer see the causeway. It is as if it turned to mist behind you.^^
		All you see are the four turnstiles. ",
	u_to [ stage;
		stage = StoryManager.chapterProgress(Afterlife);
		switch ( stage ) {
			0, 1: "You have no power to ascend by whim alone. ";
			2, 3: "A great temptation overcomes you to climb the tree, but 
				it has no low branches within reach, and its bark is too
				silken for you to find purchase for a sheer climb. ";
			4: StoryManager.newChapter( BronzeKingdom );
	cant_go "There is no exit there. All you see are the four turnstiles. ",
	after [;
		Go: if (distant_floating_gate hasnt moved) give distant_floating_gate moved;
	compass_look [;
		if ( noun == u_obj ) <<Examine distant_floating_gate>>;
		else { self.cant_go(); rtrue; }

The StoryManager I engineered for Asgard was not complex, but I wrote it as an addition to the standard I6 library. This was the first and last time I took it for a spin, because it was already deprecated by innovations in I7, which took me another decade to learn. This was the maximum of of my Inform 6 coding decade.

I was surprised, and not, to see that my Asgard-with-StoryManager code looks a lot like what I’m coding in Swift these days for getting some of my IF deployed on iOS.

1 Like