Open API for multiplayer

A new story begins...
The sequel to a real classic: Panzer Corps is back!

Moderator: Panzer Corps 2 Moderators

Post Reply
Dimonikus
Lance Corporal - SdKfz 222
Lance Corporal - SdKfz 222
Posts: 22
Joined: Sun Mar 28, 2021 10:19 am

Open API for multiplayer

Post by Dimonikus »

I apologize for my english, but I can't keep these thoughts in my head anymore. Please don't ban me :)

First of all I would like to thank the developers for this great game. You are very cool and you made a very cool product.

I play a lot in PBEM mode. I participated in both of the last tournaments. Special thanks for your PBEM implementation - it's a very cool system.

Special thanks for the tournament dedicated to the sad date in the history of my country.

Unfortunately the current tournament system is not perfect. Sometimes it brings painful experience.

As a professional programmer, I probably see a simple solution that will help to make the online gaming experience more positive.
I think that the best solution to all tournament problems is to make an open API for game matching.
I'm sure the developers already have a similar API for tournaments. The essence of my idea is to give access to this API to external services for organizing tournaments by the community.

Use case:

0. Each player can have several keys for authorization (disposable, reusable, with different rights). These keys are obtained in the user's profile;
1. Players receive API keys for authorization in their personal profile on the slitherine website;
2. Players send these API keys to the intermediary service;
3. The intermediary service is authorized in thes Sitherine API system;
4. The service sends these keys by HTTP POST request to the server. The request contains the keys of the players, a map (possibly even a file), game parameters;
5. If all keys and parameters are correct, then the service returns a response with the game ID, and the players get the game in the lobby;
6. As the game progresses, when requested by the service, return the current game result: game status (in progress / finished), points.

The API that implements this scenario will solve the problem of players' matching with each other and will be the basis for any tournament systems.

Tournament organizers will be able to create any game format.

The tournament organizer will choose the maps and how to interpret the results of the game.

Also such an API is beneficial for developers because good multiplayer will attract more players.

If this idea is supported, I will work out the API specification in more detail over the weekend. I'm also ready to implement a prototype intermediary service for such tournaments. In free time from the main work, of course.

Thanks for attention.
Folklore
Corporal - Strongpoint
Corporal - Strongpoint
Posts: 72
Joined: Sat Dec 23, 2017 8:18 am

Re: Open API for multiplayer

Post by Folklore »

And what is the difference between this idea and the current implementation? The fact that players themselves can create and host the tournaments with their own rules?
Dimonikus
Lance Corporal - SdKfz 222
Lance Corporal - SdKfz 222
Posts: 22
Joined: Sun Mar 28, 2021 10:19 am

Re: Open API for multiplayer

Post by Dimonikus »

Folklore wrote: Tue Jul 13, 2021 12:46 pm And what is the difference between this idea and the current implementation? The fact that players themselves can create and host the tournaments with their own rules?
Yes. Custom tournaments and easier search for games people will play. Now only about 10% of my opponents play the game to the end. Many do not even make the first move after the start of the game.

For example, nothing prevents from creating a system based on such an API (for example, a discord/telegram bot), which will allow people to play with the same activity time.

Use case:
1. The player fills out the form in which he writes when he has the main activity time;
2. The intermediary service searches for players with overlapping activity times;
3. Game starts

Also, the intermediary service can provide a more convenient search interface for multiplayer games, where you can more conveniently operate with conditions than in the standard interface.
Folklore
Corporal - Strongpoint
Corporal - Strongpoint
Posts: 72
Joined: Sat Dec 23, 2017 8:18 am

Re: Open API for multiplayer

Post by Folklore »

I'd just prefer ranked games that were teased by devs at some point.
Dimonikus
Lance Corporal - SdKfz 222
Lance Corporal - SdKfz 222
Posts: 22
Joined: Sun Mar 28, 2021 10:19 am

Re: Open API for multiplayer

Post by Dimonikus »

Folklore wrote: Tue Jul 13, 2021 2:47 pm I'd just prefer ranked games that were teased by devs at some point.
Me too, but in the current implementation of ranked games, I personally spent more than 8 hours planning the game on new maps and made 7 (!) Pairs of moves in three weeks in one game. In the last game I didn't even start planning until my opponent made the first move. Spoiler: my last opponent never made the first move. But in one of the games I got a technical defeat.

I personally do not care about the first places and ratingsю. I just want to play good multiplayer games.
Folklore
Corporal - Strongpoint
Corporal - Strongpoint
Posts: 72
Joined: Sat Dec 23, 2017 8:18 am

Re: Open API for multiplayer

Post by Folklore »

Dimonikus wrote: Tue Jul 13, 2021 4:30 pm
Folklore wrote: Tue Jul 13, 2021 2:47 pmI'd just prefer ranked games that were teased by devs at some point.
Me too, but in the current implementation of ranked games, I personally spent more than 8 hours planning the game on new maps and made 7 (!) Pairs of moves in three weeks in one game. In the last game I didn't even start planning until my opponent made the first move. Spoiler: my last opponent never made the first move. But in one of the games I got a technical defeat.<br style="user-select: auto;"><br style="user-select: auto;">I personally do not care about the first places and ratingsю. I just want to play good multiplayer games.
Currently, there is no implementation of ranked games. Ranked games are not tournament games.
Yola
Private First Class - Opel Blitz
Private First Class - Opel Blitz
Posts: 3
Joined: Fri Jul 22, 2022 12:05 pm

Re: Open API for multiplayer

Post by Yola »

As you mentioned, working out a detailed API specification is a crucial step in the development process, particularly when building a company info API. This involves defining various aspects of the API to ensure its functionality, security, and compatibility with other systems.

One key element in a company info API specification is defining the endpoints. These are the URLs or URIs that the API will expose to allow external systems to communicate with it. Each endpoint should have a clear purpose and provide a specific set of functionalities related to retrieving or updating company information. Well-defined endpoints make it easier for both developers working on the API and those integrating with it to understand its capabilities.

Another important aspect of a company info API specification is determining the data formats. This includes specifying the structure of the data that will be exchanged between the API and external systems. Common data formats for a company info API include JSON and XML, but you can also define custom formats if needed to cater to specific data requirements. Clearly specifying data formats ensures that all parties involved understand how to format requests and interpret responses accurately, which is vital when dealing with sensitive company data.
Post Reply

Return to “Panzer Corps 2”