Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/calebabg/sparkzengine
A snazzy little particle engine written in Java, built for exploration and creativity. A tool designed for education, but most importantly fun!
https://github.com/calebabg/sparkzengine
engine fireworks graphing java particles simulation visualisation
Last synced: 3 months ago
JSON representation
A snazzy little particle engine written in Java, built for exploration and creativity. A tool designed for education, but most importantly fun!
- Host: GitHub
- URL: https://github.com/calebabg/sparkzengine
- Owner: CalebABG
- License: mit
- Created: 2016-10-04T13:16:10.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2022-11-25T02:19:26.000Z (about 2 years ago)
- Last Synced: 2023-03-03T15:02:29.265Z (almost 2 years ago)
- Topics: engine, fireworks, graphing, java, particles, simulation, visualisation
- Language: Java
- Homepage:
- Size: 12.7 MB
- Stars: 5
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![](res/enginebackground.png?raw=true "Engine Logo")
## Synopsis
The Sparkz Engine is a one of a kind particle engine written in Java. A program for people who like to explore, create, experiment, and most importantly, have fun!With five distinct modes: ```Normal, Multi, Fireworks, Graph, and Physics```, just when you think you've discovered everything, it keeps on giving! Features include: ```particle flow visualization, fireworks simulation, equation graphing, organic motion visualization, and verlet physics```.
### Normal Mode
Lets you create thousands of colorful particles! Each particle has the ability to be reactive, to determine its color based on its velocity. The particles have 5 colors for which they can change their color to based on their velocity. You can also spawn up to 9 different molecule types: ```Particle, Gravity Point, Emitter, Flux, Q.E.D, Ion, Black Hole, Duplex, and Portal```, which can interact with each other depending on molecule type.### Multi Mode
Lets you spawn multiples of certain molecule types at a time.### Fireworks Mode
Lets you create fireworks. Clicking at a certain point on the screen will launch a particle in the direction of the mouse cursor. In this mode, each particle has a life amount which determines when it should explode to create the fireworks effect. Just as in the regular mode, each particle has reactive colors, and in this mode that feature is extended. The launch particle has reactive colors, and in addition, the fireworks from the particle have reactive colors as well, which you can customize! You're also able to control many other features of how the fireworks work, altering the ```Size, Speed, Jitter, Wind, and Type``` of the fireworks.### Graph Mode
Built for visualizing equations or functions. In this mode, the equation / function parser is powered by Java's JavaScript Script Engine. You are able to enter virtually any function (as long as it's in terms of x, ex. y = sin(x) + cos(x)) and graph it. There are many functions such as: ```Sin, Cos, Tan, Asin, Acos, Atan, Log, Sqrt(square root), Abs(absolute value)```, just to list a few.### Physics Mode
Designed for simulating physics using [Verlet Integration](https://en.wikipedia.org/wiki/Verlet_integration). In this mode, you're able to create different items which model objects that are affected by world forces, such as gravity and friction. The item are: ```Points, Sticks, IK Chains, Boxes, Elastic Meshes, Solid Meshes and Cloth```.---
#### Developing this Engine has been one of the most fun things I've done. I've learned so much and I couldn't be more proud of sticking with an idea which I didn't think at first was possible. I'm incredibly happy to be able to share this with you all! Thank you to everyone who has and continues to support me!
---
## Prerequisites
### Java `JDK 11` for development or `JRE 11` to just run the program. If you don't have either, you can download them from [Adoptium](https://adoptium.net/temurin/releases/?version=11)
### Quality Code Editors
* [IntelliJ](https://www.jetbrains.com/idea/)
* [Visual Studio Code](https://code.visualstudio.com/)
* [Eclipse](https://eclipse.org/)---
## Closing Comments
If you've stuck with reading up to this point I highly appreciate it! I'll keep this short. This project is officially Open Source!
I'll be pushing updates to this Engine as I can, and feel free to fork or port this to other languages! I'd love to see your creations,
be as creative as possible and let no one discourage you from having fun!