Wekarusung Engine Programmer: Haxpor (haxpor@gmail.com) Purpose: Designed for general purpose 2D-game. Features and Specification General Information - Created with Visual C# Express 2008 with SP1 - Full support XNA 3.0 - Created on Windows 7: Professional and tested with GTX 275 List of component (* is the functional components) - *Control - *Entity - GameInfo - Interface - *Particle - *RenderSystem - *Screen - Service - *Util Functional Components Control - Be able to control both mouse and keyboard Entity - Entity can be animated - Use resource from individual texture (or frame), and spritesheet. - Spritesheet can be in either row, or column - Entity manager contains all entities, used for information retrival - Full support for flexible 2d entity Particle - Particle system can be created with flexible, and ease of use - Each individual particle can be control with variety of variables - Position - Fade out color - Speed - Acceleration - Direction in movement - Scaling size - Maximum life/time - Particle system manager used to contain and manage all the particle systems - Particle system provides the flexibility and clean code, no need to call update/draw method for each individual of particle system - Lots of possibilities and differentiation can be made with settings on individual particle, when group together creates a sophisicate behavior RenderSystem - Normal 2D rendering pipeline - Support bloom rendering technique with variety of option included Default, Soft, Desaturated, Saturated, Blurry, and Subtle - Option to switch between normal and bloom mode in real-time - Use the power of GPU when drawing Screen - Scene node represents the lowest level of customizable content created by users - Screen node groups together multiple scenes, can be set depth thus when drawing multiple screens, they will be drawed in order - Screen manager contains and manages all screens, and do the behind-the-scene work for us, no need to call update/draw method for each individual screen, very clean and neat of code - Powerful and flexible when combining multiple screen/scenes together Util - Utility to provide the robustness in developing - Sub-type of utilities are also available included utility of particle system used to assign each individual particle a data with different behaviors