FFilmation 1.0 released !

It’s a releaseeeeee !!! At last ! Go to downloads to get it. I’ve also setup a contributors page for people interested in being part of the project.The API reference is already online as well.

There are so many things I’d like to explain in this post that I won’t even try. Instead, just a short status report.

KNOW BUGS

  • At creation time, If objects are placed beyond bounds some errors are not properly catched. Unless you’re capturing everything or are testing from inside the flash authoring tool, the engine stops working and you don’t know what happened.

TODO

  • The bullet class: the bullet class is similar to the character class, but as it moves way faster it needs different collision tests that involve trajectory calculation instead of coordinate calculation. Object will receive the ONSHOT event so you can program rections to being shot. Dying, usually.
  • Finish fObject shadowing models. I decided not to delay the release for this, as it only affects the core classes, not what you could build on top of them.
  • AI helpers: isElementVisibleFrom(), findPathTo(), findAmbushPathTo().
  • Camera occlusion: assign a transparency percent to elements that are in front of the camera, so you can see what you’re doing.
  • More material types.
  • Add more object libraries to the default release .
  • Better error catching and handling.

I hope people enjoys using this as much as I’ve enjoyed doing it.

29 Responses to “FFilmation 1.0 released !”

  1. Wow, now I can’t wait to try it. Good work, and thank you very much.

  2. Thanks for this amazing engine!

  3. Yes! I can finally have at it.
    Thanks for the hard work!

  4. I compiled the following code but nothing shows up. I just get a blank screen. Is there an error here? Am I missing something?

    package
    {
    import flash.display.Sprite;
    import flash.events.Event;
    public class main extends Sprite
    {
    //import org.ffilmation.engine.core;
    import org.ffilmation.engine.core.fCamera;
    import org.ffilmation.engine.core.fEngine;
    import org.ffilmation.engine.core.fScene;
    import org.ffilmation.engine.scenes.fSceneLoader;
    private var scene1:fScene;
    private var feng:fEngine;
    public function main()
    {
    var fftest:Sprite = new Sprite();
    addChild(fftest);
    fftest.x = 0;
    fftest.y = 100;
    feng = new fEngine(fftest);
    scene1 = feng.createScene(new fSceneLoader(”xml/rockviewer.xml”), 800, 400);
    scene1.addEventListener(fScene.LOADCOMPLETE, loadHandler);
    }
    private function loadHandler(evt:Event):void
    {
    var cam:fCamera = scene1.createCamera();
    scene1.setCamera(cam);
    scene1.render();
    feng.showScene(scene1);
    }
    }
    }

  5. Great!! Downloaded, can’t wait to get in there and try it out. Thanks for the release.

  6. Hi rey,

    you code is working fine ( I tried ). Two things: allow a few seconds for the engine to process the scene ( you can listen to the LOADPROGRES event for details ). Second, the camera is at 0,0,0 by default, which means on a very corner of the scene. If you Stage is too small, I may render outside the screen. Try this:

    private function loadHandler(evt:Event):void
    {
    var cam:fCamera = scene1.createCamera();
    scene1.setCamera(cam);
    scene1.render();
    feng.showScene(scene1);
    cam.moveTo(800,500,10);
    }

    And the scene will be visible.

    Good luck

  7. [...] Flash Isometric Game Engine Released March 31, 2008 — drawk The FFilmation AS3 Flash Isometric Engine has been released into the wild.  The creator has been generous to watch his creation grow and evolve with the help [...]

  8. Great news. I am going to dig in this week on it. Fast working ffilmation!

  9. By the way what is your name. I want to give you proper credit and even help your body of work and pay it forward. I was hoping that would be in a license in the code.

  10. Also, to help the growth and managing the project, google code might help you out. Gives you free SVN, browse capabilities for the code, allows easier collaboration. I am very interested in collaborating and will start dabbling with that this week now we have the src. I can do a code clean up and do it for you if you like. Also, you might want to plop on the MIT or BSD license and your name. Thanks again!

  11. Awesome stuff. I’m agreeing with ryan here, can you get a SVN up and running?

  12. Hi, I ported your project into flex.

    There is a question that I want to ask. How could we translate global screen coordinates into scene coordinates? I want get position of mouse click event, but I can’t translate it into scene coordinate.

  13. Concept:
    scene.addEventListerner(MouseEvent.CLICK, moveCharacter);

    function moveCharacter(evt:MouseEvent):void
    {
    //I only have evt.stageX, evt.stageY
    //which is mouse clicked position on stage.
    //so Is there a way to convert evt.stageX, evt.stageY
    //into
    //x = ?
    //y = ?
    //z = ?
    // after that I could use
    myCharacter.moveTo(x,y,z);
    }

  14. Hi everybod and thanks for the positive feedback.

    @Ryan: My name is Jordi Ministral. I don’t have a problem about it being known, but I didn’t thought It was that relevant as I never planned to make any profit out of this.

    I’ve spent the last years dealing with brandmanagers “I want a bigger logo” and primadonna art designers “That typography should be 0.5pts smaller” so I think I’ve already sold myself enought :)

    I’d very much like to collaborate with you or others In this or other developments. As for the license, I’ll look for one that suits, but you can do whatever you want with the engine or the code within. It’s free to use even for commercial purposes.

    @Robert, Ryan: I’m having a look at google code now. I’ll see if I can setup SVN for it. The last weeeks I’ve been puting a lot of effort in finishing what I had, and I didn’t think onything else beyond that. As I don’t plan to do any coding in the next days ( waiting to see what feedback I receive ) I’ll focus on all these other tasks ( License, SVN, etc ).

  15. Hi i/u

    Currently the is not such a method to translate coordinates. Sorry. This is at the top of my todo list, as I understand it is vital for point and clic interfaces. In the meantime, open fScene.as and you’ll find a translateCoords method. This method does the inverse and I use it to place sprites onscreen. You should be able to inverse it to get the coordinates you need.

    The next release will include this functionality.

    public function translateCoords(x:Number,y:Number,z:Number):Point {
    var xx:Number = x*fEngine.DEFORMATION
    var yy:Number = y*fEngine.DEFORMATION
    var zz:Number = z*fEngine.DEFORMATION
    var xCart:Number = (xx+yy)*Math.cos(0.46365)
    var yCart:Number = zz+(xx-yy)*Math.sin(0.46365)

    return new Point(xCart,-yCart)
    }

    Best,

  16. Jordi, People like you make the Flash community the best! Your work on this is appreciated very much. I’m sure we’ll see some great uses of the engine.

  17. Thanks for the help! You’ve done an awesome on this engine. Thanks for releasing it.

  18. Looks awesome! Thanks for conributing this as open source. If you like the word spread abput your work even more, you can have a link and a description of this project over at osflash.org.

    And I just discoverd a funny little bug: in Example No. 4 when you enter or leave the room in the middel and immediatley hold down the arrow keys the little Cowboy walks without moving his legs. This is probably easy to fix, but you might as well leave it as a special effect. ;-)

  19. [...] stunning examples of what Flash can do that I’ve seen since Papervision3D. I almost hate to link to it because it will overshadow my own contributions to the Flash [...]

  20. This is pretty stunning. The lighting especially- it’s something that adds a ton to the (potential) atmosphere, and yet something I never would have considered…

  21. you guys… (i’m missing words here). frickin AWESOME!

  22. First I would like to say Great work!!! Love the engine thus far.

    But how can I get this to work in Flex? Or is feature yet to be added?

  23. Hi Mike,

    I don’t use Flex myself but I’ve been told it does work. If someone can post or email me a brief how-to, I’ll add it to the docs in this site.

  24. Thank you very much … the errors seem to come from fEngine.stage and container.stage. The stage property always comes up NULL in Flex. I guess “stage” is a Flash thing.

  25. Hi Jordi, is your email: admin@ffilmation.org. I’m willing to document steps necessary to port your project into Flex and make it running.

    And thanks for your guide about reverse translateCoords method, finally I can make your Poncho character moving by click on scene now.

    Again, thanks for your great work.

  26. Hi Vu, yes the email is correct. Send the docs to me and I’ll add them to the site.

  27. I’m just curious. Is there a way to interact with objects and characters with the mouse? Basically I’m trying to create a visual Scene editor using Adobe AIR … and I would like to select and drag items around the scene.. but, I can’t seem to get MouseEvent’s to work on the objects and characters.

  28. [...] ?????????????????RSS????????????????????Flash AS3?based??isometric??????????isometric?????????AS2?????isometric???(????????????)???????????? [...]

  29. Great work people…very impressive.

Leave a Reply