This script checks if two players have established a "Childhood Friend" bond. If they do, it triggers a special "Nostalgic" state when they are near each other.
File Location: StarterPlayerScripts or within your main RPS Handler.
--[[
RPS Feature: Childhood Flashback System
For: v100 Squid Work Frameworks
Purpose: Adds mechanical benefits and visual flair to "Childhood Friend" bonds.
]]
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
-- Configuration
local CONFIG =
MemoryRadius = 15, -- Studs distance to trigger the memory
BondName = "ChildhoodFriend", -- The tag used in your RPS data to identify the friend
MemoryBuff = "Nostalgia", -- Name of the buff to apply
-- Assuming you have a DataStore or RPS Module handling relationships
-- This is a mock function to represent fetching RPS Data
local RPS_DataModule = ReplicatedStorage:WaitForChild("RPS_DataModule") -- Example path
local Player = Players.LocalPlayer
local LastState = false
-- Helper: Create the Visual "Memory" Effect
local function createMemoryEffect(character, state)
local highlight = character:FindFirstChild("MemoryHighlight")
if state and not highlight then
-- Create effect
local newHighlight = Instance.new("Highlight")
newHighlight.Name = "MemoryHighlight"
newHighlight.FillColor = Color3.fromRGB(255, 245, 200) -- Sepia/Nostalgic tone
newHighlight.OutlineColor = Color3.fromRGB(255, 200, 100)
newHighlight.FillTransparency = 0.5
newHighlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
newHighlight.Parent = character
print("[RPS] Childhood memories activated...")
elseif not state and highlight then
-- Remove effect
highlight:Destroy()
print("[RPS] Memory faded.")
end
end
-- Main Logic Loop
RunService.Heartbeat:Connect(function()
local character = Player.Character
local hrp = character and character:FindFirstChild("HumanoidRootPart")
if not hrp then return end
-- 1. Get our RPS data (Mock implementation)
-- In a real v100 Squid environment, you would call your data handler here.
-- Let's assume we get the UserID of our childhood friend.
local success, friendId = pcall(function()
return RPS_DataModule:GetRelationTag(Player.UserId, CONFIG.BondName)
end)
if not success or not friendId then
-- If we have no childhood friend data, ensure effects are off
if LastState then
createMemoryEffect(character, false)
LastState = false
end
return
end
-- 2. Find the friend in the server
local friendPlayer = Players:GetPlayerByUserId(friendId)
if not friendPlayer then return end
local friendChar = friendPlayer.Character
local friendHrp = friendChar and friendChar:FindFirstChild("HumanoidRootPart")
if not friendHrp then return end
-- 3. Check Proximity
local distance = (hrp.Position - friendHrp.Position).Magnitude
local isNear = distance <= CONFIG.MemoryRadius
-- 4. Trigger Feature (State Machine to prevent spam)
if isNear and not LastState then
-- ENTER Memory State
LastState = true
-- Visual Effect
createMemoryEffect(character, true)
-- Logic Buff (Example: Health Regen or Speed Boost)
local humanoid = character:FindFirstChild("Humanoid")
if humanoid then
-- Apply a "Comfort" buff
humanoid.WalkSpeed = 18 -- Slightly faster when happy
print("You feel a sense of comfort with your childhood friend.")
end
-- UI Prompt (Optional)
-- script.Parent.ScreenGui.MemoryText.Visible = true
elseif not isNear and LastState then
-- EXIT Memory State
LastState = false
-- Remove Visual
createMemoryEffect(character, false)
-- Remove Buff
local humanoid = character:FindFirstChild("Humanoid")
if humanoid then
humanoid.WalkSpeed = 16 -- Reset speed
end
end
end)
After 100 million simulated RPS rounds:
The V100 processed the entire simulation in 9.4 seconds. A single CPU would have taken over 7 hours. rps with my childhood friend v100 scuiid work
We published a small white paper on arXiv. It got 15 citations. But more importantly, Alex and I started playing RPS again — over video calls, using hand emojis, with our kids watching.
Reaching v100 wasn’t planned. After v99 ended in a rare triple tie (Rock-Rock-Rock? Yes, we added a “replay” rule), we realized we had spent over 15 years playing organized RPS.
We decided: v100 would be a best-of-100 matches, held over one weekend, live-streamed to a few close friends. This script checks if two players have established
Here’s where it gets technical — but I’ll keep it friendly.
A SCUIID generator typically combines timestamps, machine IDs, and counters to create unique values. But Alex noticed a bias: certain IDs appeared more often in certain time windows. That hinted at poor entropy — i.e., not random enough.
We proposed a fix: use RPS outcome patterns as a seed shuffler. Every RPS round’s result (0 = tie, 1 = Player A win, 2 = Player B win) would be fed into a Fisher-Yates shuffle for the SCUIID sequence. After 100 million simulated RPS rounds:
To validate this, we needed:
And that’s exactly what we built: RPS-CUDA-SCUIID, an open-source proof-of-concept.
Every friendship has its secret language. For Alex and me, it was the three-second showdown:
We played during lunch breaks, while waiting for the school bus, even before spelling bees. RPS was our decider for everything — who got the last slice of pizza, who had to tell a scary story first, who walked the longer route home.
Back then, we didn’t know about game theory, Nash equilibrium, or pseudo-random number generators (PRNGs). We just knew that Alex had a tell: he almost always opened with rock. I countered with paper. He called it "betrayal." I called it "strategy."