Jump to content

Plugins for editor :


YouGroove
 Share

Recommended Posts

Probably not. If I implemented some kind of plugin system, people would probably not be happy with whatever I did. it's easier just to decide what it should do and write it that way from the start, instead of trying to tack on additional functionality after the fact.

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

You can't possibly implement all custom needs what the community wants, so there should be a simple way to call a Lua script from an menu option and to add more menu options for multiple Lua scripts, just like it's done now with thingoids.

 

The only problem with thingoids is that the only way to control them, is via keyboard shortcuts, and when you have like 10 thingoids running at the same time, you run soon out of keys. So the menu option would only replace the need to press a key which activates the thingoid.

Ryzen 9 RX 6800M ■ 16GB XF8 Windows 11 ■
Ultra ■ LE 2.53DWS 5.6  Reaper ■ C/C++ C# ■ Fortran 2008 ■ Story ■
■ Homepage: https://canardia.com ■

Link to comment
Share on other sites

I don't think I can provide as good of an experience with the editor if I am trying to code it to support a bunch of unspecified behavior. It would always have shortcomings and support less than people request, and the tacked-on functionality would not work as well as having it all built in from the beginning. I want the L3 editor to be more like 3D World Studio, in terms of design style.

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

Provide good inherent functionality in the Editor for everything you think is important by all means ... but you will never provide everything that people want though Josh. A plug-in architecture can make up for that and empower community inventiveness. Yes you'll get good and bad plug-ins but people are pretty good at differentiating between the two and discarding the bad! I would seriously give consideration to a plug-in architecture as I think it opens up a lot of possibilities.

Intel Core i5 2.66 GHz, Asus P7P55D, 8Gb DDR3 RAM, GTX460 1Gb DDR5, Windows 7 (x64), LE Editor, GMax, 3DWS, UU3D Pro, Texture Maker Pro, Shader Map Pro. Development language: C/C++

Link to comment
Share on other sites

As much as I'm for a plugin system, maybe in 3.5 or something :) Adding it later shouldn't require to much change to the editor. The big thing would be expose everything to the plugins. Give the plugins full control over menus, options, drawing screen etc.

Link to comment
Share on other sites

I wish plugins system.

As other people said, Unity IDE is so much appreciated since it has a great plugin system.

This will even create a new market, since some people create custom plugins, and everyone gains something:

1) LE users gain more functionalities\

2)plugin developers gain some money :-)

 

Furthermore, Josh, since you already created an asset store (great job!), I think we could add also an area for plugins (Unity3D and its "Unite" area docet).

Edited by Alessandro
Link to comment
Share on other sites

I'm not making a poor man's unity. Things like AI, flowgraphs, and CSG are being built into the editor from the start. I don't believe in tacking on functionality after the fact. It never works as well as an integrated solution.

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

I've changed my mind on this, but we're going about it our own unique way and it may not be in the first release.

 

Instead of a rigid "plugin" design that attempts to anticipate every possible use, I think a hook/script system is better.

 

1. The editor runs all scripts in the "Scripts/Start" folder at startup.

 

2. Scripts can add a hook. Hooks can be added for an event, or they can be added for a bunch of predetermined points in the program. For example:

AddHook(HOOK_MATERIALEDITOR_OPEN,"MyMaterialPluginInit")
AddHook(HOOK_EMITEVENT,"MyMaterialPluginHook")
AddHook(HOOK_MATERIALEDITOR_SAVE,"MyMaterialPluginSave")

You can add a menu action the user can add to the menu to call your plugin:

function AIEventHook(event)
if event.id==EVENT_MENUACTION
	if GadgetExtra(event.source)=="OpenAIEditor"
		aiwindow=CreateWindow("AI Editor",0,0,800,600,mainwindow,WINDOW_CENTER|WINDOW_TITLEBAR)
		okbutton=CreateButton("OK",20,20,80,30,aiwindow)
	end
end
if event.id==EVENT_WINDOWCLOSE
	if event.source==aiwindow
		ActivateGadget(mainwindow)
		HideGadget(aiwindow)
	end
end
end]

CreateMenuAction("AI Editor","OpenAIEditor")
AddHook(HOOK_EMITEVENT,"AIEventHook")

So instead of being a "plugin" system, it's more like the editor is semi-open source, while remaining more structured than an open-source program, and preventing the branching that always occurs with open source stuff.

 

It seems almost too good to be true, but as far as I can tell it seems like this would allow for unlimited flexibility, without screwing up the editor source code. You could use this to add a plugin with an interface for PureLight, or any number of other things, and everything would occur right in the editor, within the same interface.

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

I'm really glad you've had a change of heart on this Josh and yes, I don't really care how its implemented so long as it allows us to add functionality. Your suggested methodology looks a good one so it's a big 'thumbs up' from me.

 

I have no issues with the timing of this as I don't feel there is any need for it in early releases of the engine.

 

we're going about it our own unique way

isn't that what makes Leadwerks stand out from the crowd :)

Intel Core i5 2.66 GHz, Asus P7P55D, 8Gb DDR3 RAM, GTX460 1Gb DDR5, Windows 7 (x64), LE Editor, GMax, 3DWS, UU3D Pro, Texture Maker Pro, Shader Map Pro. Development language: C/C++

Link to comment
Share on other sites

  • 2 weeks later...

Wow great news :(

 

In fact by plugin, the goal is not to replace the egine functionnality but lot more to alow each programmer to make unique tools for unique tasks.

 

For example someone could make some special panels dedicaced to quickly create a top down Third person Shooter , with on panels :

buttons, sliders etc ... to adujst anything like : spawning , speed, life , special zones on the level etc ...

 

Or it could be a special tool for special needs like extended entitie management and placement with new attributes things, why not a field like

"Class Name" say this entitie will be ruled by that class ...

Or something like Unity someone could perhaps achieve to create some "visual logic editor" (some thing for non programmers at all) product , why not ?

Even more why not some visual physic editors fro anything like solids, rope system etc ....

 

 

I think it can only boost LeadWerks interest and popularity :(

Stop toying and make games

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...