SCUGE is the Skin-able Configurable Universal Gaming Engine.
SCUGE is a framework for creating games in ActionScript. To help you use the framework there are uml diagrams up. I am planning on releasing framework stub code and working code with example game when I have completed it.
The driving idea behind SCUGE is to allow the separation of generic game code, from game type code, from specific game code. The SCUGE framework provides definitions for what code is generic to all games, when these classes are extended they are extended for particular game types, and a specific game is defined when further configuration is provided in xml files.
Once coupled with code that implements a game type, SCUGE becomes a fully configurable gaming engine for that game type.
This means that the game play and look and feel of a game can be completely altered without recompiling any code.
SCUGE also allows for presentation engines and physics engines to be plugged in separately through an adapter. SCUGE itself doesn’t implement any presentation code or physics code. These implementations occur at the “game-type” layer.
Framework Objectives
1. The framework is closed-open and thus allows programmer to create a custom game just by extending abstract classes (specifically the class that handles the render of the game and the class that handles the next state of the game and the classes that handle characters).
2. Support three main levels of open-closed abstraction, namely “Core” SCUGE code reusable to all games, “Game Type” Elements of core are extended to account for all code reusable for a specific game type (ie 2D side scroller or 2D turn based, or 3D) and “Game Instance”, XML configured or Code extended to account for logic specific to a particular game.
3. The Engine being frame worked is skin-able and configurable by allowing Game Designers to create new games simply by reconfiguring files external to the build (XML, Collada, visual assets).
4. The games being supported are universal (games can work on all platforms). We do that by choosing AS3.0 at this time.
Why use SCUGE?
Game Development no longer needs to be a speculative venture. By using SCUGE you use proven best practice “generic game logic”. As a result the complexity of your project will only consist of the complexity of your customizations. Even those customizations will follow standard guidelines.
The SCUGE Architecture is based on mathamatically proven principles that minimize code complexity and maximize code re usability. Using SCUGE will lower development cost and increase project control.
If you are a game developer or a game development shop you should use SCUGE because the architecture is already worked out, and it’s solid. It will allow you to maximize reusability and minimize complexity.
If you use game vendors for custom games you should ask that they use SCUGE. This way they are building to standard best practices architecture. This will also assure you of being able to maintain and develop over the code that is delivered to you.