Minecraft PC IP: play.cubecraft.net
Here to play Minecraft?
Join and start playing on our Minecraft server now!
I want to play!
Hey Java and Bedrock CubeCrafters!

Today, we're excited to be bringing you a HUGE BlockWars Update, for both networks, and for both Bridges & Capture the Flag! Take a look! 👀

💎 NEW MODE - Overpowered!

For both gamemodes on BlockWars, we've released a NEW Overpowered mode! Full of gamemode specific powerups, buffed armour and a whole lot of chaos - take a look!

- Explosive Trap 🤯


Watch where you step, you may walk into an explosive trap! This will let off a huge explosion, dealing damage and breaking blocks to everyone around it! Run away when you hear the ticks!


- Automatic Bow ⏩


Shoot a bunch of arrows at an extremely high speed! You wouldn't want to stand in between a man and his auto bow...


- Flame Bow 🔥


Those arrows look lit!


- Leap Feather 🪶


Fall off the map? Fly away in style with these leap feathers!


- Knockback ☁️


Grants you knockback two on your weapon for 10 hits! Use them wisely!


- Temporary Obsidian 🛠️


Changes your blocks from terracotta to obsidian temporarily. Spam click those blocks!


- Invisibility 🪴


Go completely invisible for a short period of time - beware though, if you get hit, you will become visible!


- Exploding Chickens 🐔


Ah, those are some cute chickens...and they deleted every single block in the game. Nice.


- Freezerator ❄️



A powerful stick, that traps your opponents in an ice cage!

There is also a Totem of Undying that you can obtain for when you get into a sticky situation!

All of your items have received a buff as well! Get ready to fight in protection four armour, sharpness two swords & high-efficiency tools in this mode!

Powerups also spawn a lot faster, giving you the opportunity to mess around with the new powerups in this mode!

On Bedrock, we've made a bunch of custom models for each of the powerups! Take a look! 😍

BlockWars Powerups-min.png


Thanks to @bethharrison2134 for getting these done!

All of this can be unlocked by simply opening the voting menu, and voting for Overpowered!

🗺️ New Maps!


We're super excited to be releasing two new maps for BlockWars - one for CTF and one for Bridges! We're interested to get some feedback about our CTF map. 👀

- Bridges - Treasure 🪙

2021-09-06_16.58.08-min.png


Beware of the pirates...arrrrr!


- CTF - Beach 🏖️

2021-09-06_16.57.24-min.png


Ideal to chill out in!


This is the first map in CubeCraft that uses custom jump pads! We want to experiment with different non-vanilla mechanics like these in the future, for games outside of BlockWars!



Let us know if you like these, and you may see them more in the future! 👀

✨ Quality of Life Features

Finally, we've added a whole bunch of awesome quality of life features to help with the normal BlockWars games!
  • On Bedrock Capture the Flag, we've added Flag Mounting! This means that when you capture the flag, the opponent's flag will be put on your head! This will make it more obvious who has the flag, who to chase down and get the flag back!



  • On Java Bridges, we've added Kit Modification! When you right-click on the redstone dust in your inventory, it'll bring up your inventory layout. You can change this inventory to whatever you want - whenever you die, your inventory will default to this!
    • We're looking to implement this into Bedrock too - we just need to ensure the menu is as intuitive as possible for all our players to enjoy!
1631013779875.png

  • All BlockWars icons have been given a revamp - with new icons that are now in line with our Store Revamp!​
  • During this update, we've also done a whole bunch of bug fixes!​

That's all for this update! Thanks everyone for reading, hope you enjoy & stay safe! 💙
flappy dragon.png


👋 Hello!

Hi, I'm Riley and I am a Redstone Engineer here at CubeCraft. I work alongside the other Designers to create fun and innovative minigames in Minecraft: Bedrock Edition.

In these sorts of threads, we explain and elaborate on the production process of one of our latest projects. This Marketplace Highlight thread features Flappy Dragon!


💡 The Idea

A few other designers, admins and I have calls from time to time. Usually to relax and enjoy some games, but sometimes we also discuss projects or brainstorm for the next Marketplace hype. I showed them a quick project I made in less than a day. Sometimes I just get these bursts of inspiration and motivation and try and create it as fast as I can!

@Yamin agreed that it would be a cool concept to try on the Marketplace. Sometimes it's better to create something simplistic yet polished, rather than something incredibly complex and time-consuming.


The idea was simple. If the player walks forward, the dragon goes up. Pillars move from right to left. The dragon has to dodge the pillars and if they fail, the game ends.

Simple, right? But then... How do we boost replayability? Pillars should gradually speed up to make the game harder! There has to be a reliable detection system for when the dragon collides with a pillar! There should be a menu for the player to navigate through in their hotbar!

AaAaaAaaaaAand... Our project got a bit more complicated... It wasn't going to be finished as fast as my personal Java Edition version, but regardless it wouldn't take that long.


👷 Production Process

My personal version was created in Java Edition which is rather limited in comparison to what we can do on the Bedrock Edition. @Exciting_pancake wrote the code for the custom pillars and dragons that @Yamin created.

Fun fact: the minigame needs almost 2000 lines of handwritten commands to run.

image (4).png

One of the ten dragons by @Yamin

3234945539c8431758918a00c5f31da0.png

Pillar behaviour by @Exciting_pancake


🔥 Technical Obstacles

The first issue was that due to how the game worked, the player could change their FOV to be able to see outside of the background. The image below should better illustrate what I mean! 🙂

image (5).png

After the backgrounds were already created, we noticed this slight problem and did some more research into how much the player is able to expand their FOV as is illustrated by the diamond blocks.

A second problem that we encountered throughout creating the behaviours for the pillars was that the collision detection system was often inaccurate. Unfortunately, it wasn't possible to accurately detect collision using redstone only. @Exciting_pancake had to do some tweaking to the pillars' hitbox and after doing quite a bit of testing, we resolved the issue!

The third and final issue arose after Microsoft tested the project themselves. It did pass without any game-breaking issues, though the problem was that on less powerful devices, such as the iPhone 6, it would lag. The project got greylisted on low and mid-tier devices. We weren't necessarily required to resolve the lag, but that would mean we would miss out on a large portion of the player base. We decided to make some tweaks to improve the performance.


🧪 Marketplace QA

All our projects go through extensive testing before being shipped to Microsoft. The Design team and Marketplace QA team use Slack and Notion to communicate about the QA sessions and to coordinate them. Below is a screenshot of the first batch of bugs that were reported.

qa_fd.png



More


This amazing and addicting minigame is available on the Marketplace HERE!



If you want to become part of Team CubeCraft's Design team, feel free to check out our application form!​
RPG_Magic_&_Mayhem Artwork-min.png


Hey Java & Bedrock CubeCrafters!

After months of hard work, and some issues with keeping The Evil Bunny out of our work, we're extremely happy to announce to you guys our newest RPG: Magic & Mayhem! ✨ - Also available in Dutch & Spanish.

A very normal universe, consisting of multiple worlds, always used to be calm as they worked together to reach their goals. That was all until corruption started spreading... the Dwarven and Fayens are in despair as their worlds start changing and filling up with these weird new creatures... do you have what it takes to help them?



🧝‍♂️ The Races

Within this universe, you'll be able to find 5 different races! 3 of which we know some information about, and 2 that have invaded our universe and we've yet to find out what they do. 👀

- Quintenians:
Just like humans, with a world very similar to ours. The bond between CubeCrafters and Quintenians is strong, as they've been working together for quite some time. They're not very used to new faces and might be a little scared at first.

- Dwarven:
Intelligent creatures that know their way around. They're known to be extremely fast workers and they love to work together with Fayens. They can live up to 250 years! And they're a bit smaller than other races...

- Fayens:
Probably the most lovely race you'll find in the universe, always willing to help out. They don't get to see humans & Quintenians that often and are mostly grouping up and working together with Dwarven.

- Nyms:
Dragon-like creatures, we don't know much about them as of now...

- Wurgs:
These Orc-like creatures don't speak our language either... 🔇

npcs-2.png





📜 The Objective

Within this new RPG, we've integrated a system that makes it possible for you to level up yourself and your wands! Keep on upgrading your abilities and wands to easily make your way through the quests and mob fights! 💪

1629299982951.png

We have added 17 different attributes that you're able to upgrade! From increasing the Mana that you'll need to cast your wands, to bonus damage on your Flame wand, you can increase the strength of your character to take on all that's coming!

This may require Spirit or Essence. You gain Spirit by killing any of the mobs, however Essence has a small chance of dropping from elemental mobs.

1629299921686.png

Around the realms, you will find Shrines to upgrade your wand - these will increase the damage your wand gives, but it increases the Mana taken to cast!

We have also added Party Support for the Magic and Mayhem RPG! If you join a party with someone, you will both join the RPG back where you last joined, but you will not be teleported with each other to different worlds! This is to avoid any exploits and so you can explore the worlds independently to your party leader! If the party leader leaves the RPG entirely, you will be pulled out with them.

🪄 The Wands

Moving onto the subject of wands! Within this RPG there are 5 different wands you can obtain. Each elemental wand has its own unique abilities to attack mobs. Some wands might even deal more damage against specific elemental mobs! 😮

wands.png



The Flame Wand! - Recorded on Bedrock!



The Hydro Wand! - Recorded on Java!​



🔥 The Mobs

Yes, you're seeing this right, we've got CUSTOM ELEMENTAL MOBS for both JAVA & BEDROCK! I won't say too much about them, but here's a little sneak-peak of the mobs and their attacks! 🤯

mobs-2.png




The Axolandl attacks! RUN! 🏃‍♂️ - Recorded on Bedrock!



The earth starts shaking! 😨 - Recorded on Java!​



🗺️ The Worlds

Within the CubeCraft Universe, there are 3 new worlds to explore and 1 world that you already know: CubeCraft! Let me take you through the others!

- Quintenia:

Quintenia 1920x1080-min.png

Named after the god that created this world, this is the world where Quintenians live! As mentioned before, they're very similar to humans and live together in harmony with all the other worlds within their universe!

- Yhornheim:

Yhornheim 1920x1080-min.png

Home to the beautiful Dwarven race. Their world was built within a cave, where they created great statues and places for Dwarven to sleep and spend their time. Nyms have been corrupting this world with their element: Fire.

- Alunore:

Alunore 1920x1080-min.png

This is where the Fayens live, a beautiful world with multiple islands that are all connected in some way. Using an Elytra around this world is ideal, it will get you places way faster!



🧙‍♂️ The Corruption

Moving onto the main reason why all of this is happening at the moment... The Conjurer.
Well, he isn't the cause of the corruption as far as we know, but he appeared in his own little corrupted world as soon as we started noticing corruption in some worlds. His entire world is completely corrupted and filled with monsters, it's something we've been trying to stay away from... Maybe you are able to take a look when you're strong enough?

Darklands 1920x1080-min.png



👛 The Loot

Amidst all of the realms that you can see, there is loot waiting to be unlocked! Take a look at what you can find! 👀

- Homing Pigeons - Win Effect - Bedrock 🐦


You may want to duck when you see them!​


- Goblin - Cage - Bedrock 👺


Scary... but very cute. Look at him flipping the coin!​


- Quintenian Cloak - Trail - Java 🦸‍♂️


The cloak will guide you away from The Corruption...​


- Yhornheim's Shockwave - Win Effect - Java 🦸‍♂️


Yhornheim has never been the same...​

Finally, all of the skins made for this project has been released on the Bedrock Marketplace! If you'd like to purchase our skin pack, Fantasy Teens, click here!



✨ The Credits

For all of this to be made possible, we've had quite some people put in lots of hard work for this project.
@jelliobean - Storyline, Dialogue & Product Management
@Camezonda - Product Management
@Younisco - Product Management
@Story - Custom Mobs & Pixel Art
@rubik_cube_man - Custom Entity System, Party Support & Game Development
@driima - Storyline & Game Development
@WorldeditAPI - Game Development
@libraryaddict - Boss Master
@Redned - Entity Culling & Optimizations
@Qu1nten - Level Designer (Quintenia, Yhornheim, Alunore)
@dxde - Level Designer (Alunore, Darklands)
@Asheron - Skin Designer
@Yamin - Custom Mob
Translation Team - Dutch & Spanish translations
@Zed - Became a Game Developer for a day and pushed a README file

I'm extremely thankful I got to work together with such amazing people. 💙
And finally, in case this thread hasn't convinced you to try our Magic & Mayhem RPG, maybe this trailer showing off everything could help! 👀



Thank you everyone for reading this thread - now please help & save us from The Corruption! 🔮
Hello CubeCrafters,

Today in this Behind the Cube, we will be exploring the complex matchmaking solution we have. This is a system that nobody really gives much attention to and is a lot more complex than most people give credit.
When joining a game, many calculations are all happening to get you the best game as quickly as possible.

For this post, we will only be explaining the matchmaking behind our largest games, like SkyWars and EggWars. Our matchmaking for things like Duels and Skyblock is slightly different.

👨‍💻 Why is Matchmaking so complicated?

Recently, we've introduced a lot of complexity into our matchmaking systems. For example, now, when you join a game on Bedrock, you are matchmaked with other players based off:
  • Your region
  • Your input device (Platform based matchmaking - Categorised into Touch, Controller and Keyboard & Mouse)
  • The map you selected (If you used the map selector)
When you request to join a game, we need to factor all of these values together and send you to a specific game instance. One of the major disadvantages of this system is that queue times can get very long, very quickly. As a result of this, we have solutions to help reduce queue times when the system suspects a game is going to take too long to start.

When matchmaking, we also need to take a few other things into account as well.
  • If there aren't enough servers in a certain region, we can no longer matchmake onto those servers and need to failover to a different region.
  • If someone has the "Challenge Queue" option on Bedrock enabled, we need to tailor their games to send them to more difficult games, if that is possible.
  • We also need to factor in if a player is in a party. If a player joins in a game in a party, with 2 members in the NA region and 1 in the EU, we'll always send that party to the NA region. If there is 1 in the EU and 1 in the NA, which region is selected is slightly more unpredictable and based on current demand.
🤔 So, how does this all work?

Well, when you click to join a game, all of your matchmaking options are gathered. The list is as follows:
  • Your current region
  • Your current input device
  • Your current party
    • Your parties members' input devices and regions
  • If you have the challenge queue setting enabled

Following this, we need to figure out which game parameters we need to send you and your party to. For this, we take the most common region and the highest input device (Mouse and Keyboard > Controller > Touch) of the party.

Once we know this information, we need to figure out if a queue can be started for this game. Now, if there are only 20 players in the NA region, and you're trying to join an NA game, there isn't going to be enough players for this game to start quickly, so we need to group you in the EU instead. The system looks at the last minute's data, and if enough players joined that game for a game to start within approximately 20 seconds, we would deem this a sustainable mode.

If there are less than enough players, we need to do some grouping.

👪 What is grouping?

When there are not enough players on a specific region or input device, we need to group certain options. For example, if enough people join the NA and EU regions, we run these regions simultaneously. However, if there are not enough players on Mouse and Keyboard input devices to keep queue times short, we'll group them with Controller players. We've also ensured that our systems will never group Mouse and Keyboard players with Touch players unless necessary. We also group with regions, so when there aren't enough players in the NA, they will join our EU games instead, to keep queue times down. When there aren't enough players on either region, and they're grouped, you'll always be sent to the region with the most players joining that game at that specific moment in time.

Another interesting challenge that we ran into was cross-region input-based matchmaking. For example, if our NA region doesn't have enough players to support quick queue times, it needs to be grouped with our EU region. When this happened originally, it sort of broke input-based matchmaking. This meant that we needed to add support for input modes to split into different queues on a single region when certain regions were disabled.

I am sure that I could talk about many edge cases we encountered and how we patched them. In the end, we wrote tons of automated tests for these algorithms and stress-tested them a lot to make sure that they were suitable for running on CubeCraft.

However, I'm sure you're all here for pretty pictures. Here are some pictures of the graphs that our systems make. They show start times for specific regions and input devices. It also shows us how much traffic is going to that game too. This allows us to tweak our values in case queue times are getting too long.

1628167211798.png


SkyWars Solo at EU peak. Notice how no modes are being grouped.


1628167230769.png


This is NA off-peak. As you can see, in the Average Game Start Times By Region and Input Device graph, the NA Controller and NA Mouse games have a start time of 0 seconds. This means they're not active and are grouped with the NA Touch games to keep queue times low.


1628167250307.png


This is SkyWars Mega. Since SkyWars Mega is such a large game and doesn't have the most players on our network, it means that it groups across Regions and Input Devices, because as you can see, even in its current state, queue times are approximately a minute per game.


Thanks for reading - I hope this clarifies the labyrinth of our matchmaking system. It never was this complicated before, but over the last half a year, we've had to consider both regions & input devices, while maintaining our short queue times without constant monitoring.

Let us know if there's anything you're curious about regarding our infrastructure or processes and we'd love to share how it works! 😄

Forum statistics

Threads
314,233
Messages
1,502,639
Members
352,376
Latest member
corrupted8g
Members Online

Team online

Latest posts

Latest profile posts

UncleSpect wrote on xSchulzis's profile.
Hiiii xSchulzis! :D
UncleSpect wrote on Roxlad's profile.
Happy birthday! 🎈
UncleSpect wrote on WolfX's profile.
Happy birthday! 🎈
UncleSpect wrote on Ferrcho's profile.
Happy birthday! 🎈
Heya, after a good while years having not appreciated sleep a lot, have I learned things. I have most of the times seen it as a hindrance to things such as relations and projects. But after years I realised that you need to sleep to be well. Both physically and mentally. When I also realized that I could work better and more efficiently, did I try to get more sleep. That reminds me, I need to sleep now hah XD
Top Bottom