Moving from TGE 1.4.2 > TGE 1.5 > TGEA > T3D?
by JavaKid · in General Discussion · 01/14/2010 (9:28 pm) · 3 replies
Hello,
Today I have a question. Now, is it possible to upgrade my project from TGE 1.4.2 to TGE 1.5 to TGEA to T3D? Of course, I don't plan on upgrading to each and every one of them, I may go directly from TGE 1.4.2 to T3D, based on what features I need. Basically, I'm asking if I make a "game" (or project technically speaking), when I purchase a more recent engine, how much of my TGE 1.4.2 project can be ported to one of the more recent engines? If my game is based off of a client-server architecture (learned some big words today :] ), will that port directly over, too? And, is TGE 1.4.2 still worth learning? I'd assume all the engines would be pretty similar (TorqueScript and the user interface), that way if I learn TGE 1.4.2 and some TorqueScript, I don't have to spend too much time accustoming to one of the more recent engines.
Thanks,
Artxuleta
P.S. - I'm reading "The Game Programmer's Guide to Torque" book to learn TGE 1.4.2 (and some TorqueScript; while doing the tutorial that comes with it), if it will help answer the question based on will my skills transfer to one of the more recent engines (so you have an idea of what I'm learning).
Today I have a question. Now, is it possible to upgrade my project from TGE 1.4.2 to TGE 1.5 to TGEA to T3D? Of course, I don't plan on upgrading to each and every one of them, I may go directly from TGE 1.4.2 to T3D, based on what features I need. Basically, I'm asking if I make a "game" (or project technically speaking), when I purchase a more recent engine, how much of my TGE 1.4.2 project can be ported to one of the more recent engines? If my game is based off of a client-server architecture (learned some big words today :] ), will that port directly over, too? And, is TGE 1.4.2 still worth learning? I'd assume all the engines would be pretty similar (TorqueScript and the user interface), that way if I learn TGE 1.4.2 and some TorqueScript, I don't have to spend too much time accustoming to one of the more recent engines.
Thanks,
Artxuleta
P.S. - I'm reading "The Game Programmer's Guide to Torque" book to learn TGE 1.4.2 (and some TorqueScript; while doing the tutorial that comes with it), if it will help answer the question based on will my skills transfer to one of the more recent engines (so you have an idea of what I'm learning).
About the author
#2
Yes all of the content in Ken Finney's book is applicable to newer versions of the engine.
01/15/2010 (1:12 am)
Quote:And, is TGE 1.4.2 still worth learning?
Yes all of the content in Ken Finney's book is applicable to newer versions of the engine.
#3
1.3->1.3.5->1.5.2->TGEA1.8.1
1.5.2->T3Db2->T3D1->T3D1.1a
When T3D came out, I decided to go back to my 1.5.2 codebase (which I'd still been using for dev during the TGEA period) and port from there. It was a bit messy, but still took less than an hour to do the code merge.
So yeah, it's very doable. For slightly more helpful info...
It's true that the rendering system has changed massively. If you've written a lot of custom rendering code, especially 3D rendering, you're in for more work, however if you've stuck to game classes it should be fairly easy. 2D rendering code is less confusing, and is not a difficult port.
I'd suggest getting WinMerge (or a similar tool) and running the whole thing through it (you may have to force it to compare .cc and .cpp files or, as I did, rename your .cc files .cpp), but don't actually tell it to merge anything automatically. I also recommend you enable features like "ignore whitespace" and "code block finding" (something along those lines) that will help it line up pieces of code between things that have changed.
If you were really clever you might have commented all of your changes to existing TGE code.. if not, it'll take a little longer. What you'll want to do is organize your code by the TGE modified date, because that allows you to easily see which files you've changed (all the stock files should have about the same date on them, quite a bit older). Open up each file and scroll through looking for differences, merge when they don't overwrite anything and appear to have been slotted into the right code, or hand-merge when they involve changes to things that have, themselves, changed over the years.
As for the scripts, your existing scripts may, for the most part, just work as is. I personally recommend doing another merge here, though, as you'll be happier basing your scripts on T3D's than TGE's. When I got serious about T3D, I decided to rewrite my scripts entirely based on the T3D setup, simply copying pieces of code when appropriate from the old files, and the results were far less buggy than simply dumping the whole thing in.
Finally, yeah, your TGE knowledge in general will translate well. Script syntax is unchanged, most of the same functions still exist, and most of the game classes (ShapeBase, Player, Vehicle, etc) are largely the same. For the record, I've been using TGE for at least 5 years, so I'm fairly comfortable with the guts of the thing, not to mention doing these ports -- your experience may vary. ;)
01/15/2010 (2:44 pm)
The project I'm currently working on started its lifecycle in TGE 1.3, I believe, and has been relatively painlessly ported through each upgrade. Literally followed this chain:1.3->1.3.5->1.5.2->TGEA1.8.1
1.5.2->T3Db2->T3D1->T3D1.1a
When T3D came out, I decided to go back to my 1.5.2 codebase (which I'd still been using for dev during the TGEA period) and port from there. It was a bit messy, but still took less than an hour to do the code merge.
So yeah, it's very doable. For slightly more helpful info...
It's true that the rendering system has changed massively. If you've written a lot of custom rendering code, especially 3D rendering, you're in for more work, however if you've stuck to game classes it should be fairly easy. 2D rendering code is less confusing, and is not a difficult port.
I'd suggest getting WinMerge (or a similar tool) and running the whole thing through it (you may have to force it to compare .cc and .cpp files or, as I did, rename your .cc files .cpp), but don't actually tell it to merge anything automatically. I also recommend you enable features like "ignore whitespace" and "code block finding" (something along those lines) that will help it line up pieces of code between things that have changed.
If you were really clever you might have commented all of your changes to existing TGE code.. if not, it'll take a little longer. What you'll want to do is organize your code by the TGE modified date, because that allows you to easily see which files you've changed (all the stock files should have about the same date on them, quite a bit older). Open up each file and scroll through looking for differences, merge when they don't overwrite anything and appear to have been slotted into the right code, or hand-merge when they involve changes to things that have, themselves, changed over the years.
As for the scripts, your existing scripts may, for the most part, just work as is. I personally recommend doing another merge here, though, as you'll be happier basing your scripts on T3D's than TGE's. When I got serious about T3D, I decided to rewrite my scripts entirely based on the T3D setup, simply copying pieces of code when appropriate from the old files, and the results were far less buggy than simply dumping the whole thing in.
Finally, yeah, your TGE knowledge in general will translate well. Script syntax is unchanged, most of the same functions still exist, and most of the game classes (ShapeBase, Player, Vehicle, etc) are largely the same. For the record, I've been using TGE for at least 5 years, so I'm fairly comfortable with the guts of the thing, not to mention doing these ports -- your experience may vary. ;)
Torque Owner Daniel Buckmaster
T3D Steering Committee
Things like TorqueScript and the editors haven't changed that much, so if you've got a good grounding with that, then you should be prepared to use the newer iterations of Torque.