We first published this article in September of 2017. Solarus is still going strong today.
Nostalgia runs deep in videogames. Despite the huge technological leaps the industry has made in recent years, fans still cling to the 16-bit graphics and addictive midi rhythms of their favorite games from the 80s and 90s. Official remakes of games like Metroid and Final Fantasy resurface on a regular basis, but some folks feel the urge to take matters into their own hands. Some have even developed their own engines to recreate their favorite videogame memories.
Enter Solarus, a fan-made, open-source game engine and quest editor dedicated to the creation of Zelda-likes and other 2D action games. The engine, built in C++, is a result of five years’ work for creator Christopho, a dedicated Zelda fan. Tired of the limitations of other game creation studios like RPG Maker, Christopho designed Solarus with the vision of developing games as independently as possible.
Anyone can script a game with Solarus for free. Users script their games in Lua, offering amateur developers complete control over the design process, including anything from HUD to UI to dungeon design. The integrated quest editor provides game designers with open-source sprites, sounds, and other assets to help them get started.
“Creating my own games has always been my passion. When I was 10 years old, I played Zelda: Link's Awakening and then Zelda: A Link to the Past and obviously I loved them. So I immediately started to draw my own maps and dungeons,” he explains.
“I did not have a computer, so all of this was on paper! But there was a world map and various dungeons and mazes. I made my brother, my sister, my parents and my friends play it. At that time, I did not imagine that it would be possible for this to become a real videogame one day, but I remember having a dream about it.”
Fast forward to 2000: Christopho at last had computer access, and began creating Zelda games with RPG Maker 2000. He eventually released Zelda: Mystery of Solarus, his own fangame based on his childhood drawings and designs in 2002. The game was largely a success, though it did suffer from the flaws you might expect from someone’s first independent game project—Christopho cites long, gruelling mazes, poor boss design, and limited four-directional movement.
“What surprised me the most is that actually, the game I [had] drawn on paper when I was a kid, and then the first RPG Maker version, were really far from official Zelda games,” Christopho remembers. “Of course, it was hard to make interesting enemy fights on paper.”
“But people loved the tribute to Zelda: A Link to the Past, started to help me improve the game, and soon enough, we were a team that decided to make a second Zelda fangame,” He recalls. It takes a village, as it turns out.
The birth of Solarus
For the growing team’s second project, they decided to branch away from RPG Maker due to the tool’s limitations. “We tried The Games Factory and then Multimedia Fusion, which are more powerful software to create a game without any programming,” Christopho says. “The main feature of these tools is to avoid programming, but in the end I realized that it makes it harder to really control what I was doing."
After several years of trial and error, Christopho opted to make his own project in C++ with SDL—a remake of Zelda: Mystery of Solarus. After five years had passed, Christopho’s team found themselves with three disparate yet completed projects—the Solarus engine, the Solarus Quest Editor, and the finished game, Zelda: Mystery of Solarus DX.
Nowadays, Christopho says people are using Solarus everyday, asking questions and contributing to the engine’s development. He’s created a series of a video tutorials to help other fans using the tools he’s built, garnering something of a following for Solarus on YouTube. There have been a number of games created with the Solarus engine including fellow fangame Zelda: Book of Mudora.
Another game made by a community member, the roguelike Tunics!, really shows off what Solarus was capable of. “The player has to traverse randomly-generated dungeons until he loses. So the dungeons are different in every game you play,” Christopho explains. “They use very clever algorithms in their Lua scripts to generate rooms procedurally from some template maps. This is the most impressive project from the Solarus community that I know so far.”
While Solarus has seen growing success, it’s the fear of every fangame designer that they will get shut down with the dreaded DMCA notice, especially from particularly protective companies like Nintendo. Christopho doesn’t seem to be too worried, though, despite the fact that Solarus provides a free Zelda resource pack with assets from older Legend of Zelda games.
“Nintendo has never contacted us so far. Maybe they tolerate Zelda fangames like they tolerate the use of their graphics and names on videogame websites or in videos?” Christopho posits. “What I know for sure is that Solarus itself is independent from any Nintendo asset.”
The core Solarus engine is free of licensed assets—everything you get outside of the Zelda resource kit, music, graphics, and sound effects, is open source under Creative Commons.
“If Nintendo tells us one day to stop using their graphics, we will remove from the download page the Zelda resource pack and our existing Zelda fangames,” Christopho says with assurance. “But Solarus and [the] Quest Editor will continue to work with the free resource pack.” The team’s also working on a remake of Zelda: Mystery of Solarus DX, Children of Solarus, that only uses Creative Commons assets, just in case.
So what about the fans that are teetering on the brink of starting their own fangames, regardless of the risks? Christopho has over a decade’s worth of experience to back up his advice:
“Creating your own game takes more time than one thinks. No matter which game creation tool is used, it takes years! And the motivation level has all the time to change during this period. That is why a lot of fangame projects never finish. You really need a lot of tenacity.”
Designing a fangame can be a lonely road at first. Solarus didn’t spring from a vacuum—Christopho was working on Zelda: Mystery of Solarus for quite some time before the project got traction and support within the community. Solarus and the games created with it are a far cry from the original Zelda: Mystery of Solarus that Christopho made with RPG Maker. The engine’s games today look like fully fledged classic Legend of Zelda games—playing them really feels a bit like finding a lost Nintendo deep cut.
“And don't expect people to join your team when you begin the project. People who don't know you won't just work for you for free when you explain them that you want to create a game,” Christopho notes. “You are on our own (at least at first!). Work a few months until your have a first playable prototype, and only then start the communication, if you want a graphic designer to help you for example. And then always continue to work hard!”
That’s where Christopho is at now, working collaboratively with a growing team of fellow Zelda fans.
“We are working on completely free graphics and music. This is now possible thanks to amazing and talented people in the Solarus team,” he says. “As a programmer I could not do this myself.”
Despite the risks and challenges, there is a lot of passion in this work. “Fangames are made by non-professionals, only on their spare time and not for money. And yet, some of them are just as good as some professional games, or even better!” Christopho says. It’s certainly not an easy road, nor a short one, but Solarus shows that if you truly dig into your love for a game, for creating games, the results can be worth it.