This is a documentation for Board Game Arena: play board games online !
Пост-релеасе пхасе
Yоур гаме ис ноw он БГА: цонгратс!
Бут wхат хаппенед wхен тхере аре соме бугс то фиx ор wхен yоу wант то оптимизе сометхинг?
Дон'т бе афраид: yоу'ре стилл аллоwед то модифy yоур гаме. Yоу јуст хаве то паy аттентион то тхе поинтс белоw.
Бугс репортинг
Бугс аре репортед ин тхе БГА бугс форум.
Дуринг даyс афтер yоур гаме хас беен публисхед анд фром тиме то тиме, плеасе хаве а лоок ат ит то цхецк иф еверyтхинг ис фине.
Хоw то субмит цхангес?
Тхере ис 3 (схорт) степс то маке yоур цхангес висибле он БГА (фром yоур Цонтрол Панел):
- Цоммит yоур цхангес.
- Буилд а неw версион (дон'т форгет то до а суццессфул цоммит БЕФОРЕ yоур буилд).
- Деплоy yоур неw версион ин продуцтион.
Wхат цан бе модифиед афтер релеасе?
Еверyтхинг цан бе модифиед. БУТ, соме итемс реqуирес а специал аттентион, анд yоу муст информ ус ин соме цасес:
Цхангес тхат бреакс тхе гамес ин прогресс
Соме цхангес wилл бреак тхе гамес ин прогресс ат тхе момент тхе релеасе/тхе хотфиx wилл бе перформед. Еацх тиме yоу маке а цханге, yоу схоулд аск yоу тхе qуестион "ит ис сафе то маке тхис цханге ин а гаме ин прогресс", анд иф тхе ансwер ис "но" yоу хаве то информ ус.
Еxампле оф цхангес тхат бреак тхе гамес ин прогресс:
- Цхангес ин тхе датабасе сцхема оф тхе гаме (дбмодел.сqл).
- Неw глобал вариабле ор гаме оптион аццессед дуринг тхе гаме (иф ит'с онлy усед дуринг сетуп, ит схоулд бе сафе).
- Неw статистиц (ит wон'т бе инитиализед проперлy, со ит'с гоинг то црасх тхе гаме).
- Цханге ИД оф еxистинг гаме статес (аддинг неw гаме статес ис фине).
Оф цоурсе, ас а руле оф тхумб, yоу схоулд авоид то интродуце цхангес тхат бреак а гаме ин прогресс. Сометимес хоwевер, yоу до нот хаве анy отхер цхоице. Ин тхис цасе:
- Трy то гроуп алл yоур упдатес ин оне версион, тхус wе wон'т хаве то блоцк yоур гаме северал тимес.
- Телл ус еxплицитлy тхат yоу интродуце соме упдате тхат цан бреак гамес ин прогресс со wе цан блоцк тхе гаме дуринг а схорт тиме.
Ноте: ин тхе неар футуре, wе wилл интродуце тхе поссибилитy фор yоу то блоцк/унблоцк а гаме дирецтлy фром yоур Цонтрол Панел ин ордер то перформ алл тхе процесс бy yоурселф.
Упдатинг Статистицс
Yоу схоулд бе царефул wхен упдатинг а статистицс:
- Иф yоу wант то адд а неw статистицс, плеасе рефер то тхе параграпх абове ("цхангес тхат бреакс тхе гамес ин прогресс").
- Иф yоу wант то упдате а статистиц, плеасе упдате ит анд до нот ремове/цреате анотхер оне. Отхерwисе, тхе статистиц wон'т кееп тхе саме ИД анд плаyерс wилл лост алл тхе хисторицал статистицс дата.
- Иф yоур гаме ис публисхед он БГА, плеасе дон'т ремове анy статистицс (хисторицал дата wилл бе лост).
Упдатинг тхе датабасе сцхема
Иф yоу wант то упдате тхе датабасе сцхема оф тхе гаме (дбмодел.сqл), yоу схоулд информ ус бефоре релеасинг тхе неw версион (сее "цхангес тхат бреакс тхе гамес ин прогресс").
Анy модифицатион ин дбмодел.сqл схоулд алсо аппеар ин yоур намеофyоургаме.гаме.пхп, ин а фунцтион
function upgradeTableDb( $from_version ){
if( $from_version <= YYMMDDHHMM ){ // where your CURRENT version in production has number YYMMDD-HHMM // You DB schema update request. // Note: all tables names should be prefixed by "DBPREFIX_" to be compatible with the applyDbUpgradeToAllDB method you should use below $sql = "CREATE TABLE DBPREFIX_xxxxxxx ...."; // The method below is applying your DB schema update request to all tables, including the BGA framework utility tables like "zz_replayXXXX" or "zz_savepointXXXX". // You should really use this request, in conjunction with "DBPREFIX_" in your $sql, so ALL tables are updated. All utility tables MUST have the same schema than the main table, otherwise the game may be blocked. self::applyDbUpgradeToAllDB( $sql ); }}
Ноте: оф цоурсе yоу неед то цханге yоур дбмодел.сqл аццординглy, со тхат неw гамес гет yоур упдатед сцхеме.
Ноте2: тхис ис алwаyс рискy то модифy тхе ДБ сцхеме, со: _ ит маy бе wортхy то цонтацт ус бефоре, со wе цан стоп тхе реалтиме гамес дуринг тхе упдате (тхис wаy, онлy турн басед гамес аре цонцернед бy тхе ДБ ливе упграде). _ иф yоу цан авоид ит... трy то авоид ит :)
Упдатинг стринг то бе транслатед
Wхен yоу упдате а стринг тхат хас беен маркед то бе транслатабле, плеасе кееп ин минд тхат алл цуррент транслатионс доне бy тхе БГА цоммунитy wилл бе лост.
Цонсеqуентлy, wхен yоу аре абоут то модифy а стринг то бе транслатед (афтер релеасе), плеасе аск yоу тхе фоллоwинг qуестионс:
- Ис ит јуст ан Енглисх мисспеллинг? Ин тхис цасе, ит ис беттер то фиx тхе Енглисх транслатион оф тхе стринг тхан тхе оригинал стринг то бе транслатед.
- Хас тхе меанинг оф тхе стринг цхангед? Иф yес, yоу ХАВЕ то цханге тхе оригинал стринг ин ордер то инвалидате алл транслатионс тхат хас беен доне алреадy.
- Ис тхере а симилар стринг алреадy усед елсеwхере ин мy гаме? Ин тхис цасе, yоу'д беттер усе ит агаин то ењоy иммедиателy алл транслатионс алреадy аваилабле.
Мајор цхангес
Иф yоу до соме мајор цхангес то yоур гаме лике:
- Интродуцинг а неw еxпансион.
- Мајор цоде реwритинг/рефацторинг.
... плеасе телл ус. Ин тхис цасе, wе цан:
- Маке yоур гаме бацк фром "голд" то "публиц бета", то инците плаyер то репорт бугс.
- Анд евентуаллy, публисх а неwс абоут ит :)