Virtools 3.0 Review

I recently decided to try Virtools to prototype my team’s next game and it was one day it hit me: I was actually having fun making games again. Several of my programmer friends have mentioned to me before about how tedious making a game can be. There can easily be 5 to 10 man years of work involved in getting an entire game engine, tools, pipeline, etc, ready. Many of them also played around with web programming, generally for their personal webpage and they mentioned how much fun it was since feedback was immediate. You’d edit a few lines of code, press refresh on the browser and see if the result was what you expected.

Well, that is how I felt while using Virtools. What makes it so cool, so fun, is you are editing the game WHILE IT IS RUNNING! Some companies and middleware have systems were you can edit a few things while the game is running, tweak a few variables, adjust a few links but that’s about as far as they get. In Virtools you can adjust everything INCLUDING THE CODE while the game is running!

The time it really donned on me how cool Virtools is was while I was running the game I added an entire radar system and edited the code for computing the positions of the dots on the radar in real time. My formulas were a little bit off at first so I adjusted them, pressed compile and that function was recompiled WHILE THE GAME WAS RUNNING and the dots on my radar responded immediately until I got it right. This is the power of Virtools!

Testing it out

I’m hoping by now you are thinking about giving Virtools a try. If so I want to give you one piece of advice. Virtools, like Maya, 3D Studio Max and Flash, is a very large very complicated program. You will not install it and be making a game in an hour. For me I decided on the type of game I wanted to make and then I read the entire manual. I’d say all in all it took about 2 weeks for me to get comfortable with it, about the same amount of time as it took me for Max and Maya. Please keep that in mind. Pick a goal, set some time aside and expect it to take a couple of weeks to really get it.

Another issue is that even after that 2 weeks, to make my prototype would probably have taken less than a 1 week but there was time spent in learning the Virtools way of doing things and also its current limitations and workarounds. In other words, expect that it will take a little bit of time for you to grasp how to go about implementing particular ideas in Virtools.

Virtools, what is it?

Virtools is an “Interactive 3D software” editor. In other words is an editor for making interactive 3D software. Think of it as a 3D program like 3D Studio Max or Maya except that as you put objects in the scene you can give them behaviors to follow and that unlike Maya or Max, Virtools is designed to run in real time.

I’ll be honest, in the past I would generally dismiss this kind of software. There have been other products that tried to do this, some over 10 years old that ran on SGI Onyx machines back in the day. Even then they were not very impressive.

What made me sit up and look at Virtools was one of my co-workers, a non-technical game designer had managed to get hold of an evaluation copy of Virtools and convinced management to give him a month to play with it. In that month with no prior programming experience he was able to basically create an entire level for a character action game on his own including making his own graphics (He had previously learned Lightwave).

I’m not just talking about your typical “make a guy walk around a level” demo. There are lots of engines that will let you pop in a walking character and have it walking around in a short amount of time and it will look like you’ve made a lot of progress when in fact you’ve done nothing. No, this designer had his character walking around, he had animals you could hop on and ride, he had 3 or 4 kinds of enemies you could interact with, he had non player characters you could recruit and you could command them to do various things. He had several game setups, cliffs you could climb, moving platforms, all kinds of stuff and he had done all of this without any programming experience in a single month. He even had a PS2 controller connected to his PC and had it displayed on the TV so it felt like a console game and not a PC game.

It was his example that made me want to seriously take a look. Here is what I found

The Interface

figure 1 (click for a larger version)

Virtools, like many 3D programs, has a paned and tabbed interface that makes it generally easy to get around as there are so many different parts of the program that you’d need a 10 foot by 10 foot screen to display them all at once. Fortunately if you happen to have multiple monitors you can detach any individual display and then drag it to another monitor.

Generally the top left is your 3D view. Here you can place, orient and position objects, cameras, lights etc. The top right is your list of pieces, parts, 2D assets, 3D assets, sounds, logic items, etc. Virtools has resource folders similar to Maya’s scene folders. They represent a tree of folders on your hard drive and are updated in real time. The folders are for your convenience. One for 2D images, one for 3D objects, one for characters, etc. If you put some more assets into your resource folders they will automatically show up in Virtools interface ready to drag and drop into your scene.

The bottom pane is where most detailed editing happens. It is here you can set specific attributes on the various types of items you can put in your scene as well as edit scripts and code. See figure 7 for a short glimpse of some of the various editors.

figure 7 (click for a larger version)

One step at a time

Virtools has what they call “Building Blocks” or BBs for short. These generally represent small functions or systems that you can insert in your scene.

To give you a simple example if you have a character with animations you can drag it from your resources and drop it in your scene. Then you can go over to the building blocks and find the Character Controller BB, drag and drop it on your character. A dialog will pop up asking you what your walk, run, walk backward, and stand animations are. You select them and click OK. Then drag a Keyboard Controller BB on your character. Press play and you can now walk your character around using the numeric keypad keys.

If you know the interface and you already have your assets you can have a character walking around a level in approximately 30 seconds.


Of course that is an extremely simple example designed to get you started. The real power of Virtools lies in its schematic system which is Virtools’ visual scripting language

If you go over to the schematic pane for the last scene you’d see something like figure 2.

figure 2

Figure 3 is the same thing with the inputs pulled out so you can see them.

figure 3

When you drop a BB into your scene Virtools automatically generates a schematic for them. Of course you can also directly drag and drop BBs into your schematics.

Each BB is represented by a box, on the top of that box you will see inputs or pIns (parameter In) as Virtools calls them. In the example above the 4 inputs are the 4 animations that represent walk, run, walk backward and stand. A loop BB might have start value, number of iterations and step. You can hover the mouse over any input to see what it is. You can also generally double click on the BB and a dialog letting you edit all the inputs will appear.

Those input values can come from static constants as they do in the above example or they can come from variables. (called local parameters by Virtools) They can also come from the outputs of other BBs.

Some BBs have outputs. Outputs appear on the bottom of the BB’s box. For example the Timer BB has 2 outputs or pOuts as Virtools calls them. One is the elapsed time, the other is the delta time or amount of time since the last loop iteration.  A Timer BB loops for a specified amount of time. Figure 4 is an example of fading the background color from black to yellow over time. The duration of the time is set to 3 seconds.

figure 4

The dashed lines represent the flow of data. The solid lines represent the flow of execution. The Timer BB loops through the Set Background Color BB which takes a color as its input. The color is computed by dividing the elapsed time output of the Timer BB by the duration giving a value from 0.0 to 1.0, the color we want is then multiplied by that result and finally fed into the Set Background Color BB.

Each BB also has Behavior Ins (bIns) on the left and possibly optional Behavior Outs (bOuts) on the right. For example the timer has 2 bIns and 2 bOuts. One bIn called “In” starts the loop”, One bOut “Loop Out” and one bIn “Loop In” represent the execution flow for the loop of the timer. Finally there is an “Out” bOut that represents the execution flow after the loop has finished

The bIns and bOuts are connected by solid lines and above them are numbers. In the above example they are 0 going from the Timer BB to the Set Background Color BB and 1 from the Set Background Color BB back to the Timer BB. Those numbers represent link delays. For each iteration of the Virtools game engine your schematics will run until each one hits a link delay greater than 0. For any particular script Virtools will check for infinite loops. I think the default is 8000 BBs executed without a link delay although you and adjust that value.

Now, if you are a non programmer, this might all make more sense to you. There is no such thing as variables. There are just inputs and outputs representing how data flows. This is probably one thing that makes a system like this easier for non programmers as they can visually see what is happening. But, for you programmers out there, I’m sure the math in that last example might be making you nuts, putting division and multiplication boxes out there, any slightly complex calculation and it could get really hairy.

VSL: Virtools Scripting Language

Fortunately, Virtools has a solution called VSL or Virtools Scripting Language with which you can make your very own BBs. Let’s change the above example to fade from one color to another. That might be a little too involved using lots of boxes for calculations so we’ll use a Run VSL BB.

First you drop a Run VSL BB into your schematic and rename it to something that makes sense like “Fade Between Colors”. Select it, right click and pick “Edit VSL Script”. Up pops a text editor, on the right is a list of all the bIns, bOuts, pIns and pOuts for your script and you can define more. I’m going to define 4 pIns. duration (float), elapsedTime (float), startColor (color), endColor (color) and one pOut called resultColor (color). Once I’ve done this I can reference those in the code. See figure 5

figure 5

Now if I go back to the schematic you will see my new BB has 4 inputs and 1 output. All I need to do is connect them as in figure 6. I connected the duration and elapsed time from the Timer BB and I’ve set the startColor and endColors to yellow and cyan respectively. Then I’ve linked the resultColor output of my new BB to the color input of the Set Background Color BB and wala!, I’m fading from yellow to cyan. I can change and edit any of those values while it’s happening as well, the 2 colors and the duration.

figure 6

If my BB needed to be able to branch or have multiple paths into it I could also add more bIns and bOuts as well.

Those 2 features, the schematic and VSL are what really make Virtools shine. They can be edited in real time while the game is running and that makes it extremely quick to work up some new idea.

C++ plugins

Sometimes you need something more, like maybe you have a physics system you want to implement or a complex character animation system. In that case you can make BBs in C++. Virtools comes with an SDK and you can make whole sets of BBs that fit into a DLL and appear as part of Virtools. In that case the sky is the limit.

In fact, Virtools themselves sell a few of these. One is a Havok based physics integrator. Another is an A.I. pack that gives you access to various A.I. algorithms. There’s also a mutli-player pack for online networked games.

Behavior Graphs

Virtools also allows you to build BBs with other BBs.  You can select any part of a schematic and turn it into what they call a Behavior Graph or BG. They are basically the same as a BB except built out of schematic. You can add pIns and pOuts as well as bIns and bOuts so if you make some particularly useful function or behavior out of BBs you can turn it into a BG and start using it in other places.


If you are just starting out there are a few things you should know. The biggest issue with Virtools is knowing all the BBs. Think of BBs as your library. Like Perl and Java the libraries are so large it seems impossible to know them all but if you at least skim through them you’re more likely to find a solution than make one up.

One of the coolest and well thought out things about Virtools is that they went through and made all the BBs connect to their corresponding help so you can double click almost any BB in the Building Blocks pane and the help for it will appear. This is especially great if you have two monitors. Just move the help window to your second monitor and you can read the help while you use the BB.

On top of that, almost every BB has a sample scene to show how to use it. The help has a link to the scene which if you click on it will run the scene in the Virtools player. The scene’s source is included so you can load it into Virtools and go inspect the schematics and see how it all works.


Virtools has something called Arrays. When I hear the word array I think of an array of integers or an array of characters. But, Virtools arrays are arrays of structures. You can have pretty much any Virtools data type as a column in your array.  For example: animations, cameras, 3D entities, meshes, materials. Remember that, if you need a table of something you can use a Virtools Array. For example an array of monsters: The first column might be a column of strings, the name of each monster. The second column could be the 3D character data needed to display the monster. The 3rd might be hit points, etc.

Virtools arrays can also be built on the fly and you can add columns on the fly as well so if you need a way to store stuff at runtime that’s one way.

The only disappointing thing about arrays is the columns are referenced by index, not by name. There is a little bit of help with the Get Row BB and Set Row BB which give you inputs or outputs for every column by name but setting or getting individual cells is unfortunately by index. That means adjusting an array can break your scripts and schematics, something that wouldn’t happen in a standard higher level language.


Virtools allows you to a ttach attributes to various objects. While Virtools uses this for various options you can use it as a way to pass information to spawned objects. For example if you have an enemy generator when you generate the enemy you could attach some attributes to it and fill them with values that are specific to that enemy.

System BBs vs Functional BBs

Some BBs act like a C++ function. The Set Background Color BB above is an example of this. All it does is set the background color of the scene and exit. Other BBs actually start up parallel processes or systems. An example of one of these is the Character Controller BB. You’ll notice in the schematic above it’s started and then that’s it, there is no program flow following it and no loop to execute it each frame. That’s because that BB represents a system that is running in parallel with your other schematics.

What’s important to know is that that one Character Controller BB represents one and only one instance of a Character Controller system. If you wanted to control 2 characters you’d need two of those boxes, one for each character.

The particle systems are also similar so you could not make a loop that started 6 particle systems using only one particle system BB. The BB represents one and only one particle system.

Initial Conditions

Virtools has this concept of initial conditions. By default, most items don’t have them.  That means if you drop 3d object in your scene, position it, orient it and align it and then run your game and your game logic moves the object, if you did not set initial conditions the position and orientation of the object when you save is the value that’s saved as well as the value used when you restart the game again. To prevent this you select any objects which need initial conditions and select “Set Initial Conditions”.

You can set initial conditions on almost anything, for example a 3D mesh. You wouldn’t normally need initial conditions (IC) on a 3D mesh since most likely you would not adjust the mesh at runtime but if you do adjust it at runtime you’d better save IC on it.

Another example is Arrays. If your arrays are just static data then you don’t need IC on them. If on the other hand, some cells get updated during runtime you might need to save IC on the array. Once you’ve saved IC on an array though, that is the state that will be saved to the file. If you adjust a value and forget to Set the IC again the new values will not be saved.

Saving Pieces

You can save almost anything. For example if you setup an Array, select it, right click it in the Level Manager and pick Save As… and you can save it to a file which can then be loaded into another scene. If some things are used together select all of them together before you save.


Take a look at all the sample BBs. Virtools has examples of using pixel shaders and other technical examples as well has physics examples with the Havok physics pack including the standard simulations and also car simulations making it easy to get started on a vehicle based prototype. Their A. I. pack has a small 3D RTS game where you can drag select multiple characters in 3D and command them around. It’s a great place to get started with an RTS prototype.

In the real world

If I discount the learning curve, I was able to make a prototype for our game in about 8 days. I think that is far faster than I could have done it most other ways.

There were some issues. Virtools’ current character animation system is fairly simplified. I needed to be able to apply multiple animations to a character with full control over the specific frame of each animation I want applied. Virtools didn’t support this yet. I found a kind of hacked workaround but it has serious limitations. If I start prototyping a new game I will have to seriously consider whether or not I should spend the time to write a new character animation system BB. I’m not sure how much time would be involved in that so I hope they will provide a new one soon. They do provide the source code to the current one so it might be a simple matter of going in and adding some pIns for inputs that are not currently exposed.

Another issue is one of updating. Virtools allows you to manually re-import your assets but unfortunately it’s that manual bit that needs to go. In real development most of us are used to putting the new assets into the build and having them just get used, no manual intervention required. I’m sure they are working on that issue. Some of it may have been solved with their Alienbrain integration. Unfortunately I don't have Alienbrain so I didn’t get a chance to check that part out.

The 3D exporters for Max, Maya and Lightwave, while capable have some serious limits to there usefulness for a full production product. For example there is no automated re-export so if you add a node to a character you’ll have to manually re-export each and every animation. As well there is only linear function curve animation (no curves there) or sampled animation. The ideal would be something more like Granny3D that samples first and then generates function curves from the sampled data. Also, there is no way to specify which nodes/joints in a character need animation on a per joint / per animation basis so small secondary animations have to have all that kind of information applied at runtime. I could go on as I have a particular personal button with exporters. See my article on 3D exporters. Fortunately Virtools provides the source code for their exporters so if they don’t step up and provide production ready exporters there is the possibility you can write your own.

Also, as cool as the visual language is it can sometimes be cumbersome. Like I showed before, expressing expressions can get large. While there are workarounds, sometimes your schematics and get pretty large and hairy. You can break them down into BGs kind of like breaking down a large C++ function into multiple smaller functions but ultimately visual editing may not be for everyone. One thing that would help is a better auto formatter. I’m sure it’s a hard problem, but if you want to insert some code and you want to keep your BB understandable you need to select all the stuff to the right and move it. That’s not too big a problem, the bigger issue is that if you move only a few pieces Virtools will automatically reformat some of your links and often it will reformat them so that your schematic is no longer readable at a glance forcing you to manually format your links.

figure 8

To give you an example there is sample with an oscillating fan. It uses the Sequencer BB but looking at the schematic as in figure 8 it is not at all clear how it’s working until you start dragging the links around and you can see that what made no sense is actually overlapping links. Once you un-overlap them as in figure 9 it will make sense but drag any individual BB and the links will snap back to unreadable and overlapping.

figure 9

I don’t mean to come down in Virtools. Most of the issues above can be resolved either by adding your own plugin or modifying one that comes with it.

Real Production

I’ll be honest, when I first heard about Virtools I was interested in it for real production more than prototyping. While I can 100% recommend it for prototyping, in my opinion it is unfortunately not ready for real production yet mostly due to the issues above. I know they are working on it. Version 3 adds integration with Alienbrain for supposedly better asset m anagement.

Another big issue would be code re-use and sharing. If you were making a character action game ala Mario and you had one person programming the goombas and another person programming the koopas, as it is now, Virtools has no way I know of to share those behaviors across levels. When they figure out an elegant solution for that issue it will go a long way to making Virtools more than just a prototype or small project tool.

I haven’t gone this far yet but Virtools is designed so that you can replace the renderer. This would allow you to adapt it to some specialized system like a location based system for example. I’ve even heard that Virtools has their runtime engine running on a PS2. I’m sure there are several categories of games that could work there.

The Future

The thing is, it’s clear to me that on the next generation of consoles (Xbox2, PS3, Gamecube2) the systems will be powerful enough that the overhead of using a tool like this will not be the difference between your game performing well or not and in fact it might just be the opposite, if you don’t use a tool like this you might not have the time and flexibility to tweak your gameplay and add all the features to the game that you want so, regardless of whether or not you end up using Virtools I think it’s important for you to take some time to evaluate it and learn what development could be like in the future.

We’ve all seen how easy Flash has made 2D development. Games that used to take months can now be made in Flash in days. Virtools or something like it is set to do the same thing for 3D games. It’s in that vain I recommend you take a look.

  • Chris

    That is some review.

    I was reading it and thinking that maybe this could be my way of learning how to make a 3D game. Then it just turns into jargon and I was just staring as the text thinking about what I am going to do when I get home.

    Your review was great (what I could understand) but I think I am still way off learning how to make 3D games. I have always wanted to make games and I am learning now with 3DS MAX 6 among other things but it is just so much to take in. I started using PHP so I could get a jump on C++ in the future as instructed by a colleague.

    See I always wanted to start UNI with some background knowledge of what I would be doing, and I think I am making some head way now but this VIRTOOLS thing looks like it could get me interested in the 3D world aspect of things. I have been playing with Unreal Tournament’s level editor for a couple of months now and most of my maps look like bomb sites. Kind of ironic considering the game but they just suck.

    Anyway I really just wanted to see good review and your site is amazing, if it had a cover either side it would be the #1 selling book for gaming wannabes.

  • TODavis

    What an awesome review… Now I’m all hyped up to play around with Virtools!!! Thanks for the great writeup Greggman!

  • JoeWebSurfer

    Great review! I am skeptical of visual editing (seen it tried so many times and it always seems to run out of steam), but I agree the future of game development has to be more “editor” based than “code” based.

    To the aspiring game developers — this is not the tool for you. Gregg’s a veteran game programmer, so he know what to do to make a system like this work. You’d probably be much happier with a system like this: (especially because it has a big community of hobbiests who can help you when you get stuck.)

  • DaveBuchhofer
    Good review..

    Great review, goes into a lot of the little Irks and ideas that the printed manual never quite covered clearly.

    I’ve been using Virtools for about 6 months now in a one man production type setting.. and my findings are about the same. as a pitiful programmer the responsiveness of the edit/check process are a great boon. I can create and see my ideas in minutes to hours generally.

    In my opinion the pricing/licensing fees are the limiting factor for virtools at the moment. But it all goes down into what type of a field they are trying to work for. Its a bit heavy for the 1 man team 🙂

    To JoeWebSurfer: if for no other reason then price you may be correct.. But there is a fair and very active community of VT users at which has helped me immensely in the learning process…

  • Mal
    Very informative, and fair, review

    Hey Greg, Mal here ( from the Shiny days! ), I saw this link from a game devopment site I check out a lot, I didn’t realise it was you’re review they were linking to 🙂

    You’re review was spot on about the current production issues involved with Virtools when moving from the prototyping phase to full production, and your comment regarding Flash and fast game development will hopefully ring true for Virtools and other similar 3D commercial RAD programs that support multiple console platforms. I used Virtools ( way back when it was NeMo 1 ) for some gaming stuff ( although I dropped it for Shockwave 3D when it was released as my development focus was primarily web based ), and it’s definitely not a pick-up-and-go app, but after a few weeks or so it allows you to prototype some very powerful demos.

    Hope you are keeping well!


  • dislekcia
    Have you tried any of the other development systems out there?

    I’ve been making interactive simulations for years with various development systems, mainly EON Studio, but I spent a lot of time trying to convince my boss to migrate to Virtools, especially when 2.0 came out.

    I was just wondering if you’ve had a look at the “competition” out there: Quest3D (, EON Reality (, etc.

    I agree with you that these types of tools will be used more and more in the future, I have this vision of games being as easy to create as novels instead of taking tens of man-years of development.

    Good feedback on the issues still in Virtools, but trust me: It’s the best of it’s kind out there right now. You don’t want to know how difficult it is to get anything done in EON 😉

  • not easy

    games will never be easy IMO.  At least most games.  The reason is the assets take tens to hundreds of man years.  A novel can be written by one guy sure, but an SF movie requires people to build sets, costumes, models, or all the equivalent items in CG, that all takes tons of time so while the game engine part might mostly go away the major part, asset creation, will not.

    Of course with a powerful computer you could use 3d clip art.  That might be great for making a prototype but it’s not going to make your game stick out.

    As for the other products I checked out Quest3D.  It was much much more low level then Virtools.  It was tied directly to DirectX, Virtools is not tied to any system.  It’s interface was very clunky.  It crashed on me several times.  It’s documentation was not up to date and did not match the current version of the program.  The only positive things I could say about it was it was much much cheaper and there were a few good demos.

    I haven’t seen Eon Reality.

  • where

    Maybe I’m dense, but where do you explain how to actually try this out?

    I see no way of downloading an evaluation from their site.

  • Virtools seems alright… other options

       Love your review of Virtools. Been looking at it for a while, but they make the website so convoluted you can hardly gander any information from it. As a programmer, I am not entirely sold on this “visual programming” implementation. I think it is the future of development, but I also like the control you have using straight code. It seems like some basic algorithms would require more dragging and dropping then just writing the code. Also, you can sometimes use shortcuts or graphic tricks in the code that may not be 100% kosher, but give satisfactory results. Im not sure how this would work in Virtools

      I have played with the demo for Quest3D and it is a similar tool with powerful functions. Virtools is more developed (but too much $$$), but Quest3D still seemed good. It had a lot of cool features like exporting as winamp visualizations or windows screensavers and things like at. It only supports DX8.1 while Virtools can use the DX9 shaders.

      I’ve been using this program called Anark Studio, which is very powerful. It is not a game development tools, its a 3d authoring program but it can be used for games. All scripting is done with JavaScript (thank you for not inventing another language! We need standards here…) The interface is almost identical to flash except it uses 3d models instead of vector graphics. You can also do cool stuff like set blending modes of 3d models (screen, multiply, etc.) and also put mpg video as a texture at full quality. The only limitation now is that you cannot import animation, only models. Any animation has to be done in the program (only keyframing, no bones/skin, etc.), but this is very fast, similar to flash or after effects. While it is not the best gaming tool, it is very easy to use. Take a look at:

  • visual programming

    I don’t necessarily think visual programming is the future.  I think a fairly capable tool with a decent engine that is approachable by more than just elite game programmers is the future.

    The tool will support real time editing of code, pulling in and reimporting assets, and all the major feature need to make most types of games (3d, effects, sounds, 2d, input, networking, a.i., etc.).  Like Flash did for 2D it will make 3D game creation something more people can get into.

    Virtools is the closest thing I’ve found for that so far.

  • I Am Virtoolio! Are you threatening me??

    Hi Gregg. It’s me R. B. haunting you from your past again. 😀

    I used Virtools 1 (UGH!) and Virtools 2.5 a couple years ago. Two of us built a 3D game for a customer, in 12 days. It wasn’t the greatest of games, but its purpose was to market the company’s products. Shall I repeat it? TWELVE DAYS!  😀

    I left a version of the game up on my website, but the Virtools webplayer has since changed, so some of the game’s graphics are a bit buggy. That’s one complaint about them, their webplayer is not 100% backward compatible. It’s also a resource hog and keeps “focus” even when the window is minimized (traps keystrokes and mouse clicks too when it’s not in “focus”). But I’m still optimistic that Virtools will one day be what Flash is today (my media authoring tool of choice).


  • DaveBuchhofer
    random replys

    To Spore:

    Its actually got a handy new Varialbe in the ‘FocusLost Behavior’ option that you can Pause the player in the event of window change.. quite handy. Theres also ways to only allow the keys/mouse inputs to be when the window is focus.. (In various behaviors).. Thats the WebPlayer ActiveX plugin one.. the standalone player they ship handles the old way for some reason.

    [quote]It’s also a resource hog and keeps “focus” even when the window is minimized (traps keystrokes and mouse clicks too when it’s not in “focus”). But I’m still optimistic that Virtools will one day be what Flash is today (my media authoring tool of choice).[/quote]

    to Where:

    The demo isn’t avaiable to download (As far as i know..), you have to email/call their sales folks and they can ship one out..

  • Slam

    Hey there Gregg! Another good easy game dev software that you should check out and maybe review, is The Games Factory. It is avalible for 30 day trial download  at

  • pogo
    Clickteam sucks

    Don’t bother with the Games Factory. It’s 2D, and it’s cheap-ass.

    Metroid Prime for GameCube was scripted and physicialized using VirTools, and I find it so easy that I’ve immitated the whole morph-ball thing in just two days (my first use of VirTools ever.)

    Games factory is good for those who want things easy, but as most of us now, flexibility doesnt come easy.

  • Bingo
    From prototyping to full game development…

    Nice review Greg!

    The first time I saw a Virtools presentation (4 years ago, it was Nemo at the time), I said to myself: “looks great for prototyping!”; after successfully using it on prototyping, I started to think: “why not full production?”… and you know what? You can use Virtools for full production -even on rather big projects, especially since V3 and the ready-to-use compatibility with asset managers like NxN. The support for the nice shaders and the Xbox compatibility makes it much more attractive too. There is a but though: with Virtools, programmers have to adapt to the game engine, and not the opposite -you (and the other programmers) better know that before you get started. It can generate some frustration. However, if the project is exciting, programmers (senior guys or just out of school) who don’t like to reinvent the wheel will simply love Virtools, as it is very fast to use (don’t forget professional training though, cutting the rather big steep learning curve). Don’t be scared to use the SDK, there is a lot there too. At a producer point of view, there is no question: I will use this engine because it saves amazing time in pre-production and production, probably much more than any other commercial engine on the market.

    The approach they have is definitely very innovative, but I bet this way of programming a game (and actually not only games) will definitely become a standard in 5 to 10 years.

  • Peter
    What is the better?

    What is the better for advergames or games online?

    Virtools or Wildtangent?

  • MartyPlumbo
    PlayStation and VirTools?

    Heya Greggman,

    Have you heard anything about whether or not there will ever be a VirTools SDK for the Playstation2? It’s been rumored for just about ever, but still nothing official from the folks in Paris.

  • As far as I know

    Yes, I believe there will be a PS2 SDK.  Of course you will still need to be a licensee of Sony to get it I suspect.  Plus, my personal opinion is Virtools is not up to do most hit commerical games on PS2.  By that I mean you could make a game designed specifically to fit within the performance constraints that Virtools will have.  Examples would be something like Resident Evil where the backgrouds are not realtime.  Another would be Roommania (probably didn’t come out in the states but it all takes place in one room).  Maybe any 3D Tennis game.  Possibly a golf game.  Not a PS2 game but a good example of a low-tech good game, Animal Crossing.

    But, making Jak & Daxter or Spiderman 2 or GTA3 or Driver or Onimusha3.  I don’t think Virtools is up to that on PS2.

    You could still make a large game you’d just have to design around it’s limits.

  • MahlonB

    How do you get your hands on a copy of virtools to try!?

  • I asked
  • MahlonB
    ask who?
  • PeterM
    Is it possible???

    Hi Greggman, 
    Please, in his opinion, is it possible to do a good game (no necessarily an AAA) of strategy (does type Age of Empires or Civ), a game of RPG in 1° person (type Morrowind) and 3° person (Diablo) with Virtools (Maybe with news BBS and BGs done create with VSL)??? Preferably multiplayer… 
    Another thing. Do you find possible to do good games education online with Virtools? 
    Thank you very much! And congratulations for the review!!! 
    [ ]’s 

  • i3d
    Quest3D vs Virtools

    Hello all,

    From the stand-point of interactive 3D capabilties, which one do you favor? Anyone working full-time with any of these? What user interface do you prefer, and why? What have been your experiences with either one?


  • Interface

    My experience with Quest3D is I didn’t see how anybody ever got anything done with it ever.  It seemed very low-level.  Almost like a float chart version of C.

    Clearly people are getting a few things done with it as you can see from their demos and of course it’s a hell of a lot cheaper than Virtools but it seemed almost like a beta product in that it’s a great idea (as is Virtools) but it’s got quite a few refinements to go through until it’s really useful.

    That’s just my opinion though.  I haven’t used it much.  I tried to go through the tutorials but they were out of date and didn’t match the program.  I did get far enough into it though to see that between the two I think Virtools is get better product.

  • possible

    Stratagy game: Yes
    First Person RPG: Yes
    3rd Person RPG: Yes

    Multi-player: Unknown.  Virtools has a multi-player pack but I haven’t used it to see what kinds of issues there are.

    As for the games above, Virtools has it’s limits but if you work within them you can make great stuff.

  • aaly

    now i am using virtools for 2 years ago, and tried quest3d since my friend told me about, it has some cools feature but yes it crashed with me many times, quest3d site has some cool demos , but it dependance on 3d models and textures , we need to remember 75% of real time games visuals models and shaders and 25% graphics card capabilities, and virtools runs for directx 9 and Opengl….

  • theone

    nice review!

    i just think you should mention the beautifull virtools web player. just export your compilation to a vmo file and put it on a web server. it works like a flash player – just generate the html (virtools uses an object tag) – and any (windows) browser will be able to execute online what you did.

    try this:

  • greg
    Hello !
    Very good tutorial !
    I’am begining with virtool !
    My world is easy : a train station, a train, some people and doors !
    If possible a train that moves lol !
    I need a radar, etc …
    Could you send me a source to help me to start ?
    (for example, the .cmo of your tutorial ! pleeeeeaseee)
    Thank you
    Greg man too !
  • John
    how do you get it

    iv been looking throgh the whole site and i just cant find the program.

  • DaveBuchhofer

    Contact their sales ( and ask for it. if its a serious request they’ll fedex it out quickly 🙂

  • Developer

    I have worked in both VirTools and EON.  The new version of EON 5.5 is VERY easy.  They have a new product that is FREE called EON Raptor. and it is a 3D Studio Max Plugin.  To get a copy of their high end tool go

    Check it out & hope it helps.


  • Nelson
    RenderWare Studio

    was supposed to be the ultimate system… but EA bought it and probably 1) shelved it or 2) made it for in-house use only.

  • hi
    i will eat u muhahaha

    wired lol

  • frost
    Virtools is a great engine in many ways

    I have worked with Virtools (v1 till v2.5) for many years, and made a few games out of it. i am no programmer, but worked with one.

    Its a very good physics/graphics engine if you want to make “reasonable” 3D games. it’s not the like of other major engines.

    check [url= Tremens[/url], a prototype game we both made in 2005.

  • KYLE


  • KYLE


  • gooder

    airwolf is a very good film and i want to make a game this a helicoter with everything

  • WhackoweirdDUDE
    DO you Have to script

    I want to use this to make games that reqiure NO  programing

  • Lisa
    That was a good insight!

    Im currently studying games design, for our second semester we are using Virtools to produce a game, after reading your Introduction to Virtools I feel that that this project of mine is more promising, I have not got a clue about programming.

  • OMS
    Thats Right !!

    yes Lisa ,,

    i think this program will be have a Excellent Future

  • gabriel
    I need help

    hi, first of all i have to say sorry about my english, it sucks.

    second i am trying to work at a company witch work with virtool so i have one week to learn it but a did not find a good tutorial to make a short video game.

    i found the hammer tutorial but it doesnt have the .rsc file to do the work.


    so to resume i need a vitools tutorial.

    i hope you can help me.

    thank you



  • BillJohnson
    Virtools 4.1

    Hi Greg, I’m just getting started on Virtools, 3D animation no programming background. I read your review on VT3.5, have you kept up with VT?

    Any good suggestions on good tuts for Virtools?

    Cheers, Bill

  • Emy
    Question about Virtools


    I heard that it is impossible to have multiple developers working on the same project with Virtools, only one man can work at a time while the others can try to come up with ways to solve a specific problem and then wait for their turn to do it all over again in the project file, so is that true?

    Another thing, can we use version control on top of it?

    I’m planning to use Virtools, so please any help will be appreciated.


  • As far as I know yes that is mostly true.

    If you add lots of custom programming including some custom C++ plugins written with their SDK that you write yourself it is possible to share more stuff, certainly multiple people can create assets and with the right organization you might be able to get different people to create levels but over all it’s designed for 1 person at a time.

    I believe Flash for example has similar issues.

  • pierre
    version 3 ? Now virtools is version 5 ..

    Hi Greggman,

    now Virtools is in V5, and has all the tools one would need to work as a team (especially selection sets) and split a full game into more than one file / levels etc..