Development Blog

The journey of creating Mystic Valley

Game Development Started: July 21, 2025 | First Blog Post: August 21, 2025
Follow the full daily development blogs on itch.io

🔧 Day 21: A Masterclass in What NOT to Do

September 10, 2025

Spent 3 hours trying to add a component to a GameObject. Why? Because I didn't check the console for errors first. Instead, I restarted Unity, deleted and reimported scripts, Googled "Unity component not showing up," created test scripts, and checked for Safe Mode that wasn't even active.

Turns out I had 12 compilation errors sitting in the console THE WHOLE TIME. Errors like using the same variable name twice in nested scopes, forgetting to import System.Linq, and referencing fields that didn't exist. The kicker? These components WORKED two weeks ago before I "cleaned up" my code at 2 AM.

Lesson learned: ALWAYS check the console first. Also, Unity 6 is the strict parent of Unity versions - it wants explicit imports, proper method names, and correctly scoped variables. Every disaster is content, every bug is a blog post, and my suffering is your educational material.

🎨 Day 20: From Dead Dirt to Paradise - Unity's Tile Hell

September 9, 2025

After trying Rule Tiles (with spreadsheets of rules), palette swapping (with engineering diagrams), and other "clever" solutions, the AI suggested something stupidly simple: "Just use 4 tilemaps and show/hide them."

I fought this suggestion because it wasn't "clever" enough. But after a week of complex attempts, I gave in. Four lines of code. FOUR LINES. Just show the right tilemap for the current season, hide the others. That's it.

The beautiful stupidity: it accidentally became PERFECT for the narrative. The world is literally layered with potential - you unlock seasonal layers through gameplay as magic returns. Sometimes the dumb solution is the best solution. My engineering brain wanted to optimize; the game developer I'm becoming knows better: if it works, don't touch it.

🌿 Day 19: Fun Friday - I Made Another Game to Stop Breaking This One

September 8, 2025

After breaking Mystic Valley approximately 47 times, I had a "brilliant" idea: create a completely separate test project called "Chibi Harvest" where I could break things WITHOUT ruining three weeks of work.

Here's the best part: I literally copied ALL my scripts from Mystic Valley into this test project. Every. Single. One. Chibi Harvest is basically Mystic Valley wearing a fake mustache. But it works! When I break Chibi Harvest, Mystic Valley still runs. It's like having a stunt double for my code.

At what point does your test project become a real project? Because Chibi Harvest now has the entire magic system, seasonal tiles, day/night cycles, scene transitions, and a complete foraging system. I went from "I need a safe place to test" to "accidentally made Stardew Valley's younger sibling."

🍂 Day 18: The Great Seasonal System Adventure

September 7, 2025

Spent hours debugging why my entire world would vanish when hitting play. The tiles were there - 5,698 of them, all present and accounted for. The system was finding them, caching them, applying them... but I couldn't see them.

The answer was embarrassingly simple: Alpha = 0. My seasonal tint colors had their alpha set to 0 instead of 255, making every single tile completely transparent. The tiles were there the whole time. Just... invisible.

One slider adjustment later (0 → 255), and boom - working seasons! Sometimes the biggest problems have the smallest solutions. Also, Unity's color picker shows 0-255, but that 255 is IMPORTANT. Sometimes your tiles aren't broken, they're just shy (invisible).

🎨 Day 17: Modular Characters and Finding the Perfect Base

September 6, 2025

Finally found my rhythm with sprite conversion - sizing down section by section instead of all at once. When I tried to downsize 50% on an entire sprite, Aseprite chose pixels randomly - one eye would look fine while the other looked alien.

By NOT sizing the entire sprite at once and choosing which pixels to keep myself, section by section, I can preserve the details that matter. It's tedious, but it works. Also helps that I like tall 1x2 sprites - as long as I make them skinnier, the proportions feel right.

I was SO discouraged and almost gave up completely. But somehow I stuck with it. There's something satisfying about solving a problem you thought was impossible a few hours ago.

💾 Day 14: Planning, Website Building, and Save/Load System

September 5, 2025

Took a step back to create a realistic roadmap. Looking at 7 weeks of work, I realized the 3-month plan would get basic gameplay by October, but 6 months is more realistic for an alpha release. Sometimes being honest about scope is the hardest part.

Built the official MysticValley.games website! Nothing fancy - just a clean place for updates with purples and golds matching the game's aesthetic. It feels more "real" now, existing beyond just my Unity project folder.

Finally implemented a JSON-based save/load system with 3 save slots, auto-saves every 5 minutes, and quick save/load with F5/F9. The funny part? It's saving my SimpleInventory since my fancy new inventory still won't show sprites. But hey, progress is progress! The game can now remember things - that's pretty magical in its own way.

📅 Day 13: Setting Up A 6-Day Week Calendar System

September 4, 2025

Implemented a unique 6-day week calendar system! Instead of Earth's 7-day week, Mystic Valley runs on Sunday through Friday (no Saturday), with 30-day seasons that divide perfectly into 5 complete weeks.

The UI now shows the full day name, date, and season with color coding (green for Spring, yellow for Summer, orange for Fall, blue for Winter). Had to work around TextMeshPro not playing nice with emojis.

Sunday is market day, Monday-Thursday are work days, and Friday is festival prep day. This makes the world feel more mystical and otherworldly. The system integrates with scene transitions - time pauses indoors but keeps running in caves.

👤 Day 12: Character Deep Dive - Sarah Blackwood

September 3, 2025

Developed Sarah Blackwood - the mayor's 23-year-old daughter and village peacemaker. She represents quiet strength, growing up watching everything fall apart but becoming the bridge between people instead of becoming bitter.

Her room is filled with seed packets and dead flower pots - she's never stopped trying to make things grow. Her shadow memory: standing at her windowsill as a child, asking "Why can't my flower grow anymore?"

But there's a hidden storyline... What if gentle Sarah is actually terrifying? What if she's been orchestrating the village's decline, creating conflicts to "mediate," studying weaknesses to control people? This dark path only unlocks if players notice inconsistencies during late-night hours (2-4 AM game time).

🎒 Day 11: Tackling The Inventory Beast

September 2, 2025

Finally stopped procrastinating on the inventory UI! I'd been avoiding it for days, fixing other bugs instead because UI work feels so overwhelming. Is it normal to not like certain parts of game development?

Created a 24-slot main inventory shaped like an open spell book (because everything is about magic!), plus a 9-slot hotbar for quick access. Items go into the inventory properly... but sprites aren't showing up yet. 😭

Building a three-tier system: 24 storage slots, 9 hotbar slots, and 13 equipment slots (coming soon). Sometimes the hardest part is just beginning!

🏠 Day 10: Building A Workshop For A Cantankerous Dwarf

August 30, 2025

Created a workshop for Borin "Bombwick" Ironforge, a cantankerous dwarf mentor. His workshop in the dried oasis features a blazing forge, explosive materials, and his bomb slime companion that reflects his moods.

Borin was the old wizard's former apprentice - understands magic deeply but can't cast spells himself. Traumatized by the magical explosion 15 years ago, he now can't sleep in enclosed spaces and uses a tent outside. He teaches through harsh criticism rather than gentle encouragement - a completely different mentor experience.

🔮 Day 9: The Crystal Cave - How Mystic Valley Begins

August 29, 2025

Finally revealed the opening story! The world is dying - nothing has been born for 15 years. Villagers discover you in a crystal cave, preserved as a child by an old wizard who crumbles to dust as you age 15 years in moments.

You're the only person who can use magic. When you accidentally touch dead seeds, they burst into life - the first new growth in 15 years. The remaining 15 villagers (down from 150) bring you to their dying village. Are you their salvation or doom?

🌙 Day 8: My Day/Night Cycle Works! (But Not How I Expected)

August 28, 2025

Finally got the day/night cycle working after yesterday's namespace issues! But Light2D was flickering like a disco strobe light. After hours of trying to fix it, I gave up and created "TintEverything" - a script that just makes sprites blue at night and orange at sunset.

Sometimes the simple solution is the best! No flickering, affects everything, smooth transitions. Is it technically "correct"? Probably not. Does it work? YES! Complex != Better (I need to tattoo this on my forehead).

⚡ Day 7: Unity 6 vs Old Tutorials

August 27, 2025

Spent HOURS trying to figure out why Unity kept saying Time.deltaTime doesn't exist. Turns out I'm using Unity 6 but following Unity 2021/2022 tutorials! Unity 6 has stricter namespace rules.

The fix: Had to rename my namespace from MysticValley.Time to MysticValley.TimeSystem because Unity 6 got confused with the built-in Time class. Lesson learned: ALWAYS check the Unity version in tutorials! I thought "Unity is Unity" but there are real differences.

🐛 Day 6: From Enemy Animations to Inventory Bug Hunting

August 26, 2025

Started with enemy animations - getting attack cycles and hit reactions into the animator. Then tried to harvest my first mystical turnip and discovered my "perfect" inventory system was full of bugs!

Items weren't stacking properly, the dual-inventory system was fighting itself, and crops were disappearing into the void instead of going to inventory. This is the reality check that keeps you humble - you think you have a solid system, then you actually USE it and discover all the edge cases you never considered.

🎮 Day 5: Engine Considerations & Enemy Animation Marathon

August 25, 2025

Spent time exploring Godot 4 as an alternative to Unity. GDScript and the node system weren't intuitive for me at all - kept thinking "this would be so much simpler in Unity." Decided to stick with Unity since I've already built a solid foundation.

Then spent hours cutting sprites - several hundred enemy animation frames! Working on idle, walking, attacking, hurt, death animations for multiple directions. My hand is definitely feeling it after all that precise cutting work.

🎒 Day 4: Magical Inventory System

August 24, 2025

Designed a comprehensive three-tier inventory system: 21 personal slots, 9 equipment hotbar slots (for spells and consumables), and 13 body equipment slots.

The key innovation: anti-exploit design! Players could theoretically stack 9 magic tools for overpowered bonuses, so I limited magical tools to body equipment (left and right hand only = max 2 tools). This creates strategic choices without game-breaking exploitation.

Also planned late-game portal magic that lets you access all magical chests after rescuing fairies - costs mana to maintain, so it's a proper magical ability not just convenience.

🌳 Day 3: House Interior and Y-Sorting

August 23, 2025

Built the PlayerHouse interior and solved the classic 2D problem where players render wrong relative to trees. Solution: Y-position sorting! Lower objects render in front.

Created a YPositionSorting script with custom pivot points for tall sprites. Added debug gizmos showing exactly where each sprite sorts from. Now players walk behind trees properly when above them, and in front when below. Such a simple fix for what seemed complex!

🎯 Day 2: Slimes Can Move! Plus Ground Targeting

August 22, 2025

Got slime animations working - seeing them bounce instead of slide makes me so happy! Started building the spell targeting system since Crumble needs to target specific ground tiles for farming.

The indicator follows player direction, snaps to the tile grid, and changes color over tillable ground vs rocks/water. Everything in this game is done through magic - click to till with Crumble, click tilled soil to plant with Bloom!

🌱 Day 1: Starting My 2D Magic Farming Game

August 21, 2025

Started sharing progress on Mystic Valley! (Been working on it for a few weeks since July 21)

Drawing inspiration from Harvest Moon, Rune Factory, and Stardew Valley, but with Fable-like choices that shape everything. Nothing has been born in the village for 15 years. You wake from a crystal prison with magical memories. Will you restore the world or twist it into something new?

What I've built so far: health/mana system with UI bars, scene transitions between 4 areas, basic enemy AI, 2D movement, camera follow. Currently working on implementing Crumble spell on a separate Git branch.

This is my first game and I welcome any feedback!