• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

[JASS] GUI is useless

Status
Not open for further replies.

Bribe

Code Moderator
Level 50
Joined
Sep 26, 2009
Messages
9,467
What with all the redundancies and beaurocracies that it requires to function, not to mention the backwards handling of functions like...
JASS:
UnitAddAbilitySwapped(meh, ...)
Please, someone who needs help learning JASS, I am happy to help as much as I can, just try to stop using GUI, it is obsolete and makes the map totally lag.
 
GUI seems to make the map lag, because all newcomers use it. It's like saying a car sucks, because is driven by crappy drivers.

I can't do anything better in jass than in GUI, I know about leaks what I know, and even using JASS I won't fix those errors if I don't know there are. If I knew there are, then I would be able to fix them in GUI too.
 
Level 7
Joined
Oct 14, 2008
Messages
340
I agree with Bribe. Honestly, GUI is just awful. I think I would be a lot more helpful to people if i opened their posts and didn't see a big fat GUI trigger staring me down.. so ugly and intimidating.
 
Level 9
Joined
Sep 28, 2004
Messages
365
I wonder what you coded in GUI to make the map lag. If someone that is good coded an ability (example) in JASS and GUI, you can't tell the lag difference by your naked eyes. So if you can make something that lags your map. You are doing it wrong.
 
No, you can. GUI is horrible calling one and another method, while JASS has only raw methods that mostly do only one thing.

I once made an advanced TD system, I cleaned every leak, however, it got really laggy over 200 towers. It was basically a blood system that requires a tower to be paid with blood or else it gets paused. (In short)

Never using GUI again.
 
Level 10
Joined
Mar 31, 2009
Messages
732
Consider this:

Function 1 takes parameter 1, parameter 2
call Function 2 (parameter 2, parameter 1)

Function 2 takes parameter 1, parameter 2
does stuff

When the map is compiled, the compiler will pick up on the redundancy and optimise them.
The swapped methods aren't going to cause your leaks and such, poor programming will.
 
Level 19
Joined
Aug 16, 2007
Messages
881
What with all the redundancies and beaurocracies that it requires to function, not to mention the backwards handling of functions like...
JASS:
UnitAddAbilitySwapped(meh, ...)
Please, someone who needs help learning JASS, I am happy to help as much as I can, just try to stop using GUI, it is obsolete and makes the map totally lag.

Well, I'm interessted in learning JASS, because I've been using GUI over three years now (lol). It would be fun to learn something new and just because I'm map making alot it would be good to know JASS. Currently I'm working on a map that almost got ONLY GUI, it works flawless, but I think it would be even better with JASS. The thing is, I can understand JASS, but not write it... Maybe it's a bonus that I can write C#-code so probably thats why I can read JASS. So well, if you got any time to help me learn the JASS-language just send me a PM, I think I'll just need a couple of days learning JASS. :)
 
Level 28
Joined
Jan 26, 2007
Messages
4,789
I use GUI... anything against it? Should I consider myself a horrible mapper now?
I do know JASS though, I just don't like working with it... if I really need JASS for some functions that are just undoable in GUI, I'll use it - otherwise: no.
I've used it for too long to just 'quit', can't help it =D

You may think it's awful/horrible/..., but then again: if someone can code properly in GUI, I can assure you that the map will not lag at all.
There are multiple ways to code efficiently in GUI (removing leaks, using variable loops, using variables instead of BJ's, etc...).
 
Level 7
Joined
Oct 14, 2008
Messages
340
But the time spent clicking through all those menus in GUI! Man I can't stand that. Having like 50 menus open for concatenating strings, or anything similar.. talk about a headache.
 
Level 28
Joined
Jan 26, 2007
Messages
4,789
But the time spent clicking through all those menus in GUI! Man I can't stand that. Having like 50 menus open for concatenating strings, or anything similar.. talk about a headache.
Yup, strings and arithmetic functions take a bit longer, but you'll get used to it...
It's not like it's THAT annoying (at least, I don't find it very annoying - not if you know what to do).
 
Level 7
Joined
Oct 14, 2008
Messages
340
Helluva lot more annoying than typing ("hello "+worldstring+", how are you doing today! Can you believe there's still "+I2S(bottles)+" bottles on the wall!?)
 
Level 28
Joined
Jan 26, 2007
Messages
4,789
Helluva lot more annoying than typing ("hello "+worldstring+", how are you doing today! Can you believe there's still "+I2S(bottles)+" bottles on the wall!?)
Now there are only "((String((bottles - 1))) + bottles on the wall)" D:
Yeah, it's more annoying... anyway, you can use strings and arithmetic functions in JASS (custom script) and the rest in GUI =D
Wouldn't do much, but well...
 
Level 9
Joined
Aug 21, 2008
Messages
533
Some things are ok to code in GUI, but most things are horrible. Once i needed to read data from items and set the custom value of a unit to the read datas, but unfortenually i had to concentrade 2 integers and then, depending on how long the intger where, adding more integers. I made this in GUi and i need so freaking long. And then i had a mistake and had to remade half of it.. in jass i would just have change 2 words... Fortenually mow i know jass and never have to do such crap again:grin: Im still using GUI from time to time-when im working on a map together with my freind who cant read and write in jass:grin:
 
Level 13
Joined
Mar 16, 2008
Messages
941
Saying that GUI triggers lag is such an awfull lie... yes, GUI uses overcomplicated methods to create the script and all the BJ wrappers are useless, but realy, these few function calls are like nothing. My computer REALY sucks and I got no problem with well written GUI maps at all, because although everything is written in GUI, the amount of actions are just so few. I wouldn't think of writing a physic-engine in GUI because this realy are a lot of calls, but most times, it's just unimportant what you use. However, if you're able to use the better version, just do it. Sticking with GUI doesn't kill anyone.
 

Bribe

Code Moderator
Level 50
Joined
Sep 26, 2009
Messages
9,467
The lag of GUI is often equivalent to choppy gameplay, especially if you need a lot of things to happen in the same instant. I had a function called Theft that hid the caster, created a dummy caster, created two special effects to illustrate a blink, play an attack animation, add floating text and an additional text message if the player was lucky to get a rare steal, and then blink back and cause bonus damage if the player had another ability. Watching it in GUI looked like my whole screen paused for .25 seconds and then saw the animation.

When I viewed the GUI functions in JassNewGen, almost every - if not every single - action I was calling was a BJ function (there is no way to avoid these in GUI). call PlaySoundBJ() causes a split-second lag whenever it starts, though it has no GUI alternative because it's the rawcode for Sound - Play Sound.

I translated the BJ's to native functions and the .25 second chop was gone. Not to mention every trigger that I replaced BJ's with natives had exactly the same smooth effect. Watch one of Anitarf's beautiful cinematics and see how perfectly smooth everything is - that is one of the most important differences between GUI and JASS.
 
Level 37
Joined
Mar 6, 2006
Messages
9,240
GUI may suck hard compared to vJASS but it's not useless.

Lots of people couldn't create anything with JASS, GUI helps them to create maps.

I've studied Java and C at a university but still decided to stick with (mostly) GUI. Maybe when SC2 is released, I'll probably move on to whatever the JASS equivalent is in the editor.
 
Status
Not open for further replies.
Top