Minigame Spirit Wars -open source


Spirit Wars
Genre: Minigame
Players: Up to 12
Version: 0.15 [05.Oct.10] -open source
Download from
Download from here: See the bottom of this post

So what is "Spirit Wars"?
First of all, I would like to start with this project's history. I had a mapping partner (Bloodcount) who had this idea of creating a minigame with lots of action and spellcasting and that minigame was going to be an entry for a map contest. All in all, he did quite well and after the contest ended I was invited to become the coder and improve/add features. We did pretty well on doing the map and it seemed that it was going to be a success sooner or later (check the thread here: However, bugs started to pop out due to my inexperience with JASS (I tried to do stuff Blizzard did not add support for) and I did not know how to fix them. Also maybe interest in mapping kind of wore out and we started to communicate less and less... And the project died. Until one day I decided to revive it, rewriting everything from scratch and there you go - Spirit Wars lives once again but this time without the bugs!

Map Summary:
Spirit Wars is a fast-paced minigame arena in which players' goal is to kill each other with spells. The spells' effects are mainly based on the Heroes' stats, which can be increased through flying orbs around the map. As well as a normal team mode game, a FFA mode can be selected to make it more challenging! The map also supports AI players which aren't anything special but can easily substitute people.

What happens at the beginning?
When the map starts the host is given the opportunity to select the game mode (leave it with teams or make it FFA and then set the number of kills needed to win). The players'/computers' Spirits are invulnerable for 30 seconds thus giving enough time to buy spells. Players have 150 gold and blood crystals (lumber) and with the blood crystals they can buy spells (either offensive or defensive). After 30 seconds the real battle begins!

Where do I buy spells?
Spells can be bought from Spell Shops. You can easily spot them on the minimap (yellow dots) or see them around you - they will have a lot of effects jumping around them. Each ability costs 150 blood crystals (lumber) and provides two abilites of the same kind - one in your inventory and one in your spell card. Both of these spells share cooldown and it doesn't matter which one you use.

Wait, why items and normal spells?
The original idea in this map was spells to be used through items! But since there are problems for people with laptop computers it was needed to also provide normal abilities with hotkeys. As I said, they will share cooldown no matter which one you cast and will not conflict in any way (like doubling the effect of the spell).

How to increase my stats?
A lot of flying colourful balls will move around the map and once they come close enough they will boost your stats! The effects are noted next to your Hero with a little text tag. The maximum amount of stats is 100 per stat (except Intelligence [Shield]).

This map is a demo version but it will not differ from the original one which I'm going to release soon. It is open source, written in zinc, so if anyone wants to take a look at how things were made is welcome to do so. Being written in zinc I hope inexperienced mappers will not try to steal/put cheats on the map and the experienced ones being reasonable will not try to claim it. It is open source just for the sake of an educational purpose. :]



> Reserved for some stuff.

Game Guide:
First of all, there are some things in this map that would need to be remembered/memorized one way or another:
- Gold is basically... gold. It currently has no purpose.
- Lumber is called "Blood Crystals" - this is your main source for buying abilities.
- Agility is "Spirit Power". Spirit Power is your primary attribute - your spells' power almost fully depend on it (there are a few exceptions). However, there is a limit of 100 Spirit Power and you can never pass it.
- Strength is still Strength - gives you hit points. Cannot go over 100 (previous version(s) allowed that but sometimes things went out of control, like a Ghost with 1,000 health - totally unkillable).
- Intelligence is "Shield". Shield will probably be used for an ability available at the spell shops - Mana Shield. It depends on it so it is vital to gain Shield points as well because it can save you a lot.

At the beginning you are spawned with a Ghost - you have 1 all stats and nothing except a normal Spell Swap item. This item allows you to swap between 2 inventory pages. This item is bound to you and cannot be dropped which means that you can have 5 spells (first inventory) and 5 more spells (2nd inventory). All gained abilities from items are stored (as well as their position in case you wanted to rearrange something) when you swap your inventories - you cannot lose them in any way, except forcefully dropping them. Remember - never drop your items or they will get permanently removed. Instead you can sell them for 75% of their price. Rearranging items in your inventory is allowed - this is in case you want some spell to be at another slot, making it easier for you to access it.
Your first objectile is to buy a spell with your Blood Crystals (lumber; reference to this from now on). Each ability costs exactly 150 Blood Crystals so in the beginning you have that many. If you cannot locate the Spell Shops look at the minimap! There are yellow spots similar to the gold mine indication. You can also distinguish them because of the effects around them. Choose a spell and search for enemies to fight. When the game starts you are invulnerable for 30 seconds - enough time to acquire the shops and buy items (abilities).
When the game starts (Invulnerability gets removed) your next goal depends mostly on the game modes - you kill enemies!
Game Modes:
There are currently two game modes - Normal, which leaves a normal mode - with teams, and FFA - making it free for all (duh).
After selecting one of those, the host can choose the number of kills to win, ranging from 8 to 45.

Remember, when a game is finished the host can choose a rematch. This saves time from hosting/creating a new game each time you end.

are no limitations for -terrain default and all -weather commands.

Well, I'm not going to tell every strategy that you can accomplish - after all even I don't know all of them! People have different thoughts and strategies so I'm going to point a few basic ones:
- Try to "last hit" Ghosts - this means to land the final damaging blow. If you see a low hit points enemy just try to kill it with some of your spells but be sure you know he is going to die by you.
- Move as much as possible! This way there is a higher chance to dodge some AoE spells, right?
- Play mind tricks! Enemies see you at low hit points? They are ready to spam you like never before? Turn on some spell like Time Warp and laugh at them as you survive. Or Blink away from danger just before the projectiles hit you!
- Get stats... Yeah, wander around the map and collect Souls - your primary support for attributes.
- Think of your own strategies. =)

For final words I'd like to note that the AI does not have support for all spells - only for 70% of them. I tried to make it a little bit weaker so everybody can have a chance against them but note that if they get more than 4-5 abilities they get REALLY tough.
If you experience some big fps drops then it is either from the lots of effects (maybe you are playing with more than 8 players?) or by my fault. Just state what the problem was and I'll try to look through the codes. I am aware of tiny spikes when items are acquired but I think it cannot be avoided.

In-depth mechanics:
So, basically, almost everything in this map is triggered - message display, text tags, spells and their effects, multiboard, etc. If you've played it you would have noticed that from the first sign - attribute based spells.
The spell swap works by storing your previous acquired items and giving you 5 more slots for 5 more spells. Activating it once again will do the same but will not give you 5 slots - will return your first 5 ones. Spells are gained when items are acquired so it is basically a rather simple thing. Spells are INSIDE the items, which means you have to use the NumPad (recommended) or just the mouse. This also allows you to rearrange your spells in the inventory in any way you would want but you should remember to NOT drop your items (else you lose them forever).
The AI is quite short but made to own you in any kind and defend itself in any way. It will easily find the most appropriate way to damage you and will not skip it. To avoid the AIs you just have to know how they think .. mostly how I made them to think. I won't share the idea, just look at the code if you can understand anything. Do note that this is my second AI ever and again it's not that good. And they have support for all spells so... Know that if the AI has more spells it will kill you faster and easier.

Things you should know!
- You start with 150 Blood Crystals (lumber). First rule is - BUY A SPELL.
- You cannot have more than 100 Spirit Power and more than 100 Strength - obviously for balance reasons.
- When you die you lose 25% of your all stats. The killing unit receives 25% of your stats - just kill as much as you can so you can become more powerful (which gives you higher chance to stay alive).
- Cast as much as you can! Some spells have stacking damage, other spells deal damage based on different factors (i.e. the targets' hit points).

- Most important thing: At the beginning buy damaging spells, not escaping ones, since there is no other way to get blood crystals unless killing Ghosts. If you are good enough you will be able to dodge some abilities and with a bit of well timed and placed spells you will get 150 blood crystals quite soon. So if you get Blink or Time Warp from where are you going to receive 150 crystals?

I will upload replays showing how to correctly go about the game but that will happen when I release a proper version.
And then I'd really appreciate if you guys gave me some!

I would really like to thank all those people who created some wonderful resources because without them this map wouldn't have been started in the first place (or maybe it would but not without me as a scripter...):
- Cohadar, Captain Griffen, Vexorian, kenny!, Romek, Jesus4Lyf, Rising_Dusk
- Evading Self - Blizzard model
- Death: models for the Souls
- And last but not least - Bloodcount - for his tremendous idea!

I would also like to thank a few people that gave interesting and very good ideas on how to fix/improve the map:
- Zack1996, wraithseeker, Cohadar (again)

If I've forgotten something I'll add it. Comments and criticism are welcomed.


Working on a Map
The AI is ridiculous. Completely unbeatable.

I think you did a good job xD. Shuriken's Hotkey isn't working though, and Blink could do with a cooldown increase, it makes spells impossible to land against a good player.

It would be nice if Impale silenced the target while they are in the air. It seems to be the only thing that could counter Blink as it is. Since the damage doesn't scale, I would like to be able to rely on it as a decent disable.

I noticed that Shuriken also does not scale with Spellpower, is there any reason for that?


About the AI part - I have to fix it not to target units in fog since currently the script doesn't care if nearby enemies are visible or not. Maybe because I'm the author I don't find it unbeatable - it's easy for me to own them.. I think with some practice you can also own it, when you get the hang of its thinking :thup:

I will consider all your suggestions since this is a quick teaser before the actual release - I was too excited to wait a few more days. :p
I left Impale disable only movement speed on purpose because I think that a 1 second instant disable may be crucial for balance - you can take a lot of nukes during that time and currently Blink and Time Warp are the only spells to save your ass.

All spells will have formulas for damage just like Blizzard/Firestorm. I left them with fixed values during the testing phases and haven't changed them. I will probably talk with Bloodcount since he has a good sense for balance.

Thanks for the comments guys!


Hard in the Paint.
Played the game, thought it was unique, could be more fun, but it was pretty decent.

* It also seems to easy to get 100 str and agi. Also you should replace the "Gold Mine" mini map icon with something not as big, and defines your towers a little better.

* Maybe you should pause AI until the user player picks the settings at the starting.

-- Future References --

- Make the game more user active. Get the user player more involved, otherwise it's just another mini-game that get's old fast.

-- Suggestions --

~ More spells obviously... (Should already been planning on it :shades:)

~ Spells that you buy again that upgrade to the same spell but stronger.

~ Well first of all, I was just running around grabbing orbs, I didn't know what any of them did at all, maybe you should find a quick and easy way to mention that somewhere. I suggest you use, pressing "Esc" to display commands (If Any) and what the orbs do, but should either be mentioned in the loading screen or the beginning of the match.

~ More modes... CTF, King of the Hill, and switch up how much damage the spells will do, and/or how many spells you get to choose from.


Thanks for the review, I'll definitely add more spells and a game mode.
I don't know with what to change the gold mine icon and still keep the position of the spell shops obvious - probably minimap signals but that wouldn't work that well. If you have any suggestions...
I haven't thought of putting commands for showing what each orb gives - I thought just a text tag upon picking them is enough. After all, you just wander around and a lot of orbs hit you randomly - it's not like chasing them one by one. But okay, I'll do something about it.

and switch up how much damage the spells will do, and/or how many spells you get to choose from.
I don't get this part, damage is already stated on the spells/items and you can easily see in the shops how many spells you can buy. :confused:


^ ty

Version 0.15
- Fixed shuriken's hotkey (E);
- AI no longer targets units it does not see;
- AI will now cast spells slightly slower (0.3 -> 0.45);
- Blink cooldown increased (7 -> 11);
- New damage formula for Shuriken Toss - 50% of Spirit Power;
- New damage formula for Impale - Spirit Power;
- Added support for other spells for the AI - Impetus, Elemental Spawn.

- New game mode: Capture The Flag*;
- New spell: Impetus - a missile that hits an enemy unit and deals damage based on distance between them;

* Capture The Flag (or even better - Hold The Flag):
After 30 seconds of game start (the mode being selected as well) a flag is dropped randomly around the map. Players should find it and take it and keep it as long as possible. Every 7 seconds the flag gives you 1 point until you reach 15/25/40 points (also selected through the game mode). When you reach the required points you win! But once you are killed you drop the flag, although you don't lose your current points.


School is so time consuming... I release this quick update with not so many new content just to make it a full release (no longer demo). I will try to add more stuff before the end of this month, hopefully. :X
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Jesus4Lyf Jesus4Lyf:
    Man, I made this account 15 years ago? Wild. :)
  • Ghan Ghan:
    Seeing J4L is definitely a blast from the past.
  • Jesus4Lyf Jesus4Lyf:
    Oh hey Ghan! Long time. :)
  • jonas jonas:
    J4L! What has happened in your life
  • Jesus4Lyf Jesus4Lyf:
    Hmm, how to summarize... Moved to the USA and got married. Became a professional software engineer and solution lead. Learning Godot for game dev. :)
  • jonas jonas:
    So you are pursuing game dev as a hobby? What industry is your dayjob in?
  • jonas jonas:
  • Jesus4Lyf Jesus4Lyf:
    Not quite FAANG, less pay for a less hours/stress. Yeah, game dev as a hobby.
  • jonas jonas:
    makes sense. Do we have a hobby game dev subforum to showcase some work?
  • Blackveiled Blackveiled:
    Happy Thursday
  • The Helper The Helper:
    Happy Thursday!
  • The Helper The Helper:
  • The Helper The Helper:
    hey tom_mai please do not archive anymore news
  • Ghan Ghan:
    AMD Ryzen 7000 next week :D
  • The Helper The Helper:
  • tom_mai78101 tom_mai78101:
    "hey tom_mai please do not archive anymore news" ----> Got it. What should we do with the "News Archive" subforum?
  • The Helper The Helper:
    I think leave it for real old news that cannot be sorted the reason we had it in the first place was a server issue that we do not have anymore. I don't want to get rid of the archive just not put anything in it for now until we figure it out more
  • The Helper The Helper:
    The side chat has nothing on the discord. it is not possible but the biggest thing on my wish list right now is a sidechat channel on the disord that hooks up to this...
  • Ghan Ghan:
    I've been selected for the Diablo IV beta.
  • Ghan Ghan:
  • The Helper The Helper:
    that is so cool
    Eh just noticed the new discord section on the side. Looks great!
  • Blackveiled Blackveiled:
    :( feels bad I can't ever get selected for any beta I sign up for. It's annoying as heck.

    The Helper Discord

    Members online

    No members online now.


    Hive Workshop NUON Dome World Editor Tutorials

    Network Sponsors

    Apex Steel Pipe - Buys and sells Steel Pipe.