2dguy The only thing I would like to understand is what you added to Startling (or the project itself) that allowed you to do things that by itself Starling was unable to do.
I will try to explain as best I can! Almost everything in the game is actually a Starling Quad object. The particles, walls, furnitures, weapons, even the characters, are all composed of Quads. The main thing I changed in the code was to make the Quad's setVertexPosition function public instead of private. This is probably not best practice, but it was the simplest way I could think of.
Once you have access to the Quad's vertex positions, you can change its shape. Instead of a square, I made the quad into the shape that was required. More complex shapes use more than 1 quad. This is actually why the game looks very angular... circles are curves use more quads!
The characters are composed of 3D points in imaginary space. They are converted into 2D coordinates and are connected by Hexagons (2 quads). Here is an animation that hopefully illustrates the idea:
All of the quad's vertex positions have to be updated every frame, which might actually be really inefficient but it's the best solution I could come up with.