Solarus is a free and open-source game engine, licensed under GPL v3. It is written from scratch in C++ and uses SDL2. Consequently, it is available on a large set of machines. It’s not an emulator neither a Super Nintendo™ ROM hack.
Development began in 2006. The goal of the engine is to allow people to create their own Action-RPG games (also called Zelda-like games). It is totally independent from Nintendo.
Solarus does not contain any copyrighted code or assets: it is 100% free and open-source. Thus, Solarus cannot be eligible for a DMCA from anyone, including Nintendo.
Solarus is not a "Zelda engine" as can be read sometimes; it can power any Action-RPG or Action-Adventure game (or any kind of game you want, with a little more work). A Link To The Past assets (tilesets, sprites, musics, etc.) are totally separated from the engine (the engine does not contain them).
Solarus Quest Editor is a free and open-source game editor to create quests for Solarus. Written in C++ with Qt, it is licensed under GPL v3. The goal of the editor is to provide people a smooth experience in creating a game with Solarus. This software provides a map editor, a tileset editor, a sprite editor, a Lua script editor, among other things.
A Solarus quest is simply a game made with Solarus.
Theses files are:
No, we are independent from Nintendo. The game engine Solarus has no proprietary content and is written to be a general purpose action-RPG game engine, i.e. not only The Legend of Zelda games.
However, some games made with Solarus are using copyrighted assets by Nintendo, mainly from The Legend of Zelda: A Link To The Past. This is for historical reasons and we make our possible to create Creative Commons assets to replace them. To be clear, historically, Solarus began its life as a simple engine to power a fangame for the Zelda series: Mystery Of Solarus DX. We believe this is fair use.
First, please know that your game will be divided into 2 parts:
The engine is GPL, so it requires to follow some rules.:
You game data may have whatever license you want. It may be different than GPL and remain private code/assets. Commercial licenses are thus allowed for your quest.
For a commercial game, obviously: NO. Don’t use assets that are copyrighted by anyone else, including Nintendo (sprites, characters, music, storyline…). Or you expose yourself to legal problems. You cannot say we didn't warn you.
for a non-commercial game, yes but keep it small. This is what we do. Unless Nintendo tells you to stop, this seems possible. Nintendo seems to tolerate non profit fan-made creations when they don’t get too big and prevent their own business, which is totally fair and logical.
We believe using Zelda assets as a basis to learn game dev is fair use. However, you should replace progressively these copyrighted assets with custom free ones, in order to not violate copyright.
There are several possibilities, but here are the most common ones:
You might have mistaken the engine and the quest, which are different piece of software.
To launch a quest, you have multiple possibilities:
From the terminal: Run solarus (i.e. the engine) and specify the data path (i.e. the quest) as an argument. You may also place the data and the engine in the same folder and run the engine: the data will be automatically detected and used by the engine. Type solarus_run path/to/my-quest-name in the terminal.
You may also use Solarus Launcher which is the graphical app (better for those who don't like the command-line). Import your game in the library, select it and click on Play.
Verify that the Solarus version of your data (i.e. the quest) can be run by your version of Solarus. If not, update Solarus.
Note that the engine has retro compatibility.
No, they don’t, even if The Legend Of Zelda: Mystery of Solarus DX looks a lot like The Legend Of Zelda: A Link To The Past. Solarus has not been written to work on Super Nintendo and no one has made a port yet. Solarus is not an emulator playing ROM hacks, it is an engine written from scratch.
Thank you! See the contribution page.
If you have a request/question that is not here, and want a quicker answer: