Status report

This is just a small post regarding fObjects. I’ve modified the FFilmation Object definition scheme to allow for accurate shadows and collisions. Now objects have a display model, a collision model and a shadow model.

The collision model is a geometric definition of the sprite being shown. So far a cilinder and box models are supported. The box model was a bit tricky to implement properly because with boxes you need to take into account the orientation of the object and calculate the direction of the “bounce”.

The shadow models works the same but with shadow casting. You can choose wether using the sprites of the object or a geometric equivalent. Again cilinders and boxes are supported. If you feel perfectionist enough, you can use 5 boxes to define the geometry equivalent of a table sprite so it projects perfect shadows.

Both shadowModel and collisionModel are reflected in the API: an interface is provided to extend both models and implement new geometry.

With the new definition, a crate looks like this.


<objectDefinition name="FFObjects_west_Crate">
<displayModel>
<sprite angle="0" src="FFObjects_west_Crate_0"/>
<sprite angle="45" src="FFObjects_west_Crate_45"/>
<sprite angle="90" src="FFObjects_west_Crate_90"/>
<sprite angle="135" src="FFObjects_west_Crate_135"/>
<sprite angle="180" src="FFObjects_west_Crate_180"/>
<sprite angle="225" src="FFObjects_west_Crate_225"/>
<sprite angle="270" src="FFObjects_west_Crate_270"/>
<sprite angle="315" src="FFObjects_west_Crate_315"/>
</displayModel>
<collisionModel>
<box width="100" depth="100" height="70"/>
</collisionModel>
<shadowModel>
<shadow type="box" width="100" depth="100" height="70"/>
</shadowModel>
</objectDefinition>

And our Eastwood-clone goes like this:

<objectDefinition name="FFCharacters_poncho">
<displayModel>
<sprite angle="0" src="FFCharacters_poncho_0"/>
<sprite angle="45" src="FFCharacters_poncho_45"/>
<sprite angle="90" src="FFCharacters_poncho_90"/>
<sprite angle="135" src="FFCharacters_poncho_135"/>
<sprite angle="180" src="FFCharacters_poncho_180"/>
<sprite angle="225" src="FFCharacters_poncho_225"/>
<sprite angle="270" src="FFCharacters_poncho_270"/>
<sprite angle="315" src="FFCharacters_poncho_315"/>
</displayModel>
<collisionModel>
<cilinder radius="30" height="130"/>
</collisionModel>
<shadowModel>
<shadow type="sprite"/>
</shadowModel>
</objectDefinition>

When I’m done with the shadow implementation we’ll have a release. I’m sorry about all these delays, but the more things you fix, the more bugs appear :(

2 Responses to “Status report”

  1. I’m really looking forward to this release - the sooner the better!

  2. Me too, timbot. Me too!

Leave a Reply