What would you rather play or make?
Fan Game - A non-accurate engine made with GameMaker, Multimedia Fusion, Flash, C++ or Construct.
Gameplay: It would be hard to be close to the original engine, but you're free to make new actions and moves.
Graphics: You are free to draw tiles and sprites with any of the 16777216 colors, or just rip art from spritesheets.
And, there is no sprite limit(?)
Sound: The fan games plays any sound clip. MP3, Ogg and MIDI are the most common formats.
Design: You will make a level from object and tiles. That's simple but may be frustating.
Memory: Don't worry about memory and object limit, unless your computer crashes or something like. 1GB may be enough.
Programming Language: You can use any programming language that can suppert DirectX or OpenGL,
or to use the built-in programming language in GameMaker, Construct or MMF2.
Compatibility: This may be a big problem if you want iOS, Android, Linux and Mac OSX will support the fan game.
Price: The game developing software (and the publishing, if your fangame is commercial) cost some dozens of dollars.
If your game is commercial, you can make money easily to cover the costs...
Overall: Fan Games are for creative people that want to simply make a speical Sonic Game.
Lazies are recommended to go hacking.
Awesome Fangames: Sonic Classic, All LakeFeperd's games, Sonic: Edge of Darkness.
Sonic ROM Hack - A very accurate pre-made Sonic Engine that can be changed with SonED2.
Gameplay: The engine is accurate and supports anything you want, but it is quite complicated to add new moves or fix bugs.
Graphics: You are restricted to 512 colors, 64 palette entries and some kilos of 16-color 8x8 tiles.
Also, it is quite hard to deal with mapping and sprite limit. Look at Sonic 3's awesome graphics.
Sound: You may find yourself moving between Mega PCM, S3K Flamewing Driver and S2 Clone Driver.
The soundtracks and SFX are based on 9-Channel SMPS with DAC and YM2612 FM.
If you move to SEGA CD, The engine can play CD-Quality MP3 Soundtrack.
Design: You need to use 128x128 tiles, objects, rings and confusing plane swappers.
Memory: Sega Genesis is limited to 64K RAM, and you can find it's difficult to deal with old memory, sprite and object limit.
Programming Launguage: Motorola 68000 Assembly. If you don't plan changing behavior, just use Hex Editor or SonED2.
Compatibility: It's not a big problem. Every computer has its own supported emulator.
You may need to fix bugs in order to make game playable in real hardware.
Price: Sonic Hacking is completely FREE. Unless you want a rare and vintage Genesis to test the game.
Overall: Sonic Hacking is for geeks that want to show what they can do to existing Sonic Game.
Awesome ROM Hacks: Sonic Megamix, Sonic 2 Retro Remix, Metal Sonic Hyperdrive, The S Factor.