======The Citrus Engine====== Modern AS3 game framework. ===== Introduction ===== Welcome to the [[http://citrusengine.com/|Citrus Engine]] wiki. The Citrus Engine is a professional-grade, scalable ActionScript 3 game engine built for industry-quality games using modern programming practices. It offers a nice way to separate logic/physics from art including rendering choice, physics engine and many other options - features. Free and Open-Source, its licence is [[https://github.com/alamboley/Citrus-Engine/blob/master/LICENSE.md|MIT]]. It's crafted with love by [[http://davikingcode.com|Da Viking Code]]! * [[https://github.com/alamboley/Citrus-Engine|Source Code]] * [[http://citrusengine.com/documentation/|API Documentation]] * [[http://citrusengine.com/examples/|Example Demos]] with [[https://github.com/alamboley/Citrus-Engine-Examples|source code]] * [[http://citrusengine.com/tutorials/|Tutorials]] and [[https://gist.github.com/alamboley|Recipes]] * [[http://forum.starling-framework.org/forum/citrus-engine|Support Forum]] * [[https://github.com/alamboley/Citrus-Engine/issues|Submit Bug Reports and Feature Requests]] ===== Working with the engine ===== ==== Getting started ==== * [[citrus:project_setup|Import the engine]] * [[citrus:examples|Compile the examples]] ==== The Citrus Engine basics ==== * [[citrus:citrusengine_class|The CitrusEngine main class and its children]] * [[citrus:state|State classes aka your Game State]] * [[citrus:views|View renderer]] * [[citrus:physics|Physics engine]] ==== Working with game objects ==== * [[citrus:citrusobject|The CitrusObject]] * [[citrus:ispriteview|The ISpriteView interface]] * [[citrus:citrussprite|The CitrusSprite]] ==== Useful classes ==== * [[citrus:input|Input Manager]] * [[citrus:camera|Camera]] * [[citrus:console|Console]] * [[citrus:sound|Sound Manager]] * [[citrus:gamedata|Saves game data]] * [[citrus:loadmanager|Load Manager]] * [[citrus:objectmakers|Object Makers via Level Editors]] * [[citrus:levelmanager|Level Manager]] ==== Advanced practices ==== * [[citrus:object_pooling|Object Pooling]] * [[citrus:multi_resolution|Multi-Resolution]] * [[citrus:entity_component_system|Entity Component System]] * [[citrus:frim|Frame Rate Independent Motion]] * [[citrus:stage3d_interoperation|Stage3D Interoperation]] =====Digging into engine's code===== * [[citrus:structure|The structure]] * [[citrus:physics_template|Physics engine & objects template]] * [[citrus:views_process|Views process]]