Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] Basic income factor multiple economy speed #417

Open
jonamix-ar opened this issue Nov 4, 2020 · 9 comments
Open

[Feature] Basic income factor multiple economy speed #417

jonamix-ar opened this issue Nov 4, 2020 · 9 comments
Assignees
Labels
Feature Issues that will become new features

Comments

@jonamix-ar
Copy link

When registering in the Golden universe of ogame in English the basic resources are Metal: 30 and Crystal 15

But where I play in the universe hat says
Metal: 120 and Crystal: 60

so draw the conclusion that they are also multiplied by the speed of the economy

Universe Dorado: x1 Economy Speed
x1

Universe Sombrero: x4 Economy Speed (Clarification, I am in position 8 of this universe and in that position there is a metal bonus that also affects the basic production)
x4

Universe Quasar x9 Economy Speed
x9

@BeReal86
Copy link
Member

BeReal86 commented Nov 5, 2020

8

@jonamix-ar
Copy link
Author

jonamix-ar commented Nov 5, 2020

Esto seria así
Recurso básico metal = 30
Recurso básico cristal = 15

Velocidad universo ejemplo = 4

**Calculo sin el bonus de posición **
Para el metal
Formula: (básico metal * Velocidad del universo general)
Ejemplo: (30 * 4) = 120

Para el cristal
Formula: (cristal_basico * Velocidad del universo general)
Ejemplo: (15 * 4) = 60

Calculo con bonus de posición
Para el metal

Si es posición 6 y 10 la formula seria así = 17%
Formula: floor((básico metal * Velocidad del universo general) * 1.17);
Ejemplo: floor((30 * 4) * 1.17) = 140;

Si es posición 7 y 9 = 23%
Formula: floor((básico metal * Velocidad del universo general) * 1.23);
Ejemplo: floor((30 * 4) * 1.23) = 147;

Si es posición 8 = 35%
Formula: floor((básico metal * Velocidad del universo general) * 1.35);
Ejemplo: floor((30 * 4) * 1.35) = 162;

De la posición 6 a la posición 10, se ha implementado un bonus de producción de metal (similar al bonus de cristal de las posiciones 1, 2 y 3).
El bonus implica el aumento de producción de metal en tanto que el planeta se encuentre en esas posiciones
Las posiciones 6 y 10 dan un 17% más de metal. Las posiciones 7 y 9 dan un 23% y la posición 8 da un 35% más de metal. De esta manera la posición 8 lleva el mayor porcentaje mientras que 6 y 10 llevan el más bajo.

Calculo con bonus de posición
Para el cristal

Si es posición 1:
Formula: floor((básico cristal * Velocidad del universo general) * 1.3);
Ejemplo: floor((15 * 4) * 1.30) = 78;

Si es posición 2:
Formula: floor((básico cristal * Velocidad del universo general) * 1.225);
Ejemplo: floor((15 * 4) * 1.225) = 74;

Si es posición 3:
Formula: floor((básico cristal * Velocidad del universo general) * 1.2);
Ejemplo: floor((15 * 4) * 1.2) = 72;

Los bonus de cristal fueron reajustados
Position 1: 30%
Position 2: 22.5%
Position 3: 15%

Dejo esta imagen como prueba de los cálculos que hice
10

Es raro que para el deuterio no haya bonus pero seguramente tarde o temprano lo colocaran.

@BeReal86 BeReal86 added the Feature Issues that will become new features label Oct 2, 2021
@LucasKovacs
Copy link
Member

This issue is related to #377, seems to me that I will tackle both of them at the same time.

@jonamix-ar
Copy link
Author

This issue is related to #377, seems to me that I will tackle both of them at the same time.

It is the same, when I put it I thought I had put it in Bereal's but I missed XD it's just how the table would work. And more detailed

@jonamix-ar
Copy link
Author

jonamix-ar commented Jun 21, 2023

Estoy tratando de aprender un poco mas de como funciona ogame, por supuesto que ahora estoy haciendo pruebas en el ResourcesSettingsControllers

Elimine esto

$game_metal_basic_income = Functions::readConfig('metal_basic_income');
        $game_crystal_basic_income = Functions::readConfig('crystal_basic_income');
        $game_deuterium_basic_income = Functions::readConfig('deuterium_basic_income');
        $game_energy_basic_income = Functions::readConfig('energy_basic_income');
        $game_resource_multiplier = Functions::readConfig('resource_multiplier'); // Esto ya no se usa mas en el rediseño ahroa depende de la velocidad general por ahroa sigue siendo 2500 pero creo q en ogame es de 1 a 10 el maximo

public static function bonusMetalPosition($position, $universeSpeedFactor, $resourceBasicIncome)
    {
        // Aquí puedes implementar la lógica para detectar la posición del planeta del usuario

        switch ($position) {
            case 6:
            case 10:
                $positionFactor = 1.17;
                break;
            case 7:
            case 9:
                $positionFactor = 1.23;
                break;
            case 8:
                $positionFactor = 1.35;
                break;
            default:
                $positionFactor = 1;
                break;
        }

        // Calcula el bonus utilizando el factor de posición
        $bonus = floor($resourceBasicIncome * ($universeSpeedFactor / 2500) * $positionFactor);

        return $bonus;
    }

lo nuevo seria

$speedUniverse = Functions::readConfig('game_speed');
$metalBasicIncome = Functions::readConfig('metal_basic_income');

$game_metal_basic_income = ProductionLib::bonusMetalPosition($this->planet['planet_planet'], $speedUniverse, $metalBasicIncome);

Para el cristal seria lo mismo


public static function bonusCrystalPosition($position, $universeSpeedFactor, $resourceBasicIncome)
    {
        switch ($position) {
            case 1:
                $positionFactor = 1.4;
                break;
            case 2:
                $positionFactor = 1.296;
                break;
            case 3:
                $positionFactor = 1.2;
                break;
            default:
                $positionFactor = 1;
                break;
        }

        // Calcula el bonus utilizando el factor de posición
        $bonus = floor($resourceBasicIncome * ($universeSpeedFactor / 2500) * $positionFactor);

        return $bonus;
    }

Creo q debería andar esto

Position: 6 y 10
image

Recursos y basic income
image

Universe 1 Germany
Position: 10
image
image

@jonamix-ar
Copy link
Author

Game Speed x4

Position 6 and 10
image

Position 7
image

Position 8
image

@LucasKovacs
Copy link
Member

So this is about the bonus/reduction per position?

@jonamix-ar
Copy link
Author

So this is about the bonus/reduction per position?

es el bonus de posicion planetaria

@LucasKovacs
Copy link
Member

I think some of these will got straight to v4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature Issues that will become new features
Projects
Status: No status
Development

No branches or pull requests

3 participants