War (also known as NeubyWar and later ZeubyWar) was a minigame for the computer game Minecraft, which I invented and developed (implemented as a Java plugin).
The War plugin expanded the traditional gameplay of Minecraft by a matchmaking system (players can join a game lobby, get assigned to one of two teams, can vote for one of three randomly chosen maps, and when the countdown is over, finally get teleported to the battlefield), by a custom currency (money can be earned by damaging and killing enemies, as well as winning a match) and custom weapons and items with special effects (can be purchased with the money. Examples are grenades, sniper shot, mines, blindness bomb, machine gun, etc.).
It was the very first Minecraft minigame I developed and was very fun to play, but was not optimized for a broad range of average players and instead rather difficult to understand and get into as a beginner. I learned a lot about software development during the creation of this Minigame and I also learned a lot about user experience and accessibility.
Running my own Minecraft server in 2012, we had a core player base of around 50 players, 5-20 being online simultaneously. Just wanting to have fun, we played and fought fights and so on, just as other regular players. One idea I had was, that we could divide us players (everyone who was interested) into two teams. Then, both teams would get a few days of time to build their castles, walls, and other combat buildings (e.g. hidden underground tunnels, etc.). Finally, everyone would get the same armor and weapons and we would fight. This was a lot of fun for us but it was quite some effort for me to coordinate everything, give everyone proper equipment, teleport the players to the corresponding locations, and so on. Therefore, after just one or two days after trying this „team blue vs team red“ fight approach, I decided to write a (very) simple plugin that would automate that task. Players could join the „battle“ using one simple command and would automatically get assigned to a team, equipped with items, and teleported to the waiting area. After some time of no new player joining (or some fixed total countdown), players could start the fight with another simple command, causing the team members to get teleported to their team spawn and the battle officially starting. Every team would have a fixed number of „team lives“ and team members would be respawned after being killed until the team would have lost all of its lives. This was very simple, but also efficient and it did work.
Getting more sophisticated
As the minigame was so much fun, I decided to invest more time into it and built a big „battlefield“ map just for the minigame, making sure it was balanced and close to symmetric, as well as both teams having their recognizable bases and the map containing different tactical elements, such as underground tunnels, a high tree from which you could see the whole battlefield and use long-range attacks, and many more. Also, I introduced a new currency, which players would get awarded by damaging opponents and being good in the game. This currency could be used to buy so-called special attacks. In the beginning, I implemented just a hand full of those special attacks: one attack that would shoot 10 arrows at once („Superschuss“, shoots them straight forward), one very expensive attack, that would launch many arrows around you in every direction („Rundumschuss“) and a few others. They would keep players engaged and it would feel just very satisfying to purchase and use one of those special attacks. The special attacks themselves were programmed by using the API of the Minecraft server: the „PlayerClickEvent“ could be used to detect when a player uses right-click on a certain item, and then I would generate new arrow objects, spawn them and assign proper velocities to them, to achieve the intended effect of the attacks. By using this API and manipulating objects in the game many more special attacks were implemented by me during the development of the minigame.
I added code that made the minigame support multiple maps. As a server administrator, one could simply add a new map to the game with a simple command and defining the team spawn locations, as well as a few other map properties. Before a game would start, three of the maps would randomly be chosen and the players could vote for them. The map with the most votes (obviously) would get chosen.
Other players (especially server staff members) then started building their own „War“ maps, which I added to the minigame. It was fun for everyone involved.
One pain point of the minigame was the special attack shops: players had to type a command to buy special attacks (e.g. „k buy superschuss“). Also, players had to look up the names of the special attacks using another command. This was not very intuitive and took time. To improve the situation, I wrote a custom Mod for the game Minecraft, which would add an additional graphical user interface for the player, where a player could browse through the different shop items (mainly attacks) and click a button to buy the corresponding item. This step improved the player experience for everyone having the mod, however, as the mod had to manually download and installed by the player, this was something many players simply did not do and it did not really increase the accessibility of the game. Too bad I did not have written the plugin BossShop at this point.
One of my players was nice enough to create a custom „Texturepack“ for the game, making the weapons look like actual weapons. Before, players would, for example, hold a stick and when performing a right-click, the stick would be consumed and arrows were spawned, simulating the effects of a machine gun. The texturepack made the stick look like an actual machinegun.
The minigame was a lot of fun for everyone involved and I learned a lot through its development. Working with the game was such a creative time and it had so many features I have not even touched on this page. However, it was not optimized for a broad player base and due to its complexity, its accessibility was not as good, as in my other minigames (EarthGames and ZombieV). Because the other games were just more popular and more fun to work with, as, admittedly, the codebase of the War game was not very good, after some time I just stopped working on it and spent my time improving the other minigames. When we finally joined the Snapcraft network from the Netherlands, I did not port the War game to their server and instead brought EarthGames and ZombieV with me. This was the end of the (really fun) minigame.