Heya, ex-bioware here. So does that make me the .5 in the Bioware-Volition face off?
Anyways, I believe Iām in the minority here in saying that I actually like 3dsmax and Maxscript. From a purely systems point of view - I like XSI better, but practically speaking MXS is easily more flexible for me. While Iām an avid C#'er too, the typelessness of MXS does mean thereās less glue code to do callbacks, pipeline branching, etc. That relaxation of dependencies also means I can swap components with minimal fuss. Doing the same in C# would require a boatload of interfaces.
But it is a double edge sword. I concur with JS that the lack of a debugger greatly hampers things, which is why at Bioware, we had a bunch of MXS code conventions to smooth over the rough patches. The conventions (especially loose hungarian) really do help in eeking out what was intended versus what you see.
As for the future of 3d software packagesā¦
-
How about something that can actually run from command line in a clean form? Better yet, build the core (file loaders, etc), as a library that we can link to. That way, if we want to incorporate MAX21 into our pipeline, we can automate a good deal of it by creating custom headless MAX21 programs.
-
Iād like to see XSIās Custom Display Host system become more prevalent. I did like the ability to customize viewport display in 3dsmax, but with the current set of engines, we need to bring more ācrapā into the display logic. The CDH would be a better alternative nowadays.
-
Iād still like to see a scripting language that isnāt .NET though. Or at least make it JScript.NET. C# has way too much baggage to be an effective scripting language.
-
Iād like to see the companies DROP support for grandfathered features. This is definately a double edge sword, and has probably kept packages like XSI from gaining more ground. That said, there are ways to minimize the impact of said changes (see Drupal4/5/6/7 transitions).
-
Iād like to see a more open community of modules. See Drupal again. The quality of the modules is hit-or-miss, but whatās important is that the Core (as Yunus puts it) is maintained to a much higher standard. The Drupal project is a pretty good example in how a good framework is structured, in that it deals with dependencies which are allowed in a controlled fashion. Modules that become vital and well stabilized sometimes get brought into the Core, but more likely theyāll just get promoted to a higher priority level when the next version ships. Everyone else is left to upgrade as they need.
Ted