๐น๏ธ Idle Web game about traveling through space & time ๐

You are Jack, a time-traveler and space explorer. Your main objective is to restore life on this planet, that once was destroyed because of Humans' space programs.
Take great care, you could die outside of your base ...
Collect energy => Buy / upgrade components => unlock resources => travel further => upgrade spaceship => repeat
This was the desirable design (Generated by ChatGPT v3):

Selection of the character is still in development. You enter the game by selecting a player and its statistics.
toDecimal should round a decimal to the number of decimals given in arguments, by default 2
Ex:
toDecimal(2.4156844)=>2.42toDecimal(2.4136844)=>2.41toDecimal(2.4156844, 3)=>2.416toDecimal(2.4136844, 3)=>2.414toDecimal(2.4156844, 4)=>2.4157toDecimal(2.4136844, 4)=>2.4137
formatEnergy should format the energy based on the number itself
Ex:
formatEnergy(0)=>0formatEnergy(1)=>1formatEnergy(100)=>100formatEnergy(999)=>999formatEnergy(1e3)=>1KformatEnergy(1e4)=>10KformatEnergy(999999)=>999.999KformatEnergy(1e7)=>10MformatEnergy(1e10)=>10B
getRandomFromArray should return random defined element from array
generateRandomId should return a random id based on current date for uniqueness
getDefaultConfig should return the default config without player's name, level to 0 and the status "not started"
Character should be a class containing id, name, age, speed, intelligence, strength properties and should return a template with getDisplayTemplate
generateRandomStat should return random stats between max and minimum of each statistic
generateThreeRandomCharacters should create three different characters, return an array containing the three and each one having different values
getCharacterGeneratedById should get the character created with this id and return it
upgrade should add a level to the current one, and update the upgrade cost
git clone https://github.com/Clemix37/chrono-cosmos.git
cd chrono-cosmos
npm install # install dependencies
npm run build # build typescript files
npm run dev # launch live-server on index.html file- First UI design
- Create a GameStateManager
- Create a ScreenManager
- Create a DisplayManager
- Add tests for formulas, data and config
- Add tests for game state
- Remake the UI of character selection
- Change persistence data inside localstorage using string (like Cookie Clicker)
- Add more components / resources (maybe through AI for infinite ideas ?)
- Random events like meteorites or anomalies
- Add animations
PRs welcome !
If necessary, create issues for ideas, bugs etc.
MIT โ