Wednesday, June 26, 2013

Happy 2nd HoNiversary Garena HoN!


You are Invited to Garena 2nd Birthday Bash!
Login during the given period and get a FREE exclusive Garena's 2nd year anniversary symbol!


*Promotional Period: 30th June 2013 1400 hours (GMT+8) to 1800 hours (GMT+8)



26 June 2013 0000 hours (GMT+8) to 1st July 2013 0200 hours (GMT+8)

May coins be overflowing in your vault this Summer!
Bringing in the start of Garena HoN's 2nd Big Birthday Bash,
we're going to start this off with having the 50% coins promotion!
What more can you ask for!





Play and Be Rewarded!
(26 June to 1 July 2013)

You heard that! All you have to do is to log in and play to get these rewards for free!

Play 10 Games Receive 3 Heroes: Swiftblade, Blood Hunter, Pebbles
Play 15 Games Receive 3 Throwback Avatars: Throwback Swiftblade, Throwback Blood Hunter, Throwback Pebbles
Play 20 Games Receive 1 Exclusive Avatar: Slasher Maliken

* Rewards will be inserted from 6 - 7 July 2013 despite Match Reward System downtime.
* Only FOC/Grimscrossing/Normal/Casual games count
* From 26 June 2013 0000 hours (GMT+8) to 1st July 2013 0200 hours (GMT+8)
---------------------

It's a Good Game! Triple Match Rewards
(28 June to 1 July 2013)

This weekend we'll be having the 3x matchmaking event! Get your friends and start TMMing to grab those coins while they're on triple mode! Don't miss out also on the 50% bonus gold coins and game rewards!

* BOT match does not count
* From 28 June 2013 0000 hours (GMT+8) to 1st July 2013 0200 hours (GMT+8)




VIP Vault: Limited Ed. Avatars Reopen!
(26 June to 2 July 2013)

Opportunity to be part of the exclusivity clan! Starting tomorrow, we will be having releases of the Limited Edition Avatars! So if you have missed out on the earlier promotions and really want to get something that you couldn't before here's your chance! 7 Avatars will be released in random order throughout this event daily so stay tuned to find out what they are and don't miss out!




Monday, June 24, 2013

Heroes of Newerth might be looking to seeing something much more exciting happening soon! Read on to find out more on what we can expect!

Hello! My name is Robert "Kros" Cherry, and I'm the Technical Producer for Heroes of Newerth. I've been playing HoN for a long time now, and one of the things I do with any game that I play for any serious length of time is theorycraft. I'd like to share some of that theorycrafting with you guys today.

Imagine a mode that starts off with each player picking three heroes. You decide to pick your favorite heroes: Solstice first, then Predator, and of course Monarch.
You enter the game, and it’s not quite the HoN you'd expect; your abilities have been randomly generated from the 30 heroes chosen by all of the players!

So, with your crazy abilities in tow, you head off to your lane. There you are, carefully last-hitting, when suddenly Martyr throws an Amun-Ra stun at you. Good thing your Bubbles lane partner has Accursed's Shield! Unfortunately, Legionnaire pops out of the jungle as Minotaur (that he's stricken with Parasite's Infest) and catches you before you can get back. Luckily, you respawn very quickly, and haven't lost any gold. You also notice you have a whole new set of abilities!

This mode is chaotic, this mode is action packed, and it’s incredibly fun. I know this because we've been play testing it internally for a while now.


We would love to hear what you guys might think about a mode like this, so please leave some comments on the forums here: http://forum.hon.garena.com/showthread.php?43807-Blog-Post-Discussion-Imagine-a-mode...

Saturday, June 22, 2013

Persistent Matchmaking Groups


I'm DJ Hirko ([S2]Deejay), the lead programmer of Heroes of Newerth. I'm writing a post today to give you a look inside the nitty-gritty technical aspects of working on Heroes of Newerth.

One feature we've planned to add to HoN, and actually did have for a few hours, is persistent matchmaking groups. This would mean that after playing a matchmaking game with a group, you would still be in that group and wouldn't need to re-invite everyone next game. It's a very nice "quality of living" improvement for our loyal players.

The original matchmaking code was written to get good match-ups in a timely manner. It worked pretty well, but had scalability problems. These scalability problems laid dormant until the first attempt we made to add persistent matchmaking groups. Our stats showed the number of groups quadrupled, leading to very poor performance on the chat server. This was quickly pulled and has sat on the shelf ever since.

Now here's where it can get pretty technical. We've made huge changes on the chat server to improve its performance. Many O(N^2) algorithms were reduced to O(N) or even O(1) and we now use a separate process on the chat server to matchmake. After these changes, the chat server's peak frametime was lowered from 13000ms to 1200ms. This is a great improvement, but it's still higher than we're aiming for. In order to add support for persistent groups again, we need to further optimize the chat server, and that's where I/O completion ports come in.

Our profiling data shows that 41% of frametime (i.e. peaking at 480ms) on the chat server comes from polling sockets to see if there's data waiting, and if there is, receiving it. This time does not include processing the data - just polling and copying! Polling an individual socket is fast, but it's an O(N) problem - it grows linearly with the number of sockets (including clients and servers). The best solution to this problem that we've found is a Windows feature called I/O completion ports.

Windows supports I/O completion ports for a variety of asynchronous I/O functions - the pertinent one here being reading socket data. I/O completion ports are an OS level messaging system. When you call an asynchronous function that's hooked up with an I/O completion port, a message will be queued up when the function call is finished. Instead of processing the socket immediately, we instead associate the socket with a shared I/O completion port, call an asynchronous read, and then process the messages as they're created. This reduces the O(N) problem of polling socket data to an O(1) problem, since we no longer need to loop over all sockets - we just process the messages as they're posted to the single I/O completion port. This reduces our peak frametime from 1200ms to 760ms, leaving plenty of space for us to add a new feature like persistent matchmaking groups.

These changes will be going out soon and from there, you can expect to see persistent matchmaking groups being added in the near future.

I hope this was informative and thanks for reading!

Friday, June 21, 2013

The Ultimate Legend Returns: Sun Wu Kong

The King has arrived in Newerth today.

Early Bird Promo: 33% Discount + Bonus Power Level Chat Symbol
Only from 21 - 23 June 2013
When you purchase Sun Wu Kong from 21 - 23 June 2013, not only will he be on a 33% discount off the regular price, you'll also receive an exclusive bonus gift:

Power Level
Chat Symbol!
Strike while the iron is hot!

Sun Wu Kong is undoubtedly the strongest and cheekiest monkey of them all. He's got a stick with your name on it and he's going to swoop right in on his Nimbus Cloud and dish out the pain. Get ready to be schooled unless of course... you're playing him.

"I win. You lose. I'm awesome. You're megabad." - Sun Wu Kong





Thursday, June 20, 2013

Garena Honiversary 2013: Regional Lan Party 2013!


It's an honor to celebrate GHoN's 2nd birthday with you! We would like to thank you for being on this journey with us as our HoN family grows bigger and stronger. You have made a significant impact on our lives and for that, we sincerely appreciate your support and friendship.

Something Exciting is Happening Everywhere!
Visit the links to find out more about how you can participate!
 
Singapore
Date: 21st June 2013
Venue: Online
Events: The Ultimate Totem Wars
Prizes: 47,500 Gold Coins + Avatars + Ultimate Avatar Giveaways
Link: http://bit.ly/tutw2013
 
Malaysia
Date: 30th June 2013
Venue: MOL Friendster iCafe (http://bit.ly/molicafe)
Events: Welcome Party, "You Hook Me, I Hook You", SAY CHEESE!, Tournaments, Lucky Draw and more!
Prizes: HoN Merchandise Giveaways, HoN Steel Series Mousepads, HoN Anniversary T-Shirts, Treasure Cards!
Link: http://hon.garena.com/news/all/873

Thailand
Date: 30th June 2013
Venue: Siam Paragon (IMAX Theatre + Infinite Zone)
Events: Tournaments, Watch & Win, Lucky Draw, Birthday Cake, Meet & Greet GMs & Star Players, Thailand Avatar Contest, Best HoN Team Players of the Year!
Prizes: 160,000 THB, Gaming Peripherals, In-Game Avatars
Link: http://www.hon.in.th/news/content/4998

Philippines
Date: 29th June 2013
Venue: Arena Internet Cafe, Vito Cruz, Manila
Events: Tournaments, GM/Mods vs Community, Raffle Draw, Q & A, Hon Henyo, Early Bird Goodie Bag!
Prizes: 25,000 Pesos, Hon T-Shirts, Ballers, In-Game Items
Link to article: http://hon.garena.com/news/all/877

Indonesia
Date: 30th June 2013
Venue: Jakarta, Surabaya, Bandung, Medan, Yogyakarta
Events: Birthday Cake, Battles of Newerth, Battle of The Burgers, Mini Game, Lucky Draw
Prizes: IDR 30,000,000, HoN Merchandise, Gaming Peripherals, In-Game Items
Link to article: http://www.hon.co.id/berita/all/791

More information on online events & promotions will be posted in the coming days!
Stay tuned to find out!

HoNiversary 2013: The Ultimate Totem Wars & Giveaways!

 Happy Birthday to Garena HoN!
The very first event for HoN-iversary 2013 will be held by the Singapore GM Team this Friday.
 
ONLINE EVENT
THE ULTIMATE TOTEM WARS
21 June 201, Friday
Qualifiers from 18:00 GMT+8 onwards
Semi Finals & Live Stream from 21:30 GMT+8 till late
 
PRIZES
25,000 Gold Coins + 5 Deconstructor Tempest Avatars
15,000 Gold Coins + 5 Alien Andromeda Avatars
7,500 Gold Coins + 5 Hope Avatars
  
ULTIMATE GIVEAWAYS
Risen Ra, RXR9, Stardust Aluna, Quintan & Zenifer.
Live stream will start at 21:30 GMT+8.
 
*Brackets & Schedules have been released:
Check the link given below to see if your team is on the list!
If you have missed registration or did not manage to get a spot on the Brackets, you can still join #Waitlist, and there's also the Ultimate Giveaways to look forward to!
   
*Full Details & Important Information
 

Wednesday, June 19, 2013

The Rift Wars: Week #3

Week 3: Hunter Bushwack or Rift Bubbles?
Every Wednesday brings a new epic battle between the two warring guilds!
This week brings a new match up between Hunter Bushwack VS Rift Bubbles!
With popularity, comes great power!
Every click counts. Place your bets wisely!
*If you own all 5 avatars on the winning side,  you will receive a 6th avatar with special effects.
Last Week's Results: Rift Predator Wins!
A true mercenary never fails his master. If you had put your money on Rift Predator, you've made the right choice! This brings the score to a tie.
Summary: Hunter VS Rift 1-1
It's a tie!
Also new this week, Sun Wu Kong, the Ultimate Monkey King avatar will be released on Friday, 21 June 2013! Stay tuned for more details.

Tuesday, June 18, 2013

Epic MVP Deals


Congratulations to sG for winning the Dreamhack Summer 2013 & lets give our home teams, iMp & MiTH.S2Y a hearty welcome back from Sweden. Better luck next time! 

In lieu of the exciting matches that have been played in the past few days, here are four avatars of well-played heroes put on a special 60% discount off the regular price!

Only for a limited period from 18 - 20 June!

Mystic Tempest
Topiary Warden
Rosie Engineer
Den Mother

Check out the HoN Store for these great deals!

Saturday, June 15, 2013

Dreamhack Summer 2013: Watch & Win



From the 15th to 17th June, tune in to GarenaHoNSEA Twitch TV to watch exciting Dreamhack matches!

Live Stream: www.twitch.tv/garenahonsea
Schedule: http://hon.garena.com/news/all/882

WATCH & WIN

On the 17th June 2013, Mystery Redeem Codes will be given out on our GarenaHoNSEA Twitch TV live stream to lucky viewers who tune in to watch the Dreamhack Finals!

Prizes will include Avatars and Gold Coins.

SEA PRIDE

Support our SEA Teams!

If iMp or MiTH wins the DHS2013, we will be celebrating with a bonus Double Matchmaking Coins Weekend as well as incredible discounts on selected avatars used by the champions in the Finals!

Good luck!

Thursday, June 13, 2013

Dreamhack Summer 2013

Stay tuned this weekend 15th - 16th June 2013 as well as we see teams from all over the world meet and compete at Dreamhack Summer 2013 for the title of Champion of Adapt & Conquer!



Don't miss it as we cover it at www.twitch.tv/garenahonsea!


Be there!

Wednesday, June 12, 2013

The Rift Wars: Week #2!


Week 2: Hunter Swiftblade or Rift Predator?
Every Wednesday brings a new epic battle between the two warring guilds!
This time round we have a match up between Hunter Swiftblade and Rift Predator! With popularity, comes great power!

Every click counts. Place your bets wisely!

*If you own all 5 avatars on the winning side,  you will receive a 6th avatar with special effects.

Last Week's Results: Hunter Rampage Wins!
A true mercenary never fails his master. If you had put your money on Hunter Rampage, you've made the right choice!

Ruin Revenant
The Haunting Begins: 14th June 2013
The miners outside the City of Iron were forced to dig ever deeper in their search for ore, and when the dust cleared from the Engineer's explosion they found among the rubble a church steeple. Examination by the martyrs proved it dated back to the Lost Civilization, when man had ruled the earth and subjugated all he could find, including the gods.

The martyrs prayed night and day while the miners carefully cleared the dirt and debris from around ancient stone church. They prayed for a sign from Sol, a gift that would aid in the war against the Hellbourne.

When they finally pried the petrified wooden doors open, the martyrs immediately realized their prayers had not been answered. Desiccated corpses were piled to the high peaked ceiling, their mummified robes marking them as men of the cloth, priests who had stood firm as man fell from the light. Someone--or something--had punished them for their devotion.

The martyrs watched in sorrow as the bodies collapsed to dust in the soft breeze. Their sorrow quickly turned to horror as the dust began to swirl, build, and burn with lifeless fire. The holy souls had been forsaken for centuries, entombed within the ruins of their temple, and now they would exact justice upon those who dared to carry a living soul upon Newerth.

Friday, June 7, 2013

Happy 2nd Birthday Garena HoN!

The Singapore GM Team invites you to join in the celebration for Garena Heroes of Newerth 2nd Year Anniversary!

This year for our HoN Anniversary celebration, we are bringing the activities online and opening up 32 slots to include EVERYONE!

THE ULTIMATE TOTEM WARS
Event Date: 21st June 2013, Friday, 6PM -11.30PM (GMT+8)
Number of Teams: Max 32 Teams, 16 Slots reserved for Singapore Teams
Game Mode: Mid Wars, 5V5, All Random, No Hero Repick, No Hero Swap, Drop Items


PRIZES & GIVEAWAYS!
1st: 25,000 Gold Coins + 5 Avatars
2nd: 15,000 Gold Coins + 5 Avatars
3rd: 7,500 Gold Coins + 5 Avatars
For those who tune in to watch the live stream, we will be having Ultimate giveaways!
We won't reveal the giveaway prizes, but you definitely do not want to miss it.

Important updates regarding the event and registration can be found at http://goo.gl/cOq0H.
Want to be the first in line when registration opens on the 7th June? Follow GarenaHoNSEA on Facebook at http://www.facebook.com/garenahon  to receive live updates!

Tuesday, June 4, 2013

The Time For Stardust Aluna Is Now!

Added new Aluna Ultimate Avatar: Stardust Aluna

* Aluna's first avatar knows how to make an entrance! Stardust Aluna is an Ultimate Avatar with custom effects based on her items; give her a scouter eyepiece, enhanced boots, laser staff effects, a sheep or gem droid, enhanced gauntlets, and a jet pack!
Releases on 7th June 2013

All-Star Bundle:
Stardust Aluna
Stardust Bundle
Stardust Green Name
Releases on 7th June 2013


The Great Rift is expanding into Newerth! It has snatched warriors from our battlefields and
pulled them into its dark chaos, where they are either infected by the Rift and become
Riftspawn or exert their will upon the alien realm and join the Hunter's Guild, slayers of
Riftspawn. Now they have returned to Newerth to battle, and the victor will be decided by
you!

Every week beginning June 5 in the Store Specials page, purchase a Hunter's Guild avatar
or a Riftspawn avatar to determine the winner of that week's battle. Purchase all 5 avatars
for your favorite side and receive a 6th Team Leader alt avatar for free. Of course, if
you're a mercenary, you can purchase both avatars but don't expect mercy if you're caught
playing both sides. The Team Leader on the side with the most purchases will receive extra
effects!

This Week's Death Match: 5th June 2013
Hunter Rampage VS Rift Arachna

Welcome to the Heroes of Newerth Blog

You've probably noticed a change around here.

At S2 Games & Garena, we've undergone a company-wide shift to become more transparent, to listen harder, and to produce more content and changes that you, our players, want to see.

In an effort to prove our dedication to transparency, we've established this handy little blog. Here, you can read posts from Designers (both balance and hero), the Content team, our Community Manager, and even from the CEO himself. We want you to be informed about the changes happening around HoN, and to also feel our passion for these changes first-hand.

In the top right corner, you'll notice a filter function. This will allow you to filter posts by topic, so you can always stay up-to-date on news you're interested in.

We believe that giving back to the community is the best way to provide service to our players. As we continue to improve, we hope you will check back here for updates, insight, and in-depth reasoning behind the decisions we're making.

Stardust Aluna Ultimate Avatar


 


The time has come. 

Ultimate Aluna has arrived in Newerth. Be sure to find her in the HoN Store.

As part of this special occasion, we are also releasing a special Stardust Green name color. Now you can glow just like Stardust Aluna's laser staff!

The Rift Wars: Prologue


The Legion Command sent me to the meeting in a blackened carriage. The door was locked from the outside, the windows shrouded with thick canvas. It was a most secret palaver, the details of which I read from a sealed parchment, opened only when I was away from the eyes and ears of The Capital. As King Jeraziah’s Anointed Conciliator, I had expected to find orders that sent me to some childish disagreement between egotistic generals, squabbling over who got the honor of dying first.

Instead, I read by the light of a shaking candle that I was being taken to meet with the Hellbourne. This, to put it politely, was a shock that made my bowels quake. When I read why the meeting was necessary, I began to pray.

The sun was above the horizon when I finally emerged from the carriage. We were in a dark wood near an overgrown stone ruin that had once been a grand keep. Two royal guardsmen led me to a doorway clogged with vines and dead leaves. One of them went inside while the other stayed with me. The first returned and tilted his head, indicating I should enter. He seemed shaken.

The urge to turn and run was strong, but I was a representative of the King. My pride—and yes, my curiosity—got the best of me. What sort of creature served as a negotiator for the daemons? Had they sent a conversant imp? A savvy warlock?

I followed a damp stone hallway that was much warmer than it ought to be. I ignored the evidence, however, and was rendered speechless when I entered the round stone chamber. The only light came from a rotating orb floating near the high domed ceiling. Forks of red lightning crackled from it and caressed the damp stone. Beneath it, a man sat facing me across a small wooden table in the middle of the room.

He used to be a man, I should say. I don’t know what he is now. But I was about to palaver with Jaru the Corrupted Disciple himself, and I was woefully unprepared.

The empty chair slid away from the table with no visible force moving it.

''Sit,'' he said.

I sat, and remained completely still while the chair slid toward the table until my stomach touched its edge.
The Corrupted Disciple leaned back, his red eyes burning. ''Before we begin, tell me. How is my sister?''

''Sister Juna is well, or so I hear.'' So far his negotiating style was impeccable—I was terrified not to answer.

''Have you met her?''

''No.''

''When you leave here, seek her out and tell her I still reserve a place at my side for her. You know we were raised studying the Codex Solaris, that worthless brick, competing to live the most devout life?''

''I've heard the tale.''

Jaru smiled and smoke spilled through his teeth. ''It was readily apparent I’d lose that race. She was an angel from birth, and from there her purity increased. So I found a shortcut to everlasting power. I ask you, Conciliator: What kind of god makes you wait until you’re dead for a reward?''

I was already on my heels. I had no weapon save for my sharp wit, which has saved me from many altercations. To be fair, it may have been the cause of some of them, but that is another matter. I recalled my purpose and summoned courage from unknown depths. ''And I ask you, what kind of brother forsakes his loving sister for black corruption? The only reason she risks her life on the battlefield is the hope of finding and saving you, sir, and I will not share your message and further shatter her heart. Now if we are done tending to your family tree, I believe an urgent matter brings us to this table.''

The smile grew. ''You realize I could cook you in your clothes.''

''And return to your masters bragging of that and no more.''

His eyes flared but his voice was calm. ''Another time, then. Today we shall converse as equals. Let the Colloquy begin.'' He folded his hands on the table. The wood charred beneath them. ''What does your Legion know of this Great Rift?''

The laws of Colloquy prohibited lying. Cleverness, however, was highly encouraged. ''We know Valreia the Riftwalker opened a portal to the damned place to save Hell’s Keep from an eruption of lava.''

''An eruption caused by your Black Legion sappers,'' Jaru said.

''What is the Black Legion?'' This was not dishonest. No one outside the elite unit knew for certain who they were or what they did. I brushed it aside. ''No matter. As my orders state, I am here to discuss what is coming out of this portal, and how we can close it. It is a threat to all of Newerth, even greater than your Hellbourne.''

''That is debatable,'' Jaru said. ''But what about the things going into the portal?''

''In?''

''Oh yes. Drawn in, or pulled, then re-emerging...changed. Don’t tell me your Legion isn’t aware of this.''

I could not be false. ''Go on.''

He began to burn shapes into the table with his fingertip. They seemed to have life, squirming tentacles and quivering spikes. ''Have you not noticed some of your soldiers missing?''

''We have many warriors on missions of secrecy. Too many to count, gone for months at a time while they execute their orders. Sometimes years.''

Jaru said, ''But these soldiers are not missing for months, my friend, or sometimes years. They are gone for a few hours, a day at most. But in the Great Rift, those hours span a decade.''

I could not help myself. At this news, my expression shifted a fraction.

Jaru nodded. ''You may dispose of the artifice; your ignorance is apparent. I will share what we know, however, because your statement is true. The Great Rift is a threat to us. It is expanding and refuses to be tamed and used as a weapon against you, so it must be destroyed. It and everything it spews forth, including those returning to Newerth.''

''You said they are changed? In what way?''

Jaru said, ''The Great Rift steals them from Newerth. Man, beast, daemon, it does not discriminate. They spend years in the pitch blackness, wandering, killing, surviving. Or not. If they do live and find their way back to Valreia’s portal, they emerge and wreak havoc until they are killed, at massive casualties to our forces, or escape into the wilderness. Their paths of destruction are easy to follow—just look for the vultures.''

I considered this for some time. Above, the red orb crackled with energy. ''It is the official stance of the Legion that we will do nothing, and watch with pleasure as these Riftspawn wipe the Hellbourne from the face of Newerth. Don’t ask for documentation; I forgot my sealing wax.''

Jaru swept his palm across the table, scorching the drawings into a black smear. ''I expected as much. And if the Riftspawn should destroy us, do you believe they will march back into the Great Rift and be gone forever? Or will you just pray for it?''

I said nothing.

''You say you’ll watch,” Jaru said. “So let’s go watch.''

Jaru produced a Homecoming Stone from beneath his cloak. In the next instant I stood next to him on the windswept slope of the volcano Krula, my eyes watering from the oppressive heat and grit flying through the parched air. His red orb rotated over his right shoulder.

''How close of a look would you like?'' Jaru asked.

I took a step backward. A hundred paces down the slope the black portal into the Great Rift gaped like a shark’s mouth, as wide as ten roads and tall enough to swallow a castle. Glowing purple tentacles thicker than any tree on Newerth slid across the threshold and seemed to taste the charred stone on our side, sampling it. I prayed whatever they were attached to found it lacking.

The end of the nearest tentacle split and fanned apart to discharge a tear-shaped blob of viscous fluid which glowed with a harsh blue light. When the fluid touched the stone it immediately hardened, shifting to a mottled gray color and fusing itself to the slope. The top remained open, however, and the internal blue glow intensified until an oily black substance spewed into the air.

''Can you count them?'' Jaru said.



There were dozens of the alien stalagmites, perhaps hundreds, already in place and clouding the sky above Hell’s Keep with a thick black shroud.

Jaru smiled. ''As you can see and smell, our volcano emits soot and a lovely sulphurous aroma. But her pollution is temporary.” He nodded at the large cones. “This will be permanent. We believe their
aim is to create pitch blackness over Newerth, an environment that will allow all the unspeakable things within the Rift to cross over.''

''The Rift wants to expand,'' I said.

''Yes. Swallow us whole, if you will.''

''Can’t you destroy these things?''

''We have tried—stop!''

I know not what overtook me in that moment. The nearest tentacle had withdrawn into the Great Rift, and I rushed forward and kicked its latest cone. I haven’t kicked many things in my life, but this was by far the hardest blow I’d ever dealt. I may as well have struck the world I stood upon and hoped for movement. I stumbled backward into Jaru, who stepped aside and let me fall into the dust.

He looked down at me. ''As I was saying. We have tried every means, including weapons we have not yet brought against you on the fields of war. The stalagnights—I coined that term, thank you—are impenetrable. We have tried to shatter them with steel and magic. We have tried to cap them with stones and spells. Nothing made a difference. But the Rift has made it clear: it does not appreciate any of these actions. I assume it won’t appreciate your attempt either.''

I stood and slapped some of the grit from my cloak. ''What does it do?''

''Wait and see.''

We watched three tentacles place their stalagnights, which immediately began to spew the black pitch into the sky.

Jaru smirked. ''Perhaps you scared the Rift into submission with your ferocity.''

Then a giant spider’s foot, glowing purple and barbed with claws, stomped through the portal.

''Or perhaps not,'' Jaru said.