What's the point of JASS?

Squishinator

New Member
Reaction score
3
I have asked this question before, but i didn't get a good answer.

What is the overall point of JASS, besides fixing memory leaks? Is it just for a challenge or what?

Also: What are the advantages and disadvantages of JASS? GUI?
 

Romek

Super Moderator
Reaction score
964
Jass is faster to use than GUI, as typing is generally faster than clicking, especially if you can touch-type. And if you can't, using Jass will help with that.
Jass is also much more efficient than GUI. GUI uses a lot of 'BJs', which are just functions that call another function.
You can declare your own functions in Jass. You can't in GUI.

And, Jass is overall, more flexible. You can do many more things in Jass than you can in GUI.
 

Romek

Super Moderator
Reaction score
964
An example of what? Jass?

Hmm... Try making This or This in GUI. (See by the description).

They should give you a good understanding of how flexible Jass is. :D
 

rover2341

Is riding a roller coaster...Wee!
Reaction score
113
Like he said, Jass is script that the gui uses.

In other words its a lower level language. The lower level you go the more flexibility you have with more basic tools, also its potential to go faster is there.

Many users prefer jass over gui as you can type and its easier to port things to it. With more tools for you to use, it can make projects easier to do.
I Find though that jass is harder to learn, and that the gui has plenty of speed and power for most things, and for me doesn't take much longer to make the game with.

If you stick with the GUI your befits are that you don't have to spend time learning jass, and to me thats a large plus as i don't enjoy learning syntax. But it is really wise to learn a little jass to use when there is a function you need that the GUI doesn't have.

Personally i use the gui. And i have made a serverl projects that don't have noticeable lag that are fairly complex. But then again there arnt any spells in them.
 

Romek

Super Moderator
Reaction score
964
Ahh, thanks for bringing up spells in GUI.
Spells in GUI generally aren't MUI, and aren't very configurable at all.

The select spells that are GUIMUI have the ugliest code ever, and I utterly hate every single GUIMUI spell out there. :)

Also, learning vJass is well worth it; Not only to create maps, but it's a very good step before learning any 'real' programming language. Most of the basics are in vJass.

I don't think people understand how relatively awesome vJass is unless they learn it.
 

CaptDeath

New Member
Reaction score
103
yes cause people dont understand the GUI is jass just that GUI to be more flexiable sucks in every possible way

like a person with 3 years GUI can be surpassed by someone with 1 years Jass/vJass
 

Romek

Super Moderator
Reaction score
964
> yes cause people dont understand the GUI is jass just that GUI to be more flexiable sucks in every possible way
Would you mind translating that to English?
 

bessomi

New Member
Reaction score
9
MUI spells are much easier to trigger with JASS and some cant even be triggered in GUI
 

DrEvil

FCRI Associate!
Reaction score
111
All GUI spells can be MUI , just it takes long and looks ugly as hell .
( Agree'ing with Romek on #7 )
 

chovynz

We are all noobs! in different states of Noobism!
Reaction score
130
I have asked this question before, but i didn't get a good answer.

What is the overall point of JASS, besides fixing memory leaks? Is it just for a challenge or what?

Also: What are the advantages and disadvantages of JASS? GUI?
Besides what the other people have said, Jass is the language that Blizzard/Warcraft uses in EVERY map. What you do in Gui, gets written to Jass, so the Warcraft can understand it. When you move a unit with your mouse from the centre of the map, the GUI interface (what you use to choose your unit, terrain etc etc, player colour) all gets translated into Jass.

Warcraft then runs the map using the commands that you have told it to use; these commands are called functions.

The point of Jass, is so that Warcraft can do what you told it to do. The point of learning Jass is so that you can more quickly tell Warcraft what you want done.

I like to clarify it like this. Gui is for the artist type of person. Making maps in Jass is for the programmer type. Neither way is wrong, although you can certainly do MUCH more in Jass than Gui. Although Jass can be difficult to learn, it also can be very rewarding. When you start and experiment for a little, then you realise that you can just use the native functions, instead of the middle-man BJ functions, (What did I just say? I said "when you realise you can use a Unit X and Unit Y instead of Locations that cause memory leaks") You get excited about what else you can do.

One Jass vs One Gui function isnt going to save you much time. But look at the following example.

I can create a mass of doodads - lets say 500 crates - hanging in space with one combined function call in Jass. In every single game in warcraft, they will be in random places each time. I can define the limits of where they appear, I can say what model to use, I can even make different doodads appear with the same combined function. I can make them random heights every game. I can change this at anytime (in the editor) so that the next time I save; the limits vertex coloring, or select-ability, or individual size of each doodad is different.

I can do the same amount of crates (500) in the GUI editor. It would take me 30 times as long (under-estimate, I think - it should probably be more like...2-10 minutes in Jass if you know what your doing, versus 2 weeks in Gui) since I need to click and place each doodad. Then I need to select each one. Then I need to CtrlPgUp, CtrlPgUp, CtrlPgUp, PgUp, PgUp, until its where I want it. And at the same time Ctrl+ Ctrl+ Ctrl+ + to change the size. These placed doodads will not change every game. They will be there in the same place, no matter how many times I restart the map.

Both of these methods are valid and acceptable. But I know which one I would rather be doing. If you work visually I can almost guarantee that you would prefer Gui. However, when an artist understands how to speak the language of paint, it becomes much easier to paint the picture in your mind. When an artist further understand the language of the texture on which he is painting, the picture can be much more powerful.

It's like this in Gui/Jass. You might know how to do something in Gui, like adding a unit somewhere by adding him via your mouse. Or you can use the Gui function. Then you have to remove the location leak.
Code:
(Create [COLOR="Blue"]1[/COLOR] [COLOR="Blue"]Footman[/COLOR] at [COLOR="Blue"]Somelocation[/COLOR] for Player [COLOR="Blue"]1[/COLOR]  facing [COLOR="Blue"]180[/COLOR] degrees).

But when you understand what you are doing, and what is happening when you do so, you can use a leakless native.
JASS:
(call CreateUnit(0,hf00,50,50,180)

JASS:
native CreateUnit takes player id, integer unitid, real x, real y, real face returns unit


Some further reading for you.
http://www.thehelper.net/forums/showthread.php?t=102322
http://www.thehelper.net/forums/showthread.php?t=41495
http://www.wc3jass.com/index.php?scripts=1

The BEST way of learning Jass is to jump in and try things. When I was a regular here we had Jass schools, but I think those might have died out awhile ago. So... Jump in. Ask questions! Experiment. Make something in Gui then convert it to Jass to see what it does and what functions it uses! Then try to make it efficient (i.e. leakless without deleting leaks-using Custom scripts). Or better yet, learn what natives your most common GUI is using and write your own functions!

K.I.S.S. (Keep it simple Squishinator)

"You can do eet!"
 

D.V.D

Make a wish
Reaction score
73
Jass has many different functions in it that help around in coding like hide item and stuff like that. Jass codes work quicker and better. Jass is easier to make MUI and MPI(using just locals). Jass can make its own functions and variable types. Jass is just better. Only disadvantage is learning it once you know GUI. Its a pain.
 

D.V.D

Make a wish
Reaction score
73
So true. GUI is actually just the first step to coding and GUI is actually not bad. The coolest spells were made from GUI. Heres the link to the vids, the owners didn't release the code because they were used in their maps. Links:http://www.youtube.com/watch?v=z6mI_Z29iBo
http://www.youtube.com/watch?v=DeZr2MROmjg&feature=related
http://www.youtube.com/watch?v=HQ0eivKTJWI&feature=related
http://www.youtube.com/watch?v=T_iqcLDKtMs&feature=related
http://www.youtube.com/watch?v=eH-ap16tj3w&feature=related
http://www.youtube.com/watch?v=p5njK_tEQPI&feature=related
http://www.youtube.com/watch?v=M7i5Z3C5ZOk&feature=related

The last link is a game were you press the up arrow key until your laser beam hits the target.
 

Darthfett

Aerospace/Cybersecurity Software Engineer
Reaction score
615
GUI is about making things simple, and to get things done. Blizzard made it so new people could easily begin creating their own maps, without having to learn an entire new language. It is in plain English, and has descriptions to teach you what you need to know about the functions.

However, GUI is also very restrictive. There aren't any real ways to get faster, compared with JASS. If you want a trigger that does one thing, there's one way to do it in GUI. There's a hundred in JASS.

JASS is much more complicated. It is very freeform, which means you have to know the language to really be efficient. However, that also means you can save hours of time by reusing code, and in the process making a faster running map.

In a way, JASS is more creative, as you can write the same code a hundred different ways. You can create your own functions, and create systems that no one ever thought of.

I haven't heard of anyone preferring GUI over JASS, once they've learned it. Once you get used to JASS, you realize just how restricting GUI is.

JASS is fun, because you get to test your code, and see a foolproof, clean, MUI code in action. GUI is fun, because you get to make a game for friends to play.
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Ghan Ghan:
    Howdy
  • Ghan Ghan:
    Still lurking
    +3
  • The Helper The Helper:
    I am great and it is fantastic to see you my friend!
    +1
  • The Helper The Helper:
    If you are new to the site please check out the Recipe and Food Forum https://www.thehelper.net/forums/recipes-and-food.220/
  • Monovertex Monovertex:
    How come you're so into recipes lately? Never saw this much interest in this topic in the old days of TH.net
  • Monovertex Monovertex:
    Hmm, how do I change my signature?
  • tom_mai78101 tom_mai78101:
    Signatures can be edit in your account profile. As for the old stuffs, I'm thinking it's because Blizzard is now under Microsoft, and because of Microsoft Xbox going the way it is, it's dreadful.
  • The Helper The Helper:
    I am not big on the recipes I am just promoting them - I use the site as a practice place promoting stuff
    +2
  • Monovertex Monovertex:
    @tom_mai78101 I must be blind. If I go on my profile I don't see any area to edit the signature; If I go to account details (settings) I don't see any signature area either.
  • The Helper The Helper:
    You can get there if you click the bell icon (alerts) and choose preferences from the bottom, signature will be in the menu on the left there https://www.thehelper.net/account/preferences
  • The Helper The Helper:
    I think I need to split the Sci/Tech news forum into 2 one for Science and one for Tech but I am hating all the moving of posts I would have to do
  • The Helper The Helper:
    What is up Old Mountain Shadow?
  • The Helper The Helper:
    Happy Thursday!
    +1
  • Varine Varine:
    Crazy how much 3d printing has come in the last few years. Sad that it's not as easily modifiable though
  • Varine Varine:
    I bought an Ender 3 during the pandemic and tinkered with it all the time. Just bought a Sovol, not as easy. I'm trying to make it use a different nozzle because I have a fuck ton of Volcanos, and they use what is basically a modified volcano that is just a smidge longer, and almost every part on this thing needs to be redone to make it work
  • Varine Varine:
    Luckily I have a 3d printer for that, I guess. But it's ridiculous. The regular volcanos are 21mm, these Sovol versions are about 23.5mm
  • Varine Varine:
    So, 2.5mm longer. But the thing that measures the bed is about 1.5mm above the nozzle, so if I swap it with a volcano then I'm 1mm behind it. So cool, new bracket to swap that, but THEN the fan shroud to direct air at the part is ALSO going to be .5mm to low, and so I need to redo that, but by doing that it is a little bit off where it should be blowing and it's throwing it at the heating block instead of the part, and fuck man
  • Varine Varine:
    I didn't realize they designed this entire thing to NOT be modded. I would have just got a fucking Bambu if I knew that, the whole point was I could fuck with this. And no one else makes shit for Sovol so I have to go through them, and they have... interesting pricing models. So I have a new extruder altogether that I'm taking apart and going to just design a whole new one to use my nozzles. Dumb design.
  • Varine Varine:
    Can't just buy a new heatblock, you need to get a whole hotend - so block, heater cartridge, thermistor, heatbreak, and nozzle. And they put this fucking paste in there so I can't take the thermistor or cartridge out with any ease, that's 30 dollars. Or you can get the whole extrudor with the direct driver AND that heatblock for like 50, but you still can't get any of it to come apart
  • Varine Varine:
    Partsbuilt has individual parts I found but they're expensive. I think I can get bits swapped around and make this work with generic shit though
  • Ghan Ghan:
    Heard Houston got hit pretty bad by storms last night. Hope all is well with TH.
  • The Helper The Helper:
    Power back on finally - all is good here no damage
    +1
  • V-SNES V-SNES:
    Happy Friday!
    +1

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top