Previous Blog Next Blog
Prev/Next Blog
by date

TGB Isometric Add-On Pack - Part 6: nxAnimator!

TGB Isometric Add-On Pack - Part 6: nxAnimator!
Name:Neo Binedell
Date Posted:Apr 27, 2007
Rating:4.9 out of 5
Public:YES
Comments:YES
RSS Feed:GarageGames Blog feedor Subscribe with .
Profile Page:View profile page for Neo Binedell

Blog post


- TGB Iso Builder -

Continued from my previous blog post


I wanted to support composite visuals for the iso builder from the start for things like character clothing, weapons, items, etc and while prototyping it I realized that it would be useful for core TGB stuff as well (I have seen many a post about the need for overlay sprites or synchronised animations). And so I designed a nice generic system that could be used by both the core stuff as well as the iso builder and nxAnimator was born.
(Perhaps a new pack for core TGB???)

First a vid and a screenie to get us into the swing of things:
(Rather low quality I'm afraid to keep the size down)

nxAnimator_alpha_wmv.zip



The workhorse of the system is the visual. Each visual can contain one or more channels that are overlaid at render time. Each channel can have one or more slots each of which contains an image map and frame list to use. Now while only one slot can be active per channel one can have as many slots as one needs and swap between them at runtime.

Each visual maintains animation state and has a base line duration and frame count to which all channels are either stretched or looped to fill. The animation can be played backward or forward, paused, play a specific frame or goto that frame and pause, loop/pingpong/or automatically switch the the next/prev slot when it reaches the first/last frame, etc. Rather similar to the way macromedia flash stuff works e.g:


  • play();
  • pause();
  • isPlaying();
  • getCurrentFrame();
  • setCurrentFrame();
  • getCurrentTime();
  • setCurrentTime();
  • getPlayDirection()
  • setPlayDirection()
  • togglePlayDirection()
  • gotoAndStop( frame )
  • gotoAndPlay( frame )
  • nextFrame();
  • prevFrame();
  • etc


It also has a plethora of callbacks like onFrameChange, onAnimationCycle, onPlayStateChange, onSlotChange, etc, to allow the user to hook into the play state and update game objects as required. A visual slot does not have to be animated however, it can be used simply as a frame buffer to store graphics and show the correct frame as needed, etc.

Something else I'm working on is custom keyframe channels which will allow cool things like per-frame collision polies, animated channel offsets, scale, which effectively provides a timeline animation system similar to flash.

Now these are just workhorse classes and to use them you need a container that will let the visual update and render itself at the appropriate time, and so enters our new best friend, wait for it - nxSprite. Derived from t2dSceneObject it acts just like its poorer cousins t2dStaticSprite/t2dAnimatedSprite but with all the visual power underneath.

The more I worked on this the more it became clear to me that this was a tremendously powerful way to do things as it could be used in so many different ways, for example:


  • A visual with e.g. 4 channels, a channel for the base character, a channel for pants, a channel for shirt, a chanel for hat, and each channel contains e.g 3 slots with different colored and shaped versions of each article of clothing. At runtime the character can switch between the slots as it picks up items, or according to user choices, etc.
  • Channels can be active as needed and only shown when state requires it, e.g. you have an open roof tent base channel and hide the tent roof channel when a character enters the tent.
  • It is a convenient way to store all related animations for e.g. a character together, e.g. stand/walk/run slots that can be easily switched as required.
  • Instead of having multiple state graphics for e.g. a truck that can have either some logs, or drums, or people or whatever on the back you simply have a base truck channel and slots containing just the overlay graphics for the stuff on the back of the truck. Saves a ton of texture space as well as allowing mixing overlays, etc.



It goes without saying that this all comes integrated with the LevelBuilder with fancy editors, a plethora of custom gui controls e.g. image map- and visual list and preview gui controls, the works.

More as the system progresses...

As for the iso builder, it got overhauled (again) to use the new visual stuff, a mini-map gui control and I've added element libraries that can be packaged up and shared and also makes things easier to manage. A built-in datablock manager takes care of tracking, reloading and managing datablocks as required as well as saving,loading and anything else datablocks get up to.

As I spent most of my time lately working on the iso editors and they are getting up to scratch I can now turn my attentions to fixing and adding features to the engine as well as implementing mini games to test and suggest new features, so the next update should have some more interesting piccies of the engine in action ;p

Some other things I have been working on are the sprite builder ( nxSpriteBuilder??? ;) which allows you to import/crop/offset/convert and join images into one image or set of images, automatically create cell or key image maps for them as well as do custom processing like replacing background colors with alpha, removing bad alpha outlines, and converting images with alpha channels to pre-multiplied alpha that can be rendered with additive blending (and so do not require sorting, etc), etc, etc, etc. All things that you could do manually that are just a pain in the butt and that saves time when going back and forth between art creation and utilizing it in TGB.

And that as they say, is it, ladies and germs... tune in next time when we watch all of this in action in the next adventure of the iso builder err... adventure...

Recent Blog Posts
List:03/05/08 - Iso-phagus
11/12/07 - Theora Video Seek, Loop And Callback Support
06/17/07 - FX Composer 2 - Public Beta Released
04/27/07 - TGB Isometric Add-On Pack - Part 6: nxAnimator!
02/20/07 - TGB Isometric Add-On Pack - Part 5
11/23/06 - TGB Isometric Add-On Pack - Part 4
08/16/06 - TGB Isometric Add-On Pack - Part 3
06/14/06 - TGB Isometric Add-On Pack - Part 2 - Cont.

Submit ResourceSubmit your own resources!

Justin DuJardin   (Apr 27, 2007 at 01:51 GMT)   Resource Rating: 5
Wowza! Neo man, you never cease to amaze, this stuff looks fantastic! :)

Cheers,
-Justin

Chip Lambert   (Apr 27, 2007 at 01:55 GMT)
Looking great Neo. I'm so glad you're still working on this pack. :) Keep up the excellent work!

David Higgins   (Apr 27, 2007 at 02:11 GMT)
Woah ...

Drew -Gaiiden- Sikora   (Apr 27, 2007 at 08:36 GMT)
Nice to see that progress continues! :) Good stuff

Leroy Frederick   (Apr 27, 2007 at 09:32 GMT)   Resource Rating: 5
This looks like its coming along nicely! I look forward to the completion! :0)

Matt Huston   (Apr 27, 2007 at 09:38 GMT)   Resource Rating: 5
I was just thinking to myself, I wonder how Neo's iso project is coming. Very cool and as Leroy said, I am loooking forward to completion :D

David Blake   (Apr 27, 2007 at 15:06 GMT)
I'm so totally jealous every time I read one of your blogs!

Tank Dork   (Apr 27, 2007 at 15:28 GMT)
Was already excited about the possibilities of your iso pack.. now this (faint).

Andy Hawkins   (Apr 27, 2007 at 15:48 GMT)
This work is awesome Neo. I can see many uses for it. Do you know when it will be ready for sale?

Chris \"C2\" Byars   (Apr 27, 2007 at 17:36 GMT)
OFF TOPIC: Bullets, how do you put them in posts using GG's little code system? No one'll tell me. :(

Daniel Staub   (Apr 27, 2007 at 18:28 GMT)
Nice, now all we need is an EA realease. *grin*

Clint Herron   (Apr 27, 2007 at 18:42 GMT)
Wow Neo. You gave me a bit of a double-take this morning as I was reading my morning blogs. :) It was a little (shocking/humbling/exciting) to see my female walking sprite actually get used somewhere -- it's always odd to see one's work pop up in places that one least expects. :)

I'm really glad to see that you've gotten some good use out of her as a sprite. I've just been thinking this past week that I would like to have seen my isometric sprites get finished -- sadly, I never took the time to create a camera setup in my .blend file, and so never rendered the rest of the angles for her walking. I'd still love to see this get picked up at some point, as I could really use more of these grahpics. <shameless call for help> If a Blender artist would like to help out on this, I would be much appreciative</shameless call for help>.

Quote:

Some other things I have been working on are the sprite builder ( nxSpriteBuilder??? ;) which allows you to import/crop/offset/convert and join images into one image or set of images, automatically create cell or key image maps for them as well as do custom processing like replacing background colors with alpha, removing bad alpha outlines, and converting images with alpha channels to pre-multiplied alpha that can be rendered with additive blending (and so do not require sorting, etc), etc, etc, etc. All things that you could do manually that are just a pain in the butt and that saves time when going back and forth between art creation and utilizing it in TGB.
I hope you didn't get too much trouble from ripping those graphics from the animated gifs I posted. I have higher quality rendered .pngs that should have better border alpha blending if you're interested (though you might have already re-rendered your own .pngs from the original .blend, I don't know).

Anyways, thanks so much for putting my graphics to use! It's encouraging to see them being used, and if nothing else, it really reinforces in my mind the need for a publicly-available set of resources for creating artwork like this.

I'm also really looking forward to buying your Iso pack -- posts like this really make me appreciate your eye for quality, your attention to detail, and your hard work.

Thanks!

--clint
Edited on Apr 27, 2007 20:06 GMT

Phil Carlisle   (Apr 28, 2007 at 09:11 GMT)
Nice work Neo. Looks like a very useful tool and a good extension to TGB.

I'm not sure youre naming of channels and slots I agree with though. Slots in Torque parlance are usually the "add-on" parts. so your channel in TGE would be called a Slot. I would think that the switching of what appears would be something else too (not a slot, but perhaps a frame?).

Guess I'm being picky, but you really should consider what you call things, because people WILL get confused if you dont get it right.

Neo Binedell   (Apr 28, 2007 at 20:26 GMT)
@Clint:

Aha! I was looking everywhere for the link of where I got those pics, it was perfect for testing the composite visual stuff, and spurred me to just get to it.

Thanks for the kind praise, and let's hope that my perfectionist bent does not drag the iso builder release out to 2010 ;p

@Phil:

The naming is something that I did actually put a lot of thought in and channels are standard terms when it comes to animation/video etc. I chose slots as that is really what they are, a slot in a channel for a frame sequence. I was never truly happy with it so you may have a point there. I will stick with channels I think and come up with something less confusing for slots, perhaps FrameSequence, FrameList or FrameBuffer or whatever.

And picky is good, can only lead to better quality in the end ;p

@All:

Thanks for the encouragement and interest.

Chris \"C2\" Byars   (Apr 30, 2007 at 01:05 GMT)
Bullets, how do you put them in posts using GG's little code system?

Neo Binedell   (Apr 30, 2007 at 10:14 GMT)
I used standard html unordered list just with square brackets:

[edit]
Ok that didnt show the code, use (ul) and (/ul) for the list and (li) for the items.
(Replace round brackets with square brackets)
Edited on Apr 30, 2007 10:17 GMT

Chris \"C2\" Byars   (May 01, 2007 at 23:04 GMT)
Thanks! :)

Neil Gordon   (May 04, 2007 at 00:38 GMT)   Resource Rating: 5
Hi Neo,
Have you any plans to code some sort of lighting control for tiles and sprites ala Diablo etc for your engine? I've yet to work my way through all the previous blogs so you might have mentioned it already, I apologise. My other question is pretty predictable; how complete (in %) would you consider the project? You can see Im pretty keen to have a bash at an isometric game :).

Neil

Neo Binedell   (May 04, 2007 at 00:55 GMT)
@Neil:

Hiya, yeah it already has ambient control and I am working on prototype for a general lighting solution as well as fog of war etc. Although they would be pretty easy to do with custom tile blending and overlays in script too.

As for % done, anywhere between 60% and inifinity, I keep getting ideas of things it should just have and things that would be really cool and am constantly trying to find a good balance between basic requirements and feature creep ;p

I have been considering releasing it as an EA as soon as the code base stabilizes but still need to give it some thought as well as discuss it with GG, etc. I will try to update more frequently as well to keep everyone in the loop and show more of what it can do.

Jeff Pitrman   (May 27, 2007 at 19:22 GMT)   Resource Rating: 5
Every time I check in on your blog, I see another list of reasons to be very, very excited about this.

Jackson Hyde   (Jun 08, 2007 at 15:52 GMT)
Hello Neo, amazing work you're doing here, can't wait to get my grubby little hands on the ISO engine, this latest addition of nxAnimator has pretty much halved my asset ceration timeframe!

Just a quick question, apologies if it's been asked before - do you plan on building this for the Mac? I imagine it's compilable for both platforms, but if there's 1.3 features used in there us mac users will be (for lack of a better word) screwed!

Neo Binedell   (Jun 08, 2007 at 20:01 GMT)
@Jackson:

There is nothing platform specific in the iso code although some of the editor stuff might utilize newer stuff, I'm not sure off hand. I will be giving it a thorough sweep once the code base is settled and see if there are any issues building with the different versions and platforms etc.

So I would say indeed I will put in the time to make it work with whatever supported versions are available.

Jackson Hyde   (Jun 09, 2007 at 12:35 GMT)
Fantastic! When I posted my question I didn't realize betas for TGB 1.5 had been released - hopefully everything will be stable by the time your ISO stuff is finished.

If you need any Mac testers, I'm using a intel imac running OS X 10.4.8. I've got a crapload of isometric renders for an RTS I'm working on as well! Drop me an email at jacksonhyde (at) hotmail dot com if you need..

Ehrlichmann Casas P.   (Jun 11, 2007 at 23:07 GMT)   Resource Rating: 4
i was wondering, NEO, when are you gonna release this ISO pack?... and, how much would it cost?... im pretty much interested in it, so i'd like to get my hands on it, and give it a try....

Trace Kern   (Jun 18, 2007 at 07:21 GMT)
I realize this particular .plan and blog is a little old, but I was just curious what the current status of the NX Iso Builder is? Are you still plugging away at nifty, cool, and must-have features?

If so, I wanted to put my two cents in.
Couple updates back someone asked if this could allow set or arbitrary map rotations to occur. What came to mind is the original Final Fantasy Tactics on PSX, where pressing the R2/L2 buttons caused the map to rotate 90 degrees, allowing you to get a different view of the map, maybe to get a better view of something occluded by buildings/scenery.

I'd like to toss another coin into that feature's cup. I realize it might be a niche feature, but personally it would end up saving me months on my own projects.
Yes, it would require multiple angle renders for pretty much every tile object, but if you made it an optional feature, then it could be planned for and used in projects where it's needed, or ignored when it's not.

In any case, I am waiting with baited breath for this to see a final or even a public beta release.
I am hoping that GG allows binary releases, as I only have the basic Indie of TGB, and it would be a tossup between getting Pro or getting this, and so far my projects don't need the features of Pro.

Final question. Do your current builds of this engine work with the 1.5B of TGB? I would hate to see something this beautiful loose out cause of changes between 1.1.3 and 1.5.

Neo Binedell   (Jun 18, 2007 at 12:11 GMT)
@Trace:

Yup, still pluggin away at nifty, cool and must-have features ;p

I might give the rotation stuff some slack as the map elements all have defined orientations and so it would be relatively easy to add an offset based on view direction - will look into it.

As for binary releases I have spoken to GG and it seems to be a go, so yes there will be both Pro and binary releases.

Current build of the engine is up to date with the latest 1.5 svn head release which should be available soon ;p

@Ehrlicmann:

I unfortunately don't have a release date as yet, neither on cost I'm afraid.

Daniel Staub   (Jul 12, 2007 at 13:16 GMT)
Hey Neo,
How goes the TGB Iso Builder project?

Thanks,
Dan

Pedro Pinto   (Jul 14, 2007 at 20:59 GMT)
any news about TGB iso builder?
i look forward to it
Edited on Jul 29, 2007 18:22 GMT

Matthews_30   (Aug 10, 2007 at 20:45 GMT)   Resource Rating: 5
is there any news about it? i will buy it immediatelly once it is released!

matt

Kelstek   (Sep 17, 2007 at 01:52 GMT)
Wow - I've read the entire Iso Add-On set of updates. Your fans are legion, and with good reason! Add me to the list of parties interested in the next update and eventual release...

Nick Poad   (Sep 20, 2007 at 21:23 GMT)
This is all very exciting! Certainly my most anticipated project.


Something I look for in every isometric game I get my hands on (I've been an iso-phile since Cadaver on the Amiga 500 in 1990) to being about to replicate the pseudo-isometric tricks in Diablo 2, where the different tile levels are scaled slightly differently, to create a genuinely impressive sense of 3D (with the tops of towers swaying independently of their background as you move). I thought this was actually the best feature of Diablo 2, even if many didn't notice it....


Any chance of this wonderful style of trickery being included?

Neo Binedell   (Sep 24, 2007 at 14:14 GMT)
Wow, good to see theres still some interest!

Sorry for not replying before but I've been away from all this for a while what with my new daughter and another one on the way for Dec, and been hacking away at a ton of contracts to pay for it all ;p

My mate Paul who's doing some cool modelling, feedback and proto testing is slowly going bananas because of this not getting any further, something that prompted me to want to take a step back and start simple and will post a plan about the status and my plans for it soon to let everyone know whats up.

Clint Herron   (Sep 24, 2007 at 14:17 GMT)
Very good to hear you're still alive and kicking, Neo. :) I know how other projects can get in the way, but I'm really glad that you're still wanting to move forward on this.

Congratulations about the new daughter-on-the-way! Sounds like it will be a busy (but hopefully still merry) Christmas.

Thanks so much for keeping us updated about the progress of your isometric add-on pack -- still really looking forward to purchasing your pack when it becomes available.

Cheers!

--clint

Paul Langridge   (Sep 25, 2007 at 09:30 GMT)
"My mate Paul who's doing some cool modelling, feedback and proto testing is slowly going bananas because of this not getting any further"

Oh Im past the banana's stage, im just plain "kookoo" now ;p

But I am hanging out to post some screenies of this great stuff in Iso!

Pedro Pinto   (Sep 25, 2007 at 09:46 GMT)
gogo, show us that great stuff "kookoo" lol

Jerrod Putman   (Oct 30, 2007 at 20:20 GMT)
This is pretty much exactly what I'm looking for. I'll be there whenever you release it, Neo. I do hope it's sooner rather than later, but I understand how life can get in the way of the cool things sometimes, heh. With that said, I'd like to hear about anymore progress that you've made recently.

Keep up the awesome work!

Clint Herron   (Oct 30, 2007 at 20:38 GMT)
What with Torque2 on the medium-to-near-horizon, I'm not even sure how long this isometric pack will be out before its usefulness is limited to a legacy engine.

Neo, do you have thoughts on the Torque2 announcement? Does it at all affect the future of the TGB Isometric Add-On Pack? The isometric pack looks so cool it would be extremely tempting to not upgrade just to stay with it, but I fear that the need for core-engine fixes/updates would propel me away from it.

Thanks!

--clint

Neo Binedell   (Oct 30, 2007 at 22:37 GMT)
@Jerrod:

Indeed I have been overrun, overwrought and over... everything-elsed ;p

My workload should be calming down to a panic in about 2 weeks at which time I will be giving the iso pack some loving.

@Clint:

As I said before with all the engine shifts going on I was thinking to rollback to basics and just get a basic version out so people could use it so long, perhaps under EA or whatever.

As for Torque 2 I will be moving the iso stuff over quite quickly once it is released, etc. No problems there ;p

Really the ONLY thing keeping me away from iso stuff now is time, time, time... I am just as excited if not more about it as I was when I started, so thanks to everyone for being so (extremely) patient!

I promise to get an update up soon as I can to let everyone know whats cooking and where I'm going with stuff.

Matthews_30   (Dec 19, 2007 at 00:43 GMT)   Resource Rating: 5
and how about now? is there any news?

btw, hope everything goes well with you and your family.

matt-

Pedro Pinto   (Jan 09, 2008 at 22:47 GMT)
iso? anynews?

Acy Forsythe   (Feb 29, 2008 at 18:56 GMT)
Is there still any plans to release this?

Brian Carter   (Mar 05, 2008 at 08:34 GMT)
I really hope Neo has just got overloaded with other work, because it would be such a shame for this to never get released. I just started looking at Inet's World Creator and this would ISO pack would tie in so well. Are you still out there Neo? Can we entice you back into this little world?

You must be a member and be logged in to either append comments or rate this resource.