- Joined
- Sep 6, 2013
- Messages
- 6,742







Unique Summoning
Create a spell that summons one or many units in a unique way.
Eventually consider implementing a specific unit/s behaviour after summoning.
A good example is Tinker's Pocket Factory.
FinalScore = (30*PollVotes/POLL_VOTES_TOTAL) + (70*JudgeScore/JUDGE_SCORE_TOTAL)

When judging the spells, I have decided on a list of 11 judging criteria, grouped into 3 general sections: calibration, usability and performance.
Calibration (6 points)
- Description (1): The code for each spell should start with a brief description of what the spell does. This is not the same thing as the tooltip - it should be more technical. It is meant to give users an overview of what the code that they are importing/configuring does. If a spell had some kind of a description at the start of the code, it would be awarded one point here.
- Setup instructions (1): Similar to the description above, except it doesn't explain what the code does, but how to get it to work in another map. Spells that had such instructions got one point here.
- Calibration constants (3): This is where I judged how much and how easily a spell can be configured. Having a proper calibration section would earn a spell two points here, with up to one extra point available for spells that offer extra configuration options that are not even used by the default spell. If there are some values in the code that are not configurable in the calibration section or if some values are difficult to configure, I would subtract points here, and spells without a dedicated configuration section would get 0 points.
- Calibration documentation (1): While it's good to give calibration constants descriptive names, that is not always enough. Each configurable value should be accompanied by a description of what it does and spells that would lack this would loose a point here.
Code usability (6 points)
- Instanceability (2): Spells that can be cast by any number of units (MUI) get 2 points, spells that can get cast by up to one unit per player (MPI) get 1 point and spells that are not multi-instanceable get 0 points. There's one extra caveat: spells that don't use any persistent data structures achieve MUI by default, but since it didn't take any effort to achieve it they get only 1 point for it instead of 2.
- Code documentation (1): When writing code, it is considered good practice to document what the code does. Spells that have code without any documentation would loose a point here.
- Encapsulation (2): Proper use of private members in vJass and prefixes in JASS and GUI helps avoid naming conflicts and makes it easier for users to import the spells into their maps. I would subtract points here for any practices that could lead to naming conflicts.
- Library use (1): It is good practice to delegate routine work to external libraries instead of writing the same code all the time. Spells that don't use any external libraries and have bloated code as a result would loose a point here. I would also penalize other library-related missteps such as using an excessive number of external libraries or using non-standard libraries when standard libraries are available.
Code performance (8 points)
- Leaks (3): I would subtract up to one point for each memory leak I would find, depending on the severity of the leak.
- Errors (2): I would subtract points here if I noticed something that could potentially cause an error in the behaviour of the spell.
- Efficiency (3): I would subtract points here if I noticed things that could be done more efficiently, the amount subtracted would depend on the severity of the inefficiency.
For "Final Score" have a look into the results table above.
Almia - Summon Devourer
Result
Score
Concept
Code
Visuals
Poll-votes: | 3/32 |
Judgement: | 34/40 |
-------------- | ------ |
Final Score: | 00/100 |
Concept: | 7/10 |
Code: | 17/20 |
Visuals: | 10/10 |
---------- | ------ |
Score: | 34/40 |
Who doesn't love summoning spiders? That spider was pretty amazing. Absorb hit points to live longer, drain mana to do a strong AoE, and send out a swarm for some cone-damage!
As for the concept, they were all really cool ideas. All the effects encouraged being proactive--you can eek out the most value by timing it in big swarms. And his effects were not just "do X damage" stuff--it had a lot of neat moving parts!
My main critique is that the effects weren't too coherent. As a player, it took me a long time to grasp all the features of the spider, and pretty much everything was affected by the level-scaling, which made it even more complex for the player. Too many moving parts can needlessly complicate a great spell--I would've condensed the features a bit, e.g. sticking to absorbing HP and mana (following an "absorb" theme), and just removing the swarm. I'd also consider removing some of the scaling in damage/movement/attack-speed, especially since all the other features are already impacted by leveling the spell.
But other than that, I really loved it! It was an enjoyable spell and the summon was great for mowing down swarms of enemies.
Score: 7/10
Code score: 17 points
Calibration 5.5/6
Description - 1
Setup instructions - 1
Calibration constants - 2.5
The spell has a very large number of calibration constants. Some more flexibility regarding what mana and life storage can do would have earned full points here.
Calibration documentation - 1
Code usability 5/6
Instanceability - 2
Code documentation - 1
Encapsulation - 2
Library requirements - 0
The code uses several small snippets that could easily be inlined, while large tasks that should be outsourced to external systems are instead inlined using textmacros.
Code performance 6.5/8
Leaks - 3
Errors - 1
The way I understand the description of the spell, the devourer should store health if units loose it while in range of the aura. As the code is written, life lost outside the range of the aura will also be counted if the unit was in range before and after the life loss. Also, missile-target collision detection depends on GetLocationZ, which could lead to a desync.
Efficiency - 2.5
The aura code could be a bit more efficient, it could cut down on the number of checks for target validity by keeping track of which units were already checked.
Animation Quality: 5/5
Channeling Transition: 5/5
Perfect score. Animation was very smooth, I felt this was stood out as the best visual summoning experience in the competition.
Chaosy - Alchemist Creation
Result
Score
Concept
Code
Visuals
Poll-votes: | 1/32 |
Judgement: | 20.5/40 |
-------------- | ------ |
Final Score: | 00/100 |
Concept: | 6/10 |
Code: | 10.5/20 |
Visuals: | 4/10 |
---------- | ------ |
Score: | 20.5/40 |
This was definitely one of the memorable spells. I really like the idea of recipes, and I haven't seen too many spells involving it. It definitely has a fun-factor to it!
There were a few issues I had, though. For starters, it wasn't clear what combinations would warrant a recipe and what wouldn't. Without this stuff being well-defined, a user can easily get flustered trying to put in particular items.
Next, the spell itself had very few combinations.
Other than that, I like the way it was designed (the cauldron + item interplay), and the floating text + RNG definitely were neat additions. Great spell!
Score: 6/10
Code score: 10.5 points
Calibration 2.5/6
Description - 0
Setup instructions - 1
Calibration constants - 1
Some constants are properly grouped into calibration sections, but the code is still littered with values that should be calibrateable, most notably the contents of various floating texts.
Calibration documentation - 0.5
The spell does have documentation for its calibration values, however it is structured in such a way that it might cause confusion. It seems like the values are declared next to the comments but they are in fact a part of the comment, with the actual value being declared elsewhere.
Code usability 3/6
Instanceability - 1
Code documentation - 0
Encapsulation - 1
Some constants are declared outside the libraries, there's also a GUI sound variable used, the names ItemRecipe and Modification are too generic, they should be more specific to the system.
Library requirements - 1
The spell does not use an excessive number of libraries, most of the ones used are optional.
Code performance 5/8
Leaks - 2
GetItemOfTypeFromUnitBJ can leak an item handle reference. Since found items are typically removed, this results in a couple of handle address leaks on each use.
Errors - 2
Efficiency - 1
Looping through all recipes is not a very efficient approach, since the recipes are pretty much the core of the spell I'd expect more effort to be put into the recipe search algorithm. Furthermore, due to the order of the structs in the script, the code uses a trigger evaluate for each recipe checked. The approach to linked list loops has needless redundancy in the form of the for loop counter.
Animation Quality: 2/5
Channeling Transition: 2/5
Reason for reduced score: An oversized text tag with jittery movement. The one special effect is a simple "raise dead" animation. I felt as though the object being summoned (Footman) did not deserve the awesome looking item that was traded for it.
crabas sakti - Summon Ectoplasm
Result
Score
Concept
Code
Visuals
Poll-votes: | 0/32 |
Judgement: | 21/40 |
-------------- | ------ |
Final Score: | 00/100 |
Concept: | 8/10 |
Code: | 7.5/20 |
Visuals: | 5.5/10 |
---------- | ------ |
Score: | 21/40 |
Definitely a cool summon. At first, it was a bit confusing (especially the tooltip). But it was definitely fun once I got an idea of how everything played together!
Neat choice in making it cost life. Those sorts of decisions add a lot of depth to when players cast spells.
And it is pretty fun to be able to morph into a unit of your choosing. Sometimes you'll want a strong guy, and others you might want to just grab a quick small fry for a big detonation.
The interplay with Aghanim's scepter was also cool. Nice touch.
Score: 8/10
Code score: 7.5 points
Calibration 0/6
Description - 0
Setup instructions - 0
Calibration constants - 0
Calibration documentation - 0
Code usability 2.5/6
Instanceability - 1
Code documentation - 0.5
Encapsulation - 0
Library requirements - 1
The spell is simple enough that it doesn't need external libraries.
Code performance 5/8
Leaks - 1.5
The second dummy is created facing the position of the first, that position is never cleaned up. ReplaceUnitBJ leaks handle references to the old and new units. GetUnitsInRangeOfLocAll leaks a group handle reference.
Errors - 1.5
When taking a new form, the new unit will be added to the owner's selection regardless of whether it was selected before, the selection of other players is ignored.
Efficiency - 2
There's no need for two loops when an ectoplasm dies, a single loop could handle both the damage and the damage over time.
Animation Quality: 3/5
Channeling Transition: 2.5/5
Reason for reduced score: The pentagram appears off-centered and a missile doesn't make sense considering the pentagram is already there. It looks incomplete.
DD_legionTN - Elemental Chaos
Result
Score
Concept
Code
Visuals
Poll-votes: | 3/32 |
Judgement: | 34.5/40 |
-------------- | ------ |
Final Score: | 00/100 |
Concept: | 8/10 |
Code: | 17/20 |
Visuals: | 9.5/10 |
---------- | ------ |
Score: | 34.5/40 |
The spell's name certainly fits the description: elemental chaos.
I felt like Neptulon with all the elementals out there. First off, great job in orchestrating the spell. The phases were very clear and distinct, and the final transformation was a great choice to make this spell a memorable summon. I like that the user has a lot of options: you can either explode the elemental or try to absorb it for the final summon--it definitely allows for some creative play.
The main issue I had with the spell was the complexity in level scaling and the spell's phases. When every aspect of the spell changes as you level it up, the spell becomes less intuitive--and you have to relearn how the spell works for every level. I would've kept some things static between the levels, e.g. the number of missiles, the elemental life time, etc.
Nonetheless, that was the only issue I had.
Score: 8/10
Code score: 17 points
Calibration 5.5/6
Description - 1
Setup instructions - 1
Calibration constants - 2.5
Calibration constants should use seconds instead of timer timeouts as a unit of time.
Calibration documentation - 1
Code usability 5/6
Instanceability - 2
Code documentation - 1
Encapsulation - 1.5
If the code used a timer in addition to the timed life, it could avoid having to store whether a unit is absorbable and the public method for setting it.
Library requirements - 0.5
Linked list and timer code could be delegated to an external library.
Code performance 6.5/8
Leaks - 2
In sphereMissile-onPeriodic, the local variable u is not set to null which can leak a handle id when spawning the first summoned unit. In onCast of EnergyExplosion, the local variable u is not set to null which leaks a handle id if DummyRecycler is not present.
Errors - 1.5
There is a potential, although unlikely, error with the linked list implementation because nodes only get recycled once there are no active instances, so if the spell gets cast consecutively so that there are always some instances remaining the code will run out of array index space.
Efficiency - 3
Animation Quality: 5/5
Channeling Transition: 4.5/5
Nearly-perfect score: A very close second with the visual winner, for its own reasons.
Emm-A- - Chicken Rage
Result
Score
Concept
Code
Visuals
Poll-votes: | 0/32 |
Judgement: | 29/40 |
-------------- | ------ |
Final Score: | 00/100 |
Concept: | 6/10 |
Code: | 15/20 |
Visuals: | 8/10 |
---------- | ------ |
Score: | 29/40 |
This spell gave me a good laugh. I love anything that involves chicken.
The choice of using a "safe word" was definitely a unique mechanic (I don't think I've seen too many text-based spells). The spell was cute and there were a lot of cool morphing interactions to switch between chickens.
The spell was rather difficult to use, though. Lots of chicken were required--usually more chicken than I could reasonably keep alive. Even though the safe word mechanic was cool, it took me a really long time of trial and error to get it to work.
Nevertheless, this spell was memorable and fun! Cool effects. I loved sending my chicken swarm to go peck baddies.
Score: 6/10
Code score: 15 points
Calibration 4/6
Description - 1
Setup instructions - 0.5
No explicit instructions on how to import the spell, some aspects are covered in other parts of the documentation.
Calibration constants - 1.5
The calibration section is a bit inflexible, for example having more than 3 levels requires users to add new constants and then edit GetSpellLevel*Type functions that are technically outside the calibration section. Some values are used in the code that are not configurable, such as unit RGB colour and game message text strings.
Calibration documentation - 1
Code usability 4.5/6
Instanceability - 2
Code documentation - 1
Encapsulation - 1.5
The CR prefix is not needed on private variables and constants. The chicken merging ability could be a seperate scope.
Library requirements - 0
The spell uses unique support libraries instead of generally accepted standard libraries.
Code performance 6.5/8
Leaks - 3
Errors - 1.5
Using the unit custom value of the summons could conflict with other systems.
Efficiency - 2
IsCharAllowed could use StringHash and a hashtable lookup instead of a linear search. Linked lists are more efficient for periodic looping than unit groups.
Animation Quality: 3/5
Channeling Transition: 5/5
Reason for reduced score: The bouncing up and down is a nice effect, though it should have been faster and moved on more than one directional axis to simulate the person actually trying to nudge the cage.
Empirean - Call of the Damned
Result
Score
Concept
Code
Visuals
Poll-votes: | 2/32 |
Judgement: | 28.5/40 |
-------------- | ------ |
Final Score: | 00/100 |
Concept: | 9/10 |
Code: | 14.5/20 |
Visuals: | 5/10 |
---------- | ------ |
Score: | 28.5/40 |
This spell reminded me of the final level in the undead RoC campaign. I like that there was a positioning requirement--it leads to some nice micro trying to get your acolytes into position to help the summon along.
Concept-wise, this spell was very clear and intuitive. I didn't have any difficulty learning how to use the spell, and there was a good amount of user interaction.
The only thing to note is that it could use some form of cast time indicator. For long casts such as this one, it would definitely be useful. How you would do it is up to you. Other than that, great job!
Score: 9/10
Code score: 14.5 points
Calibration 4.5/6
Description - 1
Setup instructions - 1
Calibration constants - 1.5
Some values, like the crow form ability id, are not calibrateable.
Calibration documentation - 1
Code usability 4.5/6
Instanceability - 2
Code documentation - 1
Encapsulation - 1.5
Th CD prefix on the variables is a bit too generic
Library requirements - 0
The spell does not use any libraries and has to do everything on its own.
Code performance 5.5/8
Leaks - 2.5
When deindexing an instance, the values of the last instance overwrite it, however they are also retained in their original index. Unless that index gets reused, the handles stored there will not get recycled.
Errors - 2
Efficiency - 1
Looping through all instances ever cast to find the currently active instances is not efficient. Looping through all the secondary instances to find the ones belonging to the current primary loop instance is even less efficient. You don't need a separate boolean to determine whether a rotation is clockwise, just use negative values for that. You could store the position of the summoning circle for each instance instead of getting it anew when updating each secondary instance. Using locations at all is less efficient than using coordinates.
Animation Quality: 3/5
Channeling Transition: 2/5
Reason for reduced score: A portal sits in the middle of the target area until a long, undeterminable summoning time has passed. There is no visual indicator showing how long the summoning will still take.
Flux - Aerial aid
Result
Score
Concept
Code
Visuals
Poll-votes: | 5/32 |
Judgement: | 35/40 |
-------------- | ------ |
Final Score: | 00/100 |
Concept: | 10/10 |
Code: | 17/20 |
Visuals: | 8/10 |
---------- | ------ |
Score: | 35/40 |
Incredibly well-designed spell! The spell is clear and straightforward, but amazingly fun and interactive.
The spell indicators are fantastic, as are the phases of the spell. I love the concept of parachuters coming in, and it was implemented very professionally (I love that they are firing before they even land, lol).
Also, great touch allowing cliffs to be used as barriers against the spell. Those kinds of features often go unnoticed, but they make spells interactive on both sides--which I think is super important for any game.
Side note: I love when users include little mini-games in their demo maps. It just makes things funner for the reviewer. I don't grade on demo maps, but I just wanted to give you kudos for that!
Score: 10/10
Code score: 17 points
Calibration 5/6
Description - 1
Setup instructions - 1
Calibration constants - 2
Some values are not configurable like max height of bullet, max bonus.
Calibration documentation - 1
Code usability 5/6
Instanceability - 2
Code documentation - 1
Encapsulation - 2
Library requirements - 0
Inlining system code is not a good method of making requirements optional. Linked list and timer code could be delegated to an external library, as well as bullets.
Code performance 7/8
Leaks - 3
Errors - 2
Efficiency - 2
It would be enough to update gun targets on each shot instead of each iteration.
Animation Quality: 5/5
Channeling Transition: 3/5
Reason for reduced score: The channeling transition is bumpy as the plane doesn't appear for quite some time, giving me the impression that the spell wasn't working at first. If the plane was visible or some kind of visual indicator was immediately apparent upon casting, this score would be higher.
KILLCIDE - Ice Anomaly
Result
Score
Concept
Code
Visuals
Poll-votes: | 7/32 |
Judgement: | 35/40 |
-------------- | ------ |
Final Score: | 00/100 |
Concept: | 10/10 |
Code: | 16/20 |
Visuals: | 9/10 |
---------- | ------ |
Score: | 35/40 |
A beautifully designed spell. This spell has quite a bit of complexity to it at first glance, but it actually plays out intuitively. The phases are clear and their is ample time to familiarize yourself with the summon--it only took me one spell cast to get a good feel for the spell.
The thing I love about this spell is the amount of interaction on both sides of the field. It is almost like a race to charge the orb vs. enemies attacking it. And as for the beam--the caster can strategically place it in big traffic whereas the enemy has to move out of it. Most spells neglect including any means of counter-play, which is pretty important in games in general.
All in all, this spell is fun, creative, and very memorable. Great job!
Score: 10/10
Code score: 16 points
Calibration 4/6
Description - 0
Setup instructions - 1
Calibration constants - 2
Calibration documentation - 1
Code usability 5.5/6
Instanceability - 2
Code documentation - 1
Encapsulation - 1.5
The IA prefix on the variables is a bit too generic
Library requirements - 1
The spell uses external libraries where appropriate.
Code performance 6.5/8
Leaks - 2.5
GetUnitsInRangeOfLocAll leaks a group handle reference.
Errors - 1.5
Units that get knocked back do not always match the units highlighted by the targetting cursor.
Efficiency - 2.5
In most phases, the orb doesn't really need a periodic update trigger, it could have used a timer and a death event trigger instead.
Animation Quality: 5/5
Channeling Transition: 4/5
Reason for reduced score: The introductory animation for the Ice Anomaly should have been faster. It felt like it was knocking back units in slow motion, which interrupted the experience.
Kyrbi0 - Mother's Love
Result
Score
Concept
Code
Visuals
Poll-votes: | 1/32 |
Judgement: | 15/40 |
-------------- | ------ |
Final Score: | 00/100 |
Concept: | 7/10 |
Code: | 6/20 |
Visuals: | 2/10 |
---------- | ------ |
Score: | 15/40 |
First off, I'm glad you submitted, even if just for fun.
I actually liked the idea a lot. It is the only pure passive, iirc, and it had a clear concept. The main critique is that the golems should be limited (I assume that was mostly just a bug), and considering the sheer number of golems, it would be really useful for the summons to passively assist/attack whatever the hero is attacking. It is tough to micromanage them all when they're being summoned and desummoned every second.
The spell may have been buggy/incomplete, but you should know that I had a lot of fun with it and it was certainly memorable!
Score: 7/10
Code score: 6 points
Calibration 0/6
Description - 0
Setup instructions - 0
Calibration constants - 0
Calibration documentation - 0
Code usability 3/6
Instanceability - 1
Code documentation - 0
Encapsulation - 1
Library requirements - 1
The spell,simple as it is, doesn't need any libraries.
Code performance 3/8
Leaks - 0
No effort was made to prevent leaks, some of them can be quite heavy.
Errors - 1
Telling frindly units to attack the hero and then immediately telling them to stop before the attack lands can still trigger the spell, generating the summons without the hero taking any damage.
Efficiency - 2
Using a generic attack event results in a lot of unneccessary trigger evaluations.
Animation Quality: 1/5
Channeling Transition: 1/5
Reason for reduced score: Definitely has no discernable animation nor channeling.
Loner-Magixxar - Stone Integrity
Result
Score
Concept
Code
Visuals
Poll-votes: | 0/32 |
Judgement: | 26/40 |
-------------- | ------ |
Final Score: | 00/100 |
Concept: | 10/10 |
Code: | 11.5/20 |
Visuals: | 4.5/10 |
---------- | ------ |
Score: | 26/40 |
This spell was a cool passive + active combo. Definitely reminiscent of Earth, Wind, & Fire (one of my all-time favorite spells). However, your spell is cooler because of all the combinations you can make.
I really liked the interplay between HP, damage received, and the rocks. It literally felt like I was taking a chunk of my hero and putting it into a summon, rather than pooping the summon out of nowhere.
The spell was very easy to follow and the summons had their own cool bits of flavor. The merging is one of my favorite features, since it was the most interactive--you can quickly merge back to the core/to another summon towards the end of the summon's life to deny xp/save a unit.
I don't have anything to critique on the concept of this spell. Great job! It was fun!
Score: 10/10
Code score: 11.5 points
Calibration 2/6
Description - 0
Setup instructions - 0.5
No explicit instructions on how to set up the spell, some of it is covered by other parts of the documentation.
Calibration constants - 0.5
The spell has a calibration section but many of the settings require the editing of other triggers. Some aspects are not fully configurable, for example the scale of the core.
Calibration documentation - 1
Code usability 4/6
Instanceability - 2
Code documentation - 1
Encapsulation - 0
The SI prefix on the variables is a bit too generic, triggers have generic names without any prefixes.
Library requirements - 1
The spell does not use any libraries, but I can't really think of any that would help.
Code performance 5.5/8
Leaks - 3
Errors - 1.5
If a stone or golem gets removed without dying the caster looses life permanently. The stones really should use proper parabolic movement instead of a segmented linear approximation.
Efficiency - 1
Storing all data in hashtables is less efficient than using arrays, group loops are less efficient than array loops, locations are less efficient than coordinates, case selection is done through loops and if-then-else chains instead of direct array lookups.
Animation Quality: 2.5/5
Channeling Transition: 2/5
Reason for reduced score: The rocks appear randomly, and the effects are a thunderclap and a Charm. The transitions between the rocks coming to life and merging with the caster are not well-pronounced.
Meatmuffin - Demonic Ritual
Result
Score
Concept
Code
Visuals
Poll-votes: | 1/32 |
Judgement: | 33.5/40 |
-------------- | ------ |
Final Score: | 00/100 |
Concept: | 9/10 |
Code: | 16/20 |
Visuals: | 8.5/10 |
---------- | ------ |
Score: | 33.5/40 |
Who doesn't love raining down flames at your enemy?
The interesting thing about the summons in this spell is that they auto-followed and auto-attacked. Since there could be potentially a LOT of them, I really liked this design choice--and it worked quite well!
The spell itself wasn't too interactive, but it was very intuitive and positioning the circle to hit units is a nice. One note: it was a bit difficult to differentiate the two types of spirits when there are enough them (even if they are going in opposite directions). But I guess that is more of a visual effects critique thing.
Overall, solid spell with an intuitive concept.
P.S. Nice choice for the summon model--the orc warlocks have one of the coolest cast animations, next to Archimonde of course.
Score: 9/10
Code score: 16 points
Calibration 4.5/6
Description - 1
Setup instructions - 1
Calibration constants - 1.5
The per-level calibration is limited to linear improvements.
Calibration documentation - 1
Code usability 4.5/6
Instanceability - 2
Code documentation - 1
Encapsulation - 1.5
The DR prefix on the functions is a bit too generic.
Library requirements - 0
The spell could delegate some of its work to outside libraries, such as projectile movement.
Code performance 7/8
Leaks - 2.5
In the DR_Loop function, the local unit u is not necessarily always set to null before the function terminates.
Errors - 2
Efficiency - 2.5
The minion attacks could have been normal unit attacks or spells instead of triggered missiles, since they don't do anything that would require them to be triggered.
Animation Quality: 5/5
Channeling Transition: 3.5/5
Reason for reduced score: The lack of a duration indicating how long the user must wait for the channeling time is a factor. The orb spins around the caster and seemingly-randomly turns into a Lava Spawn.
Rheiko - Hellfire Orb
Result
Score
Concept
Code
Visuals
Poll-votes: | 3/32 |
Judgement: | 28.5/40 |
-------------- | ------ |
Final Score: | 00/100 |
Concept: | 8/10 |
Code: | 12/20 |
Visuals: | 8.5/10 |
---------- | ------ |
Score: | 28.5/40 |
This spell definitely has some great eye-candy. It is pretty fun to throw around and just watch the fire ele's plop out.
As for the critique, the ability itself is very succinct and has a really intuitive design. Great job--I had no issues understanding the spell/getting used to it. I think the only issue is that the summons themselves aren't too exciting--they don't feel like the focal point of the spell.
Still, the spell is rock solid in all other aspects, and the summons themselves can be interesting positioning-wise because of their passive immolation.
Score: 8/10
As for the critique, the ability itself is very succinct and has a really intuitive design. Great job--I had no issues understanding the spell/getting used to it. I think the only issue is that the summons themselves aren't too exciting--they don't feel like the focal point of the spell.
Still, the spell is rock solid in all other aspects, and the summons themselves can be interesting positioning-wise because of their passive immolation.
Score: 8/10
Code score: 12 points
Calibration 2.5/6
Description - 0
Setup instructions - 0
Calibration constants - 1.5
Some aspects of the spell are not configurable, such as the duration of the orb before it summons a minion.
Calibration documentation - 1
Code usability 4/6
Instanceability - 2
Code documentation - 1
Encapsulation - 1
The HO prefix on the functions is a bit too generic, some variables do not use the prefix.
Library requirements - 0
The spell could delegate some of its work to outside libraries, such as projectile movement.
Code performance 5.5/8
Leaks - 1.5
GetUnitsInRangeOfLocAll leaks a group handle reference, EnumDestructablesInCircleBJ leaks a rect handle reference. In phase 3, Point1 can get overwritten before it is removed.
Errors - 2
Efficiency - 2
Locations are not as efficient as coordinates.
Animation Quality: 3.5/5
Channeling Transition: 5/5
Reason for reduced score: The animation feels jittery at points, and the portal fracturing at the end looks like it was meant to be in 3-D but looks odd in 2-D.
Tank-Commander - Nano Plague
Result
Score
Concept
Code
Visuals
Poll-votes: | 4/32 |
Judgement: | 37/40 |
-------------- | ------ |
Final Score: | 00/100 |
Concept: | 10/10 |
Code: | 18/20 |
Visuals: | 9/10 |
---------- | ------ |
Score: | 37/40 |
First off, the whole theme of the demo map definitely was befitting your name. 
Really cool concept. Definitely one of the most unique ones. I had a lot of fun swarming demolishers with tons of nanobots.
I really like the mechanical interaction--it adds a nice little nichéness to the spell that really emphasizes that mech theme. The fact that they're stronger in numbers is a great design choice as well, and gives an incentive for keeping those little critters alive.
Being able to cast it while moving was a great addition as well. Considering how many moving parts (heheh) there are in this spell, I was surprised at how intuitive it was! Great job, I love it.
P.S. Great demo map!
Score: 10/10
Really cool concept. Definitely one of the most unique ones. I had a lot of fun swarming demolishers with tons of nanobots.
I really like the mechanical interaction--it adds a nice little nichéness to the spell that really emphasizes that mech theme. The fact that they're stronger in numbers is a great design choice as well, and gives an incentive for keeping those little critters alive.
Being able to cast it while moving was a great addition as well. Considering how many moving parts (heheh) there are in this spell, I was surprised at how intuitive it was! Great job, I love it.
P.S. Great demo map!
Score: 10/10
Code score: 18 points
Calibration 5.5/6
Description - 1
Setup instructions - 1
Calibration constants - 2.5
Calibration documentation - 1
Code usability 5.5/6
Instanceability - 2
Code documentation - 1
Encapsulation - 1.5
The NP prefix on the functions is a bit too generic.
Library requirements - 1
While more work could be delegated to external libraries, the amount that is delegated is acceptable.
Code performance 7/8
Leaks - 3
Errors - 2
Efficiency - 2
Using loops to find an instance is less efficient than using a hashtable, using a generic attack event results in a lot of unneccessary trigger evaluations.
Animation Quality: 5/5
Channeling Transition: 4/5
Reason for reduced score: The firey effects don't seem to fit well to the theme of a mechanical plague. I felt like the fire should have spawned elemental minions. Either the summons or the effect could be tweaked by the user in a future spell, but the current score of these given visual effects is negatively affected.
xxdingo93xx - Void undertow
Result
Score
Concept
Code
Visuals
Poll-votes: | 2/32 |
Judgement: | 34/40 |
-------------- | ------ |
Final Score: | 00/100 |
Concept: | 9/10 |
Code: | 16/20 |
Visuals: | 9/10 |
---------- | ------ |
Score: | 34/40 |
Awesome spell, from the concept down to the execution. The voidwalker on my back reminded me of Banjo-Kazooie, only much more warlocky. 
I like the concept of draining to have your minion live longer. It adds a layer of interaction where you actually have to be conscious of your cast to get the most value out of it.
The minion is autonomous, but the fact that it is literally attached to you leads to some cool plays. You can use it to kite--just run through a pack of mobs and your void-bro will fire away.
Some subtle things that I liked:
- The orb accelerates. If I could out-run it, it would've been a pretty big design flaw (common pitfall), but the acceleration prevents that. Good job.
- This isn't really relevant to my concept review, but the timed-life indicator is awesome.
- The minion is non-invasive.
While it isn't too interactive on the minion's side, there are a lot of really cool selling points to this spell. You executed far better than I would've. Awesome work!
Score: 9/10
I like the concept of draining to have your minion live longer. It adds a layer of interaction where you actually have to be conscious of your cast to get the most value out of it.
The minion is autonomous, but the fact that it is literally attached to you leads to some cool plays. You can use it to kite--just run through a pack of mobs and your void-bro will fire away.
Some subtle things that I liked:
- The orb accelerates. If I could out-run it, it would've been a pretty big design flaw (common pitfall), but the acceleration prevents that. Good job.
- This isn't really relevant to my concept review, but the timed-life indicator is awesome.
- The minion is non-invasive.
While it isn't too interactive on the minion's side, there are a lot of really cool selling points to this spell. You executed far better than I would've. Awesome work!
Score: 9/10
Code score: 16 points
Calibration 4/6
Description - 0
Setup instructions - 1
Calibration constants - 2
Calibration documentation - 1
Code usability 6/6
Instanceability - 2
Code documentation - 1
Encapsulation - 2
Library requirements - 1
Code performance 6/8
Leaks - 3
Errors - 1.5
The odds of spawning a drain orb are approximate and thus difficult to configure.
Efficiency - 1.5
The order in which code is written leads to some unnecessary trigger evaluations, using a timer per instance is less efficient than using one timer to run all instances, using a generic attack event results in a lot of unneccessary trigger evaluations.
Animation Quality: 4/5
Channeling Transition: 5/5
Reason for reduced score: The animation felt a bit too jittery. I felt like this would have been better with a smooth float to the caster.

Attachments
Last edited by a moderator: