Gal Bartouv
Unity developer writing about procedural generation, shaders, UI performance, C# architecture and keeping projects tidy, with deep-dives from shipped mobile games and the Privateer prototype.
Site · Github · Medium · Linkedin · Itch · Discord · Artstation
- Generating a Living Sea
The three systems behind a Privateer battle are really one pipeline: wave function collapse builds an island map, the jump flood algorithm turns its coast into a distance field, and the boids fish read that field to stay in the water.
bartouv.github.io · Jul 2026 - Charting a New Sea Every Run
How the run map is generated: Poisson disc scatter for even beacons, Delaunay triangulation for natural links, then pruning and connectivity guarantees so an FTL-style sea is always playable start to boss.
bartouv.github.io · Jul 2026 - Every Pixel Knows Its Nearest Shore
The jump flood algorithm builds a distance field to the coastline in a handful of GPU passes, and one field drives shore foam, shallow water, and fog of war. How JFA works and how to stop it flickering.
bartouv.github.io · Jul 2026 - A Thousand Fish and Nobody Steering
Boids flocking explained through the ambient fish school in a Unity naval game: three local rules, a spatial hash that kills the O(n squared) neighbour check, Burst jobs, and one mesh for the whole school.
bartouv.github.io · Jul 2026 - Generating Island Maps with Wave Function Collapse
Wave function collapse explained from scratch: superposition, entropy, and constraint propagation, taught through the hex island battle maps it generates in a Unity naval tactics game.
bartouv.github.io · Jul 2026 - Solo-Clicking GitHub's PR File Filter
GitHub's PR file filter makes you uncheck 13 boxes to isolate one extension. This Tampermonkey script lets you Alt+Click any extension to instantly solo it — no reload.
bartouv.github.io · May 2026 - Ghost Textures: The Hidden Cause of Unexplained Memory
Stale texture references inside .mat files silently drag unintended asset bundles into memory at runtime. Learn how to detect and eliminate ghost textures with a simple editor tool.
bartouv.github.io · Mar 2026 - Taming Polymorphic Serialization
Handling complex inheritance hierarchies in Unity's serialization system. Learn how to serialize polymorphic types cleanly without losing data or breaking the Inspector.
bartouv.github.io · Sep 2025 - UI Shine Effect
Creating sweeping shine effects for Unity UI. Learn how to add polished, eye-catching visual feedback to your game's interface elements.
bartouv.github.io · Sep 2025 - The Hidden Performance Killer: RectMask2D
RectMask2D can silently destroy your UI performance. Discover why this seemingly innocent component causes massive overhead and what to do about it.
bartouv.github.io · Sep 2025 - Shader Breakdown: Night in the Woods' Wobbly Dialogue Effect
Recreating the distinctive wobbly text shader from Night in the Woods. A deep dive into vertex displacement and shader graph techniques.
bartouv.github.io · Sep 2025 - Making Games Responsive to Different Devices
Building adaptive layouts that work across mobile, tablet, and desktop. Handling different aspect ratios and screen sizes gracefully.
bartouv.github.io · Sep 2025 - Input Locks
Managing complex input state across multiple systems. A clean pattern for preventing input conflicts in cutscenes, dialogs, and overlapping game states.
bartouv.github.io · Feb 2023 - Optimizing Draw Calls
Understanding batching, static meshes, and SRP batcher. Practical techniques to reduce draw calls and improve rendering performance in production.
bartouv.github.io · Feb 2023 - Turning Events into Commands
Moving from loose event systems to structured command patterns. How to build maintainable, testable game architecture at scale.
bartouv.github.io · Jan 2023 - Warnings
Over 600 compiler warnings at startup? Learn how to use Pragmas and the csc.rsp file to take back control of your Unity console.
bartouv.github.io · Jan 2023 - Cameras and Rendering
Deep dive into Unity's camera system and rendering pipeline. Understanding culling, layers, and multi-camera setups for complex scenes.
bartouv.github.io · Jan 2023 - Structure Based on Domains
Organizing Unity projects by business domains instead of technical layers. A scalable approach to project structure for growing teams.
bartouv.github.io · Jan 2023 - Seeded Random for Debugging
Making randomness reproducible for testing. Using seeded RNG to create deterministic gameplay that's easy to debug and test.
bartouv.github.io · Jan 2023 - Taming the PR Chaos
Managing pull requests in game development teams. Strategies for code review, merge conflicts, and keeping development velocity high.
bartouv.github.io · Jan 2023 - Git Custom Commands That Actually Save Time
Creating git aliases and custom commands for common Unity workflows. Automate repetitive tasks and streamline your version control.
bartouv.github.io · Jan 2023 - Taming Git Chaos with Custom Commands
Advanced git workflows for Unity projects. Handle binary files, solve merge conflicts, and maintain clean commit history in team environments.
bartouv.github.io · Jan 2023 - An Intro to Rendering
Understanding the fundamentals of rendering pipelines. From vertices to pixels, learn how Unity transforms your 3D scenes into images.
bartouv.github.io · Jan 2023 - Building a Video Scrubber to Match Unity Animations
Creating custom editor tools to sync video references with animation timelines. Bridge the gap between concept art and implementation.
bartouv.github.io · Jan 2023 - Scene Tool
Building custom scene view tools for level design workflows. Extend Unity's editor to match your team's specific needs.
bartouv.github.io · Jan 2023