Source - Repo | Latest Release
Sonic Realms is a free, open-source 2D Sonic development kit for the Unity engine.
It's free - built entirely in the Personal edition and requiring no external packages. Get Unity, get this, and you're good to go. No limitations on the free version other than Unity's splash screen.
It's easy - scripts take advantage of the visual editor wherever possible. Everything but the logic itself can be modified without having to use code. The code, if you do need to change it, is organized and commented.
It's modular - if you don't want it, don't use it. For example: if you like the physics, but not how the game is set up, just make a new scene and drag in Sonic! Everything is loosely connected, letting you rearrange stuff without getting flooded by errors.
A 360 platformer engine. How accurate is it? Well, try out the demo!
But wait, there's more - customizable rotation, gravity in any direction, infinite speed limit, 8 layers for collision, water areas rather than a single water level...
Make a collider, edit the shape, put it on the right layer, and you've got yourself a platform. Don't worry about small gaps and errors - the physics algorithm is built to take account for it.
No plural... There's currently just one character - Sonic. He comes with his moveset from Sonic 3&K.
The essentials - monitors, spikes, springs, moving platforms, water.
A few gimmicks - pipes, tunnels, corkscrews, balloons.
Badniks - two of them! Buzz bombers and motobugs.
They can play animations, sounds, and events in response to the player, all set up from the UI.
Animations are awesome - the can do more than just swap sprites. Unity's animations can change platform position/rotation, enable/disable objects, and even call scripts. Many setpieces can be created just by using triggers to play animations. Let your imagination run wild!
Fast and playable from the UI.
Design - the flow of the game is coordinated between Game and Level Managers, each with a plethora of gameplay and UI settings exposed in the Unity editor.
Saves - keep track of character, lives, and level progress. Works even in web builds!
A palette cycler for 8 colors, a color curve and distortion shader for water, and a Sonic-style fader (to blue then black) for that extra hit of nostalgia.
Parallax - Works even in edit mode for easy previewing!
Font tool - Can make a font from any spritesheet. Comes with fonts from Sonic 2, 3 & K.
Unity - A pretty good engine! Did I mention it's free?
Can it do 3D?
The engine doesn't have 3D movement and there are no plans for it.
What about 2.5D?
Sure! All that matters to the engine is that you use 2D colliders. The Z axis is fair game both for level assets and Sonic himself.
Do I have to learn how to code?
There is no visual code editor in Unity or Sonic Realms, but you can get pretty far with the trigger system. The most code heavy aspect of the engine would have to be creating new moves and new game modes.
Can I use it for X?
Use it commercially and privately as long as you give credit and don't sue me.
Can I make web games with this?
To some extent... Unity's WebGL deployment is still very young. As a result, there is an especially glaring bug with Sonic's animations in WebGL.
Can I make mobile games with this?
Probably, but you'll have to put in your own controls for it!
What language does the library use?
C#, Unity's .NET 2.0 Subset API.
The engine is pretty bare-bones right now, but hopefully it presents another option to the fangame engines out there today.
I wanted to release early on to see if people might be interested in the project, and I plan to put in more time to fully develop it. I'm open to suggestions for what to make or improve next as well.
The lower level systems (physics, moves, objects) are pretty much set in stone, whereas the upper level (game structure, save files, UI) will probably change a lot to accommodate new features.
I've yet to make a guide, so for now the only learning materials are the demo scenes and code documentation. There should be tooltips in most editor fields. And, of course, I'm always around to help!