Ravensklif began as a single page: a ruined border fortress, a Keep where ravens nest, and an old saying that as long as the ravens stay, Ravensklif will not fall. It became our first real co-op level. One player builds, the others fight as heroes, and together you hold the fortress against the horde of the orc warlord Grukhar Irontooth until the relief army arrives.
Grukhar Irontooth, warlord of the mountain clans.
From grey blocks to a fortress
After two weeks of building towers, heroes and enemies on separate test maps, we wanted one place where it all comes together, with a beginning, a climax and an end. On Saturday evening, 26 September, Ravensklif was a greybox. The same evening it had walls, a Keep and an evening sky, and the next afternoon the first playable version was in our main build.
The first evening: the plan as grey blocks.
A few days later.
The old wall ring already stands when the game starts. It can be broken but not repaired, so the Builder fortifies around it.
A horde, not a queue
Our enemies used to walk in a neat line along the shortest path. In Ravensklif they spawn over a wide area, and each one takes its own loose path at its own pace. Later waves open new routes through the marsh and the forest; ravens circle above a new route and it starts to glow, so nobody is caught out. The orcs and kobolds of Arjan's Iron Horde (his post) got new models for Ravensklif, which are now used on every map.
The Iron Horde in front of the Main Gate.
What our playtests taught us
The first time Rob, Arjan and I played it, we won every wave. Too easy. Worse, every wall I placed as the Builder made the game hitch for everyone, because the host rechecked the route of every enemy. After a few rounds of measuring and rewriting, the worst hitches became about four times shorter.
On 4 October we played with four, and I was the Builder on a client. Halfway through, my towers and walls stopped appearing. My screen said "Placed", but the host had quietly refused them, most likely because an enemy was stuck in a spot that blocked its building check. The fix is built and tested: the host now tells the player why a build failed, and stuck enemies are moved out of the way. Lesson relearned: also test as the player who is not the host.
Night, a siege and a villain with a voice
The siege has teeth now: hundreds of enemies at once, drummers that drive the horde on, scaling ladders, a battering ram, and night falling during the battle. Grukhar watches from the mountain from the first wave, comes closer as the fight goes on and speaks in his own voice.
What's next
- Heavier waves, with something to react to in every wave.
- Grukhar has to feel like a real boss. With four of us he went down so fast that nobody had time to be afraid of him.
- At least two players: a Builder and a hero.
- What we built for Ravensklif, from ladders to drummers, will also work on other maps.
"The ravens stayed... and Ravensklif did not fall."
How we make this
Screenshots and clips come from development builds. We use AI in several places: for code, for concept art and some 3D models (which we rig and animate ourselves), and for voices and sound. This post was drafted with AI help and checked against our own notes.
About me
I'm Tim, one of the three developers at Three Crown Interactive. I've been playing games for 35 years, from the Nintendo to the PS5, though the PC has always been my favourite. In my working life I often built things on the side, to improve processes or produce reports. Now I get to use that in a completely different way. On The Last Bastion I work on the Builder, the towers, pathing (how the horde finds its way) and the co-op network.