the official as3isolib blog

actionscript3 isometric library (v1/v2)

as3isolib.v2 FAQs

When will v2 be available/released?

To put it bluntly, I have no idea.  It will be done when it’s done. Between my dog, 2 cats, my girlfriend, Brazilian Jiu Jitsu, and my 40+ hr/week day job, I am devoting as much time as I can and still stay healthy.

What will v2 include?

Right now v2 exists simply as a library consisting of:

  • base entities
  • base controllers (including rendering controllers)
  • base camera
  • base scene
  • core render engine

I am also working on tools that will leverage other tools.  So rather than me developing a complete tool set for the library, I plan on leveraging existing technologies out there and modifying their output to accommodate a development environment targeting as3isolib.v2.  Right now I am targeting Pushbutton Engine, Texture Packer and I may look at Zaalab’s Eden platform.  Since this is a one-man show at the moment, I am concentrating on what I do best – making the render engine.

Will v2 be open-source?

Most likely no. But if that is to be the case, I will be sure to have a stratified licensing agreement in place so that hobby developers aren’t left out of the picture and not breaking their wallets.  I want v2 to be accessible for all who want to use it.

Is there Pushbutton Engine Integration?

Yes, to some degree.  In order to get blazing fast performance I have had to forgo complete integration with the Entity paradigm in PBE.  But I am leveraging what I can.  Most notably I am making use of the IAnimatedComponent and ITickedComponent for the render process and some of the object update processes.  I am also LOVING the PBE console.  Lastly, I plan to utilize PBE’s mechanisms for listening to interactive events (mouse clicks, focus events, keyboards…).

Does v2 make use of Flash’s display list APIs?

No. I have chosen to go the “blitting” route.  I do make use of BitmapData extensively.

Do you plan to support the Molehill APIs?

Yes. I had experimented with Molehill but hit a performance bottleneck.  So for now, I am sticking to CPU-based rendering and watching the Molehill scene for any improvements on some of the libs that are popping up.  I will mention that Ely Greenfield has helped me in understanding his M2D library and at some point I plan to see about integration.

Are there any collision detection or physics APIs?

Not yet.  I am hoping to delegate this to the PBE implementation for collision detection and physics.  Unlike v1, there will be a means to tie into this PROPERLY.  Stay tuned.

v1 suffered from sorting issues unless you followed a proper object implementation, does v2 suffer from this?

NO!  I have rewritten v2 from the ground up with v1’s flaws in mind.  Regardless of object intersections, objects are sorted as they should appear without the hassles that plagued v1. I have also replaced the multi-dimensional sorting algorithm with a flat, linear sort. What does this mean?  It means that v2 can process over 1000+ randomly moving objects PLUS process static terrain objects in a browser window @ 1024×768 while maintaining 30-60 FPS.  v2 performs leaps and bounds over v1.

How was this performance boost attained?

Optimization out the wazoo!

  • caching
  • object pooling
  • inlining mathematical operations
  • player version-specific tweaking
  • explicit invalidation mechanisms

During the last 4 months I have visited and revisited the v2 APIs with the 2 goals in mind: Provide fast performance without sacrificing ease of use; Provide underlying implementations that adhere as closely to best practices as possible, but not at the expense of performance or ease of use;  So there are some cases of abstract implementations vs interfaces.  This also means you, the developer, are responsible for explicitly invalidating an object.  I think that is a good compromise considering the performance gains and easy-to-use APIs.

How close are the v1 APIs to the v2 APIs

There are very few glaring differences but most v1 users will find the v2 APIs rather easy to learn.  Most notably will be the composite-model approach to an object entity and the way controllers are used to modify entities.

More questions?

If you don’t see your questions asked here, please, DO NOT ask it in the comments but rather send me an email (as3isolib {AT} gmail {DOT} com w/ subject ‘v2 FAQs’).  I will be happy to post the question and the answer here.



8 responses to “as3isolib.v2 FAQs

  1. Rahul June 7, 2011 at 4:28 am

    Not Open source :(, not free 😦

    • jwopitz June 20, 2011 at 2:54 pm

      While I understand your disappointment, but read carefully, it states “Most likely no”, not “no”

    • Oleksiy March 16, 2012 at 5:05 pm

      I don’t think author will make it ‘not free’ for non-commercial use.

      But taking in account that As3isoLib v1 was used in many comercial projects it is fair enoug if people will pay for it. It can help develop the engine.

      PS: as for me, I will be glad to pay a bit for v2 version, especially, if it will be as it is promised “fast and easy to use”. But I don’t like that PBE is noted too much. I worry that isoLib will be useless without PBE.

      • jwopitz March 20, 2012 at 3:30 pm

        you can use v2 without any dependencies on PBE or the Smash engines. There will simply be wrapper classes you can use, and if you’d rather have the core game object in v2 extend the core game object in PBE2 or Smash, you can easily do so as well.

  2. StPashik October 23, 2011 at 3:25 am

    Hi! I would like to know whether in the near future the second version of your engine. I’m starting to develop the game and now would like to know whether to wait or make a new version of the old?
    Thanks in advance =)

    • jwopitz October 23, 2011 at 9:45 am

      You should probably go ahead and use v1 for the time being. V2 has no timeline. It’s in the works and I am dedicating as much time as I can towards it, but it’s still a one-man job at this point. Luckily there will be some utilities to assist in migrating v1 content to v2.

  3. StPashik October 23, 2011 at 1:16 pm

    Thank you very much for your reply! So will white for V1 =) Thank you for your work.

  4. vgarzom November 10, 2012 at 6:46 am

    Hi, I’m trying to use use the v1, but the whole time I’m getting this error Class mx.core::IFactory Could not be found. I’m using flash builder 4.6 and as3isolib.v1.core.swc. It would be great for me if you can help me. Thanks

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: