![]() |
The Black Wyrm's Lair Terms of Use |
![]() ![]() ![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Master of energies ![]() Council Member Posts: 3324 Joined: 9-July 04 From: Magyarország ![]() |
Technical Contest #2:
"Complex behaviour" ![]() Introduction After more than 3 years, it's time for a brand-new Technical Contest! Welverin is the only person so far who achieved BWL's Technical Modding Cross. It's awarded to those people who are good in the practical or theoretical aspects of a certain field of IE mod development. I remember Welverin to be a good developer indeed, who also partipicated in one of the Total Conversion projects of the old TeamBG. However, I doubt he is the only member who deserves the Technical Modding Cross! The task Welverin solved was a very short one, but it required knowledge in a certain field of IE mod development, so no submissions had been received for a whole day (until Welverin solved it). The current task won't be easy either, but it's not terribly difficult. The topic of BWL's Technical Contest #2 (the present contest which thread you're just reading) is nothing else than AI scripting! Since this is a technical contest, it doesn't offer too many possibilities for creativity, but you can show how good you're in scripting and script optimization instead! The task We have a hostile Fighter, Archer, Cleric and Mage. All of them have AI scripts assigned, but the actual scripts for the Cleric and Mage are missing. In their present form, their default scripts just make them attack your party, the Mage and Cleric won't do anything useful. Your task is to implement their scripts (2 BAF files) precisely according to the task's specification. The task's specification is attached to the end of the present thread as a PDF file. Four creature files and three scripts are available, and there are two missing scripts (bwcc_m.baf and bwcc_p.baf). You can install (and later uninstall) these files as a WeiDU-based "mod" with the installer attached to the end of the present thread (testenv.zip). All you have to do is creating the two missing scripts and testing if they work in the game according to the specifications (requirements). Please read the attached specification for more information on the task, and feel free to ask any arising questions in this topic. Submissions The two BAF scripts (bwcc_m.baf, bwcc_p.baf) should be put into a ZIP or RAR package. You should send the package to the contest email address AND send me a forum private message (PM) here after you have sent the email. I will reply to the PM to confirm that I've received the submission. If you don't send a PM, the submission will be ignored. This is required because I might overlook the email otherwise. One submission is allowed, and you can send an additional, "replacement" submission within one day from the time you've sent the first one. The replacement submission (if sent within the one day limit) will completely replace the first one. Replacements sent after more than one day are ignored (but they don't invalidate the first submission). Submissions sent after the deadline won't be judged. All files in your ZIP or RAR submissions except bwcc_m.baf and bwcc_p.baf will be ignored, so please don't include anything else. The judge (probably myself, Baronius) will install your script files to the same environment as you have in the attached WeiDU-based package, and will test them in the game (and will also read the script sources). Please see the attached specification file for more information. DEADLINE: 31st July 2008, 24:00 GMT Scoring and guidelines The total score is 100. Most of it consists of minor parts, so you can get partial score for very many things. In fact, scoring will usually start with 100 and (a few) points will be decreased for each problem, glitch. The most important aspect when judging is the conformance with requirements. That is, if the requirement says "the Druid must summon a Wolf" and your solution summons a bear, you won't get full score for that part. (There is no Druid in the present contest.) The secondary aspect when judging is (unsurprisingly) elegance, concision, unique ideas. They don't matter nearly as much as the "conformance" (= accuracy) aspect, but they can mean bonus points to your total score. In case of "equally" conform solutions, this aspect might be used to make a difference between them (but, of course, this aspect matters in other cases too). To sum up, focus on a "good" solution even if it's "long", instead of a "cool" solution that has "wrong" parts. In order to get the Technical Modding Cross, the winner must have at least 70 points (from 100). Award The winner (or winners, depending on the number of participants) will get no less than the Technical Modding Cross of BWL, provided he or she has at least 70 points. ![]() There will be other prizes as well. We will probably give BWL forum portraits (from our Gallery) and custom subtitles too. Hints If you know the basics of scripting in IE mod development and want to practise a bit, don't hesitate to enter! As written above, we give partial score in very many places, so you won't get 0 points if your solution doesn't work perfectly. Although it's limited and doesn't introduce a lot of fields of scripting, this task can still be a good practice! ![]() A few very useful hints:
![]()
Attached File(s)
-------------------- Mental harmony dispels the darkness.
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Master of energies ![]() Council Member Posts: 3324 Joined: 9-July 04 From: Magyarország ![]() |
QUOTE "That is, instead of following the usual priority order (i.e. instead of restarting from Step 1), the conditions of Step 3 must be evaluated." I think the requirement is clear enough, but could you explain why you think both step1 and step2 will be necessarily false anyway? It will be considered as a hint to other participants, so no problem if we discuss that certain case here (but only this one).OK another question on the same topic, can he check steps 1 and 2 (they will be false), before he evaluates step 3? Or does he have to go directly to step 3 without checking anything else? One important note: any solution that meets the requirement will be given full score (for each requirement), so the primary scoring guideline isn't "how close is the submission to the reference implementation" (as always, it might be possible to make more elegant solutions than the reference one -- participants have more time for implementation than I had ![]() QUOTE "If the Archer is alive, but is feebleminded and/or blinded, he casts Cure Disease on the Archer." What is valid - AND or OR? The specification tries to follow natural language, but without ambiguities. In real speech, when we say OR, we usually mean exclusive "or" by that. On the other hand, in boolean algebra, A or B means "A or B or both are true". In written texts, and/or is meant to express that both the "everyday" AND and OR are allowed (so basically it's boolean OR). The answer to your question is: it's boolean OR in the specification. I answered this question because it applied to interpretation, not the solution. -------------------- Mental harmony dispels the darkness.
|
|
|
![]()
Post
#3
|
|
![]() Contributor Posts: 57 Joined: 6-April 05 From: Czech Republic ![]() |
QUOTE "That is, instead of following the usual priority order (i.e. instead of restarting from Step 1), the conditions of Step 3 must be evaluated." I think the requirement is clear enough, but could you explain why you think both step1 and step2 will be necessarily false anyway? It will be considered as a hint to other participants, so no problem if we discuss that certain case here (but only this one).OK another question on the same topic, can he check steps 1 and 2 (they will be false), before he evaluates step 3? Or does he have to go directly to step 3 without checking anything else? I don't think they will be false, I know they will be. It's ease to make them false, when I need it. But I will rather use different solution (where he will check directly step3) as this is still unclear to me. This post has been edited by Razfallow: Jul 1 2008, 06:12 PM |
|
|
![]() ![]() |
![]() |
Lo-Fi Version | Time is now: 7th June 2025 - 08:55 AM |