Game Development Community

dev|Pro Game Development Curriculum

Nucleus : Cross platform Torque 2D/3D Editor and Debugger

by Melv May · 01/07/2013 (11:42 am) · 53 comments

Hi everyone,

For those of you who don’t know who I am; I was the original developer of the Torque 2D engine before it became Torque Game Builder. Before that I wrote a bunch of extensions to the Torque Game Engine known by the “fx” prefix i.e. fxSunLight, fxShapeReplicator, fxFoliage etc. Several years back I quit my job and jumped on-board with GarageGames and have been working on Torque technologies ever since, most recently 3-Step Studio and Torque 2D.

So it’s been a long time since I’ve written a blog but now that the Torque 2D MIT is starting to spin up for a release, I’m going to start writing up what I’ve been doing in that space covering the changes from when I started on it to what I did recently.

This blog however isn’t about Torque 2D, it’s about a product that I’ve been prototyping for a little while with a working title of “Nucleus”.

Nucleus is a concept for a powerful code-editor that supports debugging of both the Torque 2D and Torque 3D MIT code-bases. It will be a cross-platform editor that will initially work on Windows and OSX platforms with a Linux release sometime later.

The editor would be based upon Qt and use Scintilla for the code editor. Some of the initial features would be:

  • Cross platform product (Win32 & OSX with Linux to follow)
  • Syntax highlighting and folding (per language)
  • User-defined syntax highlighting (per language)
  • Nearly 90 programming languages supported (including Taml and TorqueScript) via Scintilla
  • Auto code completion
  • Tabbed code editing
  • Powerful docking system
  • File extension to language mapping feature
  • Image viewing
  • Torque 2D & 3D debugging (with new telnet debugger) - Breakpoints, call-stack & locals views etc.
  • Engine types resolved via Nucleus remote debugger (not via an engine text dump)
  • Supporting legacy Torsion debugging for older binary-only releases [possibly]
  • Lots of editor customization
  • Per-project customization including GUI layout, multiple locations, multiple executables to spawn etc.
  • Plug-in system for extending Nucleus itself (new lexers, tools etc)
  • More!
I also intend to release the Nucleus remote debugger source-code (not Nucleus itself!) for free under the MIT license and try to get it included in both Torque 2D & Torque 3D repositories. I have already put a fair bit of effort into prototyping the debugger and it works well already. It provides a fast telnet connection between Torque and a debugger based upon TorqueScript calls. It supports multiple debugger versions and connection without the need to modify any source-files (amongst other features).

Anyway, the main point of this blog is to to try to gauge the interest in such a product. This product would be produced and published by me in my spare time and is not an official GarageGames product. I'd probably be selling it at around the same price as Torsion and would be available as a limited demo.

In short, is this something that you think would be worth the several months of effort i.e. would you buy it?

#21
01/07/2013 (10:46 pm)
Absolutely !!
#22
01/08/2013 (12:20 am)
Daily Torsion user here. I would buy this.
#23
01/08/2013 (12:20 am)
Good news! Perfect marriage to Torque 3D Linux port.
#24
01/08/2013 (12:59 am)
I'm in too !
#25
01/08/2013 (1:42 am)
Sounds good and at Torsion pricing I'm in. My only concern would be about updates/upgrades and associated costs (but I'm getting in front of myself)
#26
01/08/2013 (1:51 am)
As it stands I'm just looking at a perpetual, one-off license but it's far too early to really decide that.

I want to put some emphasis on the plug-in side of things as well. There are opportunities for folks to write their own plug-ins and maybe even sell them if needed. I intend to write a majority of Nucleus itself using plug-ins for things like the debugger etc i.e. eat my own dog-food.

I see this as a good way of ensuring that the product doesn't get stale and that the community can be self-serving in providing the "extras" for the product. It would also allow me to expose individual aspects of Nucleus as open-source (if required) leaving the core part as the bit you license from me.

... at least, that's the initial plan.
#27
01/08/2013 (2:56 am)
Being a Torque 3D developer on Windows it doesn't sound like I'd be gaining much over Torsion? I'd try out a demo if and when one was available and probably go for whichever had the better interface.

In general good tools are critical to Torque's ongoing success so it's great to see some competition in this area and always nice to have things multi-platform.
#28
01/08/2013 (4:16 am)
@Melv Thanks. Definitely sounds good then!
#29
01/08/2013 (6:08 am)
Sounds impressive! I'd try it :)
#30
01/08/2013 (11:44 am)
Torsion gets the job done fairly well, but has some minor issues. The main thing that bugs me about Torsion is the lack of feature customization; I'm used to Visual Studio's features so of course it sucks going to an editor without those features.

So, make Nucleus on par with Visual Studio, with all the current features of Torsion, and I'd give a serious look.
#31
01/08/2013 (7:07 pm)
Ooh, plugins would be a good thing. It could allow people to write plugins for adding object instantiation code. You know the code that calls function<object>::create(%datablock). It would be nice to have some customs templates for stuff like that, plus some way to have default locations for each engine. Sometimes it takes a while to figure out which directory it should be in.
#32
01/09/2013 (3:30 am)
You see, this I would spend my hard earned dimes on :o) Make sure to make some kind of newsletter service so we can join and send us a mail when this great piece of software becomes available :o)
#33
01/09/2013 (5:26 am)
Melv, you're my hero...
#34
01/09/2013 (10:53 am)
I've been using some other text editor and telnet debugger to debug Torque script for so long that Torsion with it's various annoyances never appealed to me... This sounds like the go-to Tool I've always wanted to use with Torque! Definite interest here.
#35
01/09/2013 (1:04 pm)
Having moveable tabs would be nice, an ergonomic missing from Torsion.
#36
01/09/2013 (1:55 pm)
Another thought on this.

What about custom file managers to make up for the crappy file managers on the various platforms? Like a file manager that incorporates user defined profiles for different types of file managers.

  1. Search types set for each profile: .cs, .cpp, .gui, etc
  2. Extensible tools settings like diff
  3. File type association independent of the OS implementation, because the OS implementation sucks (cough...Windows 7...cough).
  4. Hide/show file types you care about, not what the OS cares about.
I know this may be slightly off topic, this is just an idea I have been toying with for a while. I really dislike the current file manager in Win 7, and did not much care for the options in Ubuntu either. I don't know enough about OSX so can't comment. I just think it is time to get a file manager for developers. I was going to start coding one, but if someone is already working on tools they might like the ideas. Even if the file manager is part of their program and not a generic one.
#37
01/10/2013 (5:22 am)
I would definitely be interested. I would also pre-purchase if that meant I could be an early adopter that way. Some feature suggestions:

- Connect on the fly to a remote machine. Handle several remote profiles within a project.
- Optional remote logging for release binaries with telnet initiated via the connection.
- Full Git / GitHub integration.
- GarageGames.com search integration.
- Forum threads for all errors with links from the debugger, so developers can find information about a specific error easily.
#38
01/10/2013 (8:12 am)
I'd support this.
#39
01/10/2013 (1:59 pm)
What are we waiting for! let's do it!Awesome!
#40
01/11/2013 (1:20 pm)
Lord yes! Build it, you'll have our support(and money...lol)!