Plan for Melv May
by Melv May · 07/27/2004 (10:57 am) · 10 comments
... continued from previous .plan.
... T2D .plans.
... T2D .Discussions.
Had a great Monday/Tuesday on T2D. It's all really coming together great now with progress coming along in leaps and bounds as the framework is really starting to support itself as the development features get more complex.
The tileMaps are now complete and fully working!
The ability to load/save the scene is also now complete and is really powerful giving the user the ability to load/save scene(s) on the fly. I'll not apologise for my artwork or general layout of these demos as they really are only supposed to show features and not art ... err ... oh, okay, sorry.
My latest offering is to show the ability to load/save scenes on the fly. I setup a dozen scenes with different combinations of objects at different speeds etc and then saved them each to their own file. I then setup a little script function to load-up the scenes on the fly every few seconds, effectively cycling through them. These are not layers being turned-on/off but the whole scene being streamed from the disk on the fly. Another thing you'll see is the cool blending options although my choices here leave alot to be desired, they do show all sorts of alpha/blending options being used.
The great bit about the tech here is that each object can load/save itself to/from the stream. This means that when you tell the scene to save, it goes to all the objects in turn and gives them the opportunity to save themselves. Being as this is hierarchical, the core-object saves most of the data including physics, dimensions, mounting etc with higher objects such as sprites only saving the imagery settings. Every object in T2D has this ability so if it can be added to the scene, it'll load/save.
An interesting thing to note is that the scenegraph saves itself and so global settings such as timebase, timescale are all retrieved on the load. Everything gets retrieved so it can be used for game-saves and snapshots or even action replays, whatever yu can think up.
In-case you're interested, the commands to save/load one of these scenes is:-
$SceneGraph2D.loadScene("testScene9.scn");
$SceneGraph2D.saveScene("testScene9.scn");
I've done a picture of some of the scenes loaded in the movie just so that you can see something here. The other reason is that FRAPS drops the FPS to around 30FPS and makes it look awful. The image shows the correct framerate, still soaring upto the 200-300fps. Again, sorry for the art. ;)
- Melv.
Windows .WMV Movie (Crappy FrameRate from Fraps!)
.WMV Movie Scenes
Dynamic Scene Loading...
Dynamic Scene Loading (shows FPS still high)...

... T2D .plans.
... T2D .Discussions.
Had a great Monday/Tuesday on T2D. It's all really coming together great now with progress coming along in leaps and bounds as the framework is really starting to support itself as the development features get more complex.
The tileMaps are now complete and fully working!
The ability to load/save the scene is also now complete and is really powerful giving the user the ability to load/save scene(s) on the fly. I'll not apologise for my artwork or general layout of these demos as they really are only supposed to show features and not art ... err ... oh, okay, sorry.
My latest offering is to show the ability to load/save scenes on the fly. I setup a dozen scenes with different combinations of objects at different speeds etc and then saved them each to their own file. I then setup a little script function to load-up the scenes on the fly every few seconds, effectively cycling through them. These are not layers being turned-on/off but the whole scene being streamed from the disk on the fly. Another thing you'll see is the cool blending options although my choices here leave alot to be desired, they do show all sorts of alpha/blending options being used.
The great bit about the tech here is that each object can load/save itself to/from the stream. This means that when you tell the scene to save, it goes to all the objects in turn and gives them the opportunity to save themselves. Being as this is hierarchical, the core-object saves most of the data including physics, dimensions, mounting etc with higher objects such as sprites only saving the imagery settings. Every object in T2D has this ability so if it can be added to the scene, it'll load/save.
An interesting thing to note is that the scenegraph saves itself and so global settings such as timebase, timescale are all retrieved on the load. Everything gets retrieved so it can be used for game-saves and snapshots or even action replays, whatever yu can think up.
In-case you're interested, the commands to save/load one of these scenes is:-
$SceneGraph2D.loadScene("testScene9.scn");
$SceneGraph2D.saveScene("testScene9.scn");
I've done a picture of some of the scenes loaded in the movie just so that you can see something here. The other reason is that FRAPS drops the FPS to around 30FPS and makes it look awful. The image shows the correct framerate, still soaring upto the 200-300fps. Again, sorry for the art. ;)
- Melv.
Windows .WMV Movie (Crappy FrameRate from Fraps!)
.WMV Movie Scenes
Dynamic Scene Loading...
Dynamic Scene Loading (shows FPS still high)...
About the author
#2
I gotta hand it to you. You keep adding and adding to this system and man it's going to be awesome. It's already got everything and the kitchen sink and it sounds like you're now adding the 2nd garage and home in the Hamptons. I'm not a big fan of the big bang approach as I prefer to release small iterations building on functionality, but to each his own.
Like David said, this opens a whole new idea around level editing and sharing levels. I can see someone building a game where the system will allow someone to build entire gamepacks of levels, complete with enemies, etc. and whatever else you can cram into a scene and they distribute it as not only a new level but a challenge to others to complete it in the fastest time.
Anyways, I think the possibilites are as endless as Torque itself here and lots of great stuff. I'm imagining reams of new Torque2D based retro-games being created just as people get into this and figure out how to do stuff. Very cool indeed.
07/27/2004 (2:36 pm)
Melv,I gotta hand it to you. You keep adding and adding to this system and man it's going to be awesome. It's already got everything and the kitchen sink and it sounds like you're now adding the 2nd garage and home in the Hamptons. I'm not a big fan of the big bang approach as I prefer to release small iterations building on functionality, but to each his own.
Like David said, this opens a whole new idea around level editing and sharing levels. I can see someone building a game where the system will allow someone to build entire gamepacks of levels, complete with enemies, etc. and whatever else you can cram into a scene and they distribute it as not only a new level but a challenge to others to complete it in the fastest time.
Anyways, I think the possibilites are as endless as Torque itself here and lots of great stuff. I'm imagining reams of new Torque2D based retro-games being created just as people get into this and figure out how to do stuff. Very cool indeed.
#3
07/27/2004 (4:20 pm)
One question, will T2D lend itself to isometric style tiling? I've been aching to do a Diablo II style RPG...
#5
07/27/2004 (8:57 pm)
Terrific work you're doing Melv! Sweet FPS rate too! I might be forced into doing some T2D games in the future. :)
#6
Put in the particles first though...and maybe some iso maps and.... ;o)
07/27/2004 (11:42 pm)
Sounds fantastic Melv but, don't forget you were going for simple to implement i.e. not too many features out of the box as this could put off newbie games programmers and creators :oPPut in the particles first though...and maybe some iso maps and.... ;o)
#7
@Jeff: I haven't done the ISO tile-layer object yet as I've simply not had enough time but it only requires an ISO fxTileLayer2D object to be put in and the fxTileMap2D manager object will support it. In other words, it's extendible.
@Peter: I hear what you're saying and I do take the point very seriously but there's two things I'd say to this; one, any feature I add isn't another hurdle to jump over, you don't have to use it if you don't want to and it doesn't add any overhead in getting existing features up and running. Secondly, all the blurb above equates to a simple .LoadScene/.SaveScene call so although it all sounds mysterious, for the scripter, it's two functions.
You're right Peter to bring this up and I've definately targetted this towards someone who doesn't care how it does it, they just want it to work with little effort and I think I've achieved this admirably. I don't this kind of design has to exclude veterans either. When the documentation is released, hopefully you'll see just how simple it is to get things up and running. You can get a single object up in less then 5 lines of code. You can get it moving using physics with another two and one of them is enabling physics for the object! You can setup the camera in a single line of code and get the camera tracking an object with one more line!
I've also tried to keep the C++ mentality of object generation/handling out of the scripts and I've done my absolute best to keep it all simple and compact.
I'm going to have fun tonight because I'm back onto doing the particle engine. :)
- Melv.
07/28/2004 (2:57 am)
Thanks for your support guys.@Jeff: I haven't done the ISO tile-layer object yet as I've simply not had enough time but it only requires an ISO fxTileLayer2D object to be put in and the fxTileMap2D manager object will support it. In other words, it's extendible.
@Peter: I hear what you're saying and I do take the point very seriously but there's two things I'd say to this; one, any feature I add isn't another hurdle to jump over, you don't have to use it if you don't want to and it doesn't add any overhead in getting existing features up and running. Secondly, all the blurb above equates to a simple .LoadScene/.SaveScene call so although it all sounds mysterious, for the scripter, it's two functions.
You're right Peter to bring this up and I've definately targetted this towards someone who doesn't care how it does it, they just want it to work with little effort and I think I've achieved this admirably. I don't this kind of design has to exclude veterans either. When the documentation is released, hopefully you'll see just how simple it is to get things up and running. You can get a single object up in less then 5 lines of code. You can get it moving using physics with another two and one of them is enabling physics for the object! You can setup the camera in a single line of code and get the camera tracking an object with one more line!
I've also tried to keep the C++ mentality of object generation/handling out of the scripts and I've done my absolute best to keep it all simple and compact.
I'm going to have fun tonight because I'm back onto doing the particle engine. :)
- Melv.
#9
07/29/2004 (9:31 am)
Very cool stuff, Melv! :)
Torque Owner Fenrir Wolf
Looking totally awesome there, Melv. The ability save/load the 2D state at any time will indeed make ingame saves a snap, but more importantly it will let someone create a level and enemies/states and just drop it in. Blam. Heck, I could see good use for this in a shooter -- Depending on what happens (like you fail to protect a transport) the game spools in a different section of the level.