Funny Game (early access)
A downloadable game for Windows
Dev Log #1: Laying the Foundation
Date: 2025‑04‑19
Engine & Networking: Unity 6 · Mirror Networking
Platform: PC (Windows/Mac/Linux) · LAN & Internet-ready
🚀 Project Overview
I’m building a networked multiplayer framework in Unity that will serve as the backbone for my future personal games—both cooperative and competitive. This isn’t a “finished game” yet, but rather the core systems upon which a variety of gameplay scenarios (PvP duels, PvE monster hunts, etc.) will be assembled.
🔧 What’s In Place
1. Auto‑Connection & Lobbyless Discovery
-
LAN Auto‑Discovery: Peers on the same network automatically see and connect to each other without a manual lobby.
-
Connection Flow: Behind the scenes, Mirror’s transport layer handles discovery broadcasts; I’ve wrapped it in a lightweight “ConnectOnStart” script that keeps the UX friction‑free.
2. Player Customization
-
Username & Color: Each client can enter a display name and pick one of six avatar colors.
-
SyncVar‑Backed: Using Mirror’s
[SyncVar]
attributes, every change propagates instantly to all clients.
3. First‑ & Third‑Person Cameras
-
Smooth Transitions: Press
F
to toggle between perspectives. -
Eye‑Tracking Prototype: I’ve rigged a simple look‑at script so characters’ eyes follow the mouse/crosshair—subtle but adds presence.
-
Next Up: Eyebrow‑driven emotion system (raise/lower based on game events).
4. Network‑Synchronized Movement & Triggers
-
CharacterController + NetworkTransform: Fast, jitter‑free movement.
-
Trigger Events: Stepping on a networked trigger (e.g., a pressure plate) fires a
ClientRpc
to play VFX/SFX everywhere.
5. Pick & Drop System
-
Interactable Items: You can “pick up” rigidbodies and carry them; dropping spawns a networked object with its state intact.
-
Custom Behaviors: Each object can define its own
OnPickUp()
/OnDrop()
callbacks—perfect for things like health packs, keys, or throwable weapons.
6. Pause Menu & Synchronized UI
-
Cinematic Zoom‑To‑Face: Hitting Esc brings up a close‑up pause camera on your avatar.
-
Live Color Change: Tweak your color slider in the pause menu and watch it update across all clients in real time.
🛠 Technical Highlights
-
Mirror Custom Messages: For non‑SyncVar data (like eye rotation), I send optimized messages to reduce bandwidth.
-
ScriptableObject Settings: All game‑wide constants (movement speed, camera FOV, color palette) live in a
GameConfig
SO—easy to tweak without recompiling. -
Modular Architecture:
-
Core Network Module
-
Character Module (movement, cameras, eye tracking)
-
Interaction Module (pick/drop, triggers)
-
UI Module (pause menu, color picker)
-
🎯 Next Milestones
-
Eyebrow Emotion Blendshapes
-
Link eyebrow sliders to game state (low health → furrowed brows, victory → raised brows).
-
-
Cooperative Gameplay Prototype
-
Simple shared objective (e.g., push two levers within 30 seconds).
-
-
Versus Mode
-
PvP arena: projectiles, health, respawns.
-
-
PvE Monster Encounters
-
Single‑player or co‑op boss fight with synchronized boss AI.
-
💬 Final Thoughts
This “dev log” is less about polished gameplay and more about proving out the systems that make multiplayer magic possible. With Mirror’s foundation and a modular, data‑driven codebase, I’m confident that the next phases—co‑op puzzles, PvP arenas, monster battles—will slot in smoothly.
Stay tuned for Dev Log #2, where I’ll dive into the eyebrow emotion system and early cooperative mechanics!
— Elian Medina, Indie Developer
Published | 6 days ago |
Status | In development |
Platforms | Windows |
Author | Elián Medina |
Leave a comment
Log in with itch.io to leave a comment.