Typhon:BvB
Gameplay
In Typhon: BvB players take the role of Pilots
Missions
Pilots are assigned missions and each mission has one or more objectives, from locating and gathering resources to combat. Some are solo missions, where a single bot has to achieve all objectives. Some are team missions, which require bots programmed by multiple players to cooperate in achieving the mission objectives.
All missions have a briefing phase, where the Pilot can view the objectives and perform a virtual interactive flyby of the mission area. Based on the information from the briefing the Pilot then decides on a loadout and writes the code for the bot. Then the bot is deployed on the mission.
After the mission completes, the Pilot can look at the debriefing. The debriefing is basically a 3D interactive media player, where the player can pause, fast forward and rewind, but also change their point of view in the 3D space and interact with objects to get information.
There are several mission types available in Typhon:BvB
- Single player missions that are designed to teach players how to program the bots and also how to interact with friendly/enemy bots, by introducing non player controlled bots in later missions. Also, the main story of the game is delivered through these missions.
- Bot vs Environment (BvE) missions are co-op multiplayer missions that allow players to team up to take on challenges that are beyond a single bot. Coordinating between bots is key to completing this kind of mission. Both small team (3-5 players) and large team (8-10 players) missions are envisioned.
- Bot vs Bot (BvB) missions are competitive multiplayer missions that will have individual bots or teams of bots competing for various objectives, including battle arenas with many bots, each one out for itself.
- We envision both individual and small team tournaments. We would like to have tournaments where players can win real physical prizes and not just bragging rights, but that’s something that still has to be carefully examined from a legal and tax standpoint.
Asynchronous Gameplay
Because of the asynchronous nature of multiplayer missions, there is no need for all players in a team to be online at the same time. Once every player has configured their bot, the team leader can start the mission and players can see the results when they come back online.
In the same vein, there is no need for long queue times for randomly matched parties. Players can make their bots available to friends or to the entire community and there are always other bots available for virtually instant matchmaking in multiplayer missions.
Last, but not in the least, this kind of gameplay allows for different time flows. One bot can be in fast time area and not only will it move faster, but it will also react faster as its code will run faster, while a bot in a slow time area would move and react slower.
Python
Bot programming is done in an ancient programming language called Python, which ironically in Greek mythology was the name of a brother of Typhon — another monster born of Gaia.
The mining corporations are actively working on creating bot cores that can be programmed in other ancient languages, but nobody has yet released a timeline as to when those will become available…
Multiplayer
Players are able to compete in a variety of competitive multiplayer situations – by themselves, with a pre-formed group of allies, or with/against other randomly matched players. In addition, Typhon offers cooperative Bot vs Environment missions, giving players the opportunity to test their team skills against AI opponents in unexplored territory.
Typhon will support up to 10 players for cooperative missions and up to 30 for intense multiplayer battles. With a wide variety of maps and game modes, there’s something for everyone to enjoy. Whether you’re looking for a challenging co-op experience or want to test your skills against your friends in BvB combat, Typhon has you covered.
In Typhon: BvB, there is no need to grind for gear, button mashing, or fear of lag. Players enter their bots into battle against other bots, and the only factor is the code. Each bot will act according to their Pilot’s script, without external influence. This creates an incredibly competitive atmosphere, as every round is a chance to show who is the best.
A different take on PvP
Did you ever wish the player with the best results is not the one who can mash button the fastest? Did you wish lag would not impact your ability to play? If so, you are in the right place. Forget about PvP, it’s all about BvB!
What is known Player vs Player battles in traditional MMOs, is called Bot vs Bot in Typhon. Players can enter their bots in battles against other players’ bots. Players can compete solo, with a premade group of friends or as part of random groups in a variety of settings. Each bot will act according to the script created by its player, without being influenced by server lag or button mashing speed.
Code execution
From an execution perspective, time flows in ticks, with each tick taking approximately 1/10th of a second. During each tick, code for every bot gets executed simultaneously, then a physics step takes place which simulates the actions taken by the code (movement, firing weapons etc). Each bot code runs in its own virtual machine and the virtual machines for all bots share the simulation data.
Time flow has a direct impact on code execution. During one second of “real” time, bots in fast time areas will get more ticks of code execution while bots in slow time areas will get fewer ticks.
To prevent abuse and mistakes that might break the experience for other players, the virtual CPU that executes the code has a limit on the number of instructions that it can execute every tick. For the very same reasons, there is a limit on the amount of memory a bot can use.
Efficient code is the key to victory.
Modding
A built-in editor will allow players to create their own missions and campaigns and share those with their friends, their organization and/or the community at large.
Building a mission will be a two part exercise.
Using the built-in graphical editor, creators can build a map where the mission will be taking place, by taking an empty location and then customizing it by adding scenery like rocks, trees, crystals etc. and entities like creatures and NPC bots and also markers for mission objectives
Mission logic will be coded in the same way bot code is written, except that instead of controlling a single bot, the mission code will be responsible for controlling all non-player entities and deciding on win/lose conditions