v2f vert (appdata v) v2f o; o.vertex = UnityObjectToClipPos(v.vertex); // Random offset per‑pixel based on time & intensity float2 offset = (frac(sin(dot(v.vertex.xy ,float2(12.9898,78.233))) * 43758.5453) - 0.5) * _GlitchIntensity * 0.02; o.uv = v.uv + offset; return o;
// 3️⃣ Apply a random glitch modifier GlitchType glitch = (GlitchType)rng.Next(Enum.GetValues(typeof(GlitchType)).Length); return new Constellation(basePattern, glitch, ComputeDuration(basePattern));
public void SpawnGlitch(Constellation glitch) activeGlitches[glitch.Id] = glitch; Visuals.ShowGlitch(glitch); UI.ShowGlitchMeter(glitch);
private void ResolveGlitch(Constellation glitch) RewardSystem.GiveReward(glitch.Reward); UI.HideGlitchMeter(glitch); Visuals.RemoveGlitch(glitch); activeGlitches.Remove(glitch.Id);
struct appdata float4 vertex : POSITION; float2 uv : TEXCOORD0; ; struct v2f float2 uv : TEXCOORD0; float4 vertex : SV_POSITION; ;
// ★ GlitchEventManager.cs ★ public class GlitchEventManager : MonoBehaviour private Dictionary<string, Constellation> activeGlitches = new();
void Update() // Example trigger: player reaches a checkpoint if (player.HasJustReachedCheckpoint) Constellation newGlitch = generator.Generate(player, currentRegion); glitchMgr.SpawnGlitch(newGlitch);
// 2️⃣ Pick a base constellation (weighted list) string basePattern = ChooseBasePattern();
public class StarGlitchDemo : MonoBehaviour public Player player; public Region currentRegion;
// ★ ConstellationGenerator.cs ★ public class ConstellationGenerator private System.Random rng; public Constellation Generate(Player player, Region region) // 1️⃣ Create a deterministic seed int seed = Hash( player.ID, player.Level, region.ID, WorldTime.CurrentTick ); rng = new System.Random(seed);
Happy glitch‑hunting! 🚀✨
fixed4 frag (v2f i) : SV_Target return tex2D(_MainTex, i.uv); ENDCG } | Glitch Type | Visual Cue | Gameplay Effect | |-------------|------------|-----------------| | PixelShift | “Digital” jitter, color banding | Temporarily scrambles UI (adds a mini‑puzzle to read the map). | | ColorInvert | Night‑sky flips to negative colors | Enemy AI gets confused → lower detection range. | | StarTrail | Streaks of particles follow the constellations | Boosts movement speed when the player follows the trail. | | EchoPulse | Constellation “pulses” like a sonar | Reveals hidden objects/collectibles within a radius. |
void Update() foreach (var kvp in activeGlitches) var glitch = kvp.Value; // Tick down duration, update visual shader, check player proximity glitch.Tick(Time.deltaTime); if (glitch.IsCompleted) ResolveGlitch(glitch);
Title: Dynamic Constellation Events (DCE)
sampler2D _MainTex; float _GlitchIntensity; // 0–1, driven by GlitchMeter
v2f vert (appdata v) v2f o; o.vertex = UnityObjectToClipPos(v.vertex); // Random offset per‑pixel based on time & intensity float2 offset = (frac(sin(dot(v.vertex.xy ,float2(12.9898,78.233))) * 43758.5453) - 0.5) * _GlitchIntensity * 0.02; o.uv = v.uv + offset; return o;
// 3️⃣ Apply a random glitch modifier GlitchType glitch = (GlitchType)rng.Next(Enum.GetValues(typeof(GlitchType)).Length); return new Constellation(basePattern, glitch, ComputeDuration(basePattern));
public void SpawnGlitch(Constellation glitch) activeGlitches[glitch.Id] = glitch; Visuals.ShowGlitch(glitch); UI.ShowGlitchMeter(glitch);
private void ResolveGlitch(Constellation glitch) RewardSystem.GiveReward(glitch.Reward); UI.HideGlitchMeter(glitch); Visuals.RemoveGlitch(glitch); activeGlitches.Remove(glitch.Id); Star Glitcher Revitalized Script
struct appdata float4 vertex : POSITION; float2 uv : TEXCOORD0; ; struct v2f float2 uv : TEXCOORD0; float4 vertex : SV_POSITION; ;
// ★ GlitchEventManager.cs ★ public class GlitchEventManager : MonoBehaviour private Dictionary<string, Constellation> activeGlitches = new();
void Update() // Example trigger: player reaches a checkpoint if (player.HasJustReachedCheckpoint) Constellation newGlitch = generator.Generate(player, currentRegion); glitchMgr.SpawnGlitch(newGlitch); v2f vert (appdata v) v2f o; o
// 2️⃣ Pick a base constellation (weighted list) string basePattern = ChooseBasePattern();
public class StarGlitchDemo : MonoBehaviour public Player player; public Region currentRegion;
// ★ ConstellationGenerator.cs ★ public class ConstellationGenerator private System.Random rng; public Constellation Generate(Player player, Region region) // 1️⃣ Create a deterministic seed int seed = Hash( player.ID, player.Level, region.ID, WorldTime.CurrentTick ); rng = new System.Random(seed); | | StarTrail | Streaks of particles follow
Happy glitch‑hunting! 🚀✨
fixed4 frag (v2f i) : SV_Target return tex2D(_MainTex, i.uv); ENDCG } | Glitch Type | Visual Cue | Gameplay Effect | |-------------|------------|-----------------| | PixelShift | “Digital” jitter, color banding | Temporarily scrambles UI (adds a mini‑puzzle to read the map). | | ColorInvert | Night‑sky flips to negative colors | Enemy AI gets confused → lower detection range. | | StarTrail | Streaks of particles follow the constellations | Boosts movement speed when the player follows the trail. | | EchoPulse | Constellation “pulses” like a sonar | Reveals hidden objects/collectibles within a radius. |
void Update() foreach (var kvp in activeGlitches) var glitch = kvp.Value; // Tick down duration, update visual shader, check player proximity glitch.Tick(Time.deltaTime); if (glitch.IsCompleted) ResolveGlitch(glitch);
Title: Dynamic Constellation Events (DCE)
sampler2D _MainTex; float _GlitchIntensity; // 0–1, driven by GlitchMeter