Eventing should be more like Programming

Author Topic: Eventing should be more like Programming  (Read 2612 times)

I'm sure you'd figure it out easily.
Honestly, I find that easier to understand that the current eventing system the first time I saw it

Maybe.
I'm just used to the old way of doing things I suppose.

Maybe.
I'm just used to the old way of doing things I suppose.
Yeah, when you get used to something you tend to think it's always been that easy, kind of like when you go on a ride in Disneyland and suddenly the 2 hours in line are completely forgotten.

The thing about the current eventing system is that it is extremely user-friendly and does its job flawlessly, until you start adding on tons of stuffty event add-ons and try to make it into a complex CRP with variable control events, and then get frustrated when it doesn't work.

While I completely agree that there's room for improvement here I seriously hope you're not considering removing the current eventing system in turn for something that has, throughout blockland history, traditionally been done with the use of actual scripting.

traditionally
So? This is great because
it is extremely user-friendly
but if you
make it into a complex CRP
and
does its job flawlessly
to do stuff that has
traditionally been done with the use of actual scripting.

If you're wondering why I'm using your quotes, it's that this is a great solution that combines the complexity we need for advanced users   with the user-friendliness we need for beginners, who can then work their way up. Simple events like onPlayerTouc > Kill are just as easy, but complex things that normally require scripting become so much easier. There's no compromise here, it's win-win.

I know what you're thinking - why not just script? Because scripting requires syntax. Unlike this system, where you just need to put your thoughts into tiles, connect them, and it just works, scripting requires that you completely learn TorqueScript and all of it's ins and outs. There's a little less fluidity in that. If I want to set up a conditional, I have to write it. Here, you just place it down and find what you need. Of course, scripting will always have more flexibility, but sometimes that's a bad thing. You can't possibly make scripting happen by chaining together what's essentially drop-downs. My point here, in a phrase, is that scripting is too manual. But there's another part too. By making simple and advanced functions part of the same system, people can gradually increase their knowledge without really trying. Over time you just get better. If I start tinkering with events, in no way will that ever get me learning scripting. This system will inspire players to build more complex things simply because it's part of the same chain of learning. And finally, this isn't meant to replace ALL scripting. There will always be limitations. Weapons, vehicles, things like Slayer or RTB, or larger gamemodes like Slayer and Creep won't be accessible by this, but that's not the point. The point is to open up a world of potential for smaller things, like City RPGs, or a bank, or passcode systems (try doing that without VCE or coding a new event.) And I think this can do that.

TL;DR: This system is easy to pick up but has a long range of applications so that it stays useful for even complex things. While it won't replace scripting, it will definitely make some of its purposes more accessible and to be honest this is just more flexible. Really, though, read the paragraph.

not... exactly
Well yeah you could write in a legacy support thing. But a lot more work will still have to be added to support the new event system



The main issue with the "use scripts instead" idea and why I would love a more robust eventing system is that it's annoying to write, save, package, and execute a bunch of small things you use once then never touch again.
I think a neat idea would be a sort of "script event": when you place the event, you're given a textbox where you can write out a script. Obviously you'd have to have a lot of restrictions: no global variable access, restrict access to only select functions (math functions, maybe some others), protect against infinite/long loops, etc. Something like the expression chip from wire mod (garry's mod), I used the hell out of that.

But yeah, large advanced stuff should never be done in events for multiple reasons

Well yeah you could write in a legacy support thing. But a lot more work will still have to be added to support the new event system



The main issue with the "use scripts instead" idea and why I would love a more robust eventing system is that it's annoying to write, save, package, and execute a bunch of small things you use once then never touch again.
I think a neat idea would be a sort of "script event": when you place the event, you're given a textbox where you can write out a script. Obviously you'd have to have a lot of restrictions: no global variable access, restrict access to only select functions (math functions, maybe some others), protect against infinite/long loops, etc. Something like the expression chip from wire mod (garry's mod), I used the hell out of that.

But yeah, large advanced stuff should never be done in events for multiple reasons
Or add Script chips to the tile system! :D



are you agreeing with me or did you type this paragraph in challenge of me agreeing with you :cookieMonster:

I said I agreed with improving the event system, what I was saying is that it's a bad idea to remove the current one in exchange for a completely new one because it would change the concept of eventing. When Wiremod for gmod came out, we didn't remove keypad buttons.

It could just be separated into 'basic' and 'advanced', because there isn't anything wrong with the current eventing system.

are you agreeing with me or did you type this paragraph in challenge of me agreeing with you :cookieMonster:

I said I agreed with improving the event system, what I was saying is that it's a bad idea to remove the current one in exchange for a completely new one because it would change the concept of eventing. When Wiremod for gmod came out, we didn't remove keypad  buttons.

It could just be separated into 'basic' and 'advanced', because there isn't anything wrong with the current eventing system.

The problem with keeping old events is that new players may never use the tile events because they think the basic events are good enough. Other than that, I would be fine with it because it would also let old saves work fine.