| 06-15-2003, 07:49 PM | #1 |
I am thinking about creating a tutorial on Jass and I am therefore wondering what kind of interest exist for such a tutorial and what kind of information people like to find in it. Please fill in the poll and/or post suggestions. |
| 06-15-2003, 08:09 PM | #2 |
Hehe, swe eh? Anyway, I think that maybe we need a newb guide to JASS. As I, myself, am very intrested in understanding how to write it, and how it works... You could actually call it "The Newbs Guide to the Galaxy", because JASS really is the WC3 galaxy :P Regards Dead-Inside |
| 06-15-2003, 08:11 PM | #3 |
JASS is program right =? if it is, were can i find it then =? |
| 06-15-2003, 08:35 PM | #4 |
No it's not a program, it's lines of intricate strings, allowing you to do more than what normal triggering lets you, AND HELL YA, I NEED A FRIGGEN TUTORIAL, I WANNA BE THE BEST THERE IS! HAHAHAHA! |
| 06-15-2003, 09:02 PM | #5 |
i'd like a basic rundown of the functions with examples. like: loop <this will reapeat untill ???? statement is given> endloop and maybe an example of how to use this in a map (thats about all the JASS i know) |
| 06-15-2003, 09:36 PM | #6 |
Ya uhh....Even master map makers have trouble with Jass. Anyone whos experienced in it should share their knowledge of it. Because the master map makers would be able to help the Jass people, and so on and so forth, until world peace is evident. Heh, a newb tut would be the best way. Keep it simple stupid, and then go on into more complicated things later on. |
| 06-15-2003, 09:43 PM | #7 |
i don't think a newb tutorial should be appropriate as it will just be toiling too much on acual programming. i mean, people take multi-year courses to learn the basics of computer programming and if there was a way to sum it up in a small tutorial the guy that made it would be fckin rich. that's why i think a rundown of the functions is more appropriate and more realistic (unless you want to deall with the hassle of 1000 noobs asking you questions afterward, thus creating a pointless 50-page tutorial that no-one will read) |
| 06-16-2003, 01:08 AM | #8 |
Guest | you can't get a better rundown of all the functions than right here at present... http://jass.sourceforge.net/doc/ I think a series of "How To's" is most useful for those without previous programming experience. It takes a few days for an experienced programmer to sort out what the scripting language supports and what it doesn't. The best way to get started IMO is read all existing material which Vistidge has summed up in the JASS/AI forum topic of the same name as this one. Make sure you know how to use WinMPQ or equivalent. Install the Java Runtime Environment 1.3 or higher (find the information on this in the above link) Become familiar with the JASS Syntax Checker (needs the JRE). Just extract your war3map.j file from your map and get the syntax checker to check it...That's all there is to learning how to make it work... Essential in my opinion but optional is to gt a text editor that you are happy with that will do syntax highlighting for you. I cannot stress enough how much better and faster it is to code when you have syntax highlighting vs plain text. You can spot errors a mile off because the keywords are not highlighted (for example) Start with an existing simple trigger map - ideally one that you have written because you will understand it alot better. Extract the war3map.j file form your trigger map and strat reading through it. From that blizzard generated code, you should start to get a feel for what they do...You cna optimise their code significantly within a few minutes of looking at the code once you realise how they utilise globals in "callbacks" rather than using what I consider real callbacks. e.g. you can combine a trigger with multiple boolean clauses or conditions into a single condition... When you don't know how to do something then use the trigger editor to figure it out for you. some of the natives are named differently top what you might expect. Just open a new map in the editor, create a trigger, convert to custom text and then look up each part of the resulting JASS that you are not sure about... ALL of the AHRD work has been done for you by the people that have created the JASS Manual and Syntax Checker. Finally, when you are ready to test your changes out, run it past the syntax checker and if any errors come up at all (even if you think its wrong) investigate why it's claiming there is an error and figure it out. e.g. SLEEP vs Sleep. One's a constant, and one is a function... Once the syntax checker is happy, insert the war3map.j back into the map file and test.... I started JASS about 2 weeks ago so I know my method works for pweopl with a minimal of programming experience. I ahppen to be a programmer for a living as well so I know I may have skipped over something that inexperienced programmers get stuck on. If so there are enough of us here learning along-side you to hopefully make it possible to all help each other out. Cheers P.S. To illustrate my point about syntax checking...which is easier to read? Code:
//===========================================================================
// Removes a trigger from the trigger queue, shifting other triggers down
// to fill the unused space. If the currently running trigger is removed
// in this manner, this function does NOT attempt to run the next trigger.
//
function QueuedTriggerRemoveByIndex takes integer trigIndex returns boolean
local integer index
// If the to-be-removed index is out of range, fail.
if (trigIndex >= bj_queuedExecTotal) then
return false
endif
// Shift all queue entries down to fill in the gap.
set bj_queuedExecTotal = bj_queuedExecTotal - 1
set index = trigIndex
loop
exitwhen index >= bj_queuedExecTotal
set bj_queuedExecTriggers[index] = bj_queuedExecTriggers[index + 1]
set bj_queuedExecUseConds[index] = bj_queuedExecUseConds[index + 1]
set index = index + 1
endloop
return true
endfunctionOR the attached image :) |
| 06-16-2003, 06:25 AM | #9 |
I don't believe that it takes years to learn the basics of programming; what it takes is interest, some time, some effort and some guidence. Looking at the poll and posts it seems like I'll be writing a basic guide on Jass primarily for non-programmers wanting to make advanced triggers with Jass (but also with AI programmers in mind). If you are really dedicated to learning Jass you will do well to follow Kuhal's advice. If they scare you, you could survive with only using the WE (at least in the beginning). I will start thinking on what material and which chapters this introduction to Jass will contain, some things that definitly will be explained are (feel free to advice me if I am leaving out something important): Basic syntax - if - loop - exitwhen - function - variables - return - data-types Basic design - What's the use of multiple functions? - What's the use of local variables, parameters and return values? Let me think a while and I'll get back to you on which chapters the guide will include (should be tonight or tomorrow). |
| 06-16-2003, 07:40 AM | #10 |
@ piRo-piOn Do you know WHY they go such long courses? It's because they have to "understand" the concept of programming. For those more gifted, as myself (Damn that sounds wrong), who learns fast (young people) and understands how it "works". Without understanding what you are programming, you can't program anything. You have to understand what you are telling your engine (in this case WC3) to do. Therefor, I ask for an easy to understand tutorial, which I can then read 3-5 times and learn to program WC3. After that I can learn more advanced things as I grow more confident. Hopefully I'll end up writing all my triggers in JASS, since it has more possibilites and is more reliable after all. Regards Dead-Inside |
| 06-16-2003, 09:58 AM | #11 |
Guest | In succesive threads I've read crap from you Dead-Inside and I can't help mention that I think you have a screw loose. EVERYTHING a "gifted programmer" such as yourself could need is in the JASS manual. You shouldn't need anything else. I certainly don't claim to be gifted and yet, due to previous programming experience and some great help on these forums I picked it up easily in a couple of weaks... Just start showing some sign of humility in your posts and you'll not get otherwise mild-mannered newbs like me marking you as a complete waste of storage space. In fact you might actually find people talking nicely to you! loop call Ignore("Dead-Inside") call Sleep(1) exitwhen (GainsHumility("Dead-Inside") or HellFreezesOver()) endloop |
| 06-16-2003, 11:10 AM | #12 |
So I'm not allowed to make jokes in a serious thread anymore? Jackass. Anyway... I understand how programming "works", I don't know what to type. Edit: I said nothing about me being a programmer, I never said I knew how to program either. I said I understand how it works. And the courses they take are for you to understand how programming something works. Like the loop you did yourself. Regards |
| 06-16-2003, 11:23 AM | #13 |
To avoid missunderstandings please read: "Ground Rules -=Read Before Posting=-" http://www.wc3campaigns.com/forums/s...threadid=11771 |
| 06-16-2003, 03:58 PM | #14 |
it seems you have misunderstood me. I learned enough VB to program reasonably well in a week or so, then i learned java in two weeks. But the language isn't the essence of programs. The thing programmers have to study is the way programming effects the computer, and how to minimize stress on it (efficiency). Although it seems like JASS enables you to do amazing sh!t with world editor, there really isn't all that much that you can't work around in WE. The main purpose of learning JASS (other than to make AI) is to minimize cpu stress so you can have more stuff going on at once. for example: if you want a for loop to eecute several commands in GUI you have to make either multiple for loops or a second trigger. but using jass to minimize stress so you can have your game running on slower computers you can puut it all into one for loopusing JASS, not causing the loop function from being asked for multiple times (or the trig2 function if you did the latter). |
| 06-16-2003, 04:40 PM | #15 |
I most say that I fail to grasp your point piRo-piOn. I believe that you can do most things in the WE without using Jass (exept scripting AI), but a lot of things is just easier to do when using Jass and I fully agree with your example. I think that it is necesary to basic programming if one want to improve performance by using Jass, which you suggest as a major reason for using Jass. I wont deny though that it take some time and effort before you create triggers quicker with Jass than with the GUI, but at least you don't get confused by lot's of dialogs. They just give me a headache. :gsmile: I can't really see the problem with a 50 page tutorial, if you don't consider that it's quite some work to create. I also would be quite happy if those trying to learn Jass ask questions, but it would just be easier for them if they had a tutorial to start out with. |
