Game Development Community

T2D.NET : Upcomming Beta

by Jason Swearingen · in Torque Game Builder · 07/28/2005 (9:28 pm) · 76 replies

UPDATED 09/29/2005: Beta1_IGC version released to the T2D community! Check the resource for details/download!

==================================
UPDATED 08/08/2005: Beta1_Refresh has been released, This allows VisualStudio2003 users to use T2D.NET!

Please post a reply to this thread if you'd like to try the beta. I will email you the download URL.
===========================

Wish you could use C# instead of TorqueScript?

Soon, you will be able to.

If you would like to participate in the current beta (beta1) of T2D.NET (A Wrapper for T2D written in C#) please reply to this thread. The beta will be ready for distribution on or before 07/31/2005. (Still Writing installation instructions and a step-by-step tutorial doc)

-----------

Currently, the Wrapper targets VisualStudio 2003 or 2005, and overwrite a few T2D C++ files during install so backup your SDK dir before you install!

If enough people express interest in easing these requirements for the beta, these changes can be made. but currently these changes are not planned for this beta

-------------

Please refer to the next post for details about the technology. Here is a screenshot:

www.taocorp.com/t2dbeta1/t2d.net.gif
Page«First 1 2 3 4 Next»
#61
08/24/2005 (5:34 pm)
@Dannon, i need you to post your email address. (you dont have anything in your profile either)

@Kamal, i just sent you the link! enjoy.
#62
08/25/2005 (11:59 am)
I too would like to check out the beta!

e: petejw @ theswamp . org . uk

Ta !
#63
08/25/2005 (3:23 pm)
@Pete: Mail sent.

===================

Update: I decided to keep the beta1 open until the next version of T2D is released. at that point, I will close down beta1 and release beta2 to the active participants.

Beta2 will have 100% the functionality T2D has, plus .NET specific additions such as security and .NET Forms based GUI.
#64
08/25/2005 (7:45 pm)
Sorry Jason :),
email: lex1dot@yahoo.com
#65
08/26/2005 (4:23 pm)
Has anyone tried this technology with something like the remotesoft mini deployment tool? Although it doesn't fix platform cross platform it removes the .Net installation requirement. And that's probably a good thing when looking at the casual segment despite what Microsoft say.

Keep up the good work, this is pretty much my dream combo T2D plus C# :)
#66
08/26/2005 (4:44 pm)
@Jason: I'd like to join the beta too!
mharpold8 at comcast DOT net
#67
08/26/2005 (7:40 pm)
I've done some investigating into Mono (though not for T2D.NET. Mostly just for curiosity sake).

I would suggest, if you wish this to be a truly serious project for T2D, that you invest some time looking over the Mono project page. It would appear, from a cursory examination of the various FAQs, that you can download and install Mono on Windows and actually use it's implementation rather than the standard one. Apparently, a number of Mono's developers develop on Windows, so they do this themselves. By doing so, you will be able to tell if T2D.NET would actually work through Mono's stuff, thus allowing you to determine if T2D.NET is viable for cross-platform development or not.

I know the cross-platform prospects of T2D.NET are one of the things that prevents me from using it. Until you get that worked out, I imagine that quite a few people will pass over it, and an investigation of Mono on Windows will probably let you do that without having to actually install Linux.

BTW, why haven't you just created a resource for people to download the T2D.NET beta, rather than handing it out via e-mail and so forth?
#68
08/26/2005 (7:43 pm)
@Gareth: Thanks for the good wishes, I am still going strong on the development :)

To answer your tech question, I have been thinking about this, but have not tested nor tried imlementing these (depolyment, obfuscation, encryption) technologies yet. A past project of mine was writing an obfuscation engine, so I will be looking at ways of encorporating what I learned from that into t2d.net. Another interesting tech I saw in this vein is MoleBox

I am more interested in code-security and hacker countermeasures, so there will definatly be a focus on this area later in the t2d.net development cycle (near release timeframe) But for right now, I am too busy adding what I see as "core" functionality to bother with this stuff yet. (you can check my plan for what I'm working on right now)

@Dannon: mail sent! Welcome to the t2d.net club :)

@Matt: you are in too. email me if you have any questions!
#69
08/26/2005 (8:08 pm)
@Smaug: good questions! I'll try my best to answer:

1) I have only made cursorly examinations of Mono, but unfortunatly I cant support mono right now, for the following reasons:
- I dont have any experience with mono
- I dont have the time to invest in mono support (I dont know if it will be 10, or 100 hours to add mono support)
. . . It took aprox 50 hours to adapt T2D.NET for .NET 1.1, so I am guessing Mono would take longer.
- I have serious doubts that t2d.net will work under mono, because of mixing of Managed and Native C++.
Maybe if I can compile using the Microsoft CLR, and run under mono, then it might very well work, but this is very low on my priority.

2) I know that cross-platform support is very important for a lot of people, but unfortunatly I am currently a 1.5 man team, and no "alternate OS" experience is in the mix. That means I have to stick with what I am good at, and I am good at C#.

I figure after I get a release done I can step back and take a look at broadening t2d.net, and hopefully t2d.net is well recieved enough to make broadening it worth my time and effort.

3) As per recomendations by Josh Williams, I kept the beta internal to the t2d private fourms. This is because there are a few C++ files that I overwrite (i add about 6 lines of code to the C++ source) and I am sure they dont want sourcecode leaks. In the future I want to find an installer to inject my code in those few spots, but right now (it's beta) we gotta live with file overwrites :P
#70
08/26/2005 (8:17 pm)
After looking at the Mono page, it seems that it can not compile Managed C++.

So unless someone can show me another way of C++ to C# interop (a way that is Mono friendly), there wont be mono support for t2d.net for quite a while.

========
added:

From the mono faq, question #63

Quote:Managed Extensions for C++ is least likely to operate under Mono. Mono does not support mixed mode assemblies (that is, assemblies containing both managed and unmanaged code, which Managed C++ can produce). You need a fully-managed assembly to run under Mono, and getting the Visual C++ .NET compiler to generate such an executable can be difficult. You need to use only the .NET-framework assemblies, not the C libraries (you can't use printf(3) for example.), and you need to use the linker options /nodefaultlib /entry:main mscoree.lib in addition to the /clr compiler flag. You can still use certain compiler intrinsic functions (such as memcpy(3)) and the STL. You should also see Converting Managed Extensions for C++ Projects from Mixed Mode to Pure Intermediate Language at MSDN. Finally, you can use PEVERIFY.EXE from the .NET SDK to determine if the assembly is fully managed.

So I need a way to extern C# functions that can be invoked by the t2d C++ engine. I dont know how to do that, so if anyone has any suggestions, i'd love to hear.

========

overall, you can see that adding mono support is not trivial. And so unless someone shows me how to do this, i wont be adding that support for a long time comming.
#71
08/29/2005 (12:30 pm)
Quote: - I dont have any experience with mono
- I dont have the time to invest in mono support (I dont know if it will be 10, or 100 hours to add mono support)
. . . It took aprox 50 hours to adapt T2D.NET for .NET 1.1, so I am guessing Mono would take longer.
- I have serious doubts that t2d.net will work under mono, because of mixing of Managed and Native C++.

While the time to add Mono support is indeterminant, how long do you think it would take to undertake an investigation (looking things up in FAQs, asking Mono developers, etc) to get a real estimate into how long Mono support would take? My guess would be a good 10 hours of work spread over a week or two.

Is it not worth the effort, considering what you might gain? Just as the effort of adapting T2D to .NET at all might be worth the effort.

Quote:I know that cross-platform support is very important for a lot of people, but unfortunatly I am currently a 1.5 man team, and no "alternate OS" experience is in the mix.

Yes, but that was the point of what I said. You don't actually have to develop for Mono under non-Windows conditions. You can install Mono on Windows and use it from there, under the same limitations you would under other OSs (or most of them, at any rate).

Quote:3) As per recomendations by Josh Williams, I kept the beta internal to the t2d private fourms. This is because there are a few C++ files that I overwrite (i add about 6 lines of code to the C++ source) and I am sure they dont want sourcecode leaks. In the future I want to find an installer to inject my code in those few spots, but right now (it's beta) we gotta live with file overwrites :P

That doesn't explain why it isn't a resource. Resources are only available to the T2D subscribers, right?
#72
08/29/2005 (2:12 pm)
Quote:While the time to add Mono support is indeterminant, how long do you think it would take to undertake an investigation (looking things up in FAQs, asking Mono developers, etc) to get a real estimate into how long Mono support would take? My guess would be a good 10 hours of work spread over a week or two.

Is it not worth the effort, considering what you might gain? Just as the effort of adapting T2D to .NET at all might be worth the effort.
I mentioned in my prior mail, but after your first post I did spend a bit of time doing the investigations. Refer to my previous post for details, but Mono doesnt support Mixed C++ / CLI, so it will not work for t2d.net.

Note: if someone knows a way for C++ to C# to C++ interop that is compatable with Mono, I'd love to know (And then maybe mono could work). But as it currently stands, this is a non-starter as t2d.net's implementation is very reliant on C++ to C# to C++ interop.

Quote:That doesn't explain why it isn't a resource. Resources are only available to the T2D subscribers, right?
I was under the impression that resources are avalable to anyone.

Regardless, the purpose of the beta is to get feedback from people, so if they have to actively request to participate, there is a greater chance that I can get follow-up info from them later. (I in fact email everyone to actively solicit feedback)
#73
08/29/2005 (4:01 pm)
Also FYI, i posted my question on alternative ways of performing interop to the mono-devel-list mailing list, so I am doing my part to activly widen the scope of t2d.net :)
#74
08/31/2005 (1:22 pm)
Hi Jason,

I am also a .NET programmer. Could you please send me a copy? My email is in my profile.

Thanks!
Paolo
#75
09/02/2005 (8:34 pm)
@Paolo: oops! i just now saw this, sorry for the delay. Email sent to you!

=============

UPDATE:

Mono support
Well thanks to Smaug, I am activly investigating Mono support. I posted some questions on the mono mailing list and people actually replied back with good info.

From what it looks like, it will require a near-total rewrite of the Interop system. That would probably mean another 150hrs of work involved. (my first-glance estimation, including new interop+mono port and testing) Where did I get the 150hrs estimate from? That's about how long it took me to design and implement the initial wrapper. I figure this work will be on the same level.

I will be updating my .plan with where this work will fit in, but for now I am thinking it will take priority directly after the work needed for the next 2 items (see below)

Torque GUI
FYI, I am still working on the torque GUI stuff. (i am about 8 hrs into it)
The reason why it's taking longer, is that I found certain Torque objects were not getting wrappers generated (ex: ScriptObject) becuse they did not have any new functionality defined in them (new from a torquescript perspective) So I added these.
Now, I am working on a field issue. There seems to be a problem around fields defined in base classes. ex: the GuiFadeInBitmap class (I am not near my dev machine right now, so i dont remember the exact name) uses the .done field, even though it's not declared in GuiFadeInBitmap, but by one of it's parrents. Because of the way I am calling fields (directly in C++) there seems to be scoping issues with this. I can easily do it by calling torqueScript, but I want to do this "right" and thus I need to spend a few hrs troubleshooting this.

other stuff
another issue I ran into is the fxActiveTile2D object. I was under the assumption that everything would inherit from SimObject, though fxActiveTitle2D shows that I can NOT use this assumption. (it inherits directly from ConsoleObject).

This means that I should restructure my class hiearchy to have ConsoleObject as the root instead of SimObject. I know i could "hack it" but I ultimatly want to keep this system flexible, so I will add to my requirements: investigate what class should be used as the base, ConsoleObject, or it's parrent? (5hrs, +10hrs work)
#76
09/26/2005 (12:41 am)
Fyi, an update of t2d.net has been posted. Beta users, check your email!

Everyone else: I switched to an open beta, so check the resource if you want to snag a copy (100% T2D functionality!)
Page«First 1 2 3 4 Next»