Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Weekly Developer Update #14

Greetings, spacefarers

In this week’s edition of Cosmicrafts WDU (Weekly Developer Update), we’re setting our navigation systems to venture deep into our development chronicles, pinpointing crucial milestones that have shaped our journey.

Journey with us back to December 2021 — a time where Cosmicrafts etched its name into the annals of Web3 and blockchain history.
We proudly launched the world’s very first real-time multiplayer prototype, entirely on-chain. It was raw and nascent, like a newly forged star, yet its significance was undeniable. Our entire gaming ecosystem, from the website to the gameplay logic, existed seamlessly on the blockchain.

However, pioneering the unknown often comes with challenges. The initial design had its hiccups, with actions taking several seconds to reflect in-game.

But as galaxies evolve, so did we

The 

DFINITY

 Foundation has been our celestial guide, dedicated to enhance the infrastructure of the Internet Computer. They’ve retooled and revamped the architecture of the Internet Computer, ushering in a new era of capability. — With the advent of groundbreaking tools like Web Sockets, Node Boundaries, and HTTP Requests — offering new realms of potential.

Equally significant is our alliance with 

Boom DAO

. As crafters of elite gaming gear, their contribution has been instrumental. Our shared vision? A decentralized gaming metaverse, where player databases, tokens, and assets coexist.

As titans of the industry, like Steam and Microsoft, carve their paths, we’re here, fueled by passion and innovation, laying the foundation for our very own legacy.

So, strap in and prep your engines. It’s time to delve into this week’s focus: the latest iteration of our Matchmaking system, a gateway to the next dimension of Cosmicrafts multiplayer.

The New Matchmaking System

To craft a masterful system, one must first dissect its heartbeat — identify its rhythms, analyze its patterns, and then weave them together into a symphony of functionality.

Our plan unfolds as follows:

1- Pinpointing the Matchmaking Mechanisms
2- Benchmarking Against Established Systems
3- Crafting a Flowchart Blueprint
4- Rolling Out a Testflight Edition

Cosmicrafts Matchmaking Sequence

Setting up a seamless multiplayer experience requires meticulous backend engineering combined with a smooth user interface. Let’s dive deeper into the journey a player undertakes when venturing into Cosmicrafts’ multiplayer universe.

Select Your Game Mode:
Players choose their preferred multiplayer mode.

Start Your Game:
Click on the big ‘Play’ button to begin.

Behind-the-Scenes Work:
While players wait and watch engaging animations, our system works in the background, finding the best match.

Matching Players:
Our system pairs players based on their skill levels and game histories.

Game On:
Once matched, players enter the Cosmicrafts battleground and start their adventure.

In short, our system is designed to quickly and smoothly take players from the decision to play straight into the action of Cosmicrafts.

Decoding Established Matchmaking Systems

The Multitasking Queue:

Games such as League of Legends and Dota empower players to multitask during queue times. We aim to offer similar freedom. However, it’s noteworthy that aligning 6 to 10 players like in these MOBAs takes longer than the 2 to 4 intended for Cosmicrafts.

The Flash Queue:

Clash Royale stands out with its lightning-fast matches. Click ‘play’, and you’re instantly paired up. It feels as if an opponent awaits your move even before you decide to make it!

The Role-Driven Wait:

MMORPGs like World of Warcraft utilize role-based queue times. Tanks, often in high demand but short supply, tend to have instant matches. Healers come next, with DPS players usually facing the longest waits — after all, who doesn’t want to be the hero dealing out the damage?

The Mass Matchup:

Big battle royales like PUBG, Apex Legends, and Fortnite have a monumental task: matching up to 100 players simultaneously. Their success largely hinges on rapidly filling slots to launch the next epic showdown.

As we forge ahead with Cosmicrafts, these insights guide our quest for the perfect matchmaking experience.

Cosmicrafts Matchmaking Blueprints

Now it’s our time to do our magic in the backend, while we present a nice and cool animated graphical interface to the user for them to wait until we find a match.

User FlowChart

The following content delves into the backend processes of a matchmaking game system.

How it works

Introducing a system that’s completely on-chain: designed, implemented, and deployed for full transparency. It’s not just another smart contract — it’s a canister on the Internet Computer, viewable by all.

Let’s uncover what transpires behind the curtain:

getMatchSearching();

  • Checks for an existing lobby.
  • If none exists, a notification is sent indicating there’s no lobby.

addPlayerSearching();

  • Creates a Lobby with a unique ID.
  • The searching user enters the lobby.

assignPlayer2(matchID);

  • Player 2 attempts to join the lobby.
  • If unsuccessful, the system reverts to getMatchSearching();.
  • If they join the lobby, a notification of “Match Found” is sent to the frontend using Webhooks.

acceptMatch();

  • Both players are prompted to accept the match.
  • The time management is handled from the frontend, with a timer embedded in Motoko. If not accepted within the time, rejectMatch(); is activated for both players.
  • If not accepted, rejectMatch(); is initiated, halting the search process.
  • If Player 1 sends a rejectMatch();, Player 2 remains in the lobby if they had accepted.
  • If both players send rejectMatch();, the lobby is deleted.
  • The player who sends acceptMatch(); stays in the lobby in the event the other sends rejectMatch();.

cancelMatchmaking();

  • If the search is canceled, only Player 1 can send this.
  • Player 2 can’t cancel because there isn’t enough time
You can check the canister API here:
https://icscan.io/canister/vqzll-jiaaa-aaaan-qegba-cai

Wrapping Up

Closing Remarks.

Every innovation starts with an idea, followed by the crucial steps of design, testing, and refinement. As we lay down the foundation of our Matchmaking system, we are aware of the importance of these steps in ensuring an impeccable user experience.

What’s on the Horizon?

While we are setting the stage with our fundamental Matchmaking system, our vision extends beyond. After its implementation and iterative testing, we’ll be delving into the MMR/ELO ranking system, aiming to fine-tune player matchups based on skill levels. Our collaboration with @BoomDAO is also on the cards, as we anticipate merging our strengths to construct a cohesive, decentralized gaming environment.

Parting Thoughts.

The essence of a multiplayer game lies in its Matchmaking system. It’s this system that seamlessly bridges distances, uniting players from different corners of the globe. It’s a testament to the power of gaming — creating shared spaces where memories are made, stories are crafted, and bonds are formed.

Thank you for being a part of this journey with us.

Until next time, game on!

Support this post

Did you like this post? Tell us

Leave a comment

Log in with your itch.io account to leave a comment.