Previous Blog Next Blog
Prev/Next Blog
by date

TGB Isometric Add-On Pack - Part 1

TGB Isometric Add-On Pack - Part 1
Name:Neo Binedell
Date Posted:May 11, 2006
Rating:5.0 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 Isometric Add-On Pack

Just to let everyone know that I'm knee deep in isometric code at the moment for a brand new iso pack written in C++.

For those that saw the quick and dirty atrocious interleaved rendering example I did, relax, this one's written from the ground up to be as clean and simple as it can possibly be.

I have done a lot of research and all the implementations Ive seen are so convoluted not to mention a nightmare to make sense of and mostly just plain suck. They are needlessly complex requiring one to do all calcs in iso space (and some of the ugliest code I've ever seen in my life), etc.

So I started from scratch and I think I just might succeed in making it as simple as it could possibly be.

In short, all movement, collission, etc takes place in a normal simple 3D space (no weird tile stepping crap to try and remember) and automatically gets translated into iso view space.

[push]

I have seen a lot of people arguing that iso tile rendering should be an intrinsic part of TGB.
I think perhaps they are not too clued up on the particulars as while it would be quite easy to
change t2dTileMap to allow interleaved rendering by allowing custom X offsets per row, etc, it
is basically worthless for anything but tile only stuff.

As soon as you start adding moving sprites etc it all falls apart as the sprites will not be correctly
sorted intra tile map and to allow that one would have to rewrite TGB as a 2.5D engine. Also
movement and collision quickly becomes a nightmare.

[pop]

The more I work with this the more I become excited by the possibilities of a generic iso engine.
I am writing it as generic as possible so that it can be used for making anything from one screen puzzle
iso view casual games to large RTS or RPG's like Diablo or even things like e.g. chess, tennis or perhaps
a Marble Blast 2D ;p.

I will break it down some more and list features as soon as I get time and will be updating this plan to
keep everyone in the loop as I progress.

Features will be fleshed out here as I get time


  • Isometric map is basically a scenegraph and contains everything.
  • All movement, collions,etc in simple 3D space, automatically mapped to view
  • Multiple viewports
  • Tiles and items are stackable and items can move between levels
  • Occlussion masking
  • Overlays (non-interactive imagery that just blocks all cells they cover or simple non-world visuals)
  • Basic physics and pluggable physics interface
  • Tile/item datablocks (user extensible)
  • Object mounting, composite tiles/items (allows you to treat it as one object but will still sort/render seperately
  • Tile/item templates and editors, set up a tile/item's info once an apply all over
  • Sloped tiles (and user defined functions for retrieving a surface height, etc)
  • World bounds debug overlay
  • Map and map element editors
  • Generic attribute assignment to tiles/items/elements and templates
  • Bitmap backgrounds with collision overlays
  • Event system
  • Triggers


Misc ideas

  • Projected textures for use as tiles
  • Background map loading for huge maps
  • Full network support
  • Editors and tools to help create or generate isometric tiles
  • Integration of TGB Particle System
  • Integration of TGB Shape 3D to lighten the load for multi directional sprites,etc


Some prototype screenies:



[update: 2006-05-13]

Another quick screenie: items sort correctly (the red cylinder) as I move it through the world



[/update]

[update: 2006-05-22]

Another quick screenie: red lines are simple 3D world bounds for all objects



[/update]


Object/tile stacking in action







~Neo Binedell

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!

Matthew Langley   (May 11, 2006 at 21:34 GMT)   Resource Rating: 5
Very cool. I definatley think this is a great idea.

Tom Perry   (May 11, 2006 at 22:05 GMT)
Sounds good :) You going to release like a starter kit?

Anders Linder-Noren   (May 11, 2006 at 22:10 GMT)
Cool!

Neo Binedell   (May 11, 2006 at 22:27 GMT)
@Tom: if by starter kit you mean will it have examples, sure...

Editor's and everything too...

~neo

Alexander "taualex" Gaevoy   (May 11, 2006 at 22:30 GMT)   Resource Rating: 5
Awsome!!!

[signing up]

Donald \"Yadot\" Harris   (May 11, 2006 at 23:20 GMT)
Dude that may just make me buy TGB

Tom Spilman   (May 12, 2006 at 01:04 GMT)
Looks great Neo!

Neo Binedell   (May 12, 2006 at 01:31 GMT)
Ah, good to see there's some enthusiasm for it!

Btw Tom, been using torsion and it has REALLY upped my productivity, thanks a ton man...

Vashner   (May 12, 2006 at 06:34 GMT)
Unload the soldiers from the ship! Burn the village!!

Lookin good'.

Tom Bushby   (May 12, 2006 at 09:38 GMT)
That looks amazing!
Well done. :)

Michael Woerister   (May 12, 2006 at 11:12 GMT)
Yeah, very cool indeed! Have you thought of lighting (like in Diablo)?

Neo Binedell   (May 12, 2006 at 11:23 GMT)
I've thought of a ton of things including lighting ;p

I am however trying to reign myself in to a generic subset of features for
the core engine pack and once that's done I'll create additional packs that
include specific features e.g. RTS pack, RPG pack, etc, that have lighting,
and e.g. containers, etc.

One would not need lighting for say a puzzle game, as it is more of a
RPG thing (generally speaking).

That way people don't have to shell out a lot of cash if they only want the
base or a selected features set.

I'll chuck a list of what I have planned soon as I've narrowed it all down.

~neo

Michael Woerister   (May 12, 2006 at 12:11 GMT)
Good luck then :)

Stacey Mickens   (May 12, 2006 at 13:54 GMT)
Very nice. :) Can't wait to see more.

Hokuto   (May 12, 2006 at 16:31 GMT)
Good stuff

Jesse Hall   (May 13, 2006 at 02:03 GMT)
very cool!!!!!!!

OneST8   (May 13, 2006 at 03:16 GMT)
Definitely watching this space!

Travis Womack   (May 13, 2006 at 22:15 GMT)
This is great!!!! I am very excited about the possibilities with this pack.

Rodney Rindels - Torqued   (May 15, 2006 at 21:05 GMT)   Resource Rating: 5
Couple of questions:

have you given much thought into your cost expectations for the differenct packs?

Any idea on a release date, would be good to know as well?

Are you planning a psuedo Z axis to be implemented?

I'm budgeting for things right now, and this is going on the top of the list.

Chris Schirlinger   (May 15, 2006 at 23:46 GMT)   Resource Rating: 5
I'd buy a good ISO pack :)

Neo Binedell   (May 16, 2006 at 01:09 GMT)
@rodney:

I won't know about costing until I've nailed down the core feature set but believe me
it will be really reasonable for what you will be getting. I'm changing the term from code pack
to Add-on as it will be an entire sub system on top of TGB, editors, the works.

No idea on release date as yet, although I've already got a ton of stuff going on.

No psuedo Z, REAL Z. Basically all objects are moved and interact in a simple 3D space and the engine takes care of displaying it at the correct screen position, etc.

I will update above soon as I get a chance to explain better and break everything down.

~neo

Jesse Hall   (May 16, 2006 at 07:00 GMT)
are you for realz? ;)

Neo Binedell   (May 16, 2006 at 19:23 GMT)
Things are going well, will update with features in a few hours...

Neo Binedell   (May 16, 2006 at 21:35 GMT)
Quick feature list added...

Joe Bird   (May 19, 2006 at 03:55 GMT)   Resource Rating: 5
Nice! This is what I wanted when I bought T2D... erm TGB. 2D is not dead, just check out Dofus and Dofus-Arena to see the potential.

Mousey   (May 19, 2006 at 11:53 GMT)   Resource Rating: 5
This looks very interesting and sure to be useful, keep up the great work!
Edited on May 31, 2006 09:52 GMT

Neo Binedell   (May 22, 2006 at 03:31 GMT)
Will add some cool update screenies soon, too tired now... must sleep... 5:25 am... zzzzzzzz

~neo

Jesse Hall   (May 23, 2006 at 06:04 GMT)
wtg Neo.. looking better all the time!

Rodney Rindels - Torqued   (May 23, 2006 at 07:07 GMT)   Resource Rating: 5
Awesome Neo... Just Plain awesome.

Neo Binedell   (May 23, 2006 at 16:47 GMT)
Just thought I'd share this.

I stumbled on some awesome free tiles and sprites to use as placeholder art:

Reiners Tile Sets

This has saved me a ton of time prototyping the iso pack.

~neo

C. N.   (May 24, 2006 at 02:40 GMT)
Very nice indeed, Mr. Binedell!

I'm absolutely getting this Iso Add-On when you release it. Great work, man! Count one sold already. :)

Marc Buchholz   (May 25, 2006 at 09:39 GMT)
Hey Neo you aren't allowed to sleep until your Add-on is ready!!
I will it now!
Great work

Neo Binedell   (May 26, 2006 at 03:01 GMT)
Well not too much sleep lately so we're safe there ;p

Things are going well, so far I've got the rendering, the world space, tile/item stacking, map element datablocks, basic collision, ray casting and picking all working. Lots more to do there but first I'm starting on the editors.

Will post some more screens soon and perhaps to a new part 2 plan as this one's getting a tad long ;p

Tested running a 150 x 150 (22,500 cell) map a few minutes ago with every cell containing
an animated tile and an item. Ran at 80 fps! World update took 53% of the time and that was updating
ALL the cells. (Although map elements can be set to only update when they are in view or within a certain distance from the view, etc.)

The more I work on this the more fun I'm having!

~neo
Edited on May 26, 2006 14:40 GMT

John Klimek   (May 26, 2006 at 16:34 GMT)
I really can't wait for this pack. It looks awesome! This will allow me to make games like Final Fantasy Tactics, right? (it's an isometric [?] turn-based strategy game for the playstation 1)

Also, any idea on a price or release date? :)

Neo Binedell   (May 26, 2006 at 16:41 GMT)
@John:
Final Fantasy Tactics, sure, although it will be much more powerful as objects can exist on multiple levels
(i.e. pass over and under bridges, throw things over walls, use elevators, etc, etc).

As I mentioned before I won't know about pricing until I've nailed down the core feature set.

I'm shooting for an alpha within a months time and then I'll send out some demo's for people to
have a look at and test with.

~neo

John Klimek   (May 26, 2006 at 16:45 GMT)
Hmmm, I think Final Fantasy Tactics had most of those features as well... (objects existing on multiple levels, throwing stuff over walls, etc), but I could be wrong. Anyways it's great that your engine will have all of these features!

One last question... are you thinking about networking at all with your code? I'm mostly interested in writing multiplayer (eg. networked) games and would love to hear any thoughts you had on this issue.

[EDIT] I noticed your plan says "full network support", but I'm not sure what that means since TGB only features "TorqueNet Lite". Does your "full network support" mean it will implement features like automatic player movement synchronization, etc, etc...?

Thanks again!
Edited on May 26, 2006 16:47 GMT

Neo Binedell   (May 26, 2006 at 16:54 GMT)
Well I would like to have full networking but obviously there are issues with licensing, etc.

I will only know more about this once I've had a chat with the GG guys etc.

TorqueNet Lite should be sufficient for most games however and I will do some prototyping
to see how far I can push it and if it doesn't cut it I will work out some way to integrate full networking
in a modular fashion.



~neo

John Klimek   (May 26, 2006 at 17:06 GMT)
Awesome. I own both TGE and TGB, so even if your add-on required TGE for full networking support that would be amazing.

Thanks for the information!

Neo Binedell   (May 26, 2006 at 17:33 GMT)
Yeah I have all three + TLK so its easy to forget sometimes that its not all one big pot of code ;p

ps: Uploaded some more screenies

~neo

Joe Rossi   (May 26, 2006 at 21:08 GMT)   Resource Rating: 5
Neo this is great! Hope it works out for you. I'll probably end up licensing when it's released. It will be perfect for ISO RPGs like FFtactics or Disgaea which I've always enjoyed. Question: Will 3D objects work on top of the ISO level? Not that I'd actually need that I'm just curious.

Neo Binedell   (May 27, 2006 at 22:28 GMT)
@Joe:
Yes, I will be adding support for the 3D objects as I think it will come in handy for things
like characters, etc, as it allows one to not be forced to have tons of animations for each
direction, etc. Just set up the objects rotation to match the overhead isometric view and
off you go. Will have to see if the difference in quality is an issue, etc.

~neo

Joe Rossi   (May 29, 2006 at 17:25 GMT)   Resource Rating: 5
That sounds good Neo, can't wait to try this out.

Arch Stanton   (May 30, 2006 at 22:04 GMT)
Marble Blast 2D == Marble Madness.

Keep up the good work, Neo, definitely appreciated.

Neo Binedell   (May 30, 2006 at 22:17 GMT)
Heheh, yeah I know marble madness, I actually played the original in the arcade ;p

There's one or two remakes out there as well... and Marble Blast surely nods its rounded head to
it too I would think ;p

~neo

Neo Binedell   (Jun 02, 2006 at 06:14 GMT)
Mhuhaaa, just ran a profile for laughs with a 500x500 map (250,000 cells!) with 3 animated tiles on each cell and items moving randomly.

Now I doubt it would be wise to ever have a map that big in memory all at once but it gives
me a warm fuzzy feeling that it will be usable.

117 fps

Granted nothing was colliding much, but its a good place to start from ;p


  55.353  55.353      glFinish
9.756 9.756 nxIsoAnimationController_updateElements
8.018 8.018 nxIsoMapRender_renderSItem
4.402 4.892 DrawText
3.592 3.592 nxIsoMapRender_renderCell
2.499 13.959 ClientProcess
1.919 5.511 nxIsoMapRender_createRenderList
1.772 11.161 nxIsoMapRender_renderSortList
1.730 25.951 T2D_t2dSceneWindow_onRender
1.587 1.587 SwapBuffers
1.372 1.372 nxIsoRenderList_sort


Half the time is spent in glFinish() (which blocks until its done so figures I spose)


~neo
Edited on Jun 02, 2006 06:20 GMT

Jesse Hall   (Jun 02, 2006 at 15:50 GMT)
Oh' Yeah! I cant wait.

I've been wanting to do a ISO hack N slash as well as a FF tatics game but just havent had the time to get in and develop something like this out.

Have you played Alien Shooter? If so do you think TGB and your ISO pack could handle that many aliens? The game is a green blood bath blowing apart 100 aliens at a time sometimes.

Neo Binedell   (Jun 02, 2006 at 16:10 GMT)
Yeah I've played alien shooter and a ton of other isometric games to collect generic feature
requirements for the iso add-on. Alien shooter's maps arent really that big so the Iso engine
will easily handle that.

The add-on will be as optimized as possible and I'm pretty sure you will be able to have
as many entities on screen as your video card can handle.

I've abstracted everything into a controller architecture so updates are very granular
(as well as being easily extendable) and do the least amount of work it possibly can.

Like I said above it ran very fast while updating 250K animations so a 100 or even a 1000 should be
no problem ;p

I'm currently getting fps 520 (release) on a GF 5900 ULTRA and will test with lower cards soon as well.
Higher cards will just scoff ;p

I will be posting a part 2 to this plan soon (as this one's getting quite long) with a better answer
(and some screenies as proof).

~neo

Jesse Hall   (Jun 02, 2006 at 22:04 GMT)
1000? time to get out the nukes for that. ;)

I like the possibilities with this since ISO means high poly and no optimizing. Granted there are limitations but still its much easier to make games solo imo. I just wish it was easier to do some real time networking stuff. An alien shooter multiplayer would be a blast.

looking forward to part 2!

- J

Paul Langridge   (Jun 03, 2006 at 03:16 GMT)
G'day Neo,

I'm new to the forum from down under and am blown away by what Ive seen, Ive been a bit Sudden Strike fan and modder for some time and have been looking for something to replace it and it looks like Ive found it! This is fantatsic!

BTW, I was 3d modelling for Sudden Strike, if you need some models made and rendered to bmp image sets let me know :)

Cheers
Paul.

Neo Binedell   (Jun 03, 2006 at 06:56 GMT)
G'day Paul, I'm from down under africa ;p

Welcome to the TGB clan.

It's 8:44 am here now, been up since 12 am yesterday after finally getting time
to spend on this again and its been worth it.

Wait till you see part 2 of this plan heh...

I'll def keep the modelling stuff in mind, thanks...

~neo
Edited on Jun 03, 2006 06:56 GMT

Joe Bird   (Jun 03, 2006 at 07:55 GMT)   Resource Rating: 5
I can't wait for part 2, I'm still drooling at the new screenshots. I have always been a fan of tactics style games (Final Fantasy Tactics and Ogre Tactics) and your add-on looks perfect for developing a game like that.

Paul Langridge   (Jun 03, 2006 at 09:09 GMT)
@Neo

Cheers mate :)

I am absolutely hanging out!

I have a fairly good collection of WW2 stuff, generally the stuff that was too hard to model to put into the 2d games but we have it and if you need access to it, no prob, especially to support such a worthwhile project , anyway, keep going mate, there is a huge WW2 RTS community out there waiting for this ;)

Where can I send some images of models to you?

Cheers!

Neo Binedell   (Jun 03, 2006 at 16:00 GMT)
Damn! Thanks paul, you can send them to the public email in my profile.

PNG would be the best format.

Whipped out some old screen shots of Sudden Strike to refresh my memory
and it will definitely be something to strive for feature wise.

(Sheesh, thought it was wed today, wife told me it was sat, doh!)

~neo

Marc Buchholz   (Jun 04, 2006 at 17:42 GMT)
hi neo,

can you say when you will finished your add-on Pack?
half a year, one year ?
Sorry but i must have it :)

Neo Binedell   (Jun 04, 2006 at 18:46 GMT)
Well Im probably about 61.9234 % done with it.

Obviously I want to add as much value as I can without limiting the users of
the add-on to a specific subset.

I hope to have a release within a maximum of 2 months, hopefully before
if my time allows and depending on how things go I would really like to get
a pre-alpha binary only demo out soonish so I can guage if the features are
realistic.

Of course the GG lads would be the final arbitrators as I have not had any response
to my mails concerning this add-on.

~neo

Paul Langridge   (Jun 07, 2006 at 15:23 GMT)
@Neo

The pics are in the mail ;)

Cheers
Paul

Neo Binedell   (Jun 11, 2006 at 22:29 GMT)
Been bizzy.

Editor is coming along nicely, integrates seamlessly with TGB editors and current user project,
simply add the editor dir to the games dir and add -mod nxisoedit to the command line. Voila.

Start a project, press F9 and add any image maps you need, press F8 (or whatever you want to map it to) to edit your map and create/edit map elements. I've added a bunch of custom GUI controls to handle things like displaying dynamic lists/grids of all image maps or elements, etc, so theyre really fast.

Reworked the engine to use cell sectors which allows quick culling and broad phase search bins.
Sectors also allow doing mega-tiles and using one quad with texture transforms to tile and entire sector instead of blitting a ton of quads that use the same texture.

Source files number around 80 and no TGB source was touched so integration is really easy, add and compile.

Multi cell tiles are in and working like a charm.

Will post part 2 of my plan and some cool screenies later tonight (monday).

~neo

Btw paul, ran a 1000x1000 32 x 16 tile size map... 90 fps, unoptimized ;p

Travis Womack   (Jun 11, 2006 at 22:47 GMT)
This is the single most interesting project I have seen here since TGB itself was announced!!
Keep up the good work Neo!

Neo Binedell   (Jun 11, 2006 at 22:53 GMT)
Wait till you see what's coming!

I'm having so much fun creating this I'm bursting at the seams.

I love working on projects that will actually be useful ;p

~neo

Paul Langridge   (Jun 12, 2006 at 13:24 GMT)
Sounds great mate, cant wait to see some more ;)
Cheers
Paul

NoobGank   (Jun 18, 2006 at 13:04 GMT)
Super cool stuff Neo - can't wait. Keep it coming!

Jean-Pierre Cuerrier   (Aug 15, 2006 at 16:27 GMT)   Resource Rating: 5
Hey Neo, this is a welcome pak for a large number of members here! Good work!

Andre Prior   (Sep 17, 2006 at 09:01 GMT)
Nice! Do you think a game like MARBLE MADNESS would be possible? If you dont know the game. In that old c64 game you had to manover a marble around a iso map with caution or the marble falls down. I think it would be cool to do in TGB since it was physics included.

What ya think?

Matthews_30   (Dec 29, 2006 at 14:38 GMT)
sweeeeettt!

diablo like games would be the best of all!

question, when this add-on pack will be available for purchase? or will it be added to the tile editor in the original TGB? or how will we use it?

sorry if i am not very clear, but this is new for me :P

... and keep doing it, you are doing an excellent work!

Merry Christmas and Happy New Year!

matt.

Tony Pullen   (Jan 14, 2007 at 21:28 GMT)
Like the rest - just can't wait! This would make me buy TGB without a doubt.

Neil Gordon   (May 03, 2007 at 19:01 GMT)
If a selection of wild horses could be put to good use helping you with this project then I will provide you with some origami ones folded from discarded paper.

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