Skip to content

04 Events

Paul Mumby edited this page May 17, 2020 · 9 revisions

Events are the venue in which your warriors do battle!

Events can be created by anyone, though they are currently (in the Beta) costly to create. The economics and specifics of event creation will evolve as we add the remaining aspects of the game such as wagering, and advertising.

Event Properties

Events have several properties that can be set at creation time:

  • Min/Max Warrior Count: Sets the maximum number of warriors that can join an event, and the minimum that must join before the event will be able to be started.
  • Min/Max Warrior Level: Sets the minimum and maximum level range of warriors who can join the event. This allows keeping things on equal grounds by keeping the range small, making for more even fights, OR you could go for an all out rumble, and keep the range very wide.
  • Min/Max Equipment Level: Similar to Warrior Level, this one sets the minimum and maximum equipment level that a warrior must have to join. Equipment level is determined to be the highest level single piece of equipment the warrior has. This could be used to only have highly equipped warriors, or only un-equipped warriors, or a blend.
  • Maximum Poll Count: This sets the maximum number of Polls (please see below on the description of what Polling is) before the event is considered to be a draw, or stalemate. Polls are essentially a measure of time passing during combat. Setting this number higher means the event can run for longer (typically larger events with more warriors require this number be set higher). Keep in mind that increasing the poll count increases the event creation fee.
  • Join Fee: This is the fee that each warrior must pay to enter the event. Setting this low will make it easy for more warriors to join, but will also mean that little more funding gets injected into the prize pool. Usually for high profile events setting this fee higher will attract premium fighters, as they can both afford, and will be attracted by the larger prize pool.

Spectating Events

Watching an event in BattleDrome is fairly simple. You simply click "Open Event Spectator View" on the back of the event card, or the small pop-out icon on the front top right corner of the card, which will bring up the spectator interface.

Polling Events

Because combat in BattleDrome is executed 100% on the blockchain, and it is entirely decentralized. As a result transactions must be fed into the system to trigger that execution/processing.

Also because combat is quite complex, in comparison with most usual business logic, or transactional processing. The resulting amount of computation needed to execute an entire event's combat can be quite large (much more than the gas limit on the Ethereum network would allow).

In order to address this, provide additional distribution of concern on random number generation, and to provide another tertiary economic factor, we came up with the idea of Polling. We consider any user who acts as a poller of events as "Crew".

Note: Crew can also be a Spectator, and may also be a player who owns warriors in the event as well...

Polling works like mining does on the blockchain normally. Anyone spectating an event can attempt to Poll the event. This submits a transaction that will have a very high gas cost to the network. This gas cost is the "expense" to the "crew" for their mining efforts.

Each event has a "Crew Pool" which is the reward pool that the crew are competing to "mine". At the end of the event, each poll is attributed to the crew that submitted the transaction, and the crew pool is divided evenly among each poll. For more details on the reward mechanics of polls, please see "Event Rewards" below.

Note: You can not submit 2 consecutive polls to any single event. If you were the "most recent poll" for an event, you must wait until someone else has polled successfully, then you can try again.

Each time the event is successfully polled, a limited amount of "time" passes, allowing a number of combat events to occur. These events are emitted by the blockchain in the logs, and captured by the client Web UI to render the combat action. If the action results in either a stalemate state (the maximum number of polls has been exceeded and no winner has been declared), or a winner is declared. Then the event is automatically ended, and rewards distributed as a part of that final Poll.

Note: There are a number of known bugs with polling currently. Some are still being investigated. Polling works as expected most of the time, however due to some intermittent conditions, occasionally an error is encountered. If this happens, please feel free to report it on the appropriate bugs in the issue tracker. Keep in mind, that because polls are random, you need only wait a little bit (as little as 1-2 blocks) and try again, the results will be different each time, so you have a good chance of getting around the error this way.

As a safety net for warriors becoming "trapped" in an event, either due to lack of interest, long running event, or polling errors. We've built in the ability for anyone to cancel an event if over 24 hours has passed without any successful polls on an active event.

The Combat Log

During the event, whenever a poll is successful, the event will execute a certain amount of time. And combat will progress. As the warriors engage with one another, deliver blows, dodge, escape, drink potions, etc. All of this is logged to the log window so you can watch the action unfold.

Note: the log will populate whenever a poll is successful, you don't have to be the one to poll.

Cancelling Events

Events can be cancelled in a couple of circumstances. This allows the event to be rolled back, any warriors who have joined are now freed to participate in other activities, and all fees (less gas costs) are refunded (this includes creation fees, and warrior join fees) each to their respective parties.

Events can be cancelled in primarily 2 circumstances:

Cancelled by owner before event start

In this case the owner of an event can cancel it if it has not started yet. This may be useful if an event is not drawing the interest the owner had hoped, or maybe they made a mistake in the settings.

Cancelled by anyone in the case of a stalled event

This is the safety net that will prevent warriors from being trapped in an event, and prevent the loss of event creation fees by the creator in the scenario that the event becomes "frozen" and can't complete. While this technically shouldn't happen, even with errors on polling, it is possible due to a number of circumstances:

  • The event doesn't attract enough interest, so there aren't enough crew to poll it
  • The event is consistently throwing errors on poll (due to some combination of factors we haven't yet encountered and couldn't foresee), and crew become frustrated and give up on it.
  • The event is large and has been running long enough that it falls low in the list, attracting less attention.

This type of cancellation can only be done if the event has gone at least 24 hours without a successful poll, at which point the event is considered "stalled" and can now be cancelled by anyone. In this case any combat that has already occurred is still permanent. If a warrior has been defeated, and funds (and damage) have changed hands, this is not reversible. However join fees for the event and event creation fees are still refunded as per normal.

Event Rewards

There are 2 different sets of rewards (currently) for events. This will change in future versions of BattleDrome as we add more features and complexity (such as wagers, and advertising for example).

Prize Pool

The Prize Pool is the amount that can be won by the single winning warrior if the event declares a winner (only one warrior left standing). This entire amount will be sent to that warrior upon event completion.

Crew Pool

The Crew Pool is the reward pool assigned to pay the "Crew" (the spectators who poll the events). It is an incentive to keep the transactions flowing, and allow the execution of the combat logic to continue.

The reward size of the Crew Pool is currently set to half of the overall balance of the event. The balance of the event is made up of the event creation fee, and the join fees paid by each warrior that joined the event. This was designed and scaled to be profitable to pollers provided they are careful about the gas price they pay. (with a very low gas price it will be extremely profitable). There is also variability in the gas price as the polls are random. Meaning some polls might take 2 million units of gas, while others might take 6 million. As a result a poller gambles somewhat on how profitable their poll might be.

Lastly, as mentioned above, the polls are divided evenly between the crew. This means that in an event with a maximum of 10 polls set, the crew knows it could be divided up to 10 ways. However that event MAY succeed with only 5 polls, or even in rare cases a single poll. In that case the crew pool is divided among far fewer crew, making the reward much larger.

The size is designed so that under 90% of circumstances it is slightly profitable to poll, so the polling gas cost, using a conservative gas price, will be slightly less than the reward received. But there is a good chance that it will be very profitable depending on the random circumstances (in the event that a max poll count of 10 results in only 3 polls being needed, and a single crew member executes both of those, and assuming all 3 of those polls are only median gas cost, then the profit margin would be VERY large for that crew member for example).

If you are finding that you are consistantly polling, and not gaining at least a small profit (on a whole), then please let us know so we can further troubleshoot and tune the math on this.

Note: Due to the known bugs with polling, there is still the odd case that you poll, and your gas is lost due to an error in the poll, this is a known bug and will be corrected, so in these cases the profitability calculations may not apply. This bug has been addressed numerous times but still exists. However it is now extremely rare. Extensive measures have been taken to ensure crew who poll an event are rewarded, and will 99.9% of the time this will be a directly profitable activity for them.

Unclaimed Prize Pool

In the situation where an event completes without a winner. Where does it's Prize Pool go?

Well luckily we've thought of that, and created the unclaimed prize pool. In this situation the prize pool from that event is dumped into the larger unclaimed prize pool. This pool is then used to enhance the event creation fee of future events (increasing the overall pool in those future events).

This will match a contribution to the event up to the size of the fee paid by the creator. (provided there is enough funds in the unclaimed pool, if there is not, the remaining funds will simply be used)

In this way 100% of the funds continue to be circulated and enhance the experience of all players.

Clone this wiki locally