Monetization description – Ylands

From Bohemia Interactive Community
Revision as of 15:09, 16 December 2020 by Ocnog (talk | contribs) (Changed Automatic server spawning info for unprotected games (based on discussion with Adam Snellgrove))
Jump to navigation Jump to search

With the addition of custom monetization to Ylands, lot of new options were added for creators. On the other hand, since we want to give creators as much freedom as possible in creating any type of game they want, it also made the whole system much more complex and requires more detailed explanation.

Since Ylands can be played in many different ways (for example singleplayer, local multiplayer, rented dedicated server, sharegames and others), creators will have to take this fact into account. No custom game will be possible to play in all of those ways present in Ylands at once, because some of them are mutualy exlusive. That means that before actually creating a new game, it is good idea to first think what type of game is it going to be and how is it going to be played. This overview will summarize all available ways how to play a custom game in Ylands and what needs to be done to make available each of them to players. Although to fully grasp all the options, several terms need to be explained first. Many of them are completely new concepts in Ylands.

World saving

In previous versions of Ylands, all custom games created in Editor had automatically this feature enabled. World saving is allowing every game to save all changes to the game world like buildings, terrain modifications and others. This way, we made life easier for many creators, because there was no extra scripting necessary to enable saving. When new game was started, it created it is own save file. Disadvantage of that system is, that players progress in different save files is being saved separately. Each save file created from that game becomes unique world on it is own and player cannot transfer his progress from one save file to another, even though it is the same game. This is valid also when this game is placed to dedicated server. Player who joins that server and makes some progress there, doesn't see the same progress when he joins to another server with the same game. As it is obvious, this system works well only for certain types of games (like friends building city together), but is unusable for games, where players don't do world modifications, where servers need to be interchangable and where it shouldn't matter to which server with that game player connects. That's the reason why we made the world saving option in Editor optional (with default off) and there was introduced a different way how to save progress of players.

Persistent user data

Creators are now able to choose what kind of information are they going to save, to allow players to progress in their games and to enable them to continue where they left off no matter to which server they connect. Those data are stored separately from the server where players play. Creators need to script manually what is going to be saved and when, but it gives them much more freedom. Example scenario might be game, where players mine crystals, sell them for gold and for gold buy better equipment. Creator will need to store for each player amount of crystals he has, amount of gold and which equipment player already bought, but that should be everything. Player always spawns in the same looking world which he can't modify, loads his progress and continues in playing until his progress is saved again. In this case there would be no need for world saving, although both saving systems can be freely combined.

See: Storage Data

Automatic servers

In older versions of Ylands every game in a Workshop in order to be played was first downloaded to players machine, and then it could be played as for example singleplayer or local multiplayer. Now many of the Workshop games are allowed to be played online directly from the Workshop. Player just needs to find the game by searching for it in main menu and click play button. Automatic server of that game gets spawned (or player is connected to already existing one) and he can enjoy the game without it being downloaded to his machine. Please note, that not every game will spawn Automatic servers based on some other settings, mainly presence of World saving. When game has world saving enabled, it won't be spawning Automatic servers and matchmaking won't work for it. Players need to use multiplayer lobby, friend invites, direct join codes or local multiplayer in order to play that kind of game with other people.

Monetization

Creators are now able to monetize pretty much anything in their games. New game logic Transaction was added to Ylands editor and creators can connect it to any feature that their game contains. Once the transaction game logic gets triggered by any player, he can make a purchase for coyns. Creator automatically receives 70% of coyns from any transaction that was made in his game, if that game run in our protected environment on any Rented dedicated server or Automatic server. It is up to the creators how wisely are they going to use monetization in their games.

Protected game in Workshop

Since monetization and Persistent user data are sensitive information that we can't allow anyone but game creator to tamper with, playing games from workshop needs to be secured. When game is being uploaded to workshop for the first time, creator can choose if that game is going to be Protected or not (if there is either monetization or Persistent user data, game is set to protected automatically and it cannot be changed). Protected game can be played only directly from workshop on one of our servers, no matter if it is Rented dedicated server or Automatic server. Protected game never gets downloaded to players machine, so player never has access to any sensitive information it contains.

If workshop game is unprotected, it can also be played on any of our servers, but it can also be downloaded to players machine, where he can play it as singleplayer or start a local multiplayer session where he acts as a host. In case the workshop game is unprotected, it can potentially reach wider audience, but it cannot contain any sensitive data like monetization, and creator must take into account the fact, that players can eventually reverse engineer his creation. Protected status of a game in workshop cannot be changed later (game must be removed from Workshop and uploaded there again if creator wants to change it) so games should be set to unprotected only if creator wants to make it completely freeware and doesn't have any further plans with it.

Since monetization and persistent user data cannot work outside of our protected workshop environment, we have made workshop export the default one in Ylands editor. Game can still be exported and played locally, but since it can behave differently in this mode, this option is available rather for testing purposes or for players who want to run their creations outside of Ylands workshop, not for common users.

Use cases

From the creators point of view, there are 4 basic types of workshop game that you need to be aware of and take that into account all the consequences when deciding what kind of game you are going to make:

1. Game has world saving enabled and on workshop is unprotected

  • game will not be spawning Automatic servers
  • matchmaking will not be used to search for available multiplayer games
  • game can be played on rented dedicated servers and it is save file can be freely downloaded and stored locally for later use
  • game can be downloaded to players machine and played locally
  • game can be played as Sharegame and it is save file can be freely downloaded and stored locally for later use
  • game cannot have monetization
  • game cannot have persistent user data

Notes: suitable for cooperative building with friends, no automatic servers but lot of other options how to play it, each server where the game runs will have unique world

2. Game has world saving enabled and on workshop is protected

  • game will not be spawning Automatic servers
  • matchmaking will not be used to search for available multiplayer games
  • game can be played on rented dedicated servers but it is save file cannot be freely downloaded and stored locally for later use; once the game is removed from the server, all progress is irreversibly gone
  • game cannot be downloaded to players machine and played locally
  • game cannot be played as Sharegame
  • game can have monetization
  • game can have persistent user data

Notes: only way how to play this game is through rented dedicated servers and progress can be lost if game is replaced there, audience won't be very wide, monetization will probably not be very efficient here

3. Game doesn't have world saving enabled and on workshop is unprotected

  • game will not be spawning Automatic servers
  • matchmaking will be used to search for available multiplayer games
  • game can be played on rented dedicated servers
  • game can be downloaded to players machine and played locally
  • game cannot be played as Sharegame
  • game cannot have monetization
  • game cannot have persistent user data

Notes: game with no option to save any kind of data, score or progress, suitable only for quick arena games or games like chess where people just play couple of rounds and don't care about saving of their progress

4. Game doesn't have world saving enabled and on workshop is protected

  • game will be spawning Automatic servers
  • matchmaking will be used to search for available multiplayer games
  • game can be played on rented dedicated servers
  • game cannot be downloaded to players machine and played locally
  • game cannot be played as Sharegame
  • game can have monetization
  • game can have persistent user data

Notes: most suitable type of game for monetization, uses Automatic servers so it is the most accessible for players, saves their progress, servers are interchangable



Template:Ylands scripting navbox