top of page

An ode to the exit sign

Writer: Dahlia BloomstoneDahlia Bloomstone

Updated: Feb 6

This entry is part of the Deep Objekt  and Intelligence-Love-Revolution research programs, developed and led by Sepideh Majidi, with contributions from scholars such as David Roden, Francesca Ferrando, Sami Khatib, Keith Tilford, Maure Coise, Amanda Beech, Isabel Millar, Mattin,Thomas Moynihan and more. Partner Platforms: Foreign Objekt, Posthuman Art Network, Deep Objekt, The Space Gallery, UFO..

Deep Objekt [0]: miro 


This project explores the intersections of game theory and the interpersonal.




local fishModel = workspace:WaitForChild("FishModel") -- Replace with your model's name
local followDistance = 9 -- Distance behind the player where the fish will follow
local verticalOffset = 3 -- Vertical offset from the player
local speed = 2000 -- The speed at which the fish approaches the target position
local dampening = 100 -- Dampening effect to smooth the movement
-- Function to make the fish follow the player
local function followPlayer(player)
	local humanoidRootPart = player.Character and player.Character:FindFirstChild("HumanoidRootPart")
	if not humanoidRootPart then return end
	-- Create the BodyPosition and BodyGyro objects
	local bodyPosition = Instance.new("BodyPosition", fishModel.PrimaryPart)
	bodyPosition.MaxForce = Vector3.new(400000, 400000, 400000) -- This needs to be high enough to move the fish
	bodyPosition.P = speed
	bodyPosition.D = dampening
	local bodyGyro = Instance.new("BodyGyro", fishModel.PrimaryPart)
	bodyGyro.MaxTorque = Vector3.new(400000, 400000, 400000) -- This needs to be high enough to keep the fish upright
	bodyGyro.P = 20000
	while humanoidRootPart and fishModel.PrimaryPart do
		local targetPosition = humanoidRootPart.Position - humanoidRootPart.CFrame.lookVector * followDistance
		targetPosition = Vector3.new(targetPosition.X, targetPosition.Y + verticalOffset, targetPosition.Z)
		-- Update the BodyPosition and BodyGyro
		bodyPosition.Position = targetPosition
		bodyGyro.CFrame = CFrame.new(fishModel.PrimaryPart.Position, humanoidRootPart.Position)
		-- Wait for the next heartbeat to update again
		game:GetService("RunService").Heartbeat:Wait()
	end
end
-- Connect the function to player added event
game.Players.PlayerAdded:Connect(function(player)
	player.CharacterAdded:Connect(function(character)
		repeat wait() until character:FindFirstChild("HumanoidRootPart")
		followPlayer(player)
	end)
end)


Gold fishes clone and duplicate around her, follow her, and sometimes they clone too much. When this happens, she flies into the starry sky, stuck hanging there. But sometimes, they enclose her in a hug, leading to a red 70% opacity sign filling the screen and reads, “THE END, GOOD WORK AND LOVE HARD!” which kills the avatar and puts her back to the beginning of the game again.




Comments


  • Instagram
  • Twitter
  • Facebook
bottom of page