Releases: rotntake/BloodEngine
Blood Engine • V1.1.3
↳ General Changes
• A new size setting: Added a new setting:
YSize, which controls the range of the y size of the pool, giving you the ability to make it flat or thick. (Reference to suggestion: https://devforum.roblox.com/t/blood-engine-a-droplet-emitter-system/2545682/239)
Blood Engine • V1.1.2
↳ General Changes
• A new Destroy method: Added a
Destroymethod, that I admit should have been there in the beginning. This is for developers who especially useStarterCharacterScripts. (Reference to issue: https://devforum.roblox.com/t/blood-engine-a-droplet-emitter-system/2545682/233)
Blood Engine • V1.1.1
↳ General Changes
• Fixes: Fixed an issue where if no Data/Settings table was provided, the module would error. This is in reference to this issue: https://devforum.roblox.com/t/blood-engine-a-droplet-emitter-system/2545682/224
Blood Engine • V1.1.0
↳ General Changes
• Improvements to Emission: You can now emit mixed droplets (decal & default) without making a new emitter instance!
• Droplet Color: There's a newDropletColorsetting to change the color of your droplets/pools.
↳ Other Notes
While this was a minor update, what you can do with it is anything but.
Here's a showcase to show what you can do with this new release:
d1cc8933b54b3b42df563da78f10c747.mp4
You can now do a mix of Droplets and Decals. And without creating multiple emitter instances that might eat out your performance.
Here's the code behind it:local ReplicatedStorage = game:GetService("ReplicatedStorage") local BloodEngine = require(ReplicatedStorage.BloodEngine) local Engine = BloodEngine.new({ Limit = 500, }) local EMIT_AMOUNT = 50 local EMIT_DELAY = 5 local function Emit() -- A random chance of the droplet being a decal local IsDecal = math.random(0, 1) == 1 -- Emits a droplet in a random direction relative to a part, and there's a chance that it could be a decal. Engine:Emit(script.Parent, nil, { Type = IsDecal and "Decal" or "Default", DefaultSize = IsDecal and { 1, 1.4 } or { 0.4, 0.7 } }) end -- A custom iteration of the EmitAmount method while true do for Index = 1, EMIT_AMOUNT, 1 do local DropletDelay = math.random(0.05, 0.1) Emit() task.wait(DropletDelay) end task.wait(EMIT_DELAY) end
Blood Engine • V1.0.3
↳ General Changes
• Small Fixes: There weren't really any changes to the code, this update is more focused on assets. A certain decal was removed due it bugging out, and I made some changes to the properties of the droplets for a certain upcoming bugfix.
Blood Engine • V1.0.2
↳ General Changes
• Different Settings Upon Emission: You can now apply different settings to the droplets using EmitAmount or Emit instead of manually changing it.
Blood Engine • V1.0.1
↳ General Changes
• Bugfixes: The Pool Expansion feature had this bug where it would unexpectedly expand beyond its limit. This occurred due to a droplet interacting with a pool mid-expansion, which expands it twice as much.
Blood Engine • V1.0.0
↳ General Changes
• Comprehensive Rewrite: The module has undergone a complete rewrite, enhancing its readability and ease of modification. This overhaul also improves the organization of the code, making it easier to locate specific elements.
• Pool Expansion: Reintroducing the Pool Expansion feature, now enhanced with effects and new options such as:
Expansion: A toggle switch for this feature.Distance: Defines the distance (in studs) within which a droplet should check for nearby pools.ExpanseDivider: Controls the rate of pool size increase. Higher values result in a slower increase.MaximumSize: Sets the maximum size a pool can reach.• Ignore Players: The
IgnorePlayersoption has been permanently removed. However, a guide on how to make droplets ignore players will be released in the future.• Splashing: Expanded the options for the splashing feature, providing more customization possibilities:
SplashName: The name of the attachment that releases particles on surface contact.SplashByVelocity: If true, sets the number of particles based on the velocity of the droplet.VelocityDivider: Controls the extent to which velocity can influence the splash amount. Higher values will lessen the effect.• Additional Options: Added and revamped several options to provide you with more control over the appearance of the droplets, pools and effects, as well as the functionality of the module:
FolderName: Specifies the name of the folder containing the droplets.Type: Defines the droplet type. It can be either "Default" (Sphere) or "Decal".DefaultTransparency: Specifies the default transparency range of a pool.Trail: Controls the visibility of the trail during droplet emission.StartingSize: Sets the initial size of the droplets upon landing.ScaleDown: Determines whether the pool should scale down when decaying.Tweens: Contains all the tweens used by the module:Decay,LandandExpand
Blood Engine • V0.0.6
fce4e4b1b91b799b5cc2223a19f6aa13.mp4
1b6d8480911048fe27eb27e2d3540658.mp4
↳ General Changes
• Accurate Raycasting: Implemented accurate raycasting using FastCast for improved precision.
• Splash Effects: Introduced splash/impact effects to enhance visuals, includes the
SplashAmountoption, which manages how many particles to emit.• Ignore Players: Added the ability for the droplets to ignore players with the
IgnorePlayersoption, prevents any interaction between them.• Removal of Features: Temporarily removed the
PoolExpansionfeature. It is planned to be reintroduced in a future update following a rewrite to clean things up.
↳ Other Notes
The system's feature set has grown unexpectedly, leading to cluttered and sorta hard-to-read code. A module rewrite is planned, including a complete rewrite of this post.
Blood Engine - V0.0.5
General:
- Included a showcase place on the GitHub.
- Added a more efficient way to change the settings:
UpdateSettings.- Resolved an issue that prevented the proper removal of excess droplets.
