Skip to content

A snazzy little particle engine written in Java, built for exploration and creativity. A tool designed for education, but most importantly fun!

License

Notifications You must be signed in to change notification settings

CalebABG/SparkzEngine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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. 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

Quality Code Editors


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!

About

A snazzy little particle engine written in Java, built for exploration and creativity. A tool designed for education, but most importantly fun!

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published