AW_Research

發布於 2023-09-01到 Mirror 閱讀

Street Fighter? Topology's latest onchain game Shoshin初心

Author: @hoshino_sasaki

From: @AW_Research

AI Summary:

This article introduces an onchain TPS-agnostic Asynchronous Strategy game called "Shoshin," developed by the Topology on Starknet. The game is currently in the testing phase and features gameplay reminiscent of Street Fighterade. Two characters are placed within a 2D arena, engaging in combat against each other.

Rooted in classic arcade games like "Street Fighter," Shoshin offers strategic head-to-head battles. Players select heroes, engaging with predefined strategies or real-time choices. This is facilitated by a language that empowers players, even non-programmers, to create dynamic behaviors.

Topology's approach emphasizes reducing complexity while deepening depth. Diverging from real-time mechanics, Shoshin introduces unique asynchronous gameplay.

Overall, Shoshin redefines player-AI interaction, moving beyond traditional machine learning. Direct strategy control and accessible behavior design reshape battles. As Topology refines Shoshin, it pioneers addressing AI challenges in gaming with a new blockchain-driven approach.

The article provides a game tutorial, appendices, and relevant reference sources.

Game Introduction

Shoshin, developed by the native game development team Topology within the Starknet ecosystem, is currently undergoing its testing and experiential phase. As of now, it does not incorporate an economic model. All in-game data is stored on the blockchain, making it a fully on chain game. In terms of gameplay, Shoshin bears resemblance to classic arcade games like "Street Fighter." Players assume the role of a hero character and engage in battles using their skills and strategies to defeat enemy heroes and secure victory.

The game features two distinct modes of operation. Players can either predefine a set of strategies for their characters to follow during battles or opt for real-time, manual responses based on the evolving combat scenarios.

Overview

Team Background:

Topology is the native game development team within the StarkNet ecosystem. Their mission centers around creating fully on-chain games rooted in the principles of physics. Prior to their work on Shoshin, Topology successfully introduced two distinct games: Isaac and Mu-Mu. The team roster publicly disclosed at the moment includes the individual known as @guiltygyoza.

Technical Introduction - From guiltygyoza

Shoshin is asynchronous. The entire game loop of Shoshin is written in Cairo 0 and runs in CairoVM, which is emulated by lambdaclass’s cairo-rs and wasmified so that it runs in your browser. You can experience Shoshin, the exact faithful game loop, entirely in your browser without touching the blockchain.

As a architecture, Shoshin is a computer. Under the hood, the strategies created by players are represented as finite state machines, and the transition functions are represented by binary expression trees.

As a milestone of this ecosystem, Shoshin pushes what is possible with CairoVM. Because, Topology team obsessed with the future of verifiable computation. The making of Shoshin is how Topology team express that obsession.

Finally, as a mission, Shoshin attacks the Photoshop of AI problem. Topology team believed that if fully onchain game were to become a genre of great impact, it must tackle real hard problems in game design head-on.

Photoshop of AI is a hard problem. Some projects tackle this problem by throwing machine learning at it. Yet, machine learning is statistical in nature, and a trained model is considered a black box, meaning player has no direct visibility nor edit-ability of the resulting behavior. Shoshin takes a different approach.

With Shoshin, Topology team want to give player direct control of every bit of their fighting strategy. On top of that, Topology team want Shoshin to be enjoyed by people who have never programmed a computer in their life. Topology team need to give them a palatable language for describing rich dynamic situational behavior. There is a concept in theoretical computer science called Kolmogorov Complexity. The Kolmogorov complexity of an object, such as a piece of text, is the size of the shortest computer program in a predetermined computer language that produces that object as output. For example, the Kolmogorov complexity of a binary sort algorithm written in the BrainFuck language is sky high. With Javascript? The complexity becomes substantially lower. Topology team borrow this concept and say: we want to design a language for player to create Shoshin strategies with Kolmogorov Complexity as low as possible.

Topology team are also aware that they must not be tempted by the desire to faithfully replicate the mechanics of the popular fighting games. Street Fighter, Tekken, Guilty Gear, Dragon Ball FighterZ, and Super Smash Bros. However brilliant their game mechanics are, they were born from design paths that optimized for real time play. Shoshin is not real time play.

Reference:

https://www.guiltygyoza.xyz/2023/08/shoshin

Game Mechanics and Design

Shoshin's gameplay mechanics are heavily influenced by arcade-style gaming. Throughout the entirety of the game, only two characters are present: the player's hero and the enemy hero. These characters engage in a head-to-head battle on a two-dimensional arena. Notably, the game offers players two distinct modes of operation.

The first mode involves strategizing before the game starts. Players need to predefine every action their hero will take during the course of the game. This includes movements, combos, evasive maneuvers, and attacks, among other actions. Additionally, specific trigger conditions are assigned to these actions, and it's entirely up to the player to design these conditions.

And the second one is very similar to the King of Fighters we played, through immediate operation to form feedback and win in the game, as shown in the figure below.

Shoshin has shown me a unique gaming experience that sets it apart from traditional games. Arcade-style games are familiar to many, but when combined with the attributes of on-chain storage in the realm of blockchain, a whole new way of playing emerges. Initially, I found the game to be quite simple. Since your opponent might not be actively controlling their actions in real-time, they could be employing pre-determined strategies against you. This led me to believe that mastering the game was a matter of trying different approaches until I cracked the opponent's strategy. Especially in the second mode, I could counter the opponent based on their strategies. At the outset, I achieved near-perfect victories. Even in cases of failure, I could adapt based on the opponent's tactics.

However, as the game's difficulty progressively increased and I encountered stronger opponents, that's when the real challenge began. The objective was to craft an unbeatable strategy. With the diverse range of trigger mechanisms finely tuned, nearly every move of every player in the game could be anticipated. It applied to all combat scenarios. This marked the point where mental prowess took center stage. Devising an infallible approach became the core gameplay element. It was no longer about the instant gratification of timely feedback within the game; instead, it was akin to waking up in the morning and realizing that all the adversaries who attempted to challenge you had been vanquished by your strategic acumen. This was an affirmation of your intellectual capabilities.

Game Tutorial

To get started, visit the official website. If you're a first-time player, an automated tutorial will guide you through the basics, covering most aspects of gameplay.

The game is primarily divided into two modes:

Campaign Mode: In this mode, players need to formulate their strategies on the right side of the game interface before the match begins. Subsequently, they engage in battles against other players' strategies stored on the blockchain. To secure victory, players can continuously modify their strategies. Click here to enter.

In the current version, there are two heroes to choose from. When you use this hero to win the battle, you can not only get points, but also increase the corresponding progress. After confirming the chosen hero, click continue.

After selecting your hero, you'll be presented with the hero's skills and commonly used combos. This information can assist you in effectively defeating your opponents. Subsequently, you'll choose your adversary. All opponent information is stored on the blockchain. If you also choose to store your information on the blockchain, a single interaction will complete the process.

Click on "Fight," and after a few seconds, you'll be officially immersed in the game. On the right side, there are a total of eight types of trigger conditions available for you to choose from.

Simultaneously, there are 14 actions available to fulfill these trigger conditions. The final action in this sequence represents a combo attack. It's important to note that trigger condition assessment occurs from top to bottom, and a higher-priority condition will not be skipped. In simpler terms, you cannot trigger two conditions simultaneously, even if such a situation exists in the game. Click the play button on the left to commence the match. During the battle, the bottom of the combat screen represents the current state of your hero and the executed actions.

The trigger conditions are as follows:

Spacing: The distance between you and your opponent. As both players start on opposite sides of the map, there's initially a certain distance that must be covered by movement to engage in effective attacks. Additionally, different skills have varying attack ranges, which must be considered for action completion.

Opponent Stater: This is further subdivided into actions like attacking, defending, evading, etc. Respond with appropriate skill counters to different actions your opponent takes. For example, you can defend when they attack or counter when they leave an opening in their offense.

Opponent Rage: The rage value indicates whether your opponent can unleash a special move. Facing such a move requires a corresponding counter.

Opponent Health: Different health levels require entirely different strategies, often involving skill combinations to execute successful combos.

My State: Choosing the right action based on your current state can help you either avoid damage or launch an attack more effectively.

My Rage: If your rage value is full, unleash your ultimate move.

My Health: At full health, you can take more risks, but when low on health, you need to play more cautiously.

Always True (Unrestricted)

The available actions are as follows:

Rest

Slash

Upswing

Sidecut

Block

MoveForward

MoveBackward

DashForward

DashBackward

Jump

Gatotsu

LowKick

Taunt

Combo: Choose multiple skills to execute in sequence.

If you select the "ARCADEMODE" mode, it operates as an arcade mode, allowing you to achieve victory by controlling the game through keyboard inputs.

Reference:

https://www.guiltygyoza.xyz/2023/08/shoshin