Adventures of Dexter & Mars: Building a Godot Dog Adventure by Niko MinadzeAdventures of Dexter & Mars: Building a Godot Dog Adventure by Niko Minadze

Adventures of Dexter & Mars: Building a Godot Dog Adventure

Niko Minadze

Niko Minadze

I built Adventures of Dexter & Mars, a pixel-art adventure about two dogs causing trouble around their house and garden. The player switches between them to follow clues, recover a toy, uncover a key and get both dogs into bed before the owner calls them inside.
The project has two playable episodes. Great Backyard Adventure is a linked puzzle chapter with careful and chaotic solutions. Toy Cold War turns the same space into a contest over a squeaky fox, with stealing, guarding, dropping, recovery and chases.
The main development challenge was making the systems agree: character behavior, item ownership, collision, objectives and menus all affect the same play session.
The opening search starts inside a furnished house connected to the garden. The active objective, time remaining and Mischief meter stay visible.
The opening search starts inside a furnished house connected to the garden. The active objective, time remaining and Mischief meter stay visible.

Two characters with different ways to solve a problem

Dexter approaches the world cautiously; Mars is stronger, more excitable and particularly interested in water. I made those differences part of the interaction rules.
Great Backyard Adventure has eleven objectives and a fifteen-minute countdown. Several puzzles offer a careful Dexter solution or a faster Mars alternative that creates more mischief. Those choices feed into owner reactions and two different endings.
Personality also affects behavior between interactions. Dexter's fear and courage respond to company, noise and scolding. Mars investigates nearby attractions and becomes more excited around movement and water. Contextual animations make those changes visible through sniffing, cowering, play bows and other reactions.

Personality still needs a reliable fallback

One regression made the inactive dog stay at its starting position. The personality movement handler always reported that it had handled movement, even when no personality behavior was active. That prevented the normal follow behavior from running.
I changed the handler to yield when it had no active behavior. The companion could then resume following while keeping its personality-driven pauses and investigations.
The distinction matters in a game built around switching characters. Ambient behavior should coexist with the companion's basic ability to move around the world.

A toy with one consistent ownership state

Toy Cold War needs the fox to move between a dog's mouth, the ground and the basket. Stealing, guarding and dropping all change what the player can do next.
I routed those actions through shared item state, with explicit ownership, guard duration and dropped-world position. The carried fox follows the dog; dropping it creates a recoverable object; returning it to the basket stows it. Episode-specific rules keep unrelated household interactions from changing this episode's objectives.
This supports three outcomes based on how the rivalry unfolds, including cooperation, hoarding and shared custody.
The second episode reuses the world with a different set of interaction rules. Fox possession and rivalry drive its progression.
The second episode reuses the world with a different set of interaction rules. Fox possession and rivalry drive its progression.

Matching the visible world to its physical boundaries

Furniture and doorways created practical problems. An open-looking exit could still block the larger dog, and characters could appear on top of upholstery or disappear behind an object.
I aligned movement with shared collision rules and each dog's size, then refined furniture footprints and drawing order. One blocked doorway traced back to an adjacent dresser's collision footprint. The correction required clearing the route around the furniture.
The animated back door retains its frame collision while opening the centre passage. Its closing animation restores the full blocker on the final frame. Position-aware layers put characters in front of or behind furniture, with silhouettes preserving visibility when they are obscured.
The owner uses collision-aware detours alongside a behavior system that moves through patrol, suspicion, investigation, chasing, scolding and rest. Suspicion is tracked for each dog, so reactions can reflect which one caused trouble.

Menus that respect the current interaction

The game includes action-based onboarding, rebindable keyboard controls, font-size options, a screen-shake toggle and separate audio controls.
Key rebinding needed its own input boundary. Pressing Pause or Interact while choosing a new binding must be handled by Settings. I made that overlay own key capture, and corrected hidden screens that were consuming gameplay inputs.
Episode records retain wins, personal bests and discovered endings. Completion and failure screens refresh their content when reused, and resetting a session restores dog and item state before applying the selected episode's rules.
Settings combines control rebinding, audio, font size, screen shake and tutorial preferences. Input stays with the overlay while a key is being assigned.
Settings combines control rebinding, audio, font size, screen shake and tutorial preferences. Input stays with the overlay while a key is being assigned.

Regression checks around the game loop

The project includes automated checks for objective order, both character branches, endings, item possession, collision, resets, tutorial gates and binding conflicts. CI performs a clean Godot import, regression checks, a startup check and a Web export.
These checks support iteration on a game where changing one movement or input system can affect another. The current result is a playable two-episode adventure, with Web and desktop export presets and room for further household stories.
One of the Great Backyard Adventure endings, with episode records and discovered-ending progress.
One of the Great Backyard Adventure endings, with episode records and discovered-ending progress.
Like this project

Posted Oct 10, 2026

Built a two-episode Godot adventure with switchable dogs, reactive character behavior, linked puzzles, toy rivalry and automated gameplay checks.