Giter Club home page Giter Club logo

sd-d-teamidle's People

Contributors

bartoa avatar littlj4 avatar lukelavan avatar lyndseytoft avatar pinkoa2 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

sd-d-teamidle's Issues

Clicking the bee button too fast can cause the amount of honey to become negative

If the user is too fast in making several bees at a time, the honey and royal jelly values can both become negative. This obviously shouldn't be possible. Interestingly, I've only been able to make this happen at the very beginning of the game when the user makes their first bees.

Steps to recreate:

  • Harvest 10 nectar, and refine that into 2 honey
  • Click the 'gain a bee!' button twice as fast as you can
  • You should see a honey value of -3 and a royal jelly of -0.30

Finalize Hatchery

The UI for the hatchery is (barely) functional but needs to be refined (no pun intended), alongside the mechanics of gaining bees

implement random events

Implement random events in App.tsx. In the future this probably won't be in the App.tsx file, but for now it will be.

honeycomb structures

Now that users can generate honeycomb, they should be able to put it to use and build structures out of it.

While there does exist a list of structures that we had talked about implementing, the bulk of the work for this issue should go into developing an abstract class for structures, which specific buildings that can be decided upon later will be able to extend.

My initial thoughts are that each structure would have some internal representation of how good it is at performing its purpose, likely a number that goes up additively with the number of workers assigned to it and multiplicatively with how many times it's built (such that a structure with 0 bees assigned to it won't do anything). Upgrades would probably tweak the multipliers on these factors (eg, making each assigned bee worth more points).

Update README.md

Currently the README.md file is the default from create-react-app's boilerplate, but it should be personalized to this repository. It should include instructions to run npm install or yarn in order to properly set up husky.

tech tree

implement the functionality of the technology tree

process ticks on a timer that doesn't restart on re-render (but still has access to updated states)

see fde4a34

with the upcoming addition of more resources than just bees that may affect how ticks should be processed, we should figure out how to circumvent this issue before merging those changes into main.

the deployed site at https://lukelavan.github.io/SD-D-TeamIdle/ showcases the original bug: pressing the buzz buzz buzz button quicker than once per second prevents ticks from ever arriving, so the honey count is never updated by the bee count as it would be otherwise.

the previous commit showcases the bug introduced by preventing the timer from ever restarting: the amount added to honey will always be the bee count when the useEffect hook triggers - which only happens once on page load and never else. Refreshing the page causes the hook to fire, resulting in the correct amount being added to honey each tick.

the current commit attempts to mitigate this issue by only restarting the timer if the bees value is changed. however, this means that the original bug is present for changes to bees: acquiring a new bee quicker than once per second will prevent a tick from ever arriving. this is certainly less of a problem than for when spamming buzz buzz buzz caused this, but if more variables become required to correctly process a tick, they too will need to restart the tick timer which will cause this issue.

if there is a way to have the timer never need to restart, like in the previous commit, but also have the most up-to-date state be available for use by the timer started under a previous state, then this would solve both problems simultaneously.

give bees jobs

drones should somehow facilitate the creation of pupae, either automatically or manually by user.

  • automatically adding more bees might be too harsh once we implement bees consuming resources (eating honey, whatever else) since in this case it might be desirable to cap one's bee count to keep certain costs low
  • however, if bees can die as a part of their lifecycle then automatic generation might be really important
  • if drones are used to manually create pupae, there isn't much of an incentive that I can think of to have more than a very small amount of drones, since the user probably wants to keep their bee count at a particular number (see above)

not really sure what the best answer is here.

bees that won't become drones will become workers, which should then be assignable to different roles that only workers can fill. This seems closely related to #18 so depending on the status of relevant assignees this part can be addressed in either resultant PR

sprint 4 deliverables

user stories, use cases, work breakdown structure, product mockup + presentation, supplemental specifications, deployment diagrams, updated project schedule

ability to click on disabled button using Firefox browser

When playing bee game on Firefox browser, when a button is disabled it can still be clicked on and it will look like the active state button for a brief moment. Clicking on this button doesn't do anything but it is weird and we should try and fix it.

implement offline progression functionality

users should be able to close the tab, leave for some amount of time, and re-open the tab coming back to the game with all the ticks that would have happened during that time simulated to represent things happening offline.

I imagine this will involve saving a timestamp into localStorage, comparing that timestamp to the current time on initial render, determining how many seconds have elapsed, and processing that many ticks in succession

Add LICENSE.md

The repository currently has no license. The contributors should decide on which license to use so that it can be added.

implement bee lifecycle

Newly acquired bees should start as pupae and evolve towards adulthood, mimicking the life cycle of actual bees.

Not sure what kind of functionality pupae and larvae should implement - this can come after at least the skeleton is laid out and we've discussed it.

When a new pupa is acquired, the user should be able to select whether or not the new bee will become a drone or a worker when that pupa reaches adulthood - until then the pupae and larvae are probably functionally identical despite differences in destiny

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.