Game Development Community

CodeWeaver vs. Torsion

by Bill Gower · in Torque Game Engine · 03/20/2008 (3:39 pm) · 22 replies

For those of you who have used both editors, any thoughts on the benefits of each? Is one better than the other? Other than the fact that one is free?

Bill
Page «Previous 1 2
#1
03/20/2008 (3:51 pm)
Torsion is more stable. Also recently introduced a series of features that make them pretty similar.

As a summary of differences, Torsion has better debugging and a very low memory footprint, and unlike Codeweaver is actively mantained. Codeweaver is much more customizable as IDE (you can use the screen distribution at whim and configure any keyboard shortcut).

On differences of personal preference, Codeweaver uses a virtual folder scheme for the projects, while Torsion uses the real folder tree as scheme.
#2
03/20/2008 (4:03 pm)
I read somewhere that Torsion will be receiving a large update in the next few months. I could be wrong, it has happened before =P
#3
03/20/2008 (9:18 pm)
Codeweaver ftw.
#4
03/26/2008 (5:29 pm)
Hi ive started using CodeWeaver and I find it suitable to my needs.

Ive only come across 1 bug with the current version, due to formatting/indenting but that is easily resolved. CodeWeaver does have a virtual folder system but does have the option to rescan aswell as notify you of a missing file when opening a project.
#5
03/26/2008 (6:25 pm)
I forgot to mention Codeweaver has a well implemented plugin architecture, although I never used it.

On a personal perspective I can also add, that Codeweaver has several bugs, is unstable, and the memory footprint can reach very unexpected levels. Still, is the one Im using.

However, with the (slow)evolution of torquEdit plugin for Eclipse, I will eventually migrate to that environment, as is a real profesional IDE, and to be honest, anyone who uses Codeweaver a lot, will find no differences on the memmory footprint migrating to it.
#6
03/26/2008 (9:20 pm)
First off i have never used Torsion. But i have used Codeweaver.

Codeweaver is a excellent program. Novack mentioned a heavy footprint, instability, and several bugs. The part about the several bugs, yes that is true. However i have never experienced a heavy footprint, or instability with codeweaver. Despite the few minor bugs it just works great and is best off Free.

It does not have the level of debugging at run time that Torsion has but for the price you can't really beat it or complain about it. Codeweaver is what i use in cooperation with Notepad.

I would recommend Codeweaver for those that are on a 'indie' style budget. but if you can afford the few bucks for Torsion (which i can't, i spent all my money getting into a new comp that just screams so yeah :D ) Torsion would be worth the money spent, but codeweaver is an excellent IDE at a price that Torsion can't beat.
#7
03/26/2008 (10:50 pm)
This is not directed at anyone here in particular.

Its really curious to me when people say things like "if you can afford it" and "high price" when speaking of Torsion. I've even had someone email me about a "cheap educational license".

Torsion is cheaper than a tank of gas in most of the US. And for anyone with euros it must be a steal with the current price of the dollar.

www.sickhead.com/stuff/scripty.jpg

... but maybe i'm out of touch. ;)

On a serious note i'm always looking to improve Torsion. If there is anything that is keeping you from using it (aside from OSX support... i know.. i'm working on it) let me know.
#8
03/26/2008 (11:21 pm)
This one gets to me as well--I'm not trying to sell Torsion for Tom or anything, but I value my time at much, much more per hour than Torsion costs.

If it saves me even one hour of debugging time (not to mention all the added benefits it also has, but since Codeweaver also has similar benefits I'm removing them from the equation), it's already paid for itself.

Let's see--I can fight with a single silly bug for hours and hours, distracting me from effective development time, or I can pay < 1 hour's worth of effective development time, and over just a 3 month period save what could be hundreds of hours of dev time.

No-brainer for me.
#9
03/27/2008 (4:17 am)
I've evaluated all possible torque script dev environements before buying Torsion. Reason I did so in the end was quite simple. Codeweaver, as some mentioned is instable but to me much worse: its not really "professional" when it comes to debugging and to me the only reason to use an IDE over a texteditor at all IS debugging.
Whats the point of a memory - cpu wasting additional app if not save me time :)
Thats what Torsions debugging actually does. Saved me dozens of hours in the last 6 months.
Regions and similar features made it even more usefull.
#10
03/27/2008 (5:50 am)
Latest version of Torsion gave me a much better impression and unlike Codeweaver, is actively supported.
#11
03/27/2008 (9:07 am)
I like your pick Tom :-)

Torsion is by far the best!!!!
#12
03/27/2008 (9:17 am)
Intresting perspective! What are those debugging features in Torsion (and lacking in CW) that save you hours of work? I know Torsion has some extra features on debugging, but the core of it is fully implemented in both, so... Im intrested on this as is posible that Im missing useful functionalities, Im very open to change on that sense ;)

@Marc, on the note about "professional" IDE, sorry, but I desagree. Torsion, and CW are more mod tools than pro IDEs. There are plenty of things that they dont have (and will never do, beacuse of background filosophy).

Lets be clear on this, If we put colors and debugging to the notepad, that is almost all what is it. I dont wanna be unfair here, beacuse there is a lot of work done on this tools, but neither we can say Professional IDEs.

On one side, is better to be this way: we have a very low memmory demanding tool which is great, and also this tool/s than can be mantained by a very short group of people.

On the other hand, the features and posibilities of more advanced IDEs are tottally sacrificed, beacuse of the same thing. People often ask to me about what Im talking about... But for Santa's beard! what features im talking about?! Open Visual Studio, open Eclipse, open NetBeans, and will know what Im talking about! I know much of it would not be useful to torquescript development, but hey, im talking about what it could actually helps.

Lets take for instance, Autocompletition. In CW and Torsion is more like a visual toy than a real feature. Not beacuse is not useful as is, but beacuse the filosophy under they were taken to develop, cut off its enormous potential from start.

What else Im talking about? try to add a button to the toolbar, try to config a keyboard shorcut, try to cutomize CW or Torsionin in almost any way, and you will inmediately see what Im talking about.

In the end, is good to have lightweight tools, but how much have to be sacrificed on that sense? How many times we complain about the memmory that MSVC++ consumes? I never do. I not even look at it. This is game development, not office work! we need tools, how many mem they consume was never a problem, really.

Now of course all that is an opinion...
#13
03/27/2008 (9:23 am)
Quote:Lets take for instance, Autocompletition. In CW and Torsion is more like a visual toy than a real feature. Not beacuse is not useful as is, but beacuse the filosophy under they were taken to develop, cut off its enormous potential from start.
Could you elaborate on that?
Quote:In the end, is good to have lightweight tools, but how much have to be sacrificed on that sense?
I never in the development of Torsion decided not to add a feature because of memory overhead or CPU cost. Its the fact that i'm using C++ and not C# that makes Torsion have such a light footprint.
#14
03/27/2008 (10:19 am)
Some of the nagging bugs of CW really bothered me. Mainly the ones where it would think there is a script syntax problem when there was not. Example:
switch$(someThing) {
   case $SOME_CONSTANT
      doThing();
}
That is perfectly valid Torque Script, but CW doesn't think you can use a global variable to evaluate a case statement. Thus I have to keep telling it to "ignore script errors" creating the potential that I'm ignoring a real script error.

Tom: 2 feature requests.
1) I'm a big user of CTRL-MINUS returning you to a prior cursor position in VS. It would be wonderful to have that in Torsion.
2) Can you move the "entry script" option off of the Project Properties and on to the Configuration Properties? Also, it would be cool if the debug port could also be set on the configuration level.

I often use Configurations mainly for new entry points to Torque. Like when converting an Atlas terrain, I'll stick all those commands into their own script and just run "TGEA.exe genAtlas.cs" so it would be nice to have the entry point automatically switch.

On the debug port issue, this would be great for doing client/server debugging on the same system (maybe I shouldn't be doing it in the first place). I really like to have 2 instances of Torsion going with breakpoints in the client and server scripts. However right now I have to manually change debug port and entry script (which is different for my server) in order to get debugging going on both. Thanks.
#15
03/27/2008 (10:29 am)
Hey Tom,
One thing that I really love about VS is the pop outs. You can have that option to allow your find, search, and explorer windows to pop out.

The biggest thing that has driven me crazy since I've been working with torque is not being able to see the console while the game is running. If Torsion had the ability to make the output window a separate window from torsion so I could see the game, the console and my script (in full view) then debugging/coding would be a dream........hopefully ;-)
Thx.
BTW. I love the Ctrl-d,k and t.
#16
03/27/2008 (10:29 am)
@Tom:

One of the autocomplete things that Torsion doesn't have (that I really miss), is the automatic creation of event handlers.

For instance, I'd like to type:

function MyListBox::

and have it give me a list of functions that it can implement (like OnSelect). Then, pressing OnSelect,
it would fill out the function for you completely, like this:

function MyListBox::OnSelect(%this, %id, %text)
{
// Insert your code here
}
#17
03/27/2008 (11:44 am)
Jaimi: that's the thing that related to "engine" rather than to Torsion (CW or whatever) - the IDE does not know about events the object can call (Con::executef), for example I have about 4 event assigned to GuiTextListCtrl and it can't be seen from outside of the "sources" as those are called only when needed by engine. How the "script" development environment could be aware about it? I can see only one possible way: the IDE can "run through" the sources and "gather" all required information (similar to current "Rebuild Exports" in Torsion). But that will require A LOT of re-work on the internals of intellisence and the core of IDE.

For the current moment I prefer Torsion as it acts very good for me (having about 900 scripts - 125 gui and the rest is .cs). CW starts "hanging" for a few seconds on "save" as I have about 2k "SimObjects" in scripts. Torsion works very well.
There are ways for more improvement (proper Unicode support, customizable shortcuts), but as of now (with the latest release) I think Torsion is a "must have" for every Torque developer.

As off the "Client-Server" debugging - here comes another problem. If you set in "break mode" the server - the client will timeout and vice versa. So you can't properly debug it separately (that's a real PITA in development for me).

The only shortcut I really missing for now is "delete current row" (not "cut", but delete). Most of the "old-school" editors use the Ctrl+Y for this action, and I'll be glad to see that in Torsion. And for "Redo" can be used Ctrl+Shift+Z like in VC.

Cheers!
#18
03/27/2008 (6:59 pm)
@bank:

I too think that Torsion is a must-have, don't get me wrong. But of course, everything could be better, even a good tool like Torsion.
It might be tough to implement if done right, but then again you could get 80% there by just having the stock events in a table that is distributed with the application. You could even have the application build or update this table on the fly when you enter events that it doesn't yet know about.
#19
03/27/2008 (7:11 pm)
Jaimi: here comes the idea, thanks for a hint!
The easiest way to achieve "what we want":
create a "events.cs" file in project directory (let the Torsion "see" it) but does not "exec" it. The file can/should contain all the "needed" declarations and Torsion will show it right.
E.g.:
function GuiButtonBaseCtrl::onAction(%this) { }
It's even possible to make a script (perl/php/whatever) what will parse the "sources" and gather all the Con::execute's to build this file.
So, with that example, Torsion will be aware about ::onAction for all GuiButtonBaseCtrl-derived objects.
Or, better to place that file in Torsion folder, so it will "read it"...
@Tom: do you like that idea? Can you add a "check" for this? in "Project" properties there is a "Product" field that can be set to TGE/TGEA/TGB, so this can be connected with the assigned file with all the "events". Like tge.cs / tgea.cs / tgb.cs files in Torsion folder...
The more I think about it the more I want this feature.
Hmm. I'll try to find some time in next days to build that "info" files.
#20
03/27/2008 (7:28 pm)
Wow... i get busy for a day and i get a ton of good feedback on Torsion. ;)

I'm actually looking into almost everything people listed above.

@bank - You have an interesting idea there... it should work... just add the file somewhere. The right fix is to have Torque itself to spew this info along with all the engine exports. Its one of the features i'm looking at contributing back to Torque 2.
Page «Previous 1 2