• 🏆 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!

Yixx vs Eccho

Status
Not open for further replies.
Level 17
Joined
Sep 8, 2007
Messages
994
OK, I know that I will not have influence on the result ... but here is my review:



Eccho

Originality: 4/5

Nice spell, the effects and the progress itself looks nice. Though I am missing the convincing BOOM-effect, therefore 4/5!

Scripting/Code: 4.1/5

The code itself seems to be fine and very efficient. Some flaws though:

JASS:
set gg_trg_Earthpummel = CreateTrigger()
Should be:
JASS:
local trigger Earthpummel = CreateTrigger()

Be careful,
JASS:
IsUnitType
Could cause bugs if not put == false/true behind.

The only things I would criticize on the coding style are...
1.) Constants should be capitalized (CAPSLOCK FTW)
2.) Some variables names are unclear, hard to understand what it is for observers.

All in all, this is only worth of -0.9 points so 4.1/5!

Tooltip/Correct language: 4.7/5
"These are stunning enemies for a short period of time and as well dealing additional damage upon destruction"
Should be: These are stunning enemies for a short period of time and deal additional damage upon desctruction as well.
Meeh, we won't be too serious with this here. -0.3.

Result:

4 + 4.1 + 4.7 = 12.9/15 = 25.8/30


------------------------------------

Yixx

Originality: 3.4/5

Well, the idea itself would be really good, though the eyecandy - as you said - is not the best right now :/ Therefre -1.6.

Scripting/Code: 4.5/5

JASS:
set t = null
Don't nullify local triggers. Why? Because.

JASS:
local RockSmashData dat = RockSmashData.create(GetTriggerUnit())
can be remade into
JASS:
call RockSmashData.create(GetTriggerUnit())
. So you won't have to create a local variable, saves maybe 1 or 2 nanoseconds x)

For the coding style:
Some variables are defined unclear, hardly understandable for observers.

All in all this is only worth -0.5 I guess...

Tooltip/Correct language: 4.7/5
"If any shatters hit an enemy, they might get stuck in them, and do damage."
Should be: If any shatter hits an enemy, they might get stuck in them, and cause damage.
Here too - not too serious, so: -0.3.

Result:

3.4 + 4.5 + 4.7 = 12.6/15 = 25.2/30


Very close, but I would say Eccho wins.
 
Level 23
Joined
Nov 29, 2006
Messages
2,482
Hehe :p I can answer on some of those.
The code itself seems to be fine and very efficient. Some flaws though:

JASS:
set gg_trg_Earthpummel = CreateTrigger()
Should be:
JASS:
local trigger Earthpummel = CreateTrigger()
Is that really a flaw? To be honest, the global is created whether I like it or not, so I might as well use the global. It's not a very huge hazzle ;)

Be careful,
JASS:
IsUnitType
Could cause bugs if not put == false/true behind.
Aye I know about it. And I did actually ask Poot about it. It seems like, rather, that it is bugged when using the if conditions as boolexprs, thus they don't have the same qualities as a regular boolean. (eg, I think GUI compiling uses BooleanAnd() and BooleanOr() which is unsafe.)

The only things I would criticize on the coding style are...
1.) Constants should be capitalized (CAPSLOCK FTW)
2.) Some variables names are unclear, hard to understand what it is for observers.
1) Should or should yeah. Usually they are, I tend to think it looks better decapilized. It's a matter of preference, really. But you're right, usually constants are declared in caps lock:p
2) ok. I can buy that

And yes, the tooltip was meh:p I agree

Thanks however :D At least you put some constructive criticism (compared to rmx >.>)
 

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,191
Well for some reason I can not get Yixx's to work reliably.

As far as I can understand, its meant to channel a bolder, and when it arrives it explodes into shards. If the shards touch a unit, they deal damage over time.

Yet all it does is the shards pass straight through the unit dealing no damage at all. By increasing spell level to 3 and upping the shard area size to 125, the same happened. The best I saw was the odd unit here and there getting hit every few casts, but still there was no possiable logical understanding for how the spell is meant to work from practice and as far as I can see it maybe perhaps will damage a unit after 100 casts but your better off attacking, even if the shard radius is 500. Yes this is with 1.24.

Also if you cast the spell multiple times at once, multiple bolders form but when one hits, the rest dissapear due to channel being inturupted. Another bug with the spell.

Unless you can tell me how to reliably deal damage with this spell to a huge crowd of 20 units which are surrounding me melee without modifying the spell (like I tried and failed already), then I have no choice but to award the win to Eccho as your entry technically is disqualified for violating the spell rules and being too buggy for use.

Yes Ecchos may bug under some conditions like if the unit is already invulnerable or is being cast at by a channel or another custom spell, but atleast in the test map provided it functions as described without any noticable bugs.
 
Level 17
Joined
Sep 8, 2007
Messages
994
Well for some reason I can not get Yixx's to work reliably.

As far as I can understand, its meant to channel a bolder, and when it arrives it explodes into shards. If the shards touch a unit, they deal damage over time.

Yet all it does is the shards pass straight through the unit dealing no damage at all. By increasing spell level to 3 and upping the shard area size to 125, the same happened. The best I saw was the odd unit here and there getting hit every few casts, but still there was no possiable logical understanding for how the spell is meant to work from practice and as far as I can see it maybe perhaps will damage a unit after 100 casts but your better off attacking, even if the shard radius is 500. Yes this is with 1.24.

Also if you cast the spell multiple times at once, multiple bolders form but when one hits, the rest dissapear due to channel being inturupted. Another bug with the spell.

Unless you can tell me how to reliably deal damage with this spell to a huge crowd of 20 units which are surrounding me melee without modifying the spell (like I tried and failed already), then I have no choice but to award the win to Eccho as your entry technically is disqualified for violating the spell rules and being too buggy for use.

Yes Ecchos may bug under some conditions like if the unit is already invulnerable or is being cast at by a channel or another custom spell, but atleast in the test map provided it functions as described without any noticable bugs.


Yup same problem here.
 
Level 16
Joined
Oct 12, 2008
Messages
1,570
I cannot say anything but "You guys are totally right" and "Congratulations Eccho"
So i shall do so,,
Congrats to you Eccho, and thanks for participating in this Challenge with me!

Next time i shall use a non-channel spell D:


EDIT: Next time, i should add some punishment for being late, as i still was undoubtedly late
 

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,191
Yixx, I forgot to say but therre was also some debuging multiboard left up, which is totally unnescescary for a spell.

I advise testing your spells more. I usually test my systems like 4-8 times before distributing, making sure everything appears to work flawlessly with them.

Spells in the end need to seem to fit seemlessly into the WC3 engine, eccho's sort of achives this, although the invulnerable / pause may cause issues with order queing. Upon use you have imediate and seeable results which can not be stopped or bug easilly in most circamstances.

Basically there ends up with 2 major flaws in yixx's spell. The unit could channel the same spell multiple times. To fix, each channel order while still channeling should overwrite the previous one and basically do nothing if its being channeled already. The actual effect was bugged as well. To fix, some code debugging is needed, as it hits sometimes which means it works under some conditions but not the desired ones. A final feature is, if the channeling is inturupted, it should cause the bolder to fade or explode instead of dissapearing, to make it look more visually apealing.

However, it still could be spell section worth if you correct the above, I advise you try working on it at a later date, as I heard you may be busy in the future for a bit.
 

Rmx

Rmx

Level 19
Joined
Aug 27, 2007
Messages
1,164
Ok fuck this, my vacation has been blown of for illness in the family, so ima fix the spell one of the coming days,, not for the Challenge purposes, but because i want to follow your guys' advices,,

Oh Oo sorry about you blowing vacation :p lol

I hope the sickness will run out :D ...

Anyway yes you should improve your spell ":D
 
Level 23
Joined
Nov 29, 2006
Messages
2,482
Yixx, I forgot to say but therre was also some debuging multiboard left up, which is totally unnescescary for a spell.
Which was completely my fault DSG. I gave it to him.


although the invulnerable / pause may cause issues with order queing.
It says that Pause shouln't break orders ;O


Ok fuck this, my vacation has been blown of for illness in the family, so ima fix the spell one of the coming days,, not for the Challenge purposes, but because i want to follow your guys' advices,,
I hope they get alright. It was unfortunate that it happend at this time of the contest :/
But thanks for a good fight anyway. You actually made me create a spell, for once^^
 
Level 16
Joined
Oct 12, 2008
Messages
1,570
Ok i got down to fixing the spell,, really quite easy actually, because what you guys saw as bugs, i saw as things fixed with cooldown of a spell. But now it is castable by one unit multiple times on the same moment without any interuption. Also i removed some stuff because the spell does not use 'IssueImmediateOrder' anymore when stopped.

Changes:
1) Added set i = i - 1 when destroying the struct, ask Dynasti why,,
2) Added functions to add 'Arav' (A.K.A. Storm Crow Form) to the dummy's
(This is what made the spell shit, REAL shit.)
3) Some code improvements and changed some (constant) Globals into (constant) Functions
4) The spell can now be used multiple times at the same time by the same unit.

Was about all, hope this pleases you guys more

EDIT: I didnt change the Eye-candy, for that is not my meaning. My intention was to follow your instructions on coding and bug-free-making.
 

Attachments

  • Test-Map.w3x
    106.7 KB · Views: 100
Level 23
Joined
Nov 29, 2006
Messages
2,482
Oh yeah, that looks indeed much much better.
The only thing I miss right now is:
*Some sound effects. The spell is awfully quiet ._.
*The damage. Is unit's still damaged D; Because they weren't when I tested The damage radius was indeed small.
*The tooltip. Both the learn and normal tooltip doesn't descibe anything od the damage dealt.

Otherwise, much better :]
 
Last edited:
Level 17
Joined
Mar 17, 2009
Messages
1,349
Well I checked Eccho's, although the idea isn't one of the bests... it's creative, original, and well-done.
Couldn't check Yixx's cause not only his scripts do use GetHandleId, but also uses hastables... and I don't think it's worth converting it to v1.23 and latter...
 
Level 17
Joined
Mar 17, 2009
Messages
1,349
WOW Yixx that's a great idea, only if made a bit differently! I mean, I know contest is done but what you can do is making it seem like he bumps the ground underneath him, make the piece of rock fly upwards with the effect of gravity, to reach its minimum speed in front of the point where he's supposed to hit it, AND BAM!

Can you picture what I'm talking about? :p
 
Status
Not open for further replies.
Top