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 {
createElements(parent) {
let linkText = "";
switch (this.root.app.gameAnalytics.abtVariant) {
case "0": {
linkText = "Get on Steam";
break;
}
case "1": {
linkText = "Play on Steam";
break;
}
case "2": {
linkText = T.ingame.watermark.get_on_steam;
break;
}
}
// To be continued later
// let linkText = "";
// switch (this.root.app.gameAnalytics.abtVariant) {
// case "0": {
// linkText = "Get on Steam";
// break;
// }
// case "1": {
// linkText = "Play on Steam";
// break;
// }
// case "2": {
// linkText = T.ingame.watermark.get_on_steam;
// break;
// }
// }
let linkText = T.ingame.watermark.get_on_steam;
this.linkElement = makeDiv(
parent,

@ -72,7 +72,7 @@ const upgradesCache = {};
/**
* Generates all upgrades
* @returns {Object<string, UpgradeTiers>} */
function generateUpgrades(limitedVersion = false) {
function generateUpgrades(limitedVersion = false, difficulty = 1) {
if (upgradesCache[limitedVersion]) {
return upgradesCache[limitedVersion];
}
@ -246,6 +246,10 @@ function generateUpgrades(limitedVersion = false) {
for (let i = 0; i < upgradeTiers.length; ++i) {
const tierHandle = upgradeTiers[i];
tierHandle.improvement = fixedImprovements[i];
tierHandle.required.forEach(required => {
required.amount = Math.round(required.amount * difficulty);
});
const originalRequired = tierHandle.required.slice();
for (let k = currentTierRequirements.length - 1; k >= 0; --k) {
@ -296,7 +300,7 @@ const levelDefinitionsCache = {};
* Generates the level definitions
* @param {boolean} limitedVersion
*/
export function generateLevelDefinitions(limitedVersion = false) {
export function generateLevelDefinitions(limitedVersion = false, difficulty = 1) {
if (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;
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
* @returns {Object<string, UpgradeTiers>}
*/
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>}
*/
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
const analyticsLocalFile = G_IS_STEAM_DEMO ? "shapez_token_steamdemo.bin" : "shapez_token_123.bin";
const CURRENT_ABT = "abt_wmlt";
const CURRENT_ABT_COUNT = 3;
const CURRENT_ABT = "abt_dif";
const CURRENT_ABT_COUNT = 5;
export class ShapezGameAnalytics extends GameAnalyticsInterface {
constructor(app) {

Loading…
Cancel
Save