This is a documentation for Board Game Arena: play board games online !

Post-release phase : diforc'h etre ar stummoù

Eus Board Game Arena
Mont d’ar merdeerezh Mont d’ar c’hlask
Diverradenn ebet eus ar c'hemm
Linenn 27: Linenn 27:
===Changes that breaks the games in progress===
===Changes that breaks the games in progress===


Some changes will break the games in progress at the moment the release/the hotfix will be performed.
Some changes will break the games in progress at the moment the release/the hotfix will be performed. Each time you make a change, you should ask you the question "it is safe to make this change in a game in progress", and if the answer is "no" you have to inform us.
 
Example of changes that break the games in progress:
* Changes in the database schema of the game (dbmodel.sql).
* New global variable or game option accessed during the game (if it's only used during setup, it should be safe).
* New statistic (it won't be initialized properly, so it's going to crash the game).
* Change ID of existing game states (adding new game states is fine).
 
Of course, as a rule of thumb, you should avoid to introduce changes that break a game in progress. Sometimes however, you do not have any other choice. In this case:
* Try to group all your updates in one BGA package, thus we won't have to block your game several times.
* Tell us explicitly that you introduce some update that can break games in progress, '''as soon as you commit your update'''.

Stumm eus an 29 Ebr 2013 da 15:09

Your game is now on BGA: congrats!

But what happened when there are some bugs to fix or when you want to optimize something?

Don't be afraid: you're still allowed to modify your game. You just have to pay attention to the points below.

BGA packages: when my updates will be visible by players?

BGA website is updated with "packages". When needed, we build a new package with all games and release a new version of BGA with this package.

It means that your updates won't be visible by players until a new package is build and released on the website.

Usually, there is less than 2 weeks between 2 packages, so it's quick. BUT, if you detect some major bug in your game, please warn us immediately so we can decide what to do. Usually, we do the following:

  • We can do a "hotfix": you send us a very little change and we fix the website immediately. This is only possible if you change only the PHP side. The good news is that most blocking bugs are on PHP side - the client side bugs are most of the time solved by a page refresh. Of course, we don't hotfix minor bugs.
  • We can build another package. Of course, it's better to fix several bugs in each package, in order we don't have to build another package right after the first one :)
  • If the situation is critical, we can suspend the game from BGA waiting for the update.

Of course, we particularly care of your game during the days after your game is available on BGA. During this period of time, there's no problem to build package and to hotfix just for your game, and this is done in close collaboration with you. You just have to inform us when you're ready to publish a new version.

Note: don't forget that in any case, you need to commit your changes to made them available for the next package. Modifications that are not commited are not included in the packages.

What can be modified after release?

Everything can be modified. BUT, some items requires a special attention, and you must inform us in some cases:

Changes that breaks the games in progress

Some changes will break the games in progress at the moment the release/the hotfix will be performed. Each time you make a change, you should ask you the question "it is safe to make this change in a game in progress", and if the answer is "no" you have to inform us.

Example of changes that break the games in progress:

  • Changes in the database schema of the game (dbmodel.sql).
  • New global variable or game option accessed during the game (if it's only used during setup, it should be safe).
  • New statistic (it won't be initialized properly, so it's going to crash the game).
  • Change ID of existing game states (adding new game states is fine).

Of course, as a rule of thumb, you should avoid to introduce changes that break a game in progress. Sometimes however, you do not have any other choice. In this case:

  • Try to group all your updates in one BGA package, thus we won't have to block your game several times.
  • Tell us explicitly that you introduce some update that can break games in progress, as soon as you commit your update.