Code Monkey home page Code Monkey logo

impact-atmosphere's People

Contributors

chessmasterhong avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

impact-atmosphere's Issues

Improve weather condition transitioning.

This issue is directed mostly towards rain and snow weather conditions.

Currently, when a particle-based weather condition's particle count reaches maximum and the weather changes to another particle-based condition, the particles from the first condition remains which prevents the second condition from generating its particles.

The plugin will also falsely report that it is in the second condition despite never reaching there due to the same issue above.

The plan is to allow gradual transitioning between weathers. In other words, when the weather changes, start removing the other particles and at the same time, start replacing the available particle count slots with the current weather particles until current weather particles reaches maximum.

Possible incorrect calculations for other time zones.

Plugin may not have correct calculations for other time zones. Current calculations assume Eastern Standard Time (UTC-0500) and Eastern Daylight Time (UTC-0400). Additional sources and validation may be required to verify the validity of calculations for other time zones.

Compute sunrise and sunset duration based on time of year and geographical coordinates.

The current implementation assumes the same constant sunrise and sunset duration throughout the year and for any geographical coordinates. Realistically, this is not true as depending on the time of the year and the geographical coordinates, the sun rises and sets faster or slower.

Ideally, a formula for computing sunrise and sunset duration would be nice but a general approximation that can vary based on arbitrary time of the year and geographical coordinates would suffice.

Improve accuracy of ambient brightness and colors during sunrise and sunset.

Current calculations assume linear brightness relative to sunrise and sunset duration. It does so by linearly increasing or decreasing the opacity as the duration progresses. However, sunrises and sunsets (from my experience) have emitted a mellow orange color to the sky and surrounding environment. Perhaps, this is different in other locations.

It would be an enhancement over the current implementation to apply this ambient color effect. Perhaps consider looking at Rayleigh scattering and Mie scattering?

Improve speed of generating fog weather condition.

Current method of generating fog is very slow. Due to the implementation of the algorithm in the plugin, generating and maintaining the fog is computationally heavy to compute and draw to canvas.

This is due to the block size, which affects how many blocks are being drawn to canvas. Smaller block size results in greater amounts of blocks being drawn. Each block requires the algorithm to run once, coupled with the need to fill every visible area in the canvas yields a very slow and inefficient implementation.

Future plans are to either:

  1. replace current algorithm with faster one
  2. keep current algorithm and improve method of drawing blocks to canvas

Allow optional sound loading for events.

Allow optional sound loading for developers who wish to attach sound effects to specific events, such as droplet sounds during rainy weathers, thunder booms after lightning flashes, or bird chirping during daytime.

Developers who do not wish to have sounds in their projects should be able to easily disable the loading of sound. Organization and guidelines for adding custom sounds should be considered to prevent confusing developers.

Add lightning flash effect.

Add a brief screen flash effect to simulate a lightning flash. Lightning occurrence should be random and spaced out. Also, consideration should be made to minimize the risk of photosensitive epilepsy due to the rapid and frequent change in brightness.

Computations fail when latitude is too large.

Plugin breaks (fails in its computations) when the latitude becomes too large in both the positive and negative latitudes. In other words, as it approaches the North and South Poles, specifically around the Arctic and Antarctic Circles.

I believe this error is due to the higher latitudes having polar days and polar nights (no sunrise and sunset) of which the plugin currently does not account for. Future plans are to fix calculations and add support for arbitrary latitudes

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.