1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. We need your help nominating resources for or next YouTube video. Post here now.
    Dismiss Notice
  3. The Terraining Mini Contest Reload #2 - Machinery has began! Create a scene centered around a piece of machinery. Get creative tinker boys and girls!
    Dismiss Notice
  4. Join us on our next Custom Game Night, on Saturday, February the 24th at 7:00pm UTC! We'll see you all on our Discord and on Battle.net!
    Dismiss Notice
  1. Archian
    Created by Archian
    Dec 18, 2017
    signupnow.png

    So remember we hosted that [$100 Prize Pool] Melee Mapping Contest - 1v1 ? Great! Because now it's time to see the maps in action! The goal was to create a competitive 1v1 melee map that excels in terrain, dynamic and creativity, but most importantly balance. Thanks to Back2Warcraft we are now proud to announce six maps that everyone will have chance to play and compete.

    SIGN UP HERE

    More information on ESL

    Back2Warcraft will be streaming on Dec 20th 19:00 CET


    Place Reward
    • 1st 75€

    • 2nd 25€

    Warcraft III The Frozen Mapping Contest Cup

    • Date: December 20, 19:00 CET

    • Format: 1on1 Single Elimination

    • Platform: W3arena, channel: ESL Cup

    • Early rounds: Best of one

    • Quarter and Semi: Best of three

    • Finals: Best of five

    • Race: Before the veto each player must declare the race

    • Veto: Ban till best - of, pick remaining, player on the left start first

    Map pool by HIVE WORKSHOP

    You can download all the maps here!
    checkin.png
  2. Archian
    Created by Archian
    Dec 15, 2017
    HIVEISHIRING.png

    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!

    Sign,
    The Hive Staff
  3. 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.

    Prizes:

    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!
    Rules:

    ⦁ 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
  4. Archian
    Created by Archian
    Dec 7, 2017
    bannernew.png

    INTRODUCTION

    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

    THE INTERVIEW

  5. Frotty
    Created by Frotty
    Dec 3, 2017
    [​IMG]

    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.
    [​IMG]

    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.)
                else
                    u.addEffect(EFFECT_POISON, "origin").destr()
                    caster.damageTarget(u, BASE_DAMAGE)
        end)

    init
        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
    endfunction

    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()
    endfunction

    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
    endfunction
     


    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.