It’s a brand new year, and it’s a brand new day for HaxBallers. HaxBall is a simple, beautiful game, but it has not significantly evolved since its inception. We at HaxArena are planning to redefine the HaxBall experience over the coming year, and we would love to have you (yes, you!) on board to help shape the future of HaxBall. Let me share some of our thoughts with you — we would love to hear your feedback in the comments.
No … and yes. We are committed to keeping HaxArena free to play for casual players, but we feel that more serious players will appreciate the benefits given by a paid account. We haven’t worked out exactly what features will be paid or how much it will cost. Suffice it to say that if you are simply planning to drop in and punt a ball around for a few hours, you can safely put your wallet away.
HaxArena will be played on dedicated servers located all over the world, rather than being hosted on individual players’ computers. This confers a number of benefits. First, these servers will be spending 100% CPU on hosting HaxArena rooms 24 hours a day, so players will feel no degradation from a host player “tabbing”. Second, a room will continue to run until all players have left — a player who opens a room may leave without destroying the room for the remaining players.
We will be monitoring the use of these servers very closely, and if they start to get overloaded we’ll just … buy more of them.
In HaxArena, players sign up with an account that only they can access (using a password, or Google/Facebook authentication). This is already a huge step up from HaxBall, where anybody can log in with any name and thereby impersonate any other known player.
Here are a few things we are planning to record on a player’s profile.
HaxArena will feature rated rooms. These rooms will be run more strictly by an automated engine: teams will be balanced automatically according to previous ratings, and rating adjustments will be made after games complete. Players no longer need to claim dominance (PUT ME IN I WILL REK U); their rating can speak for itself.
HaxArena will provide various ladders that players can track their progress against: global ratings, country ratings, possibly smaller region ratings. A player can see his rankings as a percentile vs. his peers, for example: Top 15% world-wide, top 17% country-wide.
It will always be a player’s primary goal to win any game he is playing in, but who doesn’t love a side quest? HaxArena will give out awards for outstanding achievements that may be proudly displayed on a player’s profile. Some examples may include goals in a single game, goal streaks (at least one goal in each of a string of games), shut-outs (no goals against when playing defensively), ball-on-a-string (a ridiculous duration of ball possession by a single player), and many others. We enthusiastically seek ideas for new achievements!
HaxArena players will have the ability to browse their game history. They may see who was playing, the result, the times of the goals, and a few other basic statistics. If a player plays in rated matches, he may see a history graph of this as well.
A more ambitious plan involves storing the entire replay of a game to be downloaded and watched offline in a youtube-like player. Players may then cut+paste snippets from these replays to create highlight reels for themselves, which can then be put on display on their profiles.
HaxBall is a game that rewards teamwork and chemistry between players, so it comes as no surprise to us that a culture of clubs and leagues has emerged around this game. Until now, these clubs and leagues needed to be managed externally from the game itself, and player access to rooms had to be managed by carefully handing out passwords to rooms that are otherwise visible to the entire world. This strikes me as extremely inelegant.
We at HaxArena believe that these ideas could be integrated into the game directly. The potential for clubs and leagues is limitless and your feedback in this area would be especially appreciated.
A club represents a certain collection of individual players who have observed a certain chemistry between themselves during play. Any player may start a club and thereby become its manager (a manager may appoint other managers). A club manager’s primary duties are to add/remove players to the club, and to create club rooms (visible only to club members or invitees) — which can be used to house team practices, tryouts, or TEAM VS WORLD scenarios, for example.
Clubs have their own profiles and game histories, and may even collect their own badges and achievements. We envision clubs as being highly customizable, including club jersey colours. We hope that clubs will gain notoriety through their profile page, which proudly display the club’s achievements in leagues.
Club rivalries are inevitable in sports, and HaxBall is no exception. In HaxArena, any player may create a league and thereby become its manager (a manager may appoint other managers). A league manager’s primary duties are to add/remove clubs to the league, and to set league schedules (i.e. matches between clubs). The results of league matches will automatically make their way back to the league, whose profile can display the match results and club standings.
Players who aren’t keen to join the whole club scene may still participate in tournaments. A tournament may be thought of as a miniature league that lives out its life in a single room and is managed automatically by the system. HaxArena will offer different tournaments, with possible prizes.
HaxBall is a game with very simple mechanics, and it is possible to create custom maps using external tools and run a game of HaxBall with them. The layout of the map and the physical characteristics of the world can be adjusted, but the main premise of the game is fixed: two teams of players aiming to accumulate more points through goals before the time runs out, with a sudden death overtime period, if required.
We will strive to support existing custom HaxBall maps with as much fidelity as possible, but we also plan to build in native support for HaxBall variants — departures from the normal 2 team premise.
Custom maps that change the layout of the space and the physical constants will continue to be supported. Examples of this genre include SpaceBounce (physics changes) and SniperShot (small nets); the game still plays out in two teams struggling for points via goals, using no additional rules.
Some maps have been created with a set of rules that are not enforceable by the physics engine alone. The prime example of this is Real Soccer, where players are compelled to yield control of the ball to the opposite team when their team kicks it out of bounds. However, nothing forces a player to yield control; a player may ruin the game by simply running off with the ball. The room’s admins then face a choice between educating that player or simply kicking/banning him (the latter choice is used almost exclusively).
We will aim to create support for more complex gameplay rules that can be enforced by the game’s engine. For example, in Real Soccer, the ball could be placed at the point where it went out of bounds, with a force-field around it that blocks out enemy players until the ball has been kicked, as in a kickoff situation. Real Soccer maintains the two teams idea.
There are yet other maps that are designed to discard the two teams paradigm entirely. 6-man, for example, is a custom map where each player plays for himself and guards one of 6 nets. Each player plays with 3 lives; each time a goal is scored on his net, he loses a life. The winner is the player who survives the longest.
This game’s implementation on the HaxBall engine suffers from two main problems. First, the HaxBall engine does not understand anything except the two-team game, and so the nets are modelled as blue or red nets, and the game reports Red Scores! or Blue Scores! anytime a goal is scored on anybody. Cumulative scores for the red and blue teams are tabulated, and summarily ignored. The players instead keep track of their remaining lives using the /avatar command. Second, there are rules that are not enforceable by the engine (e.g. kickoff rules), which again ruins the play unless everybody cooperates. In HaxArena, we have plans to support these kinds of games natively.
As you can see, 2016 promises to be an exciting year for HaxBallers. These are some of the ideas that we have in store. We need to hear from you, the players, to help us to prioritize the development effort, and provide us with ideas that you feel are sorely lacking in HaxBall. I will be writing often to keep you up to speed on the progress we’re making. We at HaxArena look forward to hearing from you and watching the community grow!
csj and the HaxArena team