Love CSharp? Hate Microsoft? Try T3D with MONO!
by Vince Gee · 08/21/2013 (5:05 pm) · 13 comments
Hey all!
Well you know me, I rarely sit still, after finishing up the collaboration tool OneWorld I sat back and took a deep look at the flaws in my previous releases of DNT.
Beyond the somewhat confusing structure, lack of true object orientation and wordiness of the function decorations, I realized that a number one concern to most developers are the ability to run server on Linux based OS's. I actually addressed all of the above, but this blog is about cross platform support!
But one of the first major hurdles we crossed was making the step to making our next build of DNT, codename "OMNI" cross platform. Yep you heard it here folks. The framework has be rewritten to be 100 percent Mono compatible. The fact that we do not need to modify anything inside of Mono to make it work was even cooler. This mean's that Mono's license is not a problem since we aren't distributing our own flavor of Mono. You will be able to go to there site, grab the latest version of Mono, compile the cSharp with it and boom, cross platform.
We are even working on several flavors of OS's for the T3D engine! Now, I can't take all the credit here, we did pick up a new programmer Dushan, and a great deal of the magic we are working on now is all due to him!
Well they say, "If you don't have screenshots it didn't happen!" So here ya go

Well you know me, I rarely sit still, after finishing up the collaboration tool OneWorld I sat back and took a deep look at the flaws in my previous releases of DNT.
Beyond the somewhat confusing structure, lack of true object orientation and wordiness of the function decorations, I realized that a number one concern to most developers are the ability to run server on Linux based OS's. I actually addressed all of the above, but this blog is about cross platform support!
But one of the first major hurdles we crossed was making the step to making our next build of DNT, codename "OMNI" cross platform. Yep you heard it here folks. The framework has be rewritten to be 100 percent Mono compatible. The fact that we do not need to modify anything inside of Mono to make it work was even cooler. This mean's that Mono's license is not a problem since we aren't distributing our own flavor of Mono. You will be able to go to there site, grab the latest version of Mono, compile the cSharp with it and boom, cross platform.
We are even working on several flavors of OS's for the T3D engine! Now, I can't take all the credit here, we did pick up a new programmer Dushan, and a great deal of the magic we are working on now is all due to him!
Well they say, "If you don't have screenshots it didn't happen!" So here ya go

About the author
www.winterleafentertainment.com
#2
I am getting pretty keen to use cSharp with T3D. I just wonder about using things like TAIK etc?
08/21/2013 (6:18 pm)
That is a great and great to hear Dushan is working for you, this isa great step for T3D.I am getting pretty keen to use cSharp with T3D. I just wonder about using things like TAIK etc?
#3
Hopefully over the next few months we will have some major announcements, our team is already ahead of schedule so it might even be sooner.
Vince
08/21/2013 (6:21 pm)
Dushan is an amazing programmer. He is able to do in days what would have taken me months to do and that's if I could have figured it out.Hopefully over the next few months we will have some major announcements, our team is already ahead of schedule so it might even be sooner.
Vince
#4
Anything that's open source, if someone wants to do a port, that's something that's possible too.
In case anyone is wondering, Lukas IPS is DNT compatible and will be OMNI compatible.
If anyone is interested in converting a package to be OMNI compatible, please contact me at pyoskowitz@winterleafentertainment.com
08/21/2013 (6:50 pm)
@Edward: TAIK may not work out of the box with OMNI or DNT. Third party package compatiblity would have to be something that WLE and the owners of the software packages sit down and discuss.Anything that's open source, if someone wants to do a port, that's something that's possible too.
In case anyone is wondering, Lukas IPS is DNT compatible and will be OMNI compatible.
If anyone is interested in converting a package to be OMNI compatible, please contact me at pyoskowitz@winterleafentertainment.com
#5
08/22/2013 (5:30 am)
To expand upon that, I believe with the current public builds of DNT, any addon is compatible with DNT. Granted if there is changes to the script files for those addons to work, you would have to manually make those changes in C#, but any C++-only addons should be compatible anw.
#6
08/22/2013 (6:39 am)
Sweet. Lack of mono support was the major thing that kept me from looking at this. I love using C# in unity and it would be great to use it in torque as well.
#7
08/22/2013 (10:45 am)
lol your task manager looks suspiciously like you have a "G" series Logitech Keyboard, love the LCD screen on the g-19:O)....oh and great work:O)
#8
08/22/2013 (1:05 pm)
Nice work. Would someone in the community potentially be able to port this to Torque 2D with the open source code that is available or is there some secret sauce that WLE would need to contribute to make a port possible?
#9
Unfortunately there is some WLE secret sauce in the mix.
All the code that makes this possible is generated using a tool we provide to license holders (The DNTC). This tool reads in every line of C++ parsing it for console methods, init persists, etc. It then generates a C++ file which is nothing but a class w/ a million pInvokes defined in it. The last thing the tool does is it then generates the CSharp classes that do the binding, handle enum translation, etc, automatically customizing your build of DNT to your C++ T3D source code build.
Even though we allow anyone to make a "Game" with the code on GitHub (Which is stock MIT 3.0), that code is still copyrighted by us and usage is only granted for making games, we do not allow derived works.
Also, the build "OMNI", being shown in this thread is not published to GitHub and requires a modified version of the engine.
Hopefully, in the future we will apply the same technology we applied to T3D to T2D. In all it took over two years of research and development to get the product this far.
Vince
08/22/2013 (2:32 pm)
@Mike,Unfortunately there is some WLE secret sauce in the mix.
All the code that makes this possible is generated using a tool we provide to license holders (The DNTC). This tool reads in every line of C++ parsing it for console methods, init persists, etc. It then generates a C++ file which is nothing but a class w/ a million pInvokes defined in it. The last thing the tool does is it then generates the CSharp classes that do the binding, handle enum translation, etc, automatically customizing your build of DNT to your C++ T3D source code build.
Even though we allow anyone to make a "Game" with the code on GitHub (Which is stock MIT 3.0), that code is still copyrighted by us and usage is only granted for making games, we do not allow derived works.
Also, the build "OMNI", being shown in this thread is not published to GitHub and requires a modified version of the engine.
Hopefully, in the future we will apply the same technology we applied to T3D to T2D. In all it took over two years of research and development to get the product this far.
Vince
#10
All the code that makes this possible is generated using a tool we provide to license holders (The DNTC).
......
Also, the build "OMNI", being shown in this thread is not published to GitHub and requires a modified version of the engine."
like github version of DNT, is there any plan to release necessary engine side changes used to embed mono runtime?
08/23/2013 (11:47 pm)
"All the code that makes this possible is generated using a tool we provide to license holders (The DNTC).
......
Also, the build "OMNI", being shown in this thread is not published to GitHub and requires a modified version of the engine."
like github version of DNT, is there any plan to release necessary engine side changes used to embed mono runtime?
#11
that's going to be discussed after we release everything internally for testing and QA and it passes that stage.
08/24/2013 (10:16 am)
@ahsanthat's going to be discussed after we release everything internally for testing and QA and it passes that stage.
#12
I want to finish my original game that I started in T3D with your added tools one day.
I want to thank yall for all you have brought to the community.
Robert
08/25/2013 (8:55 am)
I need to catch up on my T3D. I have been learning C# in Unity and learning Blender while I was waiting for DNT and other things. I still have to get up to speed with DNT but I so look forward to OMNI. I want to finish my original game that I started in T3D with your added tools one day.
I want to thank yall for all you have brought to the community.
Robert
#13
08/25/2013 (3:14 pm)
Wow, Ye Torque Excalibur community god. 
Torque Owner Richard Ranft
Roostertail Games