Back to Games

BW

Objective

Bed Wars is a strategic team game. Up to four teams battle it out across the arena. If you die, you respawn so long as you have a bed. Each team has a bed which they can protect using wool given to them upon game start and them dying. They can also use their wool to bridge to the other islands, mainly the middle island. Here, they can either bridge to other team bases or battle other people there. If you choose to go to another team's base island, you can destroy their bed. This means that team only has 1 more life - and if anyone dies on that team, that person is out of the game. The team with the last people standing, bed or not, is crowned the winner of the game.

Custom Commands
/tc - team chat: talk to your team privately so that the other team does not know your plans! Syntax: /tc [message]

Creators
TeamLift (MrLift, 39AndABit, DivineFTL)

Background
Bed Wars was originally inspired by MrLift's love for the concept of the game. When we joined the Club Minecraft server at first, there was no Bed Wars. When Matt (server owner) asked for game suggestions, some said Bed Wars wasn't possible. This was our first ever game as we hadn't written one before. We had a go at making it, showed it to Matt, and got it published onto the server, in beta.

2020-07-11_18.32.35
Bed Wars Classic Map

Future Plans
TeamLift's current future plans for Bed Wars are as follows. We plan to add Generators in your base where you will get wool of your colour. When there is only one bed left, instead of no beds left, you get a bow but no arrows. Arrows will be generated in the middle island and this will encourage players to not camp at their base and staying to defend all the time. This gives an advantage and creates a brawl at middle island to the teams who are out there, they have ranged weapons. We would love feedback on this idea!

Code Notes Written by 39AndABit
We built Bed Wars using techniques that Matt showed us in a video. Bed Wars is written using no plugins, only vanilla Minecraft commands - but rather than placing these inside command blocks, they are written within .mcfunction files. One of those files is configured to run every game tick (20 times a second).

This environment has no conventional programming "variables", but we can store information using the Minecraft scoreboard feature, and by placing blocks in the world. (We made a "state blocks island", where if a diamond block exists at a particular location, that means the game is running, and so on.)

This environment also lacks conventional programming "loops", so the Bed Wars code contains many repeated lines in some places - for example to show which beds still exist in the Minecraft action bar. To avoid hard-to-find mistakes when writing multiple similar lines of code like this, we wrote some simple Python code to generate them (so: running the Python code spits out multiple lines of Minecraft code, which we can copy and paste into a .mcfunction file). This kind of complexity is one reason why our Bed Wars currently has only four teams.

After having written Bed Wars, we discovered Denizen, which allows us to program Minecraft using more conventional variables, loops and other features. We went on to write other games using that language. We have written a small amount of Denizen code for Bed Wars for the /tc command. In the future, we might come back to this and rewrite more of Bed Wars using Denizen, which would hopefully make the code easier to change and extend.

Links
First Bed Wars Livestream

Teasers
In future updates, I (MrLift), plan to upload some teaser videos/photos of Bed Wars in its development phases. Right now however, there are none, so hello!