Skip to content

Releases: rotntake/BloodEngine

Blood Engine • V1.1.3

27 Sep 08:03
18538bf

Choose a tag to compare

↳ 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)

Screenshot 2024-09-27 074301

Blood Engine • V1.1.2

24 Aug 20:05
02ec139

Choose a tag to compare

↳ General Changes

A new Destroy method: Added a Destroy method, that I admit should have been there in the beginning. This is for developers who especially use StarterCharacterScripts. (Reference to issue: https://devforum.roblox.com/t/blood-engine-a-droplet-emitter-system/2545682/233)

Blood Engine • V1.1.1

19 Aug 23:16
50b69e6

Choose a tag to compare

↳ 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

06 Aug 21:52
428edd4

Choose a tag to compare

↳ General Changes

Improvements to Emission: You can now emit mixed droplets (decal & default) without making a new emitter instance!
Droplet Color: There's a new DropletColor setting 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

05 Aug 20:47
4ad4604

Choose a tag to compare

↳ 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

25 Jun 07:14
4ad4604

Choose a tag to compare

↳ 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

24 Jun 13:31
f033ba5

Choose a tag to compare

↳ 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

21 Nov 16:54
e252505

Choose a tag to compare

↳ 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 IgnorePlayers option 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, Land and Expand

Blood Engine • V0.0.6

09 Nov 21:27
4738f2f

Choose a tag to compare

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 SplashAmount option, which manages how many particles to emit.

Ignore Players: Added the ability for the droplets to ignore players with the IgnorePlayers option, prevents any interaction between them.

Removal of Features: Temporarily removed the PoolExpansion feature. 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

27 Sep 08:48
f19b29c

Choose a tag to compare

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.