• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

[FINISHED] Spells and Systems Contest #5

Status
Not open for further replies.
Level 40
Joined
Dec 14, 2005
Messages
10,532
Welcome to The Hive Workshop's

spellsandsystems.gif
Spells & Systems Contest #5

Introduction
The Spells & Systems Contest is mostly like a mini-contests due to its low requirement, time limit and prize. The aim in each contest is to make a spell that matches the specification included below. To win, you simply have to try your best to make the given spell while considering the main judging points (see below).
Task
This contest's theme is

Conjure

The spell must have to do with the conjuration of a being to do the bidding of the wizard, though the being need not be a direct summon. It can range from an old standard "Summon Water Elemental", etc, spell, to a spell that makes a flaming elemental charge the nearest enemy and explode, or ghosts that haunt a target/area, etc, etc.
Rules
1. Post your own work only!
2. Only one (triggered) spell should be sumbitted.
3. Don't protect your map!
4. Do not use custom sounds, icons or models that boost your spell's effects!
5. Your spell must support multiple levels (at least 2)!
6. You cannot use WEU's advanced functions!
7. The test-map should provide proper testing of the spell (low cooldown, many/respawning creeps, etc...)
8. Both JASS and GUI are allowed.

If you break the rules, you will be disqualified from the contest.
Entering
To enter, simply add a reply saying you will enter. You must edit that post, and attach your finished spell there!
Do not reply more than once to make it easier to find who's taking part and who is not. Do not reply unless you wish to take part, only Administrators/Moderators may reply as much as they want about the contest (even if not entering).
You have 13 days to submit/modify your spell, and one day (Sunday) will be used for testing the spells and announcing the winner.


You can not enter this contest, if you
-have a negative reputation
-won the previous spells & systems contest.
Judging
Judging will follow a formula:

1. Idea (5 points) - Originality and execution of the idea is the goal.
2. Triggering (5 points) - Making efficient, leakless, and simple (as possible) triggers is the goal.
3. In-game playability (3 points) - Making sure your spell is easily understandable (tooltip, not overcomplicated) to the average player, as well as having a practical use in x game type is the goal.
4. Visual effects (2 points) - Making a nice-looking (but not too complicated) effect, while not hugely hindering the spells playability value (excepting spells with this theme, such as a spell that masks the screen for enemies of the caster) is the goal.
5. Theme (3 points) - The better the spell matches the theme, the more points you will get in this category. ex: A black hole is 'Evil' (judging by the models) magic, but it doesn't really fit 'Evil', so that would get a low rating should the contest theme be 'Evil'. A Death Bolt spell, on the other hand, would score a high rating.
Prize
A spell can earn a maximum of 18 points. It's simple, the contestant with the most points will win.
The winner's prize will be 10 reputation points, and earn a spot in the "Spells/Systems hall of fame" (list of winners of this contest).
However, the winner cannot participate in the next contest.
You have 13 days to work on and submit your spell.

The deadline is: 11:59 PM August 11, 2007 (saturday), in GMT.

Good luck, hope to see a nice turnout of original spells!
~PurplePoot
 
Last edited:
Level 16
Joined
Oct 30, 2004
Messages
1,277
Edit: Ok here's my spell. I might update it later if I get some good ideas on how to improve it. You can check this for leaks purple and give me the thumbs up or down :).

Edit2: Added some sfx to make it look cooler.

Edit3: Apparently you need to pause/unpause the unit when you increase the permanent immolation level in order to get the damage right. I wasnt aware of this :p, its fixed now.

Edit4: Replaced most BJ's with natives.

The master summons nasty ghosts to do his bidding. The ghosts dash forwards damaging any enemy units that get in touch and then return to their master.
Units killed by the ghosts will be reanimated to serve the master for 30 seconds.
Damage increases, mana cost decreases and cooldown decreases in higher levels.

[PurplePoot: Fine for the most part, I spied 12 leaks throughout the spell, so generally nice (you stopped more than half)]

Mini-Me: Ah I think I know which ones you are talking about. The ones inside the if statements. *5 minutes later* FIXED. I hope :)
 

Attachments

  • Haunt - Spell contest map4.w3x
    30.1 KB · Views: 304
Last edited:
Level 5
Joined
Apr 16, 2005
Messages
153
Count me in

Alright its done, and im pretty proud of my work!

My spell is Inferno - Summons a lava spawn who moves to the targeted point, then he explodes dealing minor AoE damage, but then splits into 4 smaller minions who go in all 4 diagonal directions and then they explode dealing medium damage.

Level 1, 50 AoE damage then 100 AoE damage
Level 2, 75 AoE damage then 150 AoE damage
Level 3, 100 AoE damage then 200 AoE damage

[PurplePoot: Pretty clean, I found 9 leaks as I browsed through the GUI]
Ok, thanks, I think I got em all.
 

Attachments

  • Screenshot Preview Inferno.jpg
    Screenshot Preview Inferno.jpg
    88.5 KB · Views: 203
  • Inferno.w3x
    16.7 KB · Views: 101
Last edited:
Level 9
Joined
Jul 27, 2006
Messages
652
EDIT:

Damn,

I thought this finished on monday... Im only half done so I guess Im probably out...
 
Last edited:
Level 7
Joined
Jun 10, 2007
Messages
225
Heres my submission. If were not allowed to update our maps after submitting, than this is a WIP.


The Ritual of the Ancient One
Calls upon the powers of the Ancient One to smite your enemies. Over the next 10 seconds,
the mighty creature will bring its tentacles to the surface of the earth to smite your enemies.
These tentacles will last 30 seconds, and at the end of their lifespan, if they have not been
killed by external forces, they will transform into soldiers to fight the enemies of the Ancient
One.
_________________________________________________________________________________
_________________________________________________________________________________

Level 1 - Creates 10 tentacles.
Level 2 - Creates 15 tentacles.
Level 3 - Creates 20 tentacles.




[PurplePoot: No leaks, very nice. Also, deleted your other post]
 

Attachments

  • ForsakenOne.jpg
    ForsakenOne.jpg
    112.5 KB · Views: 218
  • ForSakenOne2.jpg
    ForSakenOne2.jpg
    118.6 KB · Views: 208
  • Spell Contest.w3x
    25.2 KB · Views: 90
Last edited by a moderator:
Level 13
Joined
Nov 20, 2006
Messages
553
I wanna participate in this chance.
Here my spell

Wild Hawk
--------------------------------------------------------------

Summons Hawk to fight for BeastMaster. For 20 seconds, can burn himself with fire phoenix blast [50% Chance , damage 30 per 0.4 seconds if hit]. This hawk can confuse the enemy line.

Level 1 - summon 1 hawk each 300 hitpoints and 2 armor
Level 2 - summon 2 hawk each 500 hitpoints and 4 armor
Level 3 - summon 3 hawk each 700 hitpoints and 6 armor
Level 4 - summon 3 hawk each 900 hitpoints and 8 armor
30s cooldown


[PurplePoot: blarg, 10 leaks total, but they happen quite often]
 

Attachments

  • WildHawk - HiveSpellContest.w3x
    39.3 KB · Views: 88
  • wildhawk1.jpg
    wildhawk1.jpg
    77 KB · Views: 172
  • wildhawk2.jpg
    wildhawk2.jpg
    75 KB · Views: 164
  • wildhawk3.JPG
    wildhawk3.JPG
    50.3 KB · Views: 142
Last edited by a moderator:
Level 40
Joined
Dec 14, 2005
Messages
10,532
Aight, bump, results:

Mini-Me - Haunt
  1. Idea, 5 points
  2. Triggering, 3 points
    • -1 point due to the overuse of BJs in JASS
    • -1 point due to bad variable coding, excessive and unneeded location use, etc
  3. In-Game Playability, 3 points
  4. Visual Effect, 2 points
  5. Theme, 3 points
  6. Total, 16 points

Comments: I loved the idea, and the ghosts of the slain units looked great! Overrall nice spell, but slightly lacking in the triggering department (if it's your first JASS spell, though, you're coming along smoothly)

And watch out, BJ's aren't always suffixed with BJ! GetLastCreated___ functions are always BJ functions, as are DistanceBetweenPoints,AngleBetweenPoints,and anything that ends with Swap/Swapped. (there are many more, for that matter)

I was tempted to give visual a 3/2 because I like the execution of this one so much, but that wouldn't be fair :p

Steel_Cold - Inferno
  1. Idea, 3 points
    • -2 points because it was essentially from the description
  2. Triggering, 4 points
    • -1 point (Leaks)
  3. In-Game Playability, 2 points
    • -1 point because the lava spawns had the potential to interrupt movement
  4. Visual Effect, 2 points
  5. Theme, 3 points
  6. Total, 14 points

Comments: the only reason you kept more in the Idea department is because of the whole splitting into 4 thing, even though those fit right into the description too =/.

About the leaks, you actually have to USE the group variable to create

And 0.00 collision size isn't No Collision. Use "fly" movement next time, and have 0 height, and don't bother with a "turn off pathing" option (doesn't work for other units running into it)

Dil999 - Ritual of the Ancient One
  1. Idea, 4 points
    • -1 point, could have been more interesting
  2. Triggering, 4 points
    • -1 point (custom globals are generally unwanted in a custom JASS spell, when they make it harder to implement and BJ globals are an option)
  3. In-Game Playability, 3 points
  4. Visual Effect, 1 point
    • -1 point, not much went on. Didn't catch my eye, really
  5. Theme, 3 points
  6. Total, 15 points

Comments: pretty nice on the triggering, but you really should use BJ globals. Unless a map uses HandleVars/CSCache, people tend not to check in the Variable Manager, especially now that Grimoire is so widely used, with its custom declarable global blocks

Also, the spell itself wasn't the most interesting. It was original, yes, but it Didn't really catch your eye like alot of the others (especially haunt) did.

valkemiere - Wild Hawk
  1. Idea, 5 points
  2. Triggering, 3 points
    • -1 point (Leaks)
    • -1 point (insane amount of triggers to make this MPI)
    • In-Game Playability, 3 points
    • Visual Effect, 2 points
    • Theme, 3 points
    • Total, 16

    Comments: loved the idea, but the coding left something to be desired

    DiscipleOfLife - Fel Lurkers
    1. Idea, 4 points
      • -1 point, it wasn't the most original summon spell ever (basically Summon XXX with a special ability you could use on them)
    2. Triggering, 5 points
    3. In-Game Playability, 2 points
      • -1 point, they sometimes did weird things (like run away and return to you) that I had no idea why they were going on
    4. Visual Effect, 1 point
      • -1 point, looked too much like a normal summon spell to be particulairily interesting
    5. Theme, 3 points
    6. Total, 15

    Comments: It was kind of hard to see what you were trying to do here, but the bits I saw on and off were neat (I liked how the fel guys were summoned away from the target, and ran there, as opposed to being summoned clustered around the target are)

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

    Looks like we have a tie!

    Dil999, DiscipleOfLife, Steel_Cold, please vote for either valkemiere's Wild Hawk spell, or Mini-Me's Haunt spell! (Just post here who you vote for)

    If we don't have clear results in 3 days (with a definitive winner), then I'll cast a vote to break the tie.
 
Level 16
Joined
Oct 30, 2004
Messages
1,277
Yey results! *relaxes face* A tie? Aww :). Let the best spell win *gameface back on* :).

And watch out, BJ's aren't always suffixed with BJ! GetLastCreated___ functions are always BJ functions, as are DistanceBetweenPoints,AngleBetweenPoints,and anything that ends with Swap/Swapped. (there are many more, for that matter)

Crafty things those BJ's :p. Btw, with what piece of code can I replace GetLastCreatedUnitBJ ?
 
Level 40
Joined
Dec 14, 2005
Messages
10,532
bj_lastCreatedUnit

JASS:
function GetLastCreatedUnit takes nothing returns unit
    return bj_lastCreatedUnit
endfunction

Or, even better, skip out CreateNUnitsAtLoc, and do

set <someUnitVar> = CreateUnit(player,id,x,y,face)

CreateNUnitsAtLoc is a nasty piece of work:

JASS:
function CreateNUnitsAtLoc takes integer count, integer unitId, player whichPlayer, location loc, real face returns group
    call GroupClear(bj_lastCreatedGroup)
    loop
        set count = count - 1
        exitwhen count < 0
        call CreateUnitAtLocSaveLast(whichPlayer, unitId, loc, face)
        call GroupAddUnit(bj_lastCreatedGroup, bj_lastCreatedUnit)
    endloop
    return bj_lastCreatedGroup
endfunction

function CreateUnitAtLocSaveLast takes player id, integer unitid, location loc, real face returns unit
    if (unitid == 'ugol') then
        set bj_lastCreatedUnit = CreateBlightedGoldmine(id, GetLocationX(loc), GetLocationY(loc), face)
    else
        set bj_lastCreatedUnit = CreateUnitAtLoc(id, unitid, loc, face)
    endif

    return bj_lastCreatedUnit
endfunction
 
Level 9
Joined
Mar 25, 2005
Messages
252
Aight, bump, results:
DiscipleOfLife - Fel Lurkers
  1. Idea, 4 points
    • -1 point, it wasn't the most original summon spell ever (basically Summon XXX with a special ability you could use on them)
  2. Triggering, 5 points
  3. In-Game Playability, 2 points
    • -1 point, they sometimes did weird things (like run away and return to you) that I had no idea why they were going on
  4. Visual Effect, 1 point
    • -1 point, looked too much like a normal summon spell to be particulairily interesting
  5. Theme, 3 points
  6. Total, 15

Comments: It was kind of hard to see what you were trying to do here, but the bits I saw on and off were neat (I liked how the fel guys were summoned away from the target, and ran there, as opposed to being summoned clustered around the target are)

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

Didnt you read the tooltips? The Fel Lurkers were supposed to be controlled by their summoner. This information was handed out to the player in the form of tooltip on the lurkers. The hero that casted the spell had a "Lurkers Attack!" spell which was supposed to be used to give attack commands to them. On top of that there was a timer running off every second to make sure that they follow that order. I guess you tried to manually control them instead -.- which definately could have given you the impression of a glitch. I had tried to use triggers to prevent selecting them, but they had a ~0.05s delay which ruined the effect so I turned them off and though that a tooltip would be enough to make the user understand how to control them.
My whole idea behind this spell was the way the summons were controlled, too bad you didnt care enough to read the tooltips. Maybe you didnt even notice the stacking version of Disease Cloud? :sad:

More precisely on topic:
My vote goes to Mini-Me.
 
Level 9
Joined
Mar 25, 2005
Messages
252
Well I tested the spell dozens of times over and over again, maybe i got too used to the controlling system to reconsider it, and after all it was the only really original aspect in the spell. However I havent found any bugs in the summons' movement that fit the description you gave..
 
Level 5
Joined
Apr 16, 2005
Messages
153
My vote has to go to Mini-me, because it was more fun to use and is more practical in a real map.

But good job to all the contestants, they were all really good.
 
Level 40
Joined
Dec 14, 2005
Messages
10,532
The leaks were

Unit Group - Pick Every Unit in XXX and Do Actions

Basically, there are two options

Option #1:

Set MyGroupVar = XXX
Unit Group - Pick Every Unit in MyGroupVar and do actions
(loop and all that... loop ends)
Custom Script: call DestroyGroup( udg_MyGroupVar )

A slightly better alternative, but only useful if your group will not be reused:

Custom Script: set bj_wantDestroyGroup = true
Unit Group - Pick every unit in XXX and do actions
 
Level 7
Joined
Jun 10, 2007
Messages
225
I have to vote for Mini-Me. Also, I think next time we should use higher amount of score (16 being max was too low i think). Most of them scored almost perfect, meaning that the seperation between the best and worst was tiny.
 
Level 13
Joined
Nov 20, 2006
Messages
553
The leaks were

Unit Group - Pick Every Unit in XXX and Do Actions

Basically, there are two options

Option #1:

Set MyGroupVar = XXX
Unit Group - Pick Every Unit in MyGroupVar and do actions
(loop and all that... loop ends)
Custom Script: call DestroyGroup( udg_MyGroupVar )

A slightly better alternative, but only useful if your group will not be reused:

Custom Script: set bj_wantDestroyGroup = true
Unit Group - Pick every unit in XXX and do actions

Ic thanks for the info. one thing i wanna ask
if i use many Unit Group - Pick every unit in XXX and do actions

so just need one set bj_wantDestroyGroup = true?

like this
set bj_wantDestroyGroup = true
Unit Group - Pick every unit in XXX and do actions
Unit Group - Pick every unit in yyy and do actions
Unit Group - Pick every unit in zzz and do actions
Unit Group - Pick every unit in aaa and do actions?

oh ya i'm forgot in WEU we can use set bj_wantDestroyGroup = true
but in WE can't detect.(compile error).
 
Level 9
Joined
Mar 25, 2005
Messages
252
Ic thanks for the info. one thing i wanna ask
if i use many Unit Group - Pick every unit in XXX and do actions

so just need one set bj_wantDestroyGroup = true?

like this
set bj_wantDestroyGroup = true
Unit Group - Pick every unit in XXX and do actions
Unit Group - Pick every unit in yyy and do actions
Unit Group - Pick every unit in zzz and do actions
Unit Group - Pick every unit in aaa and do actions?

oh ya i'm forgot in WEU we can use set bj_wantDestroyGroup = true
but in WE can't detect.(compile error).

The function ForGroupBJ (which is the jass version of Unit - Group - Pick blablabla ...) sets bj_wantDestrouGroup to false every time it runs, so you have to set it to true in between those actions.
 
Level 13
Joined
Nov 20, 2006
Messages
553
so i must make like this?
set bj_wantDestroyGroup = true
Unit Group - Pick every unit in XXX and do actions
set bj_wantDestroyGroup = true
Unit Group - Pick every unit in yyy and do actions
set bj_wantDestroyGroup = true
Unit Group - Pick every unit in zzz and do actions
set bj_wantDestroyGroup = true
Unit Group - Pick every unit in aaa and do actions.

lookslike wierd >.< ( i can't jass)
 
Level 9
Joined
Jul 27, 2006
Messages
652
Just a quick question...
Will there every be a system contest? These are after all the Spells and Systems contests and i was wondering if there would be one...
Like design a system to work with <example>?
 
Status
Not open for further replies.
Top