[Frameworks] zylski:
Features

- Soon to be Open Source

- OpenGL Graphics engine

- Simple integration, just add jar to build path and extend CelestialSurface

- Simple sprite, menu item, and animation system

- Several Powerful tools (including map editor, animation packer, and skeletal collision tool)

- Lightweight and FAST

- Multithreaded for logic and graphics with a flawless synchronization

- Transformation animations

- Ouya Support

- Easy integration with other engines / android view, layouts, and events

- Unique Map editor with physics

- Android 2.2 Requirement

- Easy online capabilities (tested for MMO style games)

- Easy ad Integration

- Runs 60 fps on almost every new device (tested on ouya, Transformer prime tf300t, Samsung Galaxy 2-4, HTC ONE, and some others)

Sprite

- All Sprites are animable with one line of code

- Scalable (Also scales collision skeleton)

- Collision skeleton ** See program below

- Can receive animation transformations (ie. Jump(height,time), moveTo(x,y), scaleTo(xScale,yScale) ect...)

- Sprite from Sprite initialization (create a sprite that inherits parameters from parent)

- Sprite in Sprite ability (For example create a sword item and bind it to the "Hero" sprite to match sprite translations)

- MUCH more... (will add later)

CESprite hero = new CESprite(R.drawable.heroSprite,"hero_skeleton.ces",x,y);
client.add(hero); // Placed Hero sprite at x,y on screen already listening for collisions

Animation

- Simple animation system

- frame skip and frame lag (wait time for next frame)

- Simple packing software ** See below

- Animations are indexed and invoked through an animable object (ie. Sprite, Player, or a custom class extended from animable)

CEAnimation punch = new CEAnimation(R.drawable.punchAnimation, "hero_punching.cps", 0, 47,false);
// CEAnimation(Spritesheet img, software exported file, startFrame, endFrame, boolean flipped);

client.add(punch); // indexed at 0 (indexes in the order they were added to client)

heroSprite.setAnimation(0); // Called in update to play the 0 index animation over heroSprite (plays until heroSprire.setAnimatin(-1) is called
// Then returns to the still image assigned to heroSprite

Map

- Most unique and powerful piece of the engine

- Created by the Celestial Map editor ** See below

- 32x32 or 64x64 tile support

- Parallax and RPG style map support (different physics handling)

- Physics for parallax maps(falling, jumping, ect...)

- Anchor for viewport can be tied to any animable object (Sprite, Player, or extended animable class)

- Sprites have a x and y position for Absolute location relative to screen along with a viewX and viewY position relative to map

(scroll parallax or RPG style map by by changing the anchors viewX and viewY)

- UNIQUE FEATURE: linear walking (parallax): rather then walking on flat tiles CEMap has a linear walking feature

plot points on valleys and hills to create linear (y = mX + b) lines that the Sprite/anchor will traverse **See program below

- Indexed maps to preload and retrieve from client

- More features to be included soon

CEMap levelOne = new CEMap(R.drawable.backgroundimage,"exportedTileData.clm","exportedWaypointData.cwm",heroSprite,physicsObject);
// CLM and CWM are exported from software heroSprite is animable anchor, physicsObject is the "world physics" object

client.add(levelOne);

//In game loop
client.setMap(0); // Indexed same way as animation

Celestial Designer

- Three programs in one Celestial Map editor, Celestial Sprite packer (animation), and Celestial Skeleton creator

- Windows (done), linux / unix (coming VERY soon)

- Simple, easy to use interface

Map Editor

- Save and load projects

- Create a RPG or Parallax style map

- One click export to file

- Eraser and undo button

- Supports 32 and 64 tiles

- More features to come

Sprite Packer

- Loads several image file types

- One click packing (set width and height of texture)

- smart adjust (beta)

- one click export to celestial file

Skeleton creator

- Very Simple ATM

- Using the line tool draw lines on the imported image to create its collision skeleton

- One click export

- Add exported file to Sprite constructor

- Use method sprite.addCollidable(Animable sprite); to tell the engine to listen for collision with referenced objects

- Can add as many collidables and needed with same line of code

- When the engine detects skeleton collision it will update the sprite object

- Get colliding object by using sprite.getColliding(); returns colliding object or null

Let me know what you all think, the project will be released soon I am basically just finishing video tutorials that will be available on my website

http://celestialengine.com

Game Castle Blitz was created with Celestial engine in 3 hours and less then 300 lines of code

​