Torque X - 2D Features status and poll
by Giuseppe De Francesco · in Torque X 2D · 08/11/2010 (5:02 pm) · 73 replies
Hey guys,
I’m setting a work plan for a few improvements to the engine. At the moment the major improvements available on my SVN repository are:
- Asynchronous Loader (by Duncan Colvin, thanks a lot!)
- Advanced Content Loader (by Duncan Colvin, thanks a lot!)
- Extended Particles Rendering
- Particles collisions
- Full mouse control (Windows only)
- Storage Manager
- Tiled to Torque X (by William McDonald, thanks a lot!)
- Advanced Lighting with depth, layering and spotlight. (by Alex Richards, thanks a lot!)
- Farseer Physics Engine integration (by Ron Barbosa, thanks a lot!)
Coming next: LIVE Network Manager (with integrated High Scores sharing)
So I’m wondering what else you people feel that is missing to make Torque X just a perfect fit for developing XBLIG and Windows 2D games flawlessly. I do have a few ideas but I really want to hear from you.
~Pino
I’m setting a work plan for a few improvements to the engine. At the moment the major improvements available on my SVN repository are:
- Asynchronous Loader (by Duncan Colvin, thanks a lot!)
- Advanced Content Loader (by Duncan Colvin, thanks a lot!)
- Extended Particles Rendering
- Particles collisions
- Full mouse control (Windows only)
- Storage Manager
- Tiled to Torque X (by William McDonald, thanks a lot!)
- Advanced Lighting with depth, layering and spotlight. (by Alex Richards, thanks a lot!)
- Farseer Physics Engine integration (by Ron Barbosa, thanks a lot!)
Coming next: LIVE Network Manager (with integrated High Scores sharing)
So I’m wondering what else you people feel that is missing to make Torque X just a perfect fit for developing XBLIG and Windows 2D games flawlessly. I do have a few ideas but I really want to hear from you.
~Pino
About the author
In the software eng. field since 1981, in charge of R&D during last 10 years. IEEE Senior Member (and volunteer).
#2
actually none of your demands is far from my to-do list, actually they all are in there already. I'm glad to see that others' needs are not different from my own :)
08/11/2010 (5:37 pm)
Hey Chris,actually none of your demands is far from my to-do list, actually they all are in there already. I'm glad to see that others' needs are not different from my own :)
#3
It's basically a question of finding the time to do it - will keep you posted.
08/11/2010 (8:13 pm)
I'd like to get the content-loading management system back in there (with a couple of extra tweaks) - it was in the previous svn version and was tested by Matt. Definitely a good for making the async loading properly async for levels that are loading a lot of art. Also just makes it nicer and more efficient to manage content in memory if you can't fit everything in memory at the same time.It's basically a question of finding the time to do it - will keep you posted.
#4
it's in the current version as well... I ported it a few weeks ago. You should activate your SVN email alerts :)
08/11/2010 (9:24 pm)
Hey Duncan,it's in the current version as well... I ported it a few weeks ago. You should activate your SVN email alerts :)
#5
My biggest feature request would be performance enhancements mainly in the particle system. (though I think multithreading would solve that issue as well). As Christopher mentioned though, multithreading is a huge job.
After that most of the tweeks fixes I'd like to see are with the editor. GUI editor, Particle editor improvments, Materials in folders, switching material type on objects, better handeling of resources ect....
08/11/2010 (10:49 pm)
Heya Pino, I'm excited by all the great work being done.My biggest feature request would be performance enhancements mainly in the particle system. (though I think multithreading would solve that issue as well). As Christopher mentioned though, multithreading is a huge job.
After that most of the tweeks fixes I'd like to see are with the editor. GUI editor, Particle editor improvments, Materials in folders, switching material type on objects, better handeling of resources ect....
#6
I'm afraid that IA won't allow an alternative game builder.
About multi-threading that is not a really big issue per se, the main problem is with the underlying XNA Content Manager which is not thread safe. I've alredy done a pretty good XNA multi-threading engine writing my first game (Astro Match3, a pure XNA game) so I did learn some nice tricks bashing my head against XNA design flaws, thus implementing a multi-threading context it's possible... just a bit time consuming ;)
08/11/2010 (11:12 pm)
Hey Matt,I'm afraid that IA won't allow an alternative game builder.
About multi-threading that is not a really big issue per se, the main problem is with the underlying XNA Content Manager which is not thread safe. I've alredy done a pretty good XNA multi-threading engine writing my first game (Astro Match3, a pure XNA game) so I did learn some nice tricks bashing my head against XNA design flaws, thus implementing a multi-threading context it's possible... just a bit time consuming ;)
#7
08/11/2010 (11:27 pm)
BTW, just to make clear the field: I'll not work on making multi-threaded the rendering in a way that it's performed on more threads because on the Xbox this is just useless as all the graphic calls are buffered synchronously in the same place so splitting the rendering would just make it worse.
#8
Awesome work Pino. Much thanks :D. I hope Torque is paying you for this ;)
As far as storage goes, I haven't had a lot of time to look at your new addition. I figured I would show you guys this in case you guys haven't seen it. Someone built a pretty decent Storage handler called EasyStorage.
easystorage.codeplex.com/
I've only taken a marginal look at this as well but it seems pretty spot on. It's built as an interface so you can implement your own custom implementations but it also comes with a pre-built PC version as well as a shared (across all profiles) and player (single profile) xbox version.
The nice part that I like is you create your own save and load operations with the I/O dealt with. IE:
Call a save with this:
Now all of the save container finding and stream opening is done then your method is called:
The writer parametar is sent to you, open and ready and then closed once your method is finished.
saveDevice.Save will either return true if it worked, or false if it didn't.
I hope I explained this well enough and it actually made sense.
08/12/2010 (3:58 am)
Hey,Awesome work Pino. Much thanks :D. I hope Torque is paying you for this ;)
As far as storage goes, I haven't had a lot of time to look at your new addition. I figured I would show you guys this in case you guys haven't seen it. Someone built a pretty decent Storage handler called EasyStorage.
easystorage.codeplex.com/
I've only taken a marginal look at this as well but it seems pretty spot on. It's built as an interface so you can implement your own custom implementations but it also comes with a pre-built PC version as well as a shared (across all profiles) and player (single profile) xbox version.
The nice part that I like is you create your own save and load operations with the I/O dealt with. IE:
Call a save with this:
saveDevice.Save("Teams.dat", writeNewTeamList);Now all of the save container finding and stream opening is done then your method is called:
private void writeNewTeamList(StreamWriter writer) {
XmlSerializer serializer = new XmlSerializer(typeof(List<TeamProfileData>));
serializer.Serialize(writer.BaseStream, _teamList);
}The writer parametar is sent to you, open and ready and then closed once your method is finished.
saveDevice.Save will either return true if it worked, or false if it didn't.
I hope I explained this well enough and it actually made sense.
#9
08/12/2010 (9:28 am)
I've used and adviced to use Nick's Easy Storage since the beginning but there are a few issues with it, mostly it crashes with Code 4 when performing in review the "split-second" MU test, so you need to corretct that to use it. Moreover, it's not Torque X friendly, that's why I decided to add the StorageManager to the engine: it's in Torque X style so it's very easy to understand and has no implementations problems and no Code 4 at all. Give it a try ;)
#10
08/12/2010 (10:17 am)
@Pino: yeah I have notifications turned on - didn't notice the async included the content loading as well ;-) Cheers for adding that in.
#11
08/15/2010 (11:06 am)
@Duncan: I guess there his a small misunderstanding here, sorry for that :)I added the Async Loader as it was in the previous version, just porting it, so it's the AsyncSceneLoader class. I see you are talking about a content loader, not the scene loader... are you talking about an async resource loader?
#12
08/15/2010 (1:23 pm)
Yep - there is a more advanced content management system that was added in the previous svn, which Matt has already road-tested. Will give more details via email (my original post turned into a mini-essay, which no one else probably wants to read ;-)
#13
Thanks Duncan!
08/15/2010 (4:33 pm)
Ok then, the Advanced Content Loader is in the repository now and the opening post of this thread has been updated.Thanks Duncan!
#14
08/15/2010 (4:51 pm)
Quick work! :)
#15
EDIT: I just took a look at it. Plenty of commenting code in there. Great work guys :D
08/15/2010 (4:59 pm)
Will there be a wiki describing the new content loader and an explaination on how to use it on the svn?EDIT: I just took a look at it. Plenty of commenting code in there. Great work guys :D
#16
08/15/2010 (6:48 pm)
I had planned on a wiki, but never quite got around to it. Keep poking me though and I'll get it done if people are needing it :)
#17
If I'm using tilemaps I'd like to be able to set something on each tile that would tell an object with the pathfinding component to avoid it or head towards it. Or something similarly easy for me to use.
08/16/2010 (12:02 am)
I'd like A* pathfinding or something similar to be implemented into the builder.If I'm using tilemaps I'd like to be able to set something on each tile that would tell an object with the pathfinding component to avoid it or head towards it. Or something similarly easy for me to use.
#18
08/16/2010 (9:22 am)
@Darthuvius: Added to the to-do list, thanks :)
#19
08/16/2010 (9:57 pm)
Just added: Advanced Lighting with depth, layering and spotlight. The code is given to the community by Alex Richards: Thanks Alex!
#20
www.torquepowered.com/community/forums/viewthread/117139
08/17/2010 (3:15 am)
How does one go about getting access to Pino's SVN for engine updates ? I'm a Torque X studio owner with source code included. Have made some of my own tweaks but would love to see Mr De Francesco's amendments especially the one mentioned here www.torquepowered.com/community/forums/viewthread/117139
Torque Owner Christopher L Hill
Something I've been wanting more lately is a way to hook certain effects up without having to mess around in the engine. Lets say I have a .fx file that I want rendered on certain scene objects - something simple to plug that in would be nice. I can probably get something like this working myself (and will have to when I get up to doing the battle code) but default functionality at say - the material level or even the object level would be nice.
The only other thing that springs to mind is fixing the default list implementation - as ISceneContainer and Particle Lists generate a ton of garbage out of the box. I've already done this in my implementation, but out of the box control would be nice.
Oh oh! I just remembered. Multi-threading the engine to do physics and graphics on separate threads would be cool. Probably a nightmarish headache, but you asked. =)