GithubHelp home page GithubHelp logo

scorzy / idlespace Goto Github PK

View Code? Open in Web Editor NEW
102.0 8.0 47.0 6.99 MB

Yet another space themed idle game

Home Page: https://scorzy.github.io/IdleSpace/

License: MIT License

JavaScript 0.26% TypeScript 77.60% HTML 19.87% CSS 2.27%
angular idle-game clarity

idlespace's Introduction

IdleSpace

Build Status

This is an idle game about space combat. I made it to try web workers and some Angular Matrial CDK, that's why there are drag and drop and per battle is handled per ship.

Links:

This project was generated with Angular CLI version 7.2.2.

Setup

  • Install node js.
  • Clone the repo.
  • Run npm i
  • Run npm start for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files, except clarity theme and some web worker code.

Build

Run npm run build to build the project. The build artifacts will be stored in the dist/ directory.

Running unit tests

Run npm test to execute the unit tests via Karma.

idlespace's People

Contributors

amuhn avatar asl97 avatar jbcourtois avatar nyddogghr avatar scorzy avatar victorvwier avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

idlespace's Issues

Skill points are duplicated when prestiging

SkillEffect.availableSkill.quantity = new Decimal(

When the player prestiges after earning additional prestige points, they are awarded the total number of prestige points instead of just the additional prestige points earned.

Example:
Player earns 100 prestige and spends all 100 points.
Player clears level 110 and prestiges.
110 points are now available to spend instead of just 10.

CANNOT RUN

I run the following commands

npm i
npm start

but ir shows

I5DE 4PJHWKZMGZPB2CT%YG

the icon is tooooooo large

Skill points are gone when reset prestiging

When the player immediately prestiges after making a mistake assigning points at the start, the points used are gone instead of being returned.

Example:
Player has 40 prestige and spends all 40 points.
Player realized they made a mistake of assigning too much on some skill and reset prestige to redo it again.
0 points are now available to spend instead of the original 40.

Repeating enemy level twice before going forward onto the next level.

I dont know if u are working on this of if u didnt notice at all or if its intented to be like this like if u want to not repeat the enemy u must be online and not afk.

But if u would like to fix it maybe
/ increasing the time before selecting new world after defeating enemy. Like a delay.
/ Amuhn suggested an automator that searches if there's no current map. Like only search after enemy was defeated. In Auto Enemy Search Automator instead of Interval put a box named enemy defeated. And it will only search after enemy u are in battle with is defeated...

Robot C. Bug

These two images below is a before reload and after reload of my save.

Before: https://prnt.sc/nwc5j3

After: https://prnt.sc/nwc6ef

As you can see, I not only lose around half of the multiplicative bonus, it also doesn't account for the Alloy and Energy Upkeep.
Before I was making around 130 Robot C. Now I'm making 67.5 Robot C.

Prestige skill effect being multiplied by the number of skills most recently purchased

number.toNumber() * multi * this.quantity.toNumber();

When buying skill upgrades, the effect is multiplied by the number of skill points you have and the number you just purchased. This causes players to have huge prestige bonuses (sometimes thousands of times higher than they should be, when bonuses stack with each other) that are later reverted to the correct state after reloading the game or refreshing the page.

Reach Next Ascension.

For new players the first Ascension including the second and third maybe the fourth its not a big deal to reach the required level. But for people in Ascension 6 and up it is a big deal to reach required level. Cause it takes and absurd amount of time. Unless this part of the game is intentional. If that is the case then its ok. Nevermind.

But if it is no I would like to propose if its possible and it doesnt take you that much time in codding, a prestige skill point worth 5 points so new players dont get it right away, even an toggeable option ( hidden until u reach A5 at least or not) could be if u decide to, to make an entire battle (all 100 boxes of a level) to be done in seconds. Like the game will recognize the difference between yours and enemys fleet and modules in too and a bar will start filling according to this difference and just get the resources the map offers. If the difference is enourmous the bar would fill in a second, but if there is a difference but still for thousands the bar would progress slower.

(U could add another branch of Skill points named "spy", that could tell u how much resources ull get by defeating the enemy. Or it could be under searching.)

Cause well an A7 player that can unlock titan in the very first 10 levels its quite lets say irritating to repeat all the process all over again when in fact hse did it 7 times already. This player already knows it ,.. hse just want to reach the next ascension and get over it. But it hse cant cause there are 120 levels to pass before doing them.

Of course this could bring some momentary problems. Battles provide Habittale space resources robot c. and research which these are quite necessary for progressing. Research would bring the most problem of all i believe cause if u get all of it all of a sudden and u dont have the researches u dont want in backlog this will get researched and worst of all if its not Autosorted. A solution for this would be to "Program" which researches u want before ascending so in next ascension, once unlocked these unwanted researches will be put inmediately in backlog so they dont get researched not wasting research resources in them.

Surely there are others things to consider but i cant think of them.

"- 1.2s fight time" seems not working

It is quite slow to finish a battle, and it used to be fast.
I don't know why.

Export data:

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

In addition, Modding points could trigger a strange BUG:
图片
set "Unproductive / Productive" to -17 and set "Wasteful / Efficient" -3 times (or more) than "Unproductive / Productive" will... be interesting
图片

Auto Fight min is opposite

I understood Auto Fight min as the minimum fleet strength that it would go on to fight.

Right now it is in fact a max casualty. e.g. setting it to 100 would always fight and setting it to 1 would have it fight at full strength.

emty tabs

found a slight issue – on 1st tab – resources – when changing from drones to buildings – if on mod page, buildings has a blank screen. I suggest if switching to a building, automatically switch to overview tab and not stay on mod or any other tab

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.