
Allen Cane • Gameplay & Systems Engineer • allen@allencane.com • @@allencayn
Summary:
Game engineer with 10 years shipping PC, console, and mobile titles. Strongest in C# + Unity; productive in modern C++ with Unreal Engine 4/5. Focus on gameplay systems, editor/tools, and performance profiling/optimization. Led and collaborated across the full cycle—from prototype to release—in onsite and remote teams in both indie and studio settings.
Recent:
Unity developer and founding member of Global Outlier Games (2023–2025). Led technical and creative initiatives; architected data‑driven gameplay systems; partnered with design, art, and audio to deliver features end‑to‑end.
Core Skills:
-
Languages/Engines: C# (Unity), C++ (modern); Unreal Engine 4/5, JavaScript (ES6, Wix Velo APIs)
-
Gameplay: data‑driven systems, state machines, FTUE, input/camera, save/load
-
Editor/Tools: custom inspectors/windows, Cursor + Markdown spec‑to‑code
-
Performance: profiling, GC/alloc management, batching/instancing, async loading, object pooling
-
Collaboration: rapid prototyping with design/art, clear docs, rigorous code reviews
-
Media/Integration: AI‑video workflow (Kling AI → Premiere → Unity, greenscreen/chroma key)
-
Production: shipped 6 retail games; cross‑discipline experience (design, production, writing, audio, UI/UX, QA)
-
Leadership & Production: VO casting/direction, budgets/contracts, milestones/scheduling, cue sheets, UGS (leaderboards), Steam/PC shipping, QA workflows
Global Outlier Games:
Game Developer · Dec 2022 – Present
⭐Project: Match Spin Win (2025)
Singleplayer w/ Social· 2D · Match-3 / Casino Hybrid
Platform: iOS, Android
Team Size: 9-10
Engine: Unity
-
Spearheaded and shipped hybrid match-3 + slots prototype to playable in weekly sprints, establishing the core loop and release cadence. Owned the "Traditional Match 3" game mode systems, slot machine tiles, and various UI panels.
-
Modernized our Match-3 architecture to include async (concurrent) matching and cut cascade passes by re-architecting board, tile-state, and reel systems with deterministic fills.
-
Separation of Concerns: Game logic (GameBoard) never directly accesses config values. Always goes through an instance of a config.
-
Designer Empowerment: Odin Inspector + TieredConfig for easier access to data configs.
-
Deterministic payouts.
-
Debuggability: Every probability decision logs the context of payouts.
-
Live Ops: Supported remote config integration for A/B test odds without app updates
-
State Machines: Model game states (Tutorial, Normal, FreeSpin) explicitly in the odds table, not scattered across code.
-
-
Raised team performance: mentored juniors on pooling/data-oriented patterns; optimized asset pipelines (atlases, POT textures, particle budgets).
-
Unlocked designer self-serve tuning (probabilities, pacing, VFX) via SO-driven configs, JSON levels, and in-editor debuggers.
-
Unblocked live services: debugged UGS leaderboards and updated schemas; improved reliability of backend data flows.
-
Leveled up FTUE quality by co-producing the onboarding presentation with Kevin Deng (Disney Mirrorverse).
-
Accelerated boilerplate by AI (Cursor + Markdown spec-to-code) to auto-generate C# scaffolds/tests, reducing review churn.
-
Cut content costs and turnaround with an AI-video pipeline (Kling + Premiere → Unity chroma key) and documented presets.
⭐Project: Taco: Hamster Hero (2024)
Singleplayer · 2D · Rogue-lite · Top-down Shooter
Platform: iOS & Android
Team Size: 5–12
Engine: Unity
-
Gameplay/Systems + Technical Art — Unity, C#
-
Owned core combat: built the majority of player weapons/projectiles, enemy behaviors, and boss AI (phase logic, telegraphs, counters).
-
Shipped technical art: authored particle systems, world VFX, and UI FX that made it into release; standardized presets for reuse.
-
Scaled to hundreds of enemies via object pooling, batch updates, and GPU instancing, using tokenization practices for culling outside the player's view.
-
Integrated and optimized Spine & utilized more aggressive culling (semi-tokenization), animation state changes, mixing, event callbacks → alloc/frame down, GC spikes down.
-
Built reusable VFX pipeline (addressable prefabs, variant presets, timing hooks) → effect implementation time ~__% faster.
-
Implemented event-driven audio in collaboration with Alexander Brandon (Deus Ex); synced cues to gameplay states and boss phases.
-
Added platform haptics (Android/iOS) with intensity curves tied to hit strength and ultimates; playtest feedback improved.
-
Production hygiene: profiling (Timeline/Profiler/Frame Debugger), draw-call reduction, sprite atlasing, particle overdraw audits, CI regression checks.
Walk Without Rhythm Studios
Game Developer · Dec 2020 – Nov 2022
⭐Projects: Rule No. 1 (2021) · Rule No. 2 (2022)
Singleplayer · 2.5D · Arena FPS
Platforms: PC · PS4 · PS5 · Switch · Switch 2
Engine: Unreal Engine 4 & 5
Team Size: 5
-
Sole engineer for Rule No. 1 and Rule No. 2, delivering two titles within two years on Steam, both receiving “Very Positive” player ratings.
-
Implemented and refined AI and player systems to improve responsiveness, challenge balance, and overall gameplay fluidity.
-
Collaborated on console ports of Rule No. 1 (PS4, PS5, Switch) with East Asiasoft, adapting code and assets for platform compliance and performance optimization.
-
Developed and optimized UI/UX pipelines, ensuring intuitive interaction and visual consistency across platforms.
-
Produced and edited promotional trailers, highlighting gameplay depth and driving community engagement across digital storefronts.
Zenrok Studios
Full Stack Game Developer
Unreal Engine 4 & 5
Jan 2015 – Oct 2021
⭐Project: Carnage Cross (2021)
Singleplayer · P2P Multiplayer · Car Combat
Platform: Steam, Windows PC
Team Size: Solo
Engine: Unreal Engine 5
-
Sole developer responsible for design, programming, art direction, and production of Carnage Cross, a car-combat title released on Steam.
-
Rebuilt the entire project within a six-month timeline to implement peer-to-peer multiplayer, incorporating gameplay feedback from David Jaffe (Twisted Metal, God of War).
-
Implemented server-authoritative multiplayer in UE4 (Steam P2P)—Server RPCs, RepNotify HUD updates, NetMulticast FX—plus spline-driven AI with tunable aggression and UMG leaderboards/kill feed.
-
(Optional) Client requests via Server RPC → “spawn here”.
-
Server validates and SpawnActor for the enemy.
-
Pull spawn data from server-owned configs.
-
Enemy actor has bReplicates = true (and SetReplicateMovement(true) if needed).
-
Server sets init state; engine replicates to relevant clients.
-
(Optional) Server fires a NetMulticast for spawn VFX/SFX.
-
Engine sends class ID + initial replicated properties to relevant clients.
-
Each client constructs the same actor locally (using the class it already has cooked), then fills in replicated vars; OnRep_* fires; you play VFX/SFX.
-
Meshes/materials/anims are not transferred over the net—they’re loaded from the client’s packaged assets.
-
-
Wrote and directed narrative content, including scripting and casting for the single-player episode “Leo’s Report.”
-
Produced and edited cinematic trailers, highlighting key gameplay moments and driving player engagement on social platforms.
⭐Project: Sanitize (2021)
Singleplayer · Third-Person Shooter
Platform: Not Released, Itch.io Concept, PC
Team Size: Solo
Engine: Unreal Engine 4
-
Built a third-person shooter prototype (RE2make/Silent Hill tone) exploring AI behavior, weapon systems, and encounter pacing.
-
Authored enemy behaviors and encounters: prototype custom AI logic (and trials with Behavior Trees/Blackboard) for pursuit, stagger, and melee/ranged patterns; trigger volumes for encounter gating.
-
Optimized runtime performance by reducing Event Tick usage and profiling with Stat Unit, Stat GPU, Session Frontend/Insights; addressed animation graph costs from ALS v3.
-
Built technical art/VFX with Cascade/Niagara (particles, screen-space/post), material effects, and post-processing to achieve soft, moody lighting consistent with survival-horror tone.
-
Constructed levels and content pipeline: modular kit-bash (incl. Paragon assets), dynamic lighting (no baked lightmaps), Level Streaming test maps for rapid iteration.
-
Owned end-to-end content integration: asset import, animation retargeting/Blend Spaces/Montages, UI FX, and combat tuning loops.
-
Ue4 Matinee
-
Documented lessons learned: prefer higher-level encounter systems over ad-hoc trigger boxes; balance fidelity vs. Anim Graph cost when using ALS.
-
Tech: Unreal Engine 4, ALS v3, Blueprints/C++, Behavior Trees/Blackboard (prototyped), Anim Graph, Aim Offsets, Blend Spaces, Montages, Line Traces (raycasts), Hitscan, Niagara/Cascade, Post-Process Materials, Level Streaming, Session Frontend/Insights, Stat Unit/Stat GPU, Dynamic Lighting, Paragon assets.
⭐Project: Starglades: Episode 1 (2019)
Singleplayer · 2.5D Story-Driven Platformer
Platform: Itch.io Demo, Windows PC
Team Size: Solo
Engine: Unreal Engine 4
-
Built a 2.5D platforming prototype with a component structure and data tables for party/companion combat and RPG elements, emphasizing narrative progression, puzzles, and environmental obstacles.
-
Implemented core gameplay & interaction systems in Blueprints/C++: party abilities, environment interactions, dialog flow, and combat state handling.
-
Authored cinematic moments using Matinee for in-engine cutscenes, camera moves, and timing synced to gameplay.
-
Delivered technical art & UI polish: animation hookup, UI FX, and texture work (Photoshop) for cohesive presentation across world/UI layers.
-
Owned end-to-end content integration: asset import, level scripting, basic VFX/material passes, and packaging a pre-production demo for Windows.
-
Tech: Unreal Engine 4, Blueprints, C++, Matinee, Anim Graph, UMG, Dialogue systems, Data Tables, Level scripting, Materials/VFX, Photoshop, Windows build.
⭐Project: Wormhole City (2018)
Singleplayer · Top-Down Mecha Adventure
Platform: Steam, Windows PC
Team Size: Solo
Engine: Unreal Engine 4
-
Released a commercial PC game as a solo indie, owning design, programming, production, publishing, and basic QA.
-
Built core gameplay around narrative, linear missions, and top-down camera, with arcade-style vehicle handling using UE4 WheeledVehicle and a custom Pawn.
-
Implemented mission/interaction systems (interactive props/doodads, triggers, checkpoints) and dialogue-driven encounters.
-
Stood up the build & distribution pipeline (packaging, deployment, smoke tests), gaining early shipping experience and establishing professional workflows.
-
Created content and levels end-to-end (Blueprints/C++, level scripting, UI wiring) appropriate for a first shipped project.
-
Managed external contributors (VO/art/audio) with briefs, milestones, and acceptance criteria, maintaining scope and quality.
-
Tech: Unreal Engine 4, C++, Blueprints, WheeledVehicle, Custom Pawn, Triggers/Checkpoints, UMG, Sound Cues/Dialogue Wave, Packaging/Shipping (PC), QA, Casting/VO direction, Vendor Management, Contracts/Budgets, Localization-ready pipelines.
⭐Project: Community Anthology Project(2019)
Public Domain UE4 Asset Resources
Platform: Itch.io Demo, Windows PC
Team Size: Solo
Engine: Unreal Engine 4
-
Authored primitive examples for reusable Dialog logic and shared technical art examples for animGraphs and enemies.
-
Used UE4 Matinee to create cinematic moments.
-
Designed and implemented combat systems, cinematic dialogues, and environment interaction using Unreal Blueprints and C++.
-
Created visual assets for animations, UI, and environmental art, using Adobe Photoshop to create textures.
1. Pitches, Planning & Foundations
+ Daily stand-up meetings to ensure coordination of team goals. Tech meetings Wednesday for knowledge sharing. Thursday 1:1's with Tech Director. Friday for weekly retro discussion of what we completed, what worked, what didn't work, doing 30 minutes of team playtesting on device & giving feedback, and creating calls to action for next week's goals, and deploying weekly release candidates for data on retention.
+ Pitched games, gameplay hooks, mechanics, and tone to in-studio and online demographics using data.ai to study business trends in mobile game genres like Match-3. Personally attempted to reach statistical significance on indie projects through crowdsourcing.
+ From concept to architecture — establishing creative direction, technical feasibility, and a scalable foundation based on team composition and experience. Evaluated Unity and Unreal for project needs based on team composition, content pipeline, target platforms and release dates, often filling in technical artist gaps in the production process by creating and optimizing art assets.
+ Translated design and production goals into prototype proofs of concept to validate engagement and feasibility, most recently with Match Spin Win's Match-3 and slot machine gameplay, creating modular systems for different first-time user experiences, game modes and graphic swaps.
+ Setup tooling standards like Github version control, most recently on Match Spin Win (2025). Evaluated back-end tooling resources - Firebase, AWS, UGS, Looker, Google Spreadsheets localization tables.
-
I didn’t own Firebase/UGS integration, but I added the gameplay/economy/tutorial events that product needed to track adoption and pacing.
+ Collaborated across design, art, and production plans to maintain scope of 'fast (prototype)' or 'system (production)' features and their workflows for faster integration through databases, managers, and view elements. For example, different kinds of Match-3 game modes: async/modern, traditional and experimental.
+ Agile prototyping on gameplay and visual theming experiments with Facebook, TikTok, and Youtube ads; gained playtest and retention data using PlaytestCloud and resources like Growthbook, Looker, Snowflake, and LightDash, and internal team feedback.
+ Created documentation organized through Confluence, Figma, and Cursor for prototype code and version updates.
+ Communicated on-site and remotely using Zoom, Slack, Jira, Google, and Microsoft Teams, providing updates using through huddles, video clips, images, code reviews, and to-do lists.
2. Tooling & Pre-Production
+ Developed data-driven frameworks in Unity using ScriptableObjects for core and game-specific systems, enabling non-engineers to author and balance gameplay content or adjust UX and visuals without code changes to allow flexibility for bigger swings with A/B/C tests using strategy and factory methods.
+ Implemented the FTUE (First-Time User Experience) system as a data-authored, event-driven framework — categories and steps stored in an addressable database, runtime actions subscribing to gameplay events (match made, bomb exploded, board started), and progress checkpoints to persist across sessions.
+ Created designer-facing editor tools with Odin Inspector dropdowns, prefab validators, and automated field mapping to reduce manual setup errors and accelerate iteration.
+ Built content pipelines that decouple gameplay data from logic; new tutorial steps, objectives, or events can be added via database entries with a more visual (non-reflection) scripting approach.
⚙️Gameplay Tutorials Database System:
+ Data-authored tutorial system: categories/steps live in a ScriptableObject addressable database; runtime actions consume that data.
+ Designer UX: Odin inspector dropdowns pull valid category/step names from the DB, eliminating string typos.
+ Runtime: Event-driven actions (e.g., wait for a match) subscribe to gameplay events and progress steps; state can be checkpointed.
⚙️How It Works:
+ Authoring: Designers create categories/steps in the DB; actions expose _category/_step with dropdowns fed by the DB.
+ Binding: At runtime, a tutorial controller reads the DB and instantiates action sequences; actions subscribe to gameplay events (match made, bomb exploded, board started)
+ Progression: When the predicate is met, the action marks the step complete and advances; state can be persisted via player data keys to survive sessions.
+ Distribution: Because the DB is addressable, data changes stay decoupled from code; variants can be swapped or staged without touching gameplay scripts.
+ Data‑first, event‑driven FTUE: Non‑engineers can design/iterate onboarding flow; engineering ensures correctness via typed actions and guided dropdowns.
+ Safer authoring: DB‑sourced dropdowns remove stringly‑typed bugs; event wiring is encapsulated in actions.
+ Scalable: New steps = data + action type, not a code rewrite; multiple categories enable segmented tutorials (per feature/casino).
⚙️Benefits:
+ Data‑first, event‑driven FTUE: Non‑engineers can design/iterate onboarding flow; engineering ensures correctness via typed actions and guided dropdowns.
Listened for database-driven gameplay events (e.g., unlocks, level progression) to trigger tutorials dynamically.
+ Safer authoring: DB‑sourced dropdowns remove stringly‑typed bugs; event wiring is encapsulated in actions.
+ Scalable: New steps = data + action type, not a code rewrite; multiple categories enable segmented tutorials (per feature/casino).
3. Core Production & Gameplay Systems
+ Implemented full stack front-end that linked GameBoard and PlayerAccountData into a unified loop of state updates, scoring, and progression.
+ Spearheaded the modernization of a legacy Match-3 framework into a scalable, data-driven architecture supporting new gameplay systems, tutorials, and live content to match our peerset and industry standards for games as a service.
+ Created UI for integrated FTUE actions and tutorial sequences with live gameplay events, ensuring onboarding logic triggered accurately during different context of experiments.
+ Developed special-tile mechanics — color eliminators, bombs, and slot reels — through modular prefabs and event subscriptions for deterministic yet scalable behavior. EG, rogue-lite or payout manipulation mechanics (similar to Balatro) were achievable.
+ Implemented real-time reward feedback systems (Doobers, coin counters, popup goals) connected to object pooling and adaptor scripts for currency tracking across UI and back-end logic.
+ Maintained gameplay balance via parameterized difficulty curves and ScriptableObject configurations for abstract ideas like Cascade Multipliers and enemy override configs, goal thresholds, and feature unlocks.
+ Collaborated cross-discipline with design and audio teams to synchronize feedback loops — sound cues, camera shakes, and visual highlights reinforcing player clarity.
⚙️Recent Pipelines:
+ Adhered to best practices for things like Player, Enemy, and other controllers.
⚙️Approach to Player Controllers:
-
Data models: Scriptable Objects
-
GlobalGameSession
-
PlayerAccountData
-
PlayerProgression
-
PlayerScore
-
PlayerScoreRules
-
PlayerLocalSaveData
-
Player Stats
-
PlayerUpgradeData
-
PlayerUpgradeGlobalStats
-
PlayerUpgradeLocalStats
-
UpgradeMappers for rogue-lite abilities
-
-
Gameplay Runtime Layer
-
Player Camera
-
Player Input
-
Player Health
-
Player Weapons
-
Player Collider
-
Player Movement
-
PlayerSkinLoader (costumes)
-
PlayerPauseController
- PlayerEndRoundController
- Calculating of player attributes based on context of equipment and upgrades
- Handling different damage types of projectiles and environments
- Game Events
-
⚙️Approach to Enemies:
-
Enemy Definitions Database
-
Enemy Metadata: category, threatRank, tags, environment, view mapping, loot drops.
-
-
EnemyDefintion -> Enemy Prefab Prefab to Pool
-
EnemyControllerBase (w/ Boss Variant), component-based
-
Enemy Health
-
Status Effects
-
Colliders
-
Animation
-
MonobehaviorBehaviorTree + Blackboard
-
Damage Components
-
XP Rewards
-
Loot Table Rewards
-
-
Hivemind for Enemy Movement Management
-
EnemyConfigOverrides
-
EnemySpawnConfig
-
Different spawn formations
-
-
Player character handles collision damage from enemies
-
GameEvents on enemy spawn/death and boss damage
-
Text doobers to display damage.
⚙️Approach to Economy:
-
Scriptable Objects & Remote Config
-
PlayerAccountData Wallet (& temporary wallets)
-
Currencies Database
-
Inventory Items
-
Currency Name/Icon mapping (sprites)
-
Currency Category
-
Weighted Tables
-
Level rewards
-
Ads Rewards (for watching an ad)
-
Data Entry for different SKUs
-
-
Mailbox
-
Player Wallet
-
Game Currencies
-
Leaderboards
-
Fetched through LeaderboardUGSService to get leaderboard ID, version, and score.
-
Wait minutes between fetches
-
Awarding/ranking is done on the server, client converts entries into UI
-
Award leaderboard prizes based on Leaderboard version ID
-
-
Batching Rewards
-
Rollover Handling
-
In-App Purchase Catalog
-
Scheduled rotations of items by pulling data from Google Sheets, server time, & expirations
-
Refreshed by events like App session start.
-
-
Gated by elements like Player Progression, Ad viewership, cooldowns.
-
Validation Events on one-time purchases on different product IDs to determine its availability.
-
⚙️Approach to Platform Integration:
4. Debugging, Optimization & Architecture
+ Adhered to practices of caching, object pooling, physics step, texture optimization, memory usage, behavior trees, garbage collection, and using isDirty flags to gain optimized performance on all projects.
+ Used debug overlays and validation scripts to monitor cascade counts, tile indices, and queue states during runtime, preventing soft-locks and ensuring visual consistency.
+ Assisted in budgeting performance costs for art assets like Spine skeleton bone count and material count in 2D and similarly for 3d games.
+ Led and assisted in the performance handling of all project elements to find efficient ways to load textures and serialize data.
+ Collaborated with the Technical Director, Jason Emery, on a 'Slack Report' debug system to send logs and screenshots directly to a Slack channel for faster debugging.
+ Extended existing 'Debug Cheats' menu for faster iteration and analysis of game session logs, payouts, isolated testing and gameboard troubleshooting.
+ Utilized Firebase and UGS for crash exceptions and analytics.
General Optimization Checklist to reduce pain and suffering for other devs:
1. Physics Optimizations
-
Physics Timestep: Increasing the project's Physics Timestep calculations to be slower (e.g., from 0.2s to 0.4s) gives slower updates on physics, but can be smoothed out with the Rigidbody component's smooth interpolation setting.
-
Rigidbody2D Settings: Adjust settings like sleep mode, discrete collision detection, and non-interpolation to optimize physics calculations.
-
Collision Matrix Detections: Optimize physics by minimizing unnecessary collision checks through collision layers and masks.
-
Reduce Collision Components: Minimize collision components on actors based on distance to reduce unnecessary collision checks. Try distance-based instead, or centralizing things onto the Player for handling collision events if possible.
2. Graphics and Rendering Optimizations
-
Turning Off Unused Renderers: Disable any graphical settings on a renderer (sprite, spine, 3d mesh) that is not used to reduce overhead.
-
GPU Instancing & Batching: Use GPU instancing and batching to reduce draw calls and optimize rendering.
-
Fixed DPI: Use fixed DPI settings to reduce graphical load.
-
Texture Sizes & Compression: Optimize texture sizes and use compression to save memory and improve rendering performance.
-
Transform Calls: Minimize the use of expensive transform calls.
-
Culling Graphical Components: Use scripts to cull graphical components based on camera boundaries, both programmatically and through Unity’s settings.
-
Minimize multiple sprite components that can create multiple transparencies, requiring more rendering passes.
-
Music Compression: Use music compression to save memory and improve loading times.
-
Spine Bone Followers and Animation Complexity: Reduce the number of bones and simplify animations in spine to reduce the rendering load.
-
Skeleton Bone Count: Optimize the number of bones in skeleton animations to improve performance.
-
Use Color32 Instead of Color: Save memory by using Color32 instead of Color.
-
Draw Calls: Minimize draw calls by optimizing rendering paths and combining meshes.
-
Raycast Targets: Optimize UI components by reducing unnecessary raycast targets.
-
UI Raycasting: Reduce UI raycasting to minimize performance overhead.
-
TextMeshPro Auto-Sizing: Avoid auto-sizing in TextMeshPro components to reduce performance costs associated with dynamic text resizing.
3. Memory Management Optimizations
-
Manual Garbage Collection: Implement manual garbage collection to better control when memory is freed, reducing performance hitches.
-
Declare Fewer New Variables: Minimize the declaration of new variables in scripts to reduce garbage collection overhead.
-
Object Pooling: Use object pooling to reuse objects and avoid frequent instantiation and destruction, which reduces garbage collection overhead.
-
Cache Instances: Cache instances to reduce expensive GetComponent and similar calls.
4. AI and Behavior Optimizations
-
Centralized Scripts: Use centralized scripts like EnemyMovementManager to optimize AI calculations and logic. Register enemies on these movement managers and let the manager handle their update methods.
-
Behavior Trees: Use behavior trees to manage complex AI logic more efficiently, can reduce tick to different rates of tick.
5. Data Management and Processing Optimizations
-
Database Searching and Retrieval: Optimize database searching and retrieval to minimize performance impacts.
-
Tokenization: Use tokenization to improve data handling and reduce processing times.
-
Batch Processing: Implement batch processing to handle multiple operations in a single, more efficient pass.
6. Advanced Optimization Techniques
-
Unity Jobs System: Use Unity’s Job System to run code in parallel on multiple CPU cores, improving performance for compute-heavy operations.
-
DOTS (Data-Oriented Technology Stack): Use Unity's DOTS system to optimize game performance with a data-oriented approach to game design.
7. Miscellaneous Optimizations
-
Prefab Variants: Use prefab variants to reduce memory usage and improve asset management.
-
FixedDPI: Use fixed DPI settings for consistent visual performance across different devices.
5. Technical Art, UX & Presentation
6. Post-Launch & Live Support
+ Followed best UI/UX standards to keep UI panel visuals clear and readable across tablet and mobile devices using anchoring and safe zones.
-
Most recent workflow:
-
Design kicks off a new UI panel, team reviews the impact of the feature's value based on KPI metrics.
-
We review the functionality (data to display, interaction, animations, priority in popup sequence hierarchy)
-
Make note of any discovered work through Jira, Zoom meetings, and Slack.
-
Collaborate with the designer through Figma or other visual means to match their style guide.
-
Translate design work into Unity using Database & Adaptor classes to adapt the view of data.
-
ADD METRICS!!!
-
Exercise test cases using different device simulators and testing safe zones and anchoring.
-
Add iteration, haptics, and/or polish.
-
Deep profile the panel for any notable impact on performance - overdraw, instancing, pooling, batching, caching.
-
+ Developed custom shaders to elevate visual quality and create a premium aesthetic across projects.
+ Created optimized UI particle & doober systems using object pooling and canvas mapping for better performance.
+ Optimizing the ParticleUI system, improving frame stability by reducing overdraw, batching draw calls, and re-mapping particle behavior for canvas performance.
+ Built and maintained Animation Blueprints (AnimBPs) to handle complex state transitions, animation blending, and character feedback systems for smoother player control and readability.
-
Created upper- and lower-body layered animation systems to handle directional movement and aim offsets in first-person, third-person and topdown games for player and enemy actors.
+ Experience in UE4 Matinee and Sequencer.
-
Created cutscenes and visual motion moments to enhance player feedback and create delightful, moment-to-moment engagement and marketing moments.
+ Built a workflow to integrate AI-generated video animations, reducing production time and costs.
+ Kitbashed 3D models in indie projects to craft unique, high-quality environments using AAA-grade assets.
+ Supported updates to Taco: Hamster Hero (2023) to meet platform compliance for Google Play and Apple Store submissions, including Unity version upgrades and shader compatibility fixes and any downstream front-end issues from Unity serialization or middleware updates.
+ Supported the console port of Rule No. 1 (2022) with East Asiasoft to meet platform compliance on console platforms (Playstation & Nintendo).
7. Future Goals & About Me
Hi! I’m Allen, a Unity/C#/UE/C++ game dev. Lately I’ve been shipping core systems—pooling, UI/event flows, and perf passes—and I’m good at taking a feature from idea to shippable. I’m now leaning into online features: basic multiplayer foundations and social hooks like Twitch/Discord so our games play great and can travel.
Work Experience I'm Proud Of:
-
Gameboard Levels Database. I built a data-driven loader so designers could author levels as JSON or ScriptableObjects, edit them in a Unity level-editor tool, and ship without code changes. The runtime parses the JSON into a schema, validates it, then instantiates tiles/elements via factories. Extensibility came from the schema: adding a new tile type was just a new enum + prefab mapping; no loader rewrite.
-
In Unity, I often combine event-driven and state-driven patterns. For example, our GameBoard uses a state-driven system to control high-level flow — Idle, Matching, Cascading — so only one logical phase runs at a time. Inside each state, I use event-driven patterns for decoupled reactions: when a match completes, the board raises an OnMatchFound event that UI, audio, and reward systems can listen to independently. I choose state-driven design when I need deterministic flow control and event-driven when I need flexible, reactive feedback systems
-
We were trending toward lots of one-off textures and heavy spawns, which inflated build size and load times. That risked worse first-time user experience (downloads/launch), plus runtime memory spikes—direct hits to acquisition and retention.
-
I framed options with costs/benefits and showed evidence in the Unity Deep Profiler. Textures: consolidate atlases, reuse materials, and apply texture budgets per biome/level; compress where acceptable.
-
VFX/Gameplay: instead of spawning 500 projectile prefabs for a ‘shotgun’ feel, use pooled projectiles + GPU-driven spread/particles to sell the effect. Level pacing: stagger enemy spawns and stream chunks to reduce collision spikes and allocator churn.
-
I shared a simple ‘good/better/best’ matrix (visual quality vs. memory vs. perf) so design could pick knowingly. We cut peak allocations and load stalls measurably (e.g., ~30–40% fewer GC spikes in combat scenes; smaller build growth per content drop).
-
Designers kept their look/feel, and we aligned on sustainable budgets. The same approach became our default review pattern for new content.
-
⭐Project: Penguin Pangea Turbo (2017)
Singleplayer · Game Jam Entry
Platform: Steam, Windows PC
Team Size: 5
Engine: Unreal Engine 4
-
Penguin Pangea Turbo was a seven day game jam challenge and where I formed a team of 2D and 3D artists through Twitch streaming. The game is a collectathon, the player takes control of a penguin and gathers its friends by solving puzzles and traveling, inspired by games like Pikmin, Lemmings, and Overlord.