Open MonkeyFrogStudio opened 1 year ago
@davetgc @LeeBamberTGC
I know we're currently in bug fixes with v1 and enhancements are not on the current radar. Even so, I wanted to stress a bit how important it is to open up software like MAX to being able to be enhanced via plugins/addons. A brief "history," if you will ...
Back in the day, there were only a few 3D modeling packages - Alias (Maya), 3d Studio (later to become 3ds max), Softimage, Lightwave, and a few others. We will exclude Blender for now with it's humble beginnings in 1994. One thing that 3ds max had going for it was the ability for third-party developers to create addons/plugins. You could find a plugin for just about anything, whether you needed it for architecture or games. This helped to catapult 3ds max to the head of the pack, allowing the owners of 3ds max to eventually purchase Maya. Softimage is no longer with us (sadly) and Lightwave is barely hanging on ... if even that (despite the recent announcement of a 'revival' of the software). Later 3D packages tried to compete with 3ds max, like Modo. But Modo made it very difficult for anyone to create plugins/addons. That, coupled with it's smaller userbase, made it so that Modo, while still being developed and still having a small following, is mostly not even considered. For example, a new CAD software, Plasticity, was recently released. To make it user-friendly, it offers the ability for end-user to select from a number of pre-made key bindings. These included 3ds max, Maya, and even Blender. Modo didn't even make the list.
Blender has gained a substantial market share in recent years. A lot of that has to do with it's revamped UI starting with v2.8 (if I recall correctly). But the other thing (and possibly the main thing) is how easily upgradeable the software is via addons. Like 3ds max, the number of addons and their functionality is immense. If you feel that Blender is lacking in any way, there's probably an addon for that already. Many Modo users (like myself) transitioned to Blender as a result and, to be frank, I don't miss Modo.
Back in the day, there were many game engines for indies to use - 3D GameStudio, 3D RAD, Dark Basic (and Pro), Torque, and more. But one thing many of these lacked (or did make easy enough) was the ability to create and incorporate addons/plugins (at least not that I can recall - not all that familiar with Dark Basic, to be fair). But when Unity started to become a game engine and when Unreal was being released to the masses, this is one thing that they made fairly easy to do - create and add addons/plugins. They even made a store for them to be offered. As a result, 3D GameStudio died out almost a decade ago. Many of these others are ... there ... sort of ... but not being developed (or, if they were made open source, slowly developed by devotees). But Unity and Unreal survive. In fact, they thrive. I believe that, in part, it was due to the plugin/addon architecture that allowed for third-party developers to add features that others could utilize.
If GameGuru MAX had a fairly easy to access plugin/addon architecture, then TGC would not have to develop everything that the end-user wants. And if TGC isn't interested in MAX being able to do certain things, then others could add those things via plugins/addons. MAX already has a building editor, but it's pretty limited, imo. What if someone wanted to create a better one? What if someone wanted to create a way for something similar to FPS Creator's editor, but for MAX? What if someone wanted to create a shader editor for MAX to allow end-users to extend MAX/Wicked shaders? What if someone had ideas to enhance the MAX storyboard area? The ideas and possibilities are limitless. And having this ability for MAX would only make MAX more popular. Other tools (great tools, too) that didn't offer this or made it difficult? They've died on the vine or are in the process of dying even now. People seem to love to create these sorts of things (third-party addons). Why not give them the opportunity to do so and, as a result, make MAX an even better tool that will be even more popular as a result.
@MonkeyFrogStudio Sound words, thanks for the histories, it really does go to show that one of the key ingredients to the success of a tool is its ability to be customized and augmented by those that use it, and then share that improvement with everyone. Very much how I see a great community operate :)
The difficulty lies in finding willing souls who want to create an entire Structure Editor or Shader Creator. These could be considered products in themselves by the time they have been built up enough to be useful. It was to this end that we opened up the entire source code to both GameGuru Classic and MAX so that contributors could add to the tool, and it's an activity I am hoping to encourage in the years to come. The building editor source code will be opened up soon and I will be curious who will take up the baton to improve and add features to it. GameGuru may already contain the seed of its own demise, in that we have a product that does not require coding to make a game, but coding is absolutely required to create plugins and enhancements for it. Compare that to the old DarkBASIC Pro, created for coders, and as a result, spawned over 30 third-party plugins created by the very community that used the programming language :)
All is not lost however, there are already early and strong indications that addons are to play an important role in GameGuru MAX, not least the explosion of game logic behaviors from our very own Necrym59, who single-handedly created the bulk of RPG and PUZZLE scripts now part of the main product. By creating an easy-to-navigate behavior library and enough flexibility between a game object and its script, anyone in the community can create their own game logic and share it without needing to know too much about the internals of the game engine. Similarly, the third-party DLC you have seen so far for MAX show the proficiency of technical artists in bringing new options to all MAX users, even adding functionality in support of their game assets where none existed previously.
One area I feel is currently undernourished is the ability to create add-on scripts that affect the UI and editing capabilities of GameGuru MAX. We have talked of additions to the game logic, but equally important is the ability to enhance the tool itself, and to be able to do so without learning C++ and compiling a vast game engine to see your results. Much akin to the way 3D modeling tools host plugins in script form, executing a series of commands to expand what the tool itself can do has much to recommend it. I would personally be interested in hearing from anyone who wants to collaborate in this area, and I would be happy to assist in providing additional LUA commands that run in parallel to the MAX UI. These do not need to be massive efforts but could range from entire Weapon and Creature Makers all the way down to an extra button in the toolbar for grid-aligning level objects. If the commands allowed the creation of UI elements, interaction detection, and access to all the data held in the currently edited level, I imagine quite a lot of plugins would suddenly appear. Make no mistake, there is a lot of work here to add this ability to MAX, but once added, the community should be able to take it the rest of the way :)
I will keep an eye on this thread and look forward to learning what everyone else thinks. Fear not, bugs must always come first, but the concept of teaching someone to fish as opposed to feeding them a fish has always appealed as it fosters a community of creators rather than a community of consumers.
potential plugins that would be a dream would:
Just my tuppence worth......
This sounds like it could be very cool if implemented!
@LeeBamberTGC
The difficulty lies in finding willing souls who want to create ...
I don't think so. If TGC implements a plugin/addon architecture for MAX, then promoted it, I bet people would get excited. TGC gets a lot of angst due to past issues. As a result, some are carrying that angst over to MAX (even if they've never even tried the program). However, MAX Is also changing some people's minds who have given it a fair try. Look at the reviews of MAX done by Games From Scratch. Many times, when people in the comments would say bad things about MAX, he would speak up and defend it (at least to a degree). This is a positive change. If MAX were to get a plugin/addon architecture so that 3rd parties could extend MAX capabilities, I bet Games From Scratch would be all over that! An easy game maker that is also able to be extended via plugins? Wow!
It was to this end that we opened up the entire source code to both GameGuru Classic and MAX ...
Isn't opening up the source code a bit different than implementing a plugin/addon architecture? With actual plugins, no code needs to be added to MAX nor changed (nor approved). It's all third-party. This opens other markets (people could sell their addons or offer them for free), too.
All is not lost however, there are already early and strong indications that addons are to play an important role in GameGuru MAX, not least the explosion of game logic behaviors from our very own Necrym59 ...
But Behaviors aren't technically addons/plugins. They're lua scripts. I mean, a Behavior can control an object in MAX when the game is running, for example, but what about changing the UI? What about adding functionality like the things that mav3r1ck198-1 brought up above?
Blender has an addon called UV Packmaster. It's essential if you're serious about 3D modeling objects for games. Python is used to create the UI stuff in Blender, but it's also used to connect Blender to external code - the algorithm that runs UV Packmaster, allowing it to calculate and pack UVs efficiently and quickly. That external code is a compiled EXE that is called upon from within Blender. But it all works seamlessly from within Blender.
Although, maybe you can go the route of Blender where they use Python to link between Blender and, in some cases, actual coded stuff (as pointed out above). But, in this case, lua instead of Python? That may be what you were referring to in paragraph 4. :)
In any case, ultimately, I see a plugin/addon architecture as something more than a Behavior and something more than a link to an external program (like the Particle Editor or Building Editor) that simply saves to the appropriate folder area. Instead, these could be, if so desired by a third-party developer, things that alter MAX functionality (ease-of-use types of things, for example), add additional functions like different AI, or like some of the examples that mav3r1ck198-1 brought up, etc.
So, on the livestream Lee asked us to weigh in, so he'd know what kind of .Lua commands he may need to add for plugin support. Well, here's a couple of plugins I'd like to see, in no real particular order!
These are just a few off the top of my head, based off of the things that I personally feel to be "missing", or things that would save a lot of time that otherwise seems to just be wasted on tedious busywork, whilst making levels in GGM.
If you would like to test a 'plugin' i am willing to add LuaPad+ to MAX so that users can edit create LUA from within MAX editor, the easiest way of achieving this would be an external call to the exe.
@GraPhiX-Guru @LeeBamberTGC - That's a very useful tool.
What might work as a quickie and handy is an add tool function Add Tool \ Tool Name \ Browse to .exe \ So if i wanted to start an external app like Lua-pad+ or Blender in fact any third party tool from Max it just adds a shortcut in a dropdown menu. From Max i could then go to Tools then from a dropdown menu select Lua-Pad+ etc Not really a plugin feature as such but just a shortcut which does not have any effect on Max.
Just a note - This thread is not really about the kinds of plugins/addons we'd like to see developed for MAX, but about TGC adding the actual ability for plugins/addons to MAX so third-party developers could extend the tool. Things like the Particle Editor and Building Editor aren't really plugins per se. You can just open the external EXE from withing MAX via the menu, use the software, then it saves out to a directory that MAX can access. With actual plugins/addons, you can do that, too, sure - but you can do so much more, such as adding actual functionality to MAX that TGC did not develop themselves or ways of making MAX even easier to use. For those of us using Blender, we see these types of plugins/addons being created constantly. It's incredibly useful, especially for people coming from other systems who may see something is "missing" (from their point of view). They can then see if there's already a plugin that fills that gap or create one themselves if they like.
Would it be possible for a user to browse for a simple EXE file and for MAX to add it as a menu item under 'Plugins' These EXE files could be checked for Digital Signatures and only approved Developers EXE would be allowed to be added, something similar to the Workshop Method.
Would it be possible for a user to browse for a simple EXE file and for MAX to add it as a menu item under 'Plugins' These EXE files could be checked for Digital Signatures and only approved Developers EXE would be allowed to be added, something similar to the Workshop Method.
That would be great, too! If MAX could do this, then I could access GraPhix tools from within MAX. For example, GraPhix excellent xLUT could be accessed without having to leave MAX, LUT created, saved, and then useable within my MAX project(s).
Not sure how this would work, but I think it would be great, and would greatly benefit MAX, if it had some sort of "plugin/addon" architecture that would allow 3rd party developers to create plugins/addons to extend MAX's capabilities. Let's say, for example, that someone wanted to create a more complex EBE (Building Editor), or a shader editor that could be accessible from within MAX, or develop a set of configurable grey-boxing assets, etc. Wouldn't it be great if people, outside of TGC, could develop such things and either offer them or sell them to MAX users who might be interested?
Unity, Unreal, RPG Maker MV (and it's other various versions), and many other game creation tools have a means for someone to create plugins/addons and they are often a great addition, especially if you discover that someone has created a tool that you could really use, making it even easier to create your game in MAX.
I've spent a decent part of my day scrolling through itch.io and looking at the tools being offered, many of which are addons/plugins for other game creation tools ... many that I thought to myself, "That would be awesome to have for MAX!" There's no way that the TGC team could create all of these tools, nor should they have to. Many are very niche. But someone may want to and be able to create such tools. But if MAX does not have the ability to accept and use plugins/addons, then what's the use?
Plugins/addons can really go a long way toward extending the capabilities of a tool like MAX and help to make it even more popular.