Postmortem, part 3: The Concept and Design


Legends of Aereven: Lunar Wake is a 2D Zelda-like I made in 2020. As I continue my gamedev journey with other projects, I wanted to take the time to look back on it. I'm planning a series of posts acting as a postmortem for the project.

This is the third part, dedicated to the concept and design of the game. You can find Part 1 about the Dream Engine here, and Part 2 about the Tools and Pipeline here.

Concept

When I tell my ‘how I became a game developer’ story, I usually say that playing Mario 64 was when I realized I would play video games all my life... and Ocarina of Time was when I knew I would be making them as well. I played games before, but those two really captured my imagination with their 3D worlds. Needless to say, the Zelda franchise played an important role in my childhood. To this day, Majora’s Mask is still my favorite game ever.

But short of learning Japanese, moving to Kyoto and being hired by Nintendo, I’m never going to work on a Zelda game. Useless I make my own.

Though my love is mostly for the 3D Zelda games (because exploring a 3D world is just plain better), I still thoroughly enjoy the 2D games, and they’re quite easier to make for a solo programmer. It probably helped that Link’s Awakening Remake was out six months before, and was still fresh in my memory.

But I didn’t initially set out to make a Zelda-like.

First, I tried my hand at another side-scrolling Metroid-like, a spiritual sequel to The Lightkeeper, but with bigger sprites, more like Metroid Fusion. But I wasn’t feeling it.


So I switched to an action-adventure platformer, like Zelda 2. It was already in the Aereven universe, and tentatively called Witch Hunt. But I usually prefer top-down view to sideview, because exploration is more natural on the ground (the sideview constraint is why so many 2D Metroidvanias take place in space stations, castles or caves).

So I switched to a JRPG, still taking place in the Aereven universe, but with a different story. Never gave it a name, but it was about a Healing Fountain and a Pirate King. I went pretty far. It looked a bit like Golden Sun (but less pretty), with lots of puzzles. I actually implemented all cities, with NPCs, story progression, and a few puzzle-y dungeons. But every time I try to make an RPG I struggle with the battle system. As a player, I tolerate the traditional turn-based menus (I can even love them in some rare cases), but I don’t enjoy designing them. Also I hate numbers, and math, and stuff! So when it came to designing the battle system, I quickly lost steam and dropped the whole project.


It had to be a top-down action-adventure game. Basically a Zelda-like. The story changed once again, but I reused most of the graphics. And all four games, the three abandoned prototypes and Lunar Wake, used Dream and shared code. You see now why I needed a modular engine!

Aereven

Around 2004, when I was a highschooler with more ambition than skill, I teamed up with an internet friend to make what was sometimes a JRPG, sometimes an MMORPG (sticking to a scope wasn’t exactly our forte).

You guessed it, that project was called Aereven. You probably also guessed that it went nowhere. (Beside the insane scope, it was during my C++/Irrlicht phase, so: lot of learning, very little results.) But I kept trying to make an Aereven game in the years after. I think you can still find some old attempts with a Google search.

(Thanks Wayback Machine! "Not definitive" indeed! It only took more than a decade :p)

What was it that appealed to me? The world I guess. I still have my old worldbuilding documents, and let me tell you: they’re bad. Very cringey. You can tell I was a 14yo boy who had just read The Silmarillon. Still, something about a world-ocean, creepy moon-devoted elves and fish people who are masters of both water and fire never stopped appealing to me, even after another 15 years.

One of the strength of Aereven is that it’s made to be infinite. The whole world is an ocean, with countless continents, islands and uncharted territory. I can tell an infinite number of stories in that world. Like Zelda, it was made to be subtitled. There’s no one game called “Aereven”. It’s a vibe and a handful of shared elements, leaving me plenty of freedom for each installment. They don’t even have to be all the same genre.

Initial flowchart

So okay, I knew I was making a 2D Zelda-like game set in the Aereven universe. Now what?

It’s at that point that I abandon most projects. Funny that. It should be the best part of the project, the actual creative step. The chance to lay down all the cool things you want to do. But it’s also the step where you go from a perfect blank page to a potentially irredeemable design. In other words, I often get choice paralysis.

But just like The Lightkeeper before it (and Tower of Ordal back then), I avoided that fate by randomly ‘designing’ Lunar Wake. No second guessing allowed. It may end up being mediocre, but it will still be something. It's a similar process to pantsing a novel: you write a first draft on instinct and fix it later when you have the big picture.

I started with a flowchart, listing the different places and the key/lock relationships that gate the adventure:



It took me all of five minutes. It was enough to start. I later changed stuff around, added more dungeons and obstacles, but not before implementing the initial version and testing it.

It also gave me a clear scope, written as a text file with checkmarks:


Production

Then it was just a matter of implementing every area, preferably in a sequential order so I could make sure every mechanic was properly introduced. ‘Level design’ (again with the scare quotes) was a spur of the moment thing: you add some tiles and go “Oh! That would go well with water here. And a cliff! And here is a chest!”.

The problem with that approach is that it may end up being “too small”. You create your environments with what little gameplay elements you have, and when you finally add a new one to the game you find out you have no room left for it. My Blacksmith editor makes it relatively easy to move stuff around, but it’s still harder than calling it quit and not changing it. It’s also a bit difficult to take stock of the pacing when you don’t have the full picture. I had to insert two extra mini-dungeons to the game in the last few days of development!

To mitigate that, I tried to design as many enemies and puzzles as I could before drawing the first map. It gave me a good initial palette, and new additions could be introduced in later content.


("Improvising" dungeons is pretty difficult, too. The forge above is the most complex dungeon in the game, and I started it with no big idea or plan...)

It sorts of work.

But I feel like it lacks intention. I also write novels, and even though I discover a lot of neat ideas as I write the scenes, I usually have a better plan. Things are more intentional and I always rework scenes to better fit with what comes before or after. Sure, it’s easier to move a chapter around or rewrite a paragraph than it is to re-implement an entire section of a game, but I’m still looking for a way to do that with game development.

One solution may be better tools, to have a way to see and edit the game in a macro fashion. Procedural generation is pretty good for that too, as it lets you worry about the systems as a whole while the minute details are (re)generated, but I have yet to find a way to really integrate it in my workflow for fully authored games.

Iteration

I abandon most of my projects after completing the “vertical slice”. Those that survive do because I managed to get a first draft completed before losing steam.

If I can get past this point, then I’m pretty sure to finish the thing. At that point it’s only a matter of iteration: I will play the game with a text file open, and write down my starting and ending time to get a feel for the length of each playsession. I try to play it as a newcomer would, following the main path and pretending to be surprised when I find a closed door instead of going straight for the key like a speedrunner may do. While I play, I write down notes. This is too fast. This is too hard. Too easy. I don’t have enough money to buy the next item. That enemy glitched. I managed to sequence break this thing. Etc. I write my notes fast to make sure I don’t get out of the flow. Just state the problem. There will be a time later to come up with a solution.

I wish I could have playtested Lunar Wake with other people, but I made most of it in isolation during the first COVID lockdown, so that wasn’t really possible.

The Z Dimension

To zoom-in for a moment, I want to talk about one of the regrets I have with this game: it’s 2D.

I mean, sure, that was the whole point: a 2D Zelda game. But starting from A Link to the Past, no Zelda game have been truly 2D. These games have a hidden Z component. When you walk up stairs, it’s not just a matter of the ¾ projection tricking you into thinking you’re going up like most regular 2D JRPGs: Link’s Z component is actually increased. An arrow fired from a platform will have a higher Z than the enemies under them, and thus will go over their head.

Lunar Wake works differently. It’s entirely 2D. No Z component. Probably because it took off from that JRPG experiment that didn’t need it. Most difference of elevations act as walls, for the player character but also for projectiles. It makes no sense! If two platforms are facing each other, I should be able to stand on one and fire an arrow at the switch on the other one. It’s a classic Zelda puzzle! But in Lunar Wake the arrow will stop at an invisible wall.


I make it sound like it's a big deal, but it’s not really noticeable. I designed the game around it, using specially-designed pits for that kind of puzzle. Zelda 1 works the same way. It’s more of a missed opportunity, really.

Except... 

I wanted this arrow-from-a-platform-to-the-switch-on-another-platform so bad that I faked it for the Ancient Forge expansion. How? I added invisible entities that would act just like the puzzle-platforms that only appear if you turn on a switch, or the ice platforms over lava. Except they’re always on, but not for the player character. Kind of like a tunnel that only allows projectiles!


That’s not consistent design, but I couldn’t help myself!

Looking back (and then forward)

All in all, I'm quite proud of Lunar Wake. The development was fun and relatively painless, and I recently replayed the whole game to check for regressions after introducing input remapping, and it felt good! I had fun, and I thought the Aereven vibe was conveyed pretty well despite the minimal story, the programmer art and the public domain soundtrack. I do not think it rivals any of Nintendo or Capcom's installments, but I hope Zelda fans will enjoy spending an hour or two on Falern Island.

So, what's next?

Obviously, I want to create more Aereven games. I've been trying to complete one for almost two decades now, and Lunar Wake did scratch that itch a little. Like putting an old regret to rest. But there's so much more I could do with it. Locations I've dreamed of for years, waiting to be explored. Characters waiting to be introduced. Old ideas eager to resurface.

Ideally, I would like for the next installment to be 3D. Those games are built around a sense of place first and foremost, and 3D is way more immersive. There's a lot more you can do with a third dimension. But it's also a lot more work, more complex tech-wise (though I like the challenge), and less forgiving. It's way harder to make a 3D game look good, or feel good to play!

So I don't know. Two years later, I still don't know. I have 3D prototypes, but they feel both unimpressive and too much work for a solo developer unwilling to spend the next 10 years on it. I'm hoping to find a good angle, a cheap art style that still looks competent and a game design that's fun to play without involving too many animations or stuff like that. The answer is not obvious, to say the least.

But I'm not giving up.

So maybe we will see each other again in the world of Aereven. ;)

Get Legends of Aereven: Lunar Wake

Comments

Log in with itch.io to leave a comment.

This was a really fun read! I look forward to trying this game out! I hope you do fulfill your dreams of making more games in this world!

I am also curious if you have made these tools available for others to try to make games with. I've played with RPG Maker also, and dabbled in a bit of Python, but these tools sound pretty interesting!

Thanks! I would like to make a second Aereven game this year, we will see how that goes.

And no, my engine isn't publicly available. I don't plan to open it to others, mostly for two reasons:
1) I don't have the time to properly document it or help users
2) It's made for me first and foremost, to support my way of working and conform to my strengths. Opening it up to others would mean changing it to also support their use-cases and workflows, which would defeat the purpose

Basically, it works for me because it isn't general-purpose like Unity/Unreal/Godot. Even a specialized engine like RPG Maker requires a ton of effort to make it suitable for a large userbase (and RPG Maker absolutely excels at this, they've been doing it for 30 years now). Trying to turn my engine into that would be a job in an of itself, and I would prefer to dedicate the time to make new games instead :)

But that's why I write those postmortem, so other people can learn and build their own engines that are similarly suited to them!