Actions

Difference between revisions of "ProSonic"

From Sonic Retro

(Engine 1:)
(Engine 1)
Line 40: Line 40:
  
 
*<b>05/30/2006</b>
 
*<b>05/30/2006</b>
Water had been added to the engine, including distortion filters to make the water sway from side to side. At this point, the engine had been successfully ported over to Windows, where it would remain as the preferred platform for development.
+
Water had been added to the engine, including distortion filters to make the water sway from side to side. At this point, the engine had been successfully ported over to Windows, where it would remain as the preferred platform for development. Also, level data was grouped into the newly created PZF format.
  
 
*<b>07/31/2006</b>
 
*<b>07/31/2006</b>

Revision as of 02:13, 20 May 2009

Sonicretro-round.svg This short article is in need of work. You can help Sonic Retro by adding to it.

ProSonic is a Sonic the Hedgehog game engine that has been in development since December 15, 2005. It is headed by saxman, a long-time veteran of the Sonic community. The engine made its first public release on August 22, 2008. A major update to the engine is being worked on, but no date is currently available.

Features

Some of ProSonic's key features include:

  • Import level data from the original Sonic games
  • Integrated real-time level editor
  • Genesis YM2612 FM synthesis with GYM and VGM file support
  • True Sonic physics ported directly from the disassembly
  • 16-bit hi-color for creating colorful environments not possible on Genesis
  • "BLAST Programming Interface" for interfacing ProSonic with Genesis code
  • Scripting support for writing objects as of May, 2009

The engine is being programmed in C with the aid of the Allegro software development library. The engine compiles for Microsoft Windows, MS-DOS, and Linux.

BLAST Programming Interface

The BLAST Programming Interface is part of the ProSonic engine. The interface allows Motorola 68000 code with the internal ProSonic engine code to allow Sega Genesis code to run in ProSonic. This essentially opens the door for 68000 emulation. BLAST isn't actually complete emulation, but is instead a partial implementation of 68000 instruction interpretations with modifications to make 68000 compatible data to work on Intel-based platforms.

Smart Mix

Smart Mix is a feature of the sound code that allows the audio to be mixed above the range of clipping. It uses a combination of a compressor and a mixer to adjust the audio so the loudness remains the same while the actual volume of the voices is reduced. This prevents harsh clipping. The purpose behind this feature is to allow the engine to handle proper mixing since most people aren't audio engineers.

Development timeline

The following dates represent existing backups of the ProSonic engine. The descriptions reflect what changes to the engine make each version unique.

Engine 1

  • 02/12/2006

This is the earliest backup available of the ProSonic engine. The engine was only two months old at this point, and it ran as a DOS application. Navigating was very difficult as the wonky physics caused the player to bounce around a lot, and the F8 key was used to allow the player to float while in mid-air.

  • 02/21/2006

This build introduces scripting functionality for objects. It's very buggy and causes the engine to become unstable and crash.

  • 02/27/2006

This was a test build created to try and determine why the player refused to fall to the ground. It turned out to be a problem involving the mismanagement of memory.

  • 03/25/2006

Physics were taking an overhaul during this time. Moving off of ramps worked better, but sailing smoothly across the landscape was broken. It was also easier to navigate around the levels. In addition to these changes, a title card sequence was added.

  • 05/02/2006

The physics are much better at this point, but they were not yet perfect. This build was made right before the engine was reworked slightly to handle the Windows port.

  • 05/30/2006

Water had been added to the engine, including distortion filters to make the water sway from side to side. At this point, the engine had been successfully ported over to Windows, where it would remain as the preferred platform for development. Also, level data was grouped into the newly created PZF format.

  • 07/31/2006

The physics had changed yet again. This time, gliding across floors worked almost flawlessly, but the player's speed was wrong. By this point, a level switching mechanism had been worked into the engine by using the F6 key. The engine also supported different tile sizes, including 32x32, 64x64, 128x128 (Sonic 2 and 3), and 256x256 (Sonic 1.) Some Sonic 1 levels were successfully ported over and were playable.

  • 08/20/2006

This build is nearly identical to the 07/31/2006 build. The most significant changes were all behind the scenes, including changing some data file formats.

External links