scyllacharybdis


Scylla and Charybdis Game Architecture

Scylla and Charybdis

Scylla and Charybdis is a professionally designed ActionScript 3.0 game development composite framework. The framework is event driven and modular in design, allowing components to define the behavior of game objects.

Scylla and Charybdis supports networking using SmartFoxServer. The networking layer has been broken into components such as login, chat, and messages that send and receive events. Any game object in the world is capable of communicating with the server without being tightly coupled to the networking layer.

Features

Heres a list of a few of the features:

- Mouse handling
- Asynchronous Method Invocation
- Memory Management using Metatags
- Texture Loading, Caching and Blitting
- Blitting and Double Buffering
- Smartfox Server Networking
- Box2d Physics
- Dependency Injection
- Composite game objects
- Rendering Components
- Script Components
- Physics Components
- Scene Management System
- Global Events System
- Constructors and Destructors
- Depth Sorted Rendering System

News

Scylla and Charybdis 0.7 alpha 3 has been released.

Mouse Handling works for all game objects.
Reduced the size of the library.
Fixed the dependency order for scene graph.
No longer need a enter frame event.
Removed the times in script and moved the update to scene graph.

Scylla and Charybdis 0.7 alpha 2 has been released.

Fixed Texture and XML loading bugs

Scylla and Charybdis 0.7 alpha has been released.

A ton of patches have gone into Scylla and Charybdis so I am releasing an alpha build to let the dust settle. Please test it and let me know what you think.

Features include:

Asynchronous Method Invocation for file and texture loading.
XML definitions for Textures and Physics.
TextureRenderComponent was added.
MovieClipComponent was added.
Package naming changed to com.scyllacharybdis.
Network Event Handler was added.
Many other things I can't think of right now.

This was a major rewrite so its likely broken in spots. Also there are some additional changes that still need to go in.

Refactoring the library

The library has been refactored into separate modules including:
- Core
- Graphics
- Networking
- Physics
- Sound

Asynchronous Method Invocation has been added. It is a nice way of handling concurrent task such as file loading and texture loading.

The networking has been redesigned. After trying to use it I found it just wasn't good enough.

Over the next few days I will be doing a code review and this should hopefully be the last major rewrite.

If you want to help out please let me know.

Thank you

Happy New Year SC 0.6 has been released.

Memory Manager uses metatags:

[Singleton] // Singleton

[Requires ("core.events.EventManager")] // Inject the EventManager
[ComponentType ("core.components.RenderComponent")] // Define the component type

Textures loading and blitting works but is not fully integrated.
Samples and documentation are coming soon.

Merry Christmas SC 0.5 has been released.

Blitting and Double Buffering was added.
Network improvements.
Lots more bug fixes.
If you use adobes geometry then the rendering system only renders a quarter of the image.

Scylla and Charybdis 0.4.2 has been released.

Physics now updates the rendering.
Physics example was added.
Libraries and documents where rebuilt.
The rendering and physics aren't completely accurate.

Scylla and Charybdis 0.4.1 has been released.

Major documentation update.
Box2D and casalib are now build as libraries (swcs).
SC.swc has been moved to the bin directory.
SC.swc contains all the required libraries.

Scylla and Charybdis 0.4 has been released.

Basic Box2d physics has been integrated
It doesn't push the display objects around yet.

Scylla and Charybdis 0.3 has been released.

There was a major bug in the SceneGraph that was fixed.
The start and stop methods are called when a GameObject is added to the scene.
A sound component was added.
Added a network driver and chat driver example.

Road Map

We have tons of things left to do but we are doing this on our free time so if you want to help let me know.

Heres a few things:

- Samples and documentation.
- Fully integrate Texture management and materials.
- Animation System.
- Transform information needs to be in the game object.
- Better integration of components.
- Code cleanup.
- Optimization.

Project Information

Labels:
Game ActionScript