Further Abt Testing

pull/1440/head
tobspr 2 years ago
parent 9b545b7255
commit 27906caa84

@ -5,21 +5,24 @@ import { BaseHUDPart } from "../base_hud_part";
export class HUDWatermark extends BaseHUDPart { export class HUDWatermark extends BaseHUDPart {
createElements(parent) { createElements(parent) {
let linkText = ""; // To be continued later
switch (this.root.app.gameAnalytics.abtVariant) { // let linkText = "";
case "0": { // switch (this.root.app.gameAnalytics.abtVariant) {
linkText = "Get on Steam"; // case "0": {
break; // linkText = "Get on Steam";
} // break;
case "1": { // }
linkText = "Play on Steam"; // case "1": {
break; // linkText = "Play on Steam";
} // break;
case "2": { // }
linkText = T.ingame.watermark.get_on_steam; // case "2": {
break; // linkText = T.ingame.watermark.get_on_steam;
} // break;
} // }
// }
let linkText = T.ingame.watermark.get_on_steam;
this.linkElement = makeDiv( this.linkElement = makeDiv(
parent, parent,

@ -72,7 +72,7 @@ const upgradesCache = {};
/** /**
* Generates all upgrades * Generates all upgrades
* @returns {Object<string, UpgradeTiers>} */ * @returns {Object<string, UpgradeTiers>} */
function generateUpgrades(limitedVersion = false) { function generateUpgrades(limitedVersion = false, difficulty = 1) {
if (upgradesCache[limitedVersion]) { if (upgradesCache[limitedVersion]) {
return upgradesCache[limitedVersion]; return upgradesCache[limitedVersion];
} }
@ -246,6 +246,10 @@ function generateUpgrades(limitedVersion = false) {
for (let i = 0; i < upgradeTiers.length; ++i) { for (let i = 0; i < upgradeTiers.length; ++i) {
const tierHandle = upgradeTiers[i]; const tierHandle = upgradeTiers[i];
tierHandle.improvement = fixedImprovements[i]; tierHandle.improvement = fixedImprovements[i];
tierHandle.required.forEach(required => {
required.amount = Math.round(required.amount * difficulty);
});
const originalRequired = tierHandle.required.slice(); const originalRequired = tierHandle.required.slice();
for (let k = currentTierRequirements.length - 1; k >= 0; --k) { for (let k = currentTierRequirements.length - 1; k >= 0; --k) {
@ -296,7 +300,7 @@ const levelDefinitionsCache = {};
* Generates the level definitions * Generates the level definitions
* @param {boolean} limitedVersion * @param {boolean} limitedVersion
*/ */
export function generateLevelDefinitions(limitedVersion = false) { export function generateLevelDefinitions(limitedVersion = false, difficulty = 1) {
if (levelDefinitionsCache[limitedVersion]) { if (levelDefinitionsCache[limitedVersion]) {
return levelDefinitionsCache[limitedVersion]; return levelDefinitionsCache[limitedVersion];
} }
@ -536,6 +540,10 @@ export function generateLevelDefinitions(limitedVersion = false) {
}); });
} }
levelDefinitions.forEach(definition => {
definition.required = Math.round(definition.required * difficulty);
});
levelDefinitionsCache[limitedVersion] = levelDefinitions; levelDefinitionsCache[limitedVersion] = levelDefinitions;
return levelDefinitions; return levelDefinitions;
@ -601,12 +609,32 @@ export class RegularGameMode extends GameMode {
]; ];
} }
get difficultyMultiplicator() {
switch (this.root.app.gameAnalytics.abtVariant) {
case "0":
return 0.2;
case "1":
return 0.5;
case "2":
return 0.75;
case "3":
return 1;
case "4":
return 1.25;
case "5":
return 2;
}
}
/** /**
* Should return all available upgrades * Should return all available upgrades
* @returns {Object<string, UpgradeTiers>} * @returns {Object<string, UpgradeTiers>}
*/ */
getUpgrades() { getUpgrades() {
return generateUpgrades(!this.root.app.restrictionMgr.getHasExtendedUpgrades()); return generateUpgrades(
!this.root.app.restrictionMgr.getHasExtendedUpgrades(),
this.difficultyMultiplicator
);
} }
/** /**
@ -614,7 +642,10 @@ export class RegularGameMode extends GameMode {
* @returns {Array<LevelDefinition>} * @returns {Array<LevelDefinition>}
*/ */
getLevelDefinitions() { getLevelDefinitions() {
return generateLevelDefinitions(!this.root.app.restrictionMgr.getHasExtendedLevelsAndFreeplay()); return generateLevelDefinitions(
!this.root.app.restrictionMgr.getHasExtendedLevelsAndFreeplay(),
this.difficultyMultiplicator
);
} }
/** /**

@ -18,8 +18,8 @@ const analyticsUrl = G_IS_DEV ? "http://localhost:8001" : "https://analytics.sha
// Be sure to increment the ID whenever it changes // Be sure to increment the ID whenever it changes
const analyticsLocalFile = G_IS_STEAM_DEMO ? "shapez_token_steamdemo.bin" : "shapez_token_123.bin"; const analyticsLocalFile = G_IS_STEAM_DEMO ? "shapez_token_steamdemo.bin" : "shapez_token_123.bin";
const CURRENT_ABT = "abt_wmlt"; const CURRENT_ABT = "abt_dif";
const CURRENT_ABT_COUNT = 3; const CURRENT_ABT_COUNT = 5;
export class ShapezGameAnalytics extends GameAnalyticsInterface { export class ShapezGameAnalytics extends GameAnalyticsInterface {
constructor(app) { constructor(app) {

Loading…
Cancel
Save