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
.
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.
Lets you spawn multiples of certain molecule types at a time.
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.
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.
Designed for simulating physics using 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!
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
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!