1. Evolution complete! Make Darwin proud and go vote in the Techtree Contest #12 - Poll.
    Dismiss Notice
  2. Icon Contest #17 - Results are out! Step by to congratulate our winners!
    Dismiss Notice
  3. Succumb to the whispers and join our Texturing Contest #29 - Old Gods!
    Dismiss Notice
  4. The results for Texturing Contest #28 are out! Step by to congratulate our winners!
    Dismiss Notice
  5. We've created the Staff Job Openings thread. We're currently in need of icon, video production, and social/multimedia positions to be filled. Thank you!
    Dismiss Notice
  6. On May 20th a new law about privacy and data processing comes into work in the EU. I am no lawyer and I need help figuring out if we comply and if not, what we must do about it. Please message me if you can provide any assistance. Read more. Ralle
    Dismiss Notice
  1. Archian
    Created by Archian
    Dec 15, 2017

    As most of you know by now, StopCampingN00b recently resigned his position as Community Manager for The Hiveworkshop. His job was to manage our social media and to promote The Hiveworkshop as best he could anywhere he could. He also managed the hive's relations to other sites and forums and brokered deals and set up affiliations. In short: He was our PR Manager, Agent and Diplomat.

    Even shorter: He was absolutely outstanding.

    And although the staff will miss him dearly, it is also important that we maintain a such position among our ranks. Therefore we would like to extend an invitation to anyone who feels a calling to make the hive the best place they can. If you love the hive, and if you want to do your part in promoting and improving this place to the best of your efforts, then Community Manager might just be the job for you.

    There are, as with any job-offer, some requirements:

    • Activity: You need to be an active member and you will need to be actively a part of the community and happenings on the site. One of your many tasks will be to promote new resources and new happenings on the site on our Facebook and Twitter accounts.
    • Photoshop Skills: A certain level of skills using any form of Photoshop tools is necessary, as you will be working to make posts that need to look good and presentable.
    • Creativity: You will need to have a creative business mentality, be able to find new ways of making the site interesting, new ways of making it accessible, and new ways of promoting it to the world.

    • Proficiency in English: You must be fluent or strongly written and conversational in the English language.
    We know it is a lot to ask of anyone, especially for being an unpaid position. But it does offer a good chance of educating yourself on the matter of how to manage public relations, how to promote something and generally how to work in a team and forward your own agenda and ideas. It's also a great thing to have on your curriculum vitae/resume, as game development companies and online communities are hiring Community Managers all the time. Food for thought!

    Please write your application in the Admin Contact forum if you are interested.

    Thank you for your time, good luck and have a nice day!

    The Hive Staff
  2. Hawkr
    Created by Hawkr
    Dec 4, 2017
    header 2.jpg

    Take control of the Blood Elves, Scourge, the Legion, the Dalaran Remnants, Dwarves, Trolls, Horde, Forsaken, the Cult of the Damned, Dragonmaw's Clan or the Silver Hand and battle for supremacy in the shattered land of Lordaeron in a grand strategy for the ages!

    It is with great excitement that I hereby announce the First Grand Lordaeron: The Aftermath Tournament, sponsored by Clan UoS. LTA has long proven itself to be universal, having united all communities under its banner. Therefore, I believe it is past time to organize a tournament in which all communities may clash for supremacy in this battleground and herald to the world which players are truly the best ones among us.

    All the matches will be either live casted by the streamers playing in the teams or by youtubers Zo_Om, Harald and Azothan to name a few, so all may enjoy the games and maybe learn from them.

    The organization setting will be the classical best of three, meaning that the first team to win two matches will be qualified for the following phase. The teams will be composed of six players and factions will be picked as in draft mode. Each team picks a Team Leader and when in game the agreed upon Team Leader will go first and pick a faction, then the opposing Team Leader picks two factions (to compensate for the first pick) then again first one picks one faction, the second team leader picks one and so on until all factions have been picked.

    A special thanks to @Marshmalo and all of LTA editors, who made what LTA is today and allowed us to have this tournament in the first place! And a big shout out for @Draupne and @svmns who have made a special version of the map with a PAUSE function just for this tournament!

    Sign Up:

    The team’s name, alongside its members and team leader with his contact info is signed-up through here: Grand LTA Tournament [Team Sign-Up]! If you can't create a team but still want to participate: Grand LTA Tournament [Solo Sign-Up] The period for signing up to paricipate in the tournament is open up until the 12th of December.


    The winning team will receive a list of 30 games (worth about 800e) from which they'll be able to pick 6, one for each of the team members! So try hard the hardest you can!

    ⦁ Members are not allowed to switch, so all of those who signed up composing a team must be present to play.
    ⦁ The deadline is that, once agreed upon by both teams, a match should be played within the period of two weeks.
    ⦁ At the beginning of the match the game should be paused until all teams members have allied each other.
    ⦁ Needless to say, but map-hacking, cheating, glitches and bug abuse are strictly forbidden.
    ⦁ In case someone disconnects in the first 20 minutes of the game, a remake is to be hosted. With the exact same factions.
    ⦁ Victory condition is not set in stone, but we hope everyone will be a fair sport about losing or winning that is.
    ⦁ All replays are to be sent to @Hawkr to be reviewed. They will then be sent to be cast by one of the previously mentioned youtubers.​

    If you have any questions don't be afraid to ask either here or join us on our discord and ask for @Hawkr! And don't forget to check out the LTA forums and changelog for the latest news about the map:
    Lordaeron: The Aftermath
    Lordaeron: The Aftermath
    Latest Changelog
    Map download link

    We hope to see you on the battlefield!
    - The Warclave Staff Team
  3. Archian
    Created by Archian
    Dec 7, 2017


    Today we got some real eye-candy for you! Some time ago, Mr.Goblin joined the Hive moderation team by taking on the mantle of Art & Graphic Design moderator.
    Mr.Goblin, known in real life as Vincent Turcot, is an accomplished Concept artist, Illustrator & Art Director. One of his artworks was featured on Blizzard's World of Warcraft community site.

    Mr.Goblin has made our art section a real attraction! He started doing livestreaming events which Hive members are invited to tune into and participate in.
    He also participated in Hive's Concept Art Contest #9 and I encourage you to check out the entries!

    Some time ago I, Archian, had a chance to sit down and talk/chat to Mr.Goblin about his experience with concept artwork, and he was kind enough to give me an insight on the process of making the Starcraft Fan Art, For Auir!

    To see more of Mr.Goblins awesome work, be sure to check out the following links after reading through this article:

    108930-1464152656-3ab5803d6d7c9dea77b051702c0fe2e9.png 108931-1464152656-0fe792ca4bb8ac18749171ccf54bd7c5.png 108934-1464152819-c1b77257b10d9f70aae704f3974ec9ff.png workshopgoblin.png


  4. Frotty
    Created by Frotty
    Dec 3, 2017

    This is the second issue in a regular series of news posts about wurst and the wurstscript community. Unlike the previous issue, this one is short, and focused on this month's progress. We intend to use this format for all future posts.

    What is wurst? Wurstscript is a programming language that compiles to JASS (the language used for scripting warcraft 3 custom games), and is developed alongside a suite of tools, which provide a coherent and modern modding development experience. It can even work alongside maps written in vJass. Wurstscript is designed to make hard problems easier and more elegant, and easy problems dead simple.

    The theme of this issue is "wurstscript in practice", where we want to show how regular ordinary maps use wurstscript, instead of focusing on higher level language features.

    Toolchain updates
    • The setup tool has been moved to a separate repository. It now checks for new versions of itself as well as silently checking for compiler and project dependency updates. To get these __critical__ new features, please do update your tool by downloading at the link above.
    • Unit Tests now have map-wide read access to compiletime resources. This allows the author to unit-test some behaviors that were previously not possible.
    • Added "hashtable mocks" for string data operations, which allows them to work at compiletime and in unit tests.
    • Bug fixes:
      • Fixed some edge cases where vscode autocomplete would misbehave.
      • Fixed a bug which caused the `buildmap` command to emit an invalid mapfile in certain cases.
      • Changing between files in vscode no longer causes an invalid buffer ("ambigious reference error").
      • Standard library fixes, and new features.
      • Fixed some rare cases of ascii-int parsing problems, which improves JASS compliance.
    Special thanks to @DD_legionTN and @HappyTauren for their testing and contribution efforts.

    Hiveworkshop integration

    This month a number of us have been thinking about, and acting on, ways of improving unification between wurst's development and hive workshop.

    One achievement on this front is the addition of the Wurst tag, now enabled for all code-related submissions. This includes:
    • Spell submissions.
    • Triggers & Scripts posts.
    • JASS (code) submissions.

    We were also excited to see multiple submissions before this was even announced!

    You should expect further wurst-related activity in the near future as a number of community members are getting involved.

    We're excited to see what you've done that might be fun or interesting but doesn't quite fit in the standard library - and even moreso interested to see what kind of magic you can work up in spell submissions. For code review feedback always feel free to tag @Frotty or @Cokemonkey11 .


    As requested by our readers, we're going to include a code snippet example in our posts from now on. In line with this month's theme, here's a practical and simple example that shows how wurst can make an easy problem trivial:
    Code (WurstScript):
    package SimpleSpell
    // Augments the Warden blink ability to deal damage to units in the target
    // area.  Units with low enough health are instead slain.
    import Assets
    import ClosureForGroups
    import EventHelper
    import RegisterEvents

    constant ID_BLINK = 'A000'

    constant BASE_DAMAGE    =  100.
    constant DAMAGE_RADIUS  =  150.
    constant SLAY_THRESHOLD =  200.
    constant BLINK_RANGE    = 1000.

    constant EFFECT_POISON = Abilities.poisonStingTarget
    constant EFFECT_SLAY   = Objects.nightElfBloodArcher

    function onEffect()
        let caster = GetTriggerUnit()

        forUnitsInRange(getSpellTargetPos(), DAMAGE_RADIUS, (unit u) -> begin
            if caster.getOwner().isEnemyOf(u.getOwner()) and u.isAlive()
                if u.getHP() <= SLAY_THRESHOLD
                    u.addEffect(EFFECT_SLAY, "origin").destr()
                    caster.damageTarget(u, SLAY_THRESHOLD * 2.)
                    u.addEffect(EFFECT_POISON, "origin").destr()
                    caster.damageTarget(u, BASE_DAMAGE)

        registerSpellEffectEvent(ID_BLINK, function onEffect)
    Then when the wurst compiler is run, the above emits nicely readable Jass (see below). This is just one example of wurst providing zero-cost abstraction, since the inliner would ultimately inline e.g. getSpellTargetPos into 2 local definitions - a topic we will discuss more in future posts.

    Code (vJASS):
    function getSpellTargetPos takes nothing returns real
        set getSpellTargetPos_return_x = GetSpellTargetX()
        set getSpellTargetPos_return_y = GetSpellTargetY()
        return getSpellTargetPos_return_x

    function forUnitsInRange takes real pos_x, real pos_y, real radius, integer c returns nothing
        call pushCallback(c)
        call GroupEnumUnitsInRange(Group_ENUM_GROUP, pos_x, pos_y, radius, ClosureForGroups_filter)
        call popCallback()

    function onEffect takes nothing returns nothing
        local unit caster_2 = GetTriggerUnit()
        local real temp_x = getSpellTargetPos()
        local real temp_y = getSpellTargetPos_return_y
        local integer clVar = alloc_Closure_2()
        set caster[clVar] = caster_2
        call forUnitsInRange(temp_x, temp_y, 150., clVar)
        set caster_2 = null

    Next month we'll return to a more hardcore example, demonstrating `@compiletime function`s + expressions, and their uses.

    We look forward to your comments! As usual, we chat all things wurst at the #inwc.de-maps IRC channel.
  5. Ralle
    Created by Ralle
    Dec 2, 2017
    I am very happy and proud to announce that our good old member @Kam now works for Blizzard. This is so ducking awesome. I have reflected his job title on the site:
    Screenshot 2017-12-02 10.21.37.png
    Give him a round of applause everyone!