Hadron++ Particle Engine

by Kats
Full-scale particle library [More]
To download this library for your Linux/Mac installation, enter this on your command line:

DreamDownload byond://Kats.HadronParticleEngine##version=5

Emulator users, in the BYOND pager go to File | Open Location and enter this URL:


Version 1.05
Date added: Aug 12 2015
Last updated: Aug 14 2015
10 fans
The Hadron++ Particle Library was designed for modular use. It's a very solid particle engine, but there's just a couple things that I have to be up front with before we get started. First of all, it should be know that current particle physics in BYOND are EXTREMELY bulky for many reasons. Because of this, it's highly suggested that you don't attach this library to any multiplayer games. The server will simply not be able to keep up with all of the data required to handle particles properly. However, this library can provide excellent fluff to most single-player games wishing to add some "juice" to them.

Some of the particle effects in the demo are for just that: demonstration purposes. While it showcases the robust nature of the library, some of the effects such as the fire effect can consume as much as 50% CPU running at 30fps. Use effects like these very sparingly and in a smart way to enhance gameplay.

As I update the engine, I do plan on releasing "particle packs" that are essentially libs that include tons of definitions for all kinds of crazy particle effects that I can come up with. This isn't limited to me, though. The ease of creating new effects in a modular way allows anyone to create and share their particle effects. The emitter definitions are designed to be plug-and-play.

If you want to show me something really cool you made with the engine or have some feedback you'd like to give, feel free to message me! I also love seeing how projects are incorporating the engine into their design. If you have features like that you want to show me, go right ahead.


Kozuma3: (Sep 1 2015, 5:21 am)
Ghaleon wrote:
- Downloaded and ran demo.
- Proceeded to turn on every effect and click as fast as possible.

10/10 would freeze DreamSeeker again.

All of my this ^

Ghaleon: (Aug 31 2015, 11:39 am)
- Downloaded and ran demo.
- Proceeded to turn on every effect and click as fast as possible.

10/10 would freeze DreamSeeker again.
Kats: (Aug 18 2015, 6:45 pm)
It would, but there's a problem intrinsically with how the engine times itself that caused a lot of problems with animate().

I had tried using animate() for the alpha settings with the fading functions, but the moment I altered the frame rate or particle animation fidelity, it really screwed the pooch, which is why I opted back for manually tweening the animations.

I did try, though. It just became too much of a headache to manage itself.
Lavenblade: (Aug 18 2015, 5:16 pm)
I still haven't really looked under the hood, but do you use animate? Wouldn't animate help with CPU usage?
Kats: (Aug 18 2015, 3:13 pm)
Thanks for the input. If people are asking about the library, there's obviously and interest for it. What interest that is I can't exactly say. Even if someone just picks through the poorly documented code to figure out how it works and learns something new, that's fine with me.

This project was designed like many of my other libraries for personal use. I released it because people asked and I felt no need to keep it hidden from anyone. But in total, this is a project that exists because I wanted to write a particle engine that would potentially be useful for any future games I work on. Never really wrote this to cater to anyone.

And if someone does jam this into their source, which is stupid easy, it's literally a plug-and-play library, then that's fine. I've already disclosed that this library is absolutely not suitable for multiplayer games and if people choose to ignore that, well, I hope they don't wonder why they're at 100% CPU constantly.