Original Title: "Street Fighter? Topology Latest Full-Chain Game Shoshin"
Original Source: AW Research
Abstract
This article introduces a TPS-agnostic asynchronous full-chain strategy game called "Shoshin," developed by the Topology team. The game is currently in the testing phase and its gameplay is reminiscent of Street Fighter. Two characters are placed in a 2D arena and fight each other.
Shoshin is rooted in classic arcade games such as "Street Fighter" and offers strategic face-to-face combat. Players choose heroes and participate in pre-defined strategies or make real-time selections. This is facilitated through a language that enables players (even non-programmers) to create dynamic behaviors.
The topological approach emphasizes reducing complexity while deepening depth. Unlike real-time mechanisms, Shoshin introduces a unique asynchronous gameplay.
Overall, Shoshin redefines the interaction between players and artificial intelligence, surpassing traditional machine learning. Direct strategy control and accessible behavior design reshape combat. As Topology continues to improve Shoshin, it pioneers a new blockchain-driven approach to solving artificial intelligence challenges in gaming.
The article provides game tutorials, appendices, and related reference materials.
Shoshin is developed by the Topology team, a native game development team in the Starknet ecosystem. It is currently in the testing phase and has not yet integrated an economic model. All data in the game will be stored on the chain, making it a fully on-chain game. In terms of gameplay, Shoshin is similar to arcade games like King of Fighters, where players take on the role of a hero and use their skills and strategies to defeat enemy heroes and emerge victorious. There are two modes of operation in the game: you can either develop a fixed set of strategies for your character to use in battle, or react in real-time to the situation and counterattack manually.
Topology is the native game development team of StarkNet's ecosystem. Topology is dedicated to creating a fully chained game based on physical knowledge. Prior to this, Topology has released two games, Isaac and Mu-Mu.
Shoshin is asynchronous. The entire game loop of Shoshin is written in Cairo 0 and runs in CairoVM, simulated by lambdaclass's cairo-rs, and then wasm-ified for running in the browser. You can fully experience Shoshin's faithful game loop in the browser without touching the blockchain.
As an architecture, Shoshin is like a computer. At the bottom, the strategies created by players are represented as finite state machines, and the transition functions are represented by binary expression trees.
As a milestone in this ecosystem, Shoshin has pushed the possibilities of CairoVM. This is because the Topology team is passionate about the future of verifiable computation. Creating Shoshin is the Topology team's way of expressing this passion.
Finally, as a mission, Shoshin has tackled the "Photoshop" problem in the AI industry. The Topology team believes that if blockchain-based gaming is to become a game genre with significant impact, it must confront the real challenges in game design.
AI's Photoshop is a tricky problem. Some projects solve this problem by adopting machine learning. However, the nature of machine learning is statistical, and the trained model is considered a black box, which means that players cannot directly see the resulting behavior or edit it directly. Shoshin takes a different approach.
In Shoshin, the Topology team hopes that players can directly control every aspect of their battle strategy. In addition, the Topology team also wants those who have never written computer programs in their lives to enjoy Shoshin. The Topology team needs to provide them with an easy-to-understand language that can describe rich dynamic contextual behavior. In theoretical computer science, there is a concept called Kolmogorov complexity. The Kolmogorov complexity of an object (such as a piece of text) is the size of the shortest computer program written in a predetermined computer language that generates the object as output. For example, the Kolmogorov complexity of a binary sorting algorithm written in the BrainFuck language is very high. What about using JavaScript? The complexity will be greatly reduced. The Topology team borrowed this concept and expressed that they hope to design a language that allows players to create Shoshin strategies with the lowest possible Kolmogorov complexity.
The Topology team also realized that they could not be tempted by the mechanisms of popular fighting games. Games like Street Fighter, Tekken, Guilty Gear, Dragon Ball FighterZ, and Super Smash Bros. have exciting gameplay mechanics, but they were designed to optimize real-time gameplay. Shoshin, on the other hand, is not real-time gameplay.
Shoshin's gameplay is more inclined towards arcade-style, with only two characters, our hero and the enemy hero, in a two-dimensional arena for PK throughout the game. It is worth mentioning that the game provides players with two modes of operation. The first mode requires you to plan every action of your hero for the entire game based on the game situation before the game starts, including movement, combos, dodging, and attacking, etc. And before these actions, corresponding trigger conditions are added, which are completely designed by the player themselves.
The second type is very similar to the game we play, King of Fighters, where feedback is formed through real-time operation to achieve victory in the game, as shown in the figure below.
translates to
Shoshin showed me a gaming experience that is different from traditional games. Arcade games are not unfamiliar to everyone, but after being combined with the on-chain storage attribute of blockchain, a new way of playing has emerged. At first, I thought the game was very simple because your opponent may not be operating in real-time, but rather using a pre-determined strategy to fight against you. In this case, I just need to try different tactics to counter them. Especially in the second mode, I can counterattack based on the opponent's strategy. At first, I basically won every battle, and even when I failed sometimes, I could adjust my strategy based on the opponent's tactics.
But when the difficulty of the game becomes higher and the players you encounter become stronger, that's when the game really begins. You will want to develop an invincible strategy, and because the trigger mechanism is divided into very fine types, it can almost predict any action of every player in the game, and it can correspond to all combat scenarios. This is when the brainpower competition comes in, and how to design a set of winning tactics becomes the core gameplay of this game. It is no longer the kind of game mode where timely feedback can bring you happiness, but rather the recognition of your own intelligence when you wake up in the morning and find that all the enemies who tried to challenge you have died under your sword.
Enter the game official website. If you are entering the game for the first time, there will be an automated tutorial that basically includes all gameplay instructions.
It is mainly divided into two modes. The Campaign mode requires players to formulate strategies on the right side of the game before the start of the competition, and then battle against the strategies stored on the chain by other players. Players can continuously change their strategies to achieve victory. Click to enter.
There are two heroes available in the current version for selection. When you use the selected hero to win a battle, you not only earn points but also increase the corresponding progress. After selecting the hero, click "Continue" to proceed.
After selecting a hero, you will see some of their skills and commonly used combos, which can help you better defeat your opponents. Then, choose your opponent. The information of these opponents is stored on the chain. If you also choose to store it on the chain, it can be completed with just one interaction.
Click on "Battle" and wait a few seconds to officially enter the game. There are a total of eight types of trigger conditions on the right for you to choose from.
There are also 14 actions to complete these trigger conditions, and the last one of these actions represents a combo. It should be noted that the judgment of trigger conditions is from top to bottom, and a higher priority condition will not be skipped. In other words, you cannot trigger two conditions at the same time, even if such a situation exists in the game. Click the play button on the left to start the game. During the game, the status of the current hero and the actions being executed are represented at the bottom of the battle screen.
The trigger conditions are as follows.
1. Distance
The distance between you and your opponent. Since both sides are on opposite sides of the map at the beginning of the game, there is a certain distance that needs to be covered by moving in order to enter effective attack range. In addition, the attack range of different skills varies and requires certain conditions to trigger the action.
2. Opponent behavior.
Here it is further divided into whether the other party is attacking, defending, evading, etc. Respond to the enemy's different actions with corresponding skill counterattacks, such as defending when the opponent is attacking, and counterattacking when the opponent enters the attack gap.
3. Opponent's anger value
The anger value represents whether the opponent can use their ultimate move. When facing the ultimate move, you need to make a corresponding counterattack.
4. Opponent's life value
The strategies used for different health values are completely different, and it is only by combining skills that one can effectively complete a combo and take down the opponent.
5. My status
Choosing the appropriate action in different states can better avoid harm or launch an attack.
6. My anger level
The anger value is full, go big.
7. My health
8. Always trigger (unrestricted)
The available actions are as follows.
1. Rest
2. Attack
8. Final Sprint
11. Ultimate Move
Welcome to join the official BlockBeats community:
Telegram Subscription Group: https://t.me/theblockbeats
Telegram Discussion Group: https://t.me/BlockBeats_App
Official Twitter Account: https://twitter.com/BlockBeatsAsia