wc3campaigns
WC3C Homepage - www.wc3c.netUser Control Panel (Requires Log-In)Engage in discussions with other users and join contests in the WC3C forums!Read one of our many tutorials, ranging in difficulty from beginner to advanced!Show off your artistic talents in the WC3C Gallery!Download quality models, textures, spells (vJASS/JASS), systems, and scripts!Download maps that have passed through our rigorous approval process!

Go Back   Wc3C.net > Town Hall > WC3C News
User Name
Password
Register Rules Get Hosted! Chat Pastebin FAQ and Rules Members List Calendar



Reply
 
Thread Tools Search this Thread
Old 07-19-2008, 05:44 PM   #1
Rising_Dusk
Obscurity, the Art


Projects Director
Project Leader: OD
 
Join Date: Feb 2006
Posts: 9,729

Submissions (27)

Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)

Hero Contest #3 - 1st PlaceApproved Map: Desert of ExileApproved Map: Advent of the ZenithHero Contest #2 - 1st PlaceHero Contest - Third place>

Send a message via AIM to Rising_Dusk Send a message via MSN to Rising_Dusk
Default Hero Contest #2 - The Verdict

HERO CREATION CONTEST #2

RESULTS


So, remember that second hero contest? Well all of the judging finally was finished, please extend a hand of thanks to Vexorian, Captain Griffen, and erwtenpeller for (finally) finishing all of their parts in the contest. As I type this right now, I don't even know who won because I haven't added up the numbers, but by the time I reach the bottom of this post I sure hope I'll find out. The suspense is killing me, but let's go; the judgments are listed in order of their submission. All judgments will be scaled out of 1000 for purposes of adding them together as being all equal. The winners will be decided by the highest score. (Public poll only chose the top 5, the judges decide the order)

Design Judgment
Theme-actic synergy, tactical synergy, originality/interest, fitting-ness, general awesomeness/style/tilt
~Captain Griffen
Bonecrusher

Theme-actic: 7 (all fits nicely, except the roaring business...)
Tactical: 8 (fits nicely together)
Origin/Inter: 7 (charge, knockback, and mount are all and interesting, if the first two aren't original)
Fitting: 5 (lost marks here due to the mass-spam-shout, and partially the knockback - interuption heaven)
Awesome: 7 (charge and upper cut work well together, and mount fits well; everything fits nicely, except that roar which looks crap when getting attacked)

Total: 34


Ogre Clan Shaman

Theme-actic: 8 (fits nicely, nothing feels out of place)
Tactical: 7 (almost fits together properly, but they just seem to not quite work full together; still good though)
Origin/Inter: 8 (an interesting hero to play, certainly, with some original ideas)
Fitting: 6 (not so good here; doesn't really fit as a melee hero; it's just too different, but still okay here despite that)
Awesome: 7 (you have sleep; how awesome is that? But seriously, I liked the hero, but it didn't feel as together as blizzard heroes do)

Total: 36


Tidal Lord

Theme-actic: 4 (none of this fits with the theme of a tidal lord except drown? Arcane, Water, Arcane, Magical (Arcane?); seems like the artist and coder were on different pages)
Tactical: 7 (abilities go nicely together, except the silencing after they cast a spell; since you can just steal all their mana anyway
Origin/Inter: 6 (interesting abilities enough abilities, with some originality)
Fitting: 4 (the ultimate is insane, it's far too focused vs. caster armies, and can shred whole armies in seconds)
Awesome: 6 (it fits together okay overall, and the feel is good)

Total: 27


Hakkari Overlord

Theme-actic: 7 (all fit nicely, except for the apparently totally random switch to air?)
Tactical: 5 (I might be missing something, but the abilities just don't seem to work nicely together)
Origin/Inter: 7 (has some interesting and original abilities there)
Fitting: 5 (killing oneself, and one's troops is meh; Crimson's Copy's slow animation less gives temporary invulnerability and puts the hero out of action needlessly; gale of winds harms micro)
Awesome: 5 (fits together not great, and the feel is a bit...meh)

Total: 29


Incubus

Theme-actic: 6 (why is it called arcane burst, when it's on a demon hero and looks demonic...? Fits nice enough though...the spell shield doesn't fit with the theme in the way it is done, though)
Tactical: 6 (synergy between the AoE/charge, but lacking apart from that (close and blast))
Origin/Inter: 8 (I liked the AoE ability particularly; the spell shield was nice too, but the ultimate is just blargh)
Fitting: 5 (okay, would have been better if you hadn't have gone and put in a one-target-insta-kill ability)
Awesome: 7 (feels nice, fits together pretty well)

Total: 32


Art Judgment
I'm going to be paying attention to quality and intergration, with a priority for intergration. Intergration in this mainly means that everything fits well together on the hero itself, and more importantly, fits well into the envoiroment. As a sort of bonus/misq catagory i'll be using originality/awesome.
~erwtenpeller
Bonecrusher

The animations are smooth and properly timed. The spell effects that go with each move are chosen well and emphasise whats going on quite well. Especially the animation to call the wolf is just awesome, and fits really well into the whole orc vibe with the spirit-wolf-esque sommoning.

I cant actually find anything wrong with it, the execution is flawless.
I give this a 10 out of 10.


Ogre Clan Shaman

Texture came out quite good. Especially the colors fit in perfectly, and the tats. However when you look at the portrait and look at it up-close, its a little bit blurry and "soft" wich puts its slightly out of place. The whole feel of the hero came together quite good though, the spell effects make sense for it, wich makes for a smooth ride.

Well executed hero, texture is a tad too "Fuzzy".
I give this an 8.5 out of 10.


Tidal Lord

Wounderfull job, quite an original model. I quite like the shape of the head.
The particles on it move too fast, however. With a water themed dude you'd expect something a little more dosile. I understand that you had to work with the firelords animations, but you could have made the little blue globes at least stand out a little less, as they are now they're a little bit annoying. The texture choices look a little off as well, the colors of the body dont mix that well with the teal armor, allthough it does mix well with the rusty shoulderpads. The shoulderguards give it a little bit of a classy roman look with is quite cool. Two major turnoffs for me where the lack of jaw animation in the portrait and the choice to use revenats for the summons. Why are they not just water elementals? would have made a lot more sense and it would have looked better.

The model is nice, but the texture and intergration with the firelords animations could be better.
I give this a 7.5 out of 10.


Hakkari Overlord

The biggest plus i can give this is that it has a nerrative introduction. The texture doesnt really fit into the envoiroment and is of dissapointing quality. The model doesnt really help the idea either. The spell effects are extremely poorly chosen. The voice set doesnt make any sense for this hero either.

Not perticulairly well-crafted in any catagory.
I give this a 5 out of 10.


Incubus

The model looks quite cool, i like the burning bones with fleshy upper half idea, thats quite cool. The portrait is well-stretched as well, the used texture looks sufficiently diffrent, reminds me of hellboy. However the lack of a moving jaw in the portrait animations bothers me. (again.) I also dont really like the particles, theres not enough going on there and they look too dominant. The animations transferred a bit weird at times as well, beastmaster may have done a better job. Last but not least, i fail to see how this hero has anything to do whatsoever with incubusses...
The last big turnoff was the spells. The spellshield lacked an art alltogether, and the ultimate didnt use a casting animation. I cant help but feel this entry was rushed.

Cool model, but misses the point, and looks unfinished.
I give this a 6 out of 10.


Extra Comments

Honerable mentions to:
The Ancestral Guardian, a custom model where the jaw actually moves! In my personal opinion this would have gotten a 9.5, its a fantastic model.
The Divinder for the blessed hammer spell, i thought that was quite cool, reminded me of d2.
The Fel Shaman for having a pretty neat idea, but sadly it needed more Cubone.


Code Judgment
(Per spell)
Reusability 10
Cleanness 10
Efficiency 20*
Robustness 20*
Quality 20
* Begin at 20.

(Per map)
Code reuse 20
~Vexorian
Bonecrusher

Code:
1. ConeBrusher (193/340)
--------------
 a. Uppercut (47/80)

    Cleanness: (4/10)
    * Zero comments. (-2)
    * Correctly scoped. (+7)
    * direct GC usage makes it hard to understand, it actually uses a GC library, the library could just provide those functions, these things get inlined anyway so there would be no trade off in performance. (-1)
    
    Reusability (2/10)
    * Some config options, though the only thing you can make dependent on the level is damage. +7
    * No way to know you need to copy that Cache library -2
    * Won't let people change Medivh's crow form, should have been an option. -1
    * No comments whatsoever on what the values mean. -1
    * I think it is better to make the effect depend on the ability's effect fields (since it is possible to) , allows the user to browse for models and have a preview. -1
    
    Efficiency (18/20)
    * Gamecache usage in a 0.035 seconds periodic timer (critical), so far there are many alternatives to this, could have done better than that (-2)
    
    Robustness (13/20)
    * For example, you can use it to take units to locked places, there are holed forests all over the map, sounds a little odd to be able to use it on a melee game, you could doom the enemy's hero, that's however more of a balance issue, the real problem comes when you use it to throw a unit to water or other unpathable area, the unit will be teleported to land, looks quite bad, I think it was planned to be a parabola throw, so it doesn't look like something planned. (-2)
    * "DestroyTimer" (-5) 
    * Ignores the fact the victim could die during the flight, however I was unable to create a glitch from this, all melee units either leave corpses or take too long to be removed.


    Quality (10/20)
    * It is the usual knockpack with parabola spell, done a lot of times, the code is simple, almost straightforward.


 b. Charge (48/80)

    Cleanness: (6/10)
    * Some comments, looks like they mildly describe what each function does, quite few information for someone reading it though. (+1)
    * Correctly scoped. (+7)
    * It is a large mess (-1)
    * direct GC usage makes it hard to understand, it actually uses a GC library, the library could just provide those functions, these things get inlined anyway so there would be no trade off in performance. (-1)
    
    Reusability (2/10)
    * Various config options, though the only thing you can make dependent on the level is damage. (+7)
    * No way to know you need to copy that Cache library (-2)
    * No comments whatsoever on what the values mean. Most of them can be understood from the name, but specially the Knockback inertia stuff should have had a comment explaining (-2)
    * I think it is better to make the effect depend on the ability's effect fields (since it is possible to) , allows the user to browse for models and have a preview. -1
    
    Efficiency (15/20)
    * Conditions instead of actions (+1)
    * Using GroupEnums on a temporary group, inside a periodic timer [leaks] (-4)
    * Gamecache usage in a 0.035 seconds periodic timer (critical), so far there are many alternatives to this, could have done better than that (-2)
    
    Robustness (8/20)
    * "DestroyTimer" (-5) 
    * "DestroyTrigger" (-5) 
    * In all seriousness, this dynamic trigger + timer combination is volatility at its finest, there are better ways to do this, the dynamic trigger is there only for what? detecting when you stop channel? (-1) Not to mention the mission key stuff. (-1)
    * If during the charge the hero gets stunned or something else that would stop him to continue casting the charge that isn't an order, the stun will get ignored, it needed a single EVENT_UNIT_SPELL_END event, not FINISH + ORDER events. (-1)

    Quality (17/20)
    * You don't get to see it while playing it, but this is a heck complex spell, very long and a lot of things to do. I'd say that's the cultprit for the low scores above.
    
 c. Fury (45/80)

    Cleanness: (6/10)
    * Another one with zero comments. (-2)
    * Correctly scoped. (+7)
    * It is quite understandable though (+1)
    
    Reusability (4/10)
    * Some config options, though the only thing you can make dependent on the level is the chance. (+7)
    * No way to know you need to copy that Cache library (-2)
    * I think it is better to make the effect depend on the ability's effect fields (since it is possible to) , allows the user to browse for models and have a preview. (-1)
    
    Efficiency (12/20)
    * It is doing gamecache attaching for absolutely no reason, could just use GetTriggerUnit() instead of d.caster there. An unnecessary GC call per hit done to the hero, can't cope with that. (-5)
    * One trigger per instance, no cleaning whatsoever, it works for the intended purpose though, a melee hero spell, heroes never get removed in a melee setting.
    
    Robustness (10/20)
    * Weak conditions, in melee you can unlearn spells by buying tomes of retraining, so try this: Learn level 1 Roar, buy a tome of retraining, unlearn fury and now learn something else, uppercut seems chessy enough. Even though there is no learned Fury, you will still have quite a big chance to do the roar+stun. (-10)
       
    Quality (10/20)
    * Register on learn, dynamic onDamage trigger, and mass AOE dummy caster, not very impressed, I think it could have been implemented better, even though since it was a hero spell for melee it kind of works since a player is going to have at most one instance + the unit is never removed, so leaks don't matter, but still.

 d. BattleSteed (35/80)

    Cleanness: (1/10)
    * Huge unused function, and struct, seems like the spell is incomplete? (-5).
    * Correctly scoped. (+7)
    * No comments (-1)
    
    Reusability (4/10)
    * Config options allow up to three bonus abilities, there is an unused duration one. (+7)
    * No way to know you need to copy that Cache library (-1, what's worse is that it is not really in use (-2)
    
    Efficiency (10/20)
    * Leaks a timer, gamecache entry, string and struct every time it is casted (-10)
    
    Robustness (10/20)
    * Another exploit bug, it trusts in spell effect to be triggered when the time runs off, so if the hero dies during the morph he will keep the bonus abilities... (-10)
       
    Quality (10/20)
    * Another simple spell, run an event twice and toggle added abilities.        
    
 e. Code reuse (18/20)
    * Uppercut's jumpparabola thing  may appear as an embedded function, but it is not used by the other spells, so no penalty here.
    * Cache library could do more than that to make the rest of the spells cleaner, it is a little dual to have a library requirement yet still remain quite low level. (-1)
    * Are pathing, Cache and utilities in the very same trigger? Ouch (-1)
    
        
  
Total: 193/340


Ogre Clan Shaman

Code:
2. Ogre (261/340)
--------------
 a. Crushing Blow (58/80)

    Cleanness: (4/10)
    * Correctly scoped. (+7)
    * 'bj_meleeNearestMine' this was cute back in the day you couldn't easily declare a global variable, now it is murder. (-1)
    * Check function is quite some mix between configuration and actual code that it doesn't make sense, I guess this reduces points here instead of in reusability? Either way (-2)
    * "boolexpr Boolexpr","group Group", "timer Timer", I think it could have been done better than that. (-1)
    * Few comments, at least they explain what each function does, I guess (+1)
    
    Reusability (8/10)
    * Why not let people choose effects from the object editor, considering they would even have a browser and all? (-1)
    * Some config options, two values might depend on level the dps and the final damage. (+7)
    * Why have non-config variables just in the middle of the config block? (-1)
    * There are comments explaining what the values do (+3)
    
    
    Efficiency (14/20)
    * Using GroupEnum** on a temporary group object (-4)
    * Once CrushingBlow's timer is started, it will never stop, looks like a bug  ((Counter < 0) shoulb be ==0 instead). (-2)
    
    Robustness (20/20)
    * I can't think of any source of issues but that bug that prevents it from stopping the timer, I decided that's better for a penalty in the efficiency section.


    Quality (12/20)
    * I like how easy it has become to make a self-recursive spell.
    * A couple of details don't hurt like the different effect for water. (+2)


 b. Enrage (63/80)

    Cleanness: (4/10)
    * Correctly scoped. (+7)
    * 'bj_meleeNearestMine' this was cute back in the day you couldn't easily declare a global variable, now it is murder. (-1)
    * "boolexpr Boolexpr","group Group", "timer Timer", I think it could have been done better than that. (-1)
    * Check function is quite some mix between configuration and actual code that it doesn't make sense, I guess this reduces points here instead of in reusability? Either way (-2)
    * Few comments, at least they explain what each function does, I guess (+1)
    * This sounds like a modus operandi.
    
    Reusability (8/10)
    * Why not let people choose effects from the object editor, considering they would even have a browser and all? (-1)
    * Some config options, two values might depend on level the dps and the final damage. (+7)
    * Why have non-config variables just in the middle of the config block? (-1)
    * There are comments explaining what the values do (+3)
    
    Efficiency (18/20)
    * Once again, the timer is never paused.  (-2)
    
    Robustness (18/20)
    * It is using the variable i in the function Actions twice, let's imagine that the ogre casts it, and there are less than 3 units already affected with it, it will iterate through dead or uninitialized elements in the array, if instead there are more than 3 units currently affected by Enrage, it might fail to remove the ability if it was of a different level than the new instance. IF the aura ability is of the stacking kind, this will allow a small boost for some time, I'd say it is good that the expiration timer removes all the ability levels... (-2)

    Quality (15/20)
    * Well it is interesting to see a custom scroll like spell work MUI and without crazy attachments, etc. 
    
 c. Runes (60/80)

    Cleanness: (4/10)
    * Correctly scoped. (+7)
    * 'bj_meleeNearestMine' this was cute back in the day you couldn't easily declare a global variable, now it is murder. (-1)
    * "boolexpr Boolexpr","group Group", "timer Timer", I think it could have been done better than that. (-1)
    * Check function is quite some mix between configuration and actual code that it doesn't make sense, I guess this reduces points here instead of in reusability? Either way (-2)
    * Few comments, at least they explain what each function does, I guess (+1)
    * This cleanness area is a CNP of the previous ones indeed I like the consistency... Well really, once you decrypt one of Dusk's spells in this map, the next become obvious.
    * This one spell could have really taking the OOP to the extreme, the rune onDestroy could have done the damage then Callback could have been very short. 
           
    Reusability (8/10)
    * Why not let people choose effects from the object editor, considering they would even have a browser and all? (-1)
    * Some config options, two values might depend on level the dps and the final damage. (+7)
    * Why have non-config variables just in the middle of the config block? (-1)
    * There are comments explaining what the values do (+3)
    
    Efficiency (18/20)
    * Speaking of consistency, guess what? The timer never ends (-2)
    
    Robustness (20/20)
    * Yeah, it is hard to find an error condition in this one.
       
    Quality (10/20)
    * This is the sort of spell you could have made entirely on the object editor, at least there was some effort on making the effects look nice though.

 d. Hybernation(60/80)

    Cleanness: (4/10)
    Reusability (8/10)
    Efficiency (18/20)
    Robustness (20/20)
    
    (Imagine I did a CNP from the text in Runes, perhaps put more emphasis on the 'consistent' things, really.)
    
    Quality (10/20):    
        It is *really* simple.

    
 e. Code reuse (20/20)
    * Well, nothing really that could count as embedded code, there are no libraries either, the spells are just made in a way that doesn't require things like casters or attachment.
    
Total: 261/340


Tidal Lord

Code:
2. Tidal (185/340)
--------------
 a. Drown (31/80)

    Cleanness: (-2/10) (considered as 0)
    * There's a scope, but it NOT correctly scoped, functions with very generic names like DeathActions and DeathConditions are neither public nor private (+4).
    * 'bj_meleeNearestMine' really, why do people do this? (-1)
    * Zero comments, at least some are used to separate things. (-1)
    * "WaterEssence_SFX","Drown" It should have been using SCOPE_PREFIX, gamecache labels need to be scoped (-1)
    * Config_Filter mixes configuration with code (-2)
    * onCreate???! (-1)

    
    Reusability (-1/10) (considered 0)
    * There are ways to configure everything, but no comments whatsoever explaining what each config field means. (+7)
    * The effects, are all hardcoded (-3)
    * No way to know you need to copy that Cache library (-2)
    * If you change Config_SummonID, it does not help DeathConditions work correctly, will be very hard to implement this spell correctly (-2)
    * Config_Duration is also ignored when drown is casted on a unit that was already affected by it. (-1)
    
    Efficiency (8/20)
    * DeathActions doesn't set the effect variable to null (-1)
    * GroupEnum*** used on a temporary group (-2)
    * How about instead of needing gamecache and doing risky/slow things, that effect was added to the summon through one of those abilities that can add effects? It would remove all the problems related to the Death trigger and gamecache and H2I. (-4)
    * Shouldn't the timer be stopped once there are no active instances? (-1)
    * It is leaking gamecache entries for that "Drown" key attached to every unit (-2)
    * The same goes for "WaterEssence_SFX" (-2)
    
    
    Robustness (16/20)
    * "GetCachedEffect (-4)"

    Quality (10/20)
    * One wonders if AOE parasite wouldn't have the same effect but perhaps that one would have been vulnerable to spell speal.


 b. Dampen (35/80)

    Cleanness: (1/10)
    * There's a scope, but it NOT correctly scoped, functions with very generic names like CastActions and CastConditions are neither public nor private (+4).
    * Zero comments, at least some are used to separate things. (-1)
    * "Dampen" It should have been using SCOPE_PREFIX, gamecache labels need to be scoped (-1)
    * onCreate???! (-1)
    
    Reusability (1/10)
    * There are ways to configure everything, but no comments whatsoever explaining what each config field means. (+7)
    * The effects, are all hardcoded (-3)
    * No way to know you need to copy that Cache library (-2)
    * Config_Duration will be ignored in a way similar to Drown's problem (-1)

    
    Efficiency (17/20)
    * It is leaking that "Dampen" key attached to every unit affected by the spell (-2)
    * Another one that doesn't pause the timer once it is not needed to run anymore (-1)
    
    Robustness (16/20)
    * Let's say Dampen is casted at some unit, the owner casts some form of dispel magic (since drunken haze is dispellable), the result is that for some time, Dampen will not affect the unit, it will be able to cast freely, then after these 8 seconds end, Dampen's buff will 'come back mysterously'  (-4)
    
    Quality (10/20)
    * Well, it's ok.


 c. Surge (42/80)

    Cleanness: (4/10)
    * Correctly scoped, except for the InitTrig (+6)
    * onCreate.... (-1)
    * Again using things like bj_meleeNearestMine barely saves you a variable declaration, but it makes the code more confusing. (-1)
    
    
    Reusability (1/10)
    * There are ways to configure everything, but no comments whatsoever explaining what each config field means. (+7)
    * The effects, are all hardcoded (-3)
    * No way to know you need to copy that Cache library (-2)
    * Config_Filter is a bunch of code, not configuration, (-1)
    
    Efficiency (12/20)
    * An AddSpecialEffectTarget in onCreate. (-2)
    * I think it was easy not to make those timers use gamecache (-2)
    * A dynamic group was used with the GroupEnum native (-1)
    * Another effect leak in Actions, one per unit actually (-3)

    
    Robustness (14/20)
    * "GetCachedUnit" (I2H) (-4)
    * DestroyTimer    (-2)
    
       
    Quality (11/20)
    * Besides of the other issues, I like all the efforts and tricks that were involved just to get a nice effect.


 d. Overpower (61/80)

    Cleanness: (5/10)
    * Only complaint would be the inittrig thing instead of a initializer, and the lack of comments (+5)
    
    Reusability (7/10)
    * There are ways to configure everything, but no comments whatsoever explaining what each config field means. (+7)
    
    Efficiency (20/20)
    * It cannot be more efficient, really.
    
    Robustness (20/20)
    * It is very simple, the order toggle trick just works.
    
    Quality (9/20):
    * Well, toggleable ability addition with immolation has been done many times.    

    
 e. Code reuse (16/20)
    * The ObjectCache library, it got "gamecache LocalCache = InitGameCache('jass.w3c')", wrong for some reasons: I think it should be private, considering nothing uses it directly. That's just not the way to initialize a gamecache, you need to first initialize, then flush it, then initialize again, for the reason that the Save gamecache native will save every gamecache in memory, this could bring problems in single player -2.
    * Speaking of ObjectCache, isn't it Handle Vars or AttachVars? Did we really need another pack of these functions with another name? (-1)
    * Why is its H2I not private nor public? It will get very hard to use this library in maps where it already is in use. (-1)
    
    
Total: 185/340


Hakkari Overlord

Code:
2. Hakkari (172/340)
--------------

 Ok, there's a problem, when I started reviewing stuff I designed the grading
guidelines thinking there would be four spells in the map and perhaps outer
library or something like that, but this one got all the spells in a single
scope, so grading each spell is not easy, instead of giving 80 to each spell,
I will give 320 to the big scope in which these things are included, and every
penalty/bonus like in the previous reviews will have 4x the value. Enjoy:


 abcd. All (160/320 )
    Cleanness: (7/40)
    * It uses a scope but it is not correctly scoped, incredibly common names
    like t,t1,t2,t3,t4 are not scoped (+15)
    * GetLastCreatedUnit(), UnitAddAbilityBJ, ForGroupBJ (and no usage of
    bj_wantDestroyGroup whatsoever), GroupAddUnitSimple, GroupRemoveUnitSimple,
    DestroyEffectBJ, "CreateNUnitsAtLoc( 1", SetUnitAbilityLevelSwapped,
    IssuePointOrderLocBJ, ShowUnitHide. (-10)
    * Indentation in some areas is quite screwed up (-4)
    * Comments that describe what each function does, and at least some that
    may allow to know what spell a function belongs to, certain ones inside
    functions describing a couple of confusing lines. (+12)
    * Let me penalize it for having all of the four spells' code inside a single
    scope, it has made it quite hard to follow, (-4)
    * Some conditions are GUIish, if(condition) return true else return false.
    A return (condition) is simpler (-2)
    
     It's annoying actually, this is so far the best commented of the pack,
    unless Anitarf's code (which I haven't looked at yet) is better commented,
    if it was scoped well, and the spells split, and the BJs gone - things that
    require much less effort than commenting - it would have gotten near 40.
    
    Reusability (-4/40) (considered 0)
    * All in one scope, this means that to effectively implement just one of the
    spells a person will have to do a lot of tweaking or remove code herself, on
    one hand, this makes it easier to implement all four spells, but it just
    makes it easier in the sense that you paste one trigger instead of 4,
    something that could be accomplished by simply copying the whole category,
    in the other hand it makes things hard for those who only want one spell...
    (-12)
    * You can change the rawcodes. (+8)
        
    Efficiency (40/80)
    * FirstOfGroup loop + CountUnitsInGroup!=0 , this is something that requires
    some thought, first of all, if the exitwhen condition was FirstOfGroup==null
    the whole loop would take N steps, where N is the initial number of units
    in the group. Now, think of calling CountUnitsInGroup in the exitwhen
    instead, CountUnitsInGroup actually iterates the whole group using ForGroup,
    there are N calls to CountUnitsInGroup and each of them requires N-i steps,
    where i equals the number of times the main loop was iterated, this ends up
    giving a total of ((N+1)*N)/2 visits to the group, in other words the loop
    is much, much slower than it could have been. (-8)
    * GetUnitsInRangeOfLocMatching: This function leaks and uses a dynamic group
    on a call to an enum function, (-16)
    * GetUnitsInRectMatching: ditto (-16)
    
    
    Robustness (68/80)
    * dynamic trigger in _Summon_ , it was quite avoidable, it is just a timer
    event (-4).
    * GetLastCreatedUnit() is actually a global variable, there are chances
    casting crimson copy would sometimes make a random recently created unit
    change in scale. (-8)

    I didn't really go fishing for bugs on this one, by the time I got to this
    section the score was already low enough.

    Quality (45/80)
    * The higher-than-40 comes from Crimson Copy, a little complex to accomplish
    but the final effect is very nice, the rest were just ok spells. 
    
 e. Code reuse (12/20)
    * It got a whole damage system embedded in the scope -8.
Total: 172/340


Incubus

Code:
2. Incubus (270.5/340)
--------------
 a. Consume Soul (55/80)

    Cleanness: (6/10)
    * Lacks comments, though commenting it would have probably been too much.
    * Correctly scope (+6), But I think it should use a initializer instead
    of initTrig stuff.
    
    Reusability (9/10)
    * I appreciate that it sets to tweak the factor based on level. 
    Perhaps some comment was necessary but the three values are named
    descriptively enough. +9
    
    Efficiency (20/20)
    * It's impossible to have an objection, the code is so short and no change
    would probably make any impact.
    
    Robustness (20/20)
    * The same as robustness
    
    Quality (0/20)
    * Really, instant kill + increasing life/mana. Ok..., I think it should at
    least put a special effect or something, either way, I think a modified
    life steal ability would have done exactly what this does but even look
    better. Accept it, the only reason it has got such big score in the above
    areas was that this is ridiculously simple for a spell, so I better put a
    cero here to balance stuff.
    
 b. SpellShield (67/80)

    Cleanness: (5/10)
    * Lacks comments (-1)
    * Correctly scope (+6), But I think it should use a initializer instead
    of initTrig stuff.

    
    Reusability (10/10)
    * You know, with the code here everybody has a unit point - target ability
    already.
    
    Efficiency (20/20)
    * Could have been a little better without creating a caster or anything,
    but it doesn't really have a valid effect for me to complaint. 
    
    Robustness (20/20)
    * Can't think of it breaking.
    
    Quality (12/20)
    * Could use some reasoning similar as the last one, but although the code
    is very simple, the trick of using an almost-unknown rune AOE spell to do
    the spell block for free is clever.
    
-- As if two different guys made the spells, the next two spells' codes are huge
and full of complication, at least it is funnier this way than reviewing dusk's
spells yeah all 1 of them.     
    
 c. ArcaneBurst (60/80)

    Cleanness: (5/10)
    * Correctly scoped. (+7)
    * Everybody should take a look at this spell, every struct does more than
    just storing data for attachment, the spellinstance creates eyecandy stuff
    which independently do the movement stuff.
    * Lacks comments. (-2)
    
    Reusability (6/10)
    * A bunch of config options, commented , the functions could use some
     comments, but their names are descriptive enough. +7.
    * Again it would be easier for people to change the effects if instead of
    constants we used AddSpellEffectById, let them use the object editor to
    change these things, they will have a model browser with viewer and all (-1)
    
    Efficiency (16/20)
    * .update is declared bellow .create, when you use "spellInstance.update" in
    a TimerStart call inside create, it will create a timer that every
    UPDATE_PERIOD will call TriggerEvaluate, this is a small detail that could
    have been easily fixed by moving .update above .create . (-2)
    * That .update things happens twice (-2)
    * There's a O(n) search, but with a trick, notice that this is a melee spell
    and in this case n is the number of simultaneous instances, for starters
    this cannot go over 12, but I'd say it is quite hard to have 3 instances of
    this short spell at the same time.
    
    
    
    Robustness (18/20)
    * That preloading method... It shows the effect. For example if there was
    a player near (0,0) and the effect was something with a longer dead
    animation the player would get to see that effect, I also can't help but
    wonder what would happen if more than 3 spells used that method for
    preloading, the game has performance issues with overlapping models. (-2)
    * There's a glitch, it calls Animation from the CAST event. I am not sure
    if this is intentional, you can make the incubus do a funny animation for 
    free by pressing 't' then 's' quickly.
    * It is possible that it would call DestroyEffect on null or a dead effect
    I don't think this has any consequence though.
        
    Quality (15/20)
    * The usage of structs here is very good, someone should notice at the dummy
    recycling used in the eyecandy part. The spell itself is a generic
    channeling spell, but the eye candy stuff can get complex, and I like the
    implementation.


 d. Uppercut (72.5/80)

    Cleanness: (8/10)
    * A couple of comments separating the parts of the HUGE update method. (+1)
    * Correctly scoped. (+7)
        
    Reusability (7/10)
    * A bunch of config options, commented , the functions could use some
     comments, but their names are descriptive enough. (+7).
    
    Efficiency (19.5/20)
    * Perhaps the math could improve, I have no idea. I just feel guilty I
    cannot justify more reductions than that -0.5.
    
    Robustness (20/20)
    * Again with that SPELL_CAST stuff.
    
    Quality (18/20)
    * When you look at the spell in game it is quite cool, the code is better
    in the sense on how it was implemented. It is also quite a complex spell in
    which you move the caster and victim. 

    
 e. Code reuse (16/20)
    * So many dummy stuff is inside the spells' code. (-4)
Total: 270.5/340


Extra Comments

They say numbers don't lie, I still don't get why Anitarf won, I blame it on the by-design broken grading rules I made.


The Verdict
What the last five million words in this post actually mean to you...
Design score is out of 50, so it has a scale of x20, art is out of 10, so the scale is x100, and code is out of 340, so the scale is x2.94~.
~Rising_Dusk
Bonecrusher
  • Design: 34/50
  • Art: 10/10
  • Code: 193/340
  • Scaled: 680 (Design) + 1000 (Art) + 567 (Code)
  • Total Score: 2247
Ogre Clan Shaman
  • Design: 36/50
  • Art: 8.5/10
  • Code: 261/340
  • Scaled: 720 (Design) + 850 (Art) + 767 (Code)
  • Total Score: 2337
Tidal Lord
  • Design: 27/50
  • Art: 7.5/10
  • Code: 185/340
  • Scaled: 540 (Design) + 750 (Art) + 543 (Code)
  • Total Score: 1833
Hakkari Overlord
  • Design: 29/50
  • Art: 5/10
  • Code: 172/340
  • Scaled: 580 (Design) + 500 (Art) + 506 (Code)
  • Total Score: 1586
Incubus
  • Design: 32/50
  • Art: 6/10
  • Code: 270.5/340
  • Scaled: 680 (Design) + 600 (Art) + 795 (Code)
  • Total Score: 2075
Uh, wow. So I really wasn't expecting that result, to be totally honest. It was ridiculously close when I was calculating the numbers, so I had to quadruple check my numbers. This is what it is, though. I guess this places the ranks as follows:
FIRST PLACE: AnemicRoyalty / Rising_Dusk
2337/3000
SECOND PLACE: Chriz. / Here-b-Trollz
2247/3000
THIRD PLACE: TDR / Anitarf
2075/3000
Congratulations to all of the winners and all of the participants, you've shown me that this hero stuff is really popular and that WC3C still has some serious kick to its bite!
__________________
Rising_Dusk is offline   Reply With Quote
Sponsored Links - Login to hide this ad!
Old 07-19-2008, 06:10 PM   #2
erwtenpeller
*****istrator
 
erwtenpeller's Avatar


Art Director
 
Join Date: Nov 2003
Posts: 8,759

Submissions (35)

erwtenpeller has a brilliant future (926)erwtenpeller has a brilliant future (926)erwtenpeller has a brilliant future (926)erwtenpeller has a brilliant future (926)erwtenpeller has a brilliant future (926)erwtenpeller has a brilliant future (926)erwtenpeller has a brilliant future (926)erwtenpeller has a brilliant future (926)

Skinning Contest 7 ~ Were-AnimalsConcept art session 3 - Dungeon

Default

Grats dude
__________________
erwtenpeller is offline   Reply With Quote
Old 07-20-2008, 03:13 AM   #3
Kyrbi0
AKA Khyrberos
 
Kyrbi0's Avatar
 
Join Date: May 2008
Posts: 2,943

Submissions (1)

Kyrbi0 is a jewel in the rough (166)Kyrbi0 is a jewel in the rough (166)

Send a message via MSN to Kyrbi0
Default

Awexome. Great work, all involved. Although Dusk...

Quote:
Originally Posted by Rising_Dusk
...and that WC3C still has some serious kick to its bite!

??? Makes me imagine a boot with teeth... That'd be one painful kick. :P
__________________
My Projects, Resources, + Tutorials: ~Just got back from my mission. Glad to be back. Woot! :P~
=It was brought to my attention recently that the ":P" icon stands for "tongue-sticking out", and not the "smirky half-smile" I was using it for all these years. = Thusly I apologize for any unintentional juvenilization of my messages to anyone so afflicted.=

Last edited by Kyrbi0 : 07-20-2008 at 03:13 AM.
Kyrbi0 is offline   Reply With Quote
Old 07-20-2008, 07:35 AM   #4
Fulla
Evil Overlord
 
Fulla's Avatar
 
Join Date: Jan 2006
Posts: 1,416

Submissions (3)

Fulla has a spectacular aura about (79)Fulla has a spectacular aura about (79)Fulla has a spectacular aura about (79)

Default

Congratz!

Judging seem pretty accurate after going over them, so although a long wait, well worth the time.
__________________
Fulla is offline   Reply With Quote
Old 07-20-2008, 07:41 AM   #5
Av3n
Roar!
 
Av3n's Avatar


Project Leader: TBR
Project Member: PoC
 
Join Date: May 2006
Posts: 1,853

Submissions (7)

Av3n is a jewel in the rough (240)Av3n is a jewel in the rough (240)Av3n is a jewel in the rough (240)Av3n is a jewel in the rough (240)Av3n is a jewel in the rough (240)

Hero #4 extra-official winner2008 Spell olympics - Fire - BronzeHero Contest #3 - 3rd Place

Default

GJ to the final five and congrats to rising plus anemic

-Av3n
__________________

Thanks to FatherTime for the sig
.:
Current ProjectsSubmissions
Power of CorruptionMy Terrain
The Black RoadMy Resources
Strikeforce
Twitter
Av3n is offline   Reply With Quote
Old 07-20-2008, 07:42 AM   #6
darkwulfv
Alpha Male of Wc3c
 
darkwulfv's Avatar


Official Map Reviewer
 
Join Date: Mar 2006
Posts: 3,646

Submissions (6)

darkwulfv is just really nice (270)darkwulfv is just really nice (270)

Send a message via AIM to darkwulfv
Default

Hmm, some of those code comments seem like things people wouldn't have known to have fixed during the contest. Although not commenting code? Tisk tisk, especially config. functions.
__________________
The Spell Request Thread
Quote:
Originally Posted by Joe-Black-5
a dota like map but with unique stuff
(There was no map attached, and that was all the thread said.)
Spells I've Made

Darkwulfv's Lightning Grapple || Tritanis' Lazy Bolt

darkwulfv is offline   Reply With Quote
Old 07-20-2008, 11:15 AM   #7
TDR
♪♫
 
TDR's Avatar


Modeling & Gallery Moderator
 
Join Date: Aug 2004
Posts: 4,481

Submissions (84)

TDR has much to be proud of (701)TDR has much to be proud of (701)TDR has much to be proud of (701)TDR has much to be proud of (701)TDR has much to be proud of (701)

Hero Contest #2 - 3rd PlaceConcept art session 6 - Sea dwellersModeling session 3 - Critters

Default

haaaa fuck yes! Awesome dudes, congrats to all!

BUT...not that I have an objection or anything, my god I'm not like that, but why does everyone seem to have a problem with our dude being called an incubus? You see succubus everywhere being impersonated as vicious demon chicks when in fact it's just like the incubus, but female...nothing more than a spirit that rapes you at night...yet no one seems to have a problem with that. Just checking.
__________________
TDR is offline   Reply With Quote
Old 07-20-2008, 12:09 PM   #8
erwtenpeller
*****istrator
 
erwtenpeller's Avatar


Art Director
 
Join Date: Nov 2003
Posts: 8,759

Submissions (35)

erwtenpeller has a brilliant future (926)erwtenpeller has a brilliant future (926)erwtenpeller has a brilliant future (926)erwtenpeller has a brilliant future (926)erwtenpeller has a brilliant future (926)erwtenpeller has a brilliant future (926)erwtenpeller has a brilliant future (926)erwtenpeller has a brilliant future (926)

Skinning Contest 7 ~ Were-AnimalsConcept art session 3 - Dungeon

Default

Yes but you see, something with a skeletal underbody doesnt perticulairly strike me as something that seduces wimans at night. It strikes me as something that especially can't "seduce" wimans.
__________________
erwtenpeller is offline   Reply With Quote
Old 07-20-2008, 04:23 PM   #9
Pandamanana
User
 
Pandamanana's Avatar
 
Join Date: Jun 2007
Posts: 27

Pandamanana has little to show at this moment (4)

Default

Hax. Skullcrusher 4 ever!!!!
__________________
mmm tastey!
Pandamanana is offline   Reply With Quote
Old 07-20-2008, 11:55 PM   #10
Pyrogasm
Lackadaisically Absent.
 
Pyrogasm's Avatar


Respected User
 
Join Date: Sep 2006
Posts: 4,520

Submissions (9)

Pyrogasm is a splendid one to behold (638)Pyrogasm is a splendid one to behold (638)Pyrogasm is a splendid one to behold (638)Pyrogasm is a splendid one to behold (638)Pyrogasm is a splendid one to behold (638)Pyrogasm is a splendid one to behold (638)Pyrogasm is a splendid one to behold (638)

Hero Contest - Fourth place

Send a message via ICQ to Pyrogasm Send a message via AIM to Pyrogasm Send a message via MSN to Pyrogasm Send a message via Yahoo to Pyrogasm
Default

Nice.
__________________
Quote:
Originally posted by Rising_Dusk
Your spells are mostly ignored because they are not very cool so we aren't very excited to review/approve them, but you are incredibly persistent and won't give us an excuse to graveyard it. That is generally what results in a resource being ignored for a long time.

The Spell Request Thread Done for, unless someone else wants to revive it...
It lasted a damn long time.

Please; Ask for Help Appropriately














Quote:
Originally posted by Kyrbi0
Huh. Almost makes me wish I had a girlfriend, to take advantage of today (wait, no, that's not what I meant... I mean, take advantage of the fact that it is international women's day... gah, never mind).
Quote:
Originally posted by Pyrogasm
Rome may not have been built in a day, but the Romans sure as hell didn't say "look at this great city we built guys!" when they had nothing more than a bit of stone and some cottages.
Pyrogasm is offline   Reply With Quote
Old 07-21-2008, 12:13 AM   #11
SeruK
I'm the One
 
SeruK's Avatar


Project Member: WotTH
 
Join Date: Dec 2005
Posts: 1,153

Submissions (8)

SeruK has a spectacular aura about (105)SeruK has a spectacular aura about (105)SeruK has a spectacular aura about (105)SeruK has a spectacular aura about (105)

Send a message via MSN to SeruK
Default

Quote:
Originally Posted by erwtenpeller
Yes but you see, something with a skeletal underbody doesnt perticulairly strike me as something that seduces wimans at night. It strikes me as something that especially can't "seduce" wimans.
TLDR: It needs a penus.
__________________
Halp: SKrumble '08! v1.8 Alpha BF2 "It's impossible, my trigger is perfect!"
SeruK is offline   Reply With Quote
Old 07-21-2008, 01:06 AM   #12
TDR
♪♫
 
TDR's Avatar


Modeling & Gallery Moderator
 
Join Date: Aug 2004
Posts: 4,481

Submissions (84)

TDR has much to be proud of (701)TDR has much to be proud of (701)TDR has much to be proud of (701)TDR has much to be proud of (701)TDR has much to be proud of (701)

Hero Contest #2 - 3rd PlaceConcept art session 6 - Sea dwellersModeling session 3 - Critters

Default

oh...
__________________
TDR is offline   Reply With Quote
Old 07-21-2008, 04:08 AM   #13
Here-b-Trollz
Corkscrew Chainsaw!!!
 
Join Date: Jun 2006
Posts: 711

Here-b-Trollz has a spectacular aura about (149)

Hero Contest #2 - 2nd Place

Default

Holy fuck Vex's coding section was brutal.... although so was the contest. To think, our entry almost didn't get in, and yet somehow we made 2nd.

YAY Chriz! 10/10 in art! If only the coding had been flawless -.-
__________________
By reading this signature, you agree that I cannot be held accountable for anything that I might say or do.
Here-b-Trollz is offline   Reply With Quote
Old 07-21-2008, 04:30 AM   #14
jigrael
Worker Ant


Project Member: PoC
 
Join Date: Oct 2003
Posts: 783

Submissions (36)

jigrael is a splendid one to behold (695)jigrael is a splendid one to behold (695)jigrael is a splendid one to behold (695)jigrael is a splendid one to behold (695)

Hero Contest #3 - 1st PlaceBattle Droids Model Competition Winner

Default

Finally. Well Im not very happy, but hey congrats to the winners!!.
__________________
Goodbye W3c. Great people and moments here. Time to move on
jigrael is offline   Reply With Quote
Old 07-21-2008, 05:37 AM   #15
Gorman
.▲▼▲&#9
 
Gorman's Avatar
 
Join Date: Apr 2007
Posts: 1,087

Submissions (2)

Gorman will become famous soon enough (70)Gorman will become famous soon enough (70)Gorman will become famous soon enough (70)

Send a message via MSN to Gorman
Default

Grats to all placers!

My fav was Incubus, so sad they didnt win =(

Too bad you lost points for the naming (or appear to have lost points for naming =\)

Averages and mean Deviations


Table:
Average score
(% of max score)
Mean Deviation
(% of max score)
Coding63.6%11.6%
Design63.2%5.8%
Art74%15.2%

It seems that the artists at WC3C are far better then then the coders (and the ability for the team to design). Either that or Erwt is far kinder then Griffo and Vex (not surprising actually ). Whatever the case, it was Art that was the make or break in this contest!

__________________
Gorman is offline   Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off


All times are GMT. The time now is 05:10 PM.


Affiliates
The Hubb The JASS Vault Clan WEnW Campaign Creations Clan CBS GamesModding Flixreel Videos

Powered by vBulletin (Copyright ©2000 - 2017, Jelsoft Enterprises Ltd).
Hosted by www.OICcam.com
IT Support and Services provided by Executive IT Services