Game Development Community

dev|Pro Game Development Curriculum

DotNetTorque on the Home Stretch,

by Vince Gee · 08/14/2012 (4:41 pm) · 22 comments

Have you ever worked so hard on something that when you finally looked up you found yourself sitting there staring at something you never intended to build. About three years ago, all I wanted to build was a simple MMO for my friends and I to play on.

Like everyone else, I started with the base T3D (actually TGE). To that I added the SQLite resource, the MySql resource, this resource, that resource and a sprinkle of some home grown stuff. I even wrote some of the MMO logic in C++.

This trip down memory lane reminds me of a conversation I had with Josh Ritter about 6 or 7 years prior to this time period where he told me that the only way to really build a MMO inside of Torque was to leverage a different scripting language than TorqueScript, in his case he chose Python. I remember thinking, "Boy do I hate Python, Lua, or any other script language." I would dream of a day where I could write the entire game and logic in CSharp and never have to touch TorqueScript ever again.

Like all MMO initiatives, (Except Josh's) the one I was involved in failed. I learned a lot but in the end it just proved too difficult to write a MMO in TorqueScript and C++. Adding insult to injury, the team had no central leadership, we weren't organized, and we had no clear plan. We were doomed to fail before we started.

Fast forward till about 3 years ago. Having sworn off working on game development after the prior fiasco, I was contacted about "helping" on a MMO project. I wouldn't need to code, but just provide some "guidance" on the pitfalls I had encountered the first time. Of course, I jumped in with both feet and before I knew it I was "slamming out code like a monkey high on bananas". But quickly, I realized to make this happen I needed a way to leverage the Microsoft Dot Net Framework.

My first attempt to leverage the Microsoft Dot Net Framework was using a Com Interface to bridge the calling gap between C++ and CSharp. This worked great initially, but under load, the whole Com interface collapsed. Then, one day while I was licking my wounds, I read a very interesting blog by Frank Carney.

I remember this day in quite detail. He was rambling on in a blog posting about using some fandango'd tool call SWIG. He claimed it was the second Coming of Christ. It was able to scale 100 story buildings in a single bound, stop speeding bullets with its chest, etc, etc, etc. And I can honestly say if it hadn't been for this post I would not be where I am today. Frank gave me the key pieces I needed to unlock the necessary structure to make DotNetTorque possible. To this, I want to extend a very warm and grateful "Thank You!" to Frank.

I ended up not using SWIG, and instead writing my own system to structure the externs and handling callbacks and such between the C++, CSharp and TorqueScript. The guys (Rich and Paul) would give me grief weekly about deleting everything and starting over each month. Then, in late January I hit internal Alpha 1.

Internal Alpha 1 was not stable, had horrid memory leaks, and many other, well nasty bugs. I might not be the brightest guy, but when something really, really, challenges me, I have a bad habit of not stopping until I drive it into the ground or I drive myself into the ground. From January till August I went from about 205 pounds to a hefty 260. My shrubs were over grown, my yard was only mowed enough to keep the neighbors from reporting me to the police, and my wife almost left, (Several times to be truthful). From when I got home at 4pm till sometime 2 or 3 in the morning I would go over my code, fix bugs, improve it, write samples, etc.

Finally, at the end of last month I finally hit Release Candidate 1. No known memory leaks, no known bugs, the samples worked without a hitch, the directions were good enough for someone with no knowledge of the product to roll it into the engine. I was done.... it wasn't the MMO, but it was the first major project in the game industry I had ever done from start to finish and refined it to a commercial level.

So, without much more rambling from me, I would like to invite you to download our CSharp enhanced T3D client, follow these simple directions:


  1. To grab the client, go to WWW.WinterleafEntertainment.Com
  2. Register as a user of the site and log in.
  3. Click "Products" and select "Dot Net Torque"
  4. On the right of the screen you will see a download icon labeled "Demo".
  5. Run the demo and it will install our Patcher.
  6. Start the patcher and download our game.
  7. Run the game!

Note: Norton Antivirus does not like T3D and because of this, your antivirus program may delete the game exe. You have my word as a long standing member of the GarageGames Community, as well as a founder of Winterleaf Entertainment that our programs are 100 percent virus free.

The world you will be thrown into has about 80 AI in it which are split into two teams and are constantly killing each other and YOU! So, be prepared to die....

On a final note, I plan to get the software into GG's hands by the end of the month so let us all hope and prey that I can get them to put it on the market by sometime next month!

Best Wishes to All,

Vince
Page«First 1 2 Next»
#21
09/12/2012 (5:01 am)
@Lukas,

I've spoke with Paul at length over this.

To be legit, you would need a license of DNT per programmer working on Scripts.

We will be using the registered person's email address for there account to access private resources on our website. Kinda the way GG use to control access to the private forums.

But... I understand indie development. I have worked on a lot of Indie projects that just don't have much of a budget.

We don't plan to watch IP addresses of people logging into the website and stuff, so if your team can figure out a way to use one email address to log into our private members support site, go for it.

If you make it big, then hey, buy a license for each developer and go legit.


Vince
#22
09/12/2012 (5:20 am)
Thanks Vince ! Settled it for me.
It was actually not meant to be a big project, just a hobbie project for me and the guys at the ComputerScience study for fun to learn how teamwork works and project managed development! Not even sure if the project would ever be released. Thanks for the response! :)
Page«First 1 2 Next»