Roton is an emulation of the ZZT and Super ZZT game creation engines written in C#.
Lyon is an application that runs an instance of Roton's emulation and presents it via SDL.
All platforms need the .NET Core SDK. We developed with 2.2, but newer versions of v2.x should work fine.
Clone the repository. Modern versions of Visual Studio and Jetbrains Rider should work. Restore packages, build and run as usual.
It can also be built and run from the command line. We've included publish.bat
for this purpose,
which will build and plop out Lyon in the Deploy folder.
After cloning the repository, enter the directory with Roton.sln and type
dotnet build
. The .NET Core SDK will then retrieve all of the packages that it needs to build Lyon and Roton.
After the build process completes, type dotnet run --project Lyon
to run the newly built project.
IDEs that support .NET Core, such as JetBrains Rider or Visual Studio Code, should be able to manage the build process as long as the SDK is installed.
It can also be built and run from the command line. We've included publish.sh
for this purpose,
which will build and plop out Lyon in the Deploy folder.
- https://museumofzzt.com/ - a preservation site for all things ZZT. The original games can be found here, plus a massive library of others from the community over the years. Administered by Dr. Dos. (The developers really appreciate this site.)
- http://zzt.org/fora/ - if you want to immerse yourself in the culture and in-jokes, this forum has preserved everything since 2003. Be warned: it's a bit juvenile in there.
Contributions are accepted differently depending on the nature of the contribution.
Odd things found in Roton's emulation methods are very likely a product of the reverse engineering process. Changes can be submitted, but often times it's better to file a bug than to commit code to the emulator core unless you've verified using the provided IDA databases. These databases are stored in the IDBs folder.
Fixes to the frontend or SDL integration are very welcome!
Get in touch with either @SaxxonPike or @Spectere once you've finished your work so it can be approved for inclusion in the master branch.