Welcome to growHomes: Shireville, a Century 22 Virtual Estate Company.

growHome vending machine - live demo: https://gyazo.com/b592d34f95900f0704da43d337969199

Inspiration:

What if you can grow homes and house NPC refugees in need of homes?

What inspired you to create this world?

I'm currently a visiting scholar out east and missing home: California's rolling (often green) hills! I started experimenting with Horizon Gen AI text to mesh and it all looked very meshy, like lumps of hills, and I started wondering about tiny homes built into these lumps. And, what if you could grow them...

What other worlds or media influenced your creative direction?

Ofc, the for building a simulation app/game, farmville is the classic. But I like games where you get to build and maybe manipulate characters - Mini Sim City meets The Sims meets Lemmings (because the NPCs can't do much yet in Horizon) is the key inspiration - and a slight bit of Hobbiton, though I am wary of rights, so I'm keeping it generic - and keeping it a mix of Mything irreverence, combining modern Americana norms, say Job Simulator meets discounted real estate - but "magic is what's wrong with it". I wanted to add in also a bit of the mechanical wonders of The Room and Edith Finch, and so there will be bonus intricate easter egg puzzles throughout. And of course, a touch of reality, albeit, this is virtual estate, I am inspired by magical vending machines that somehow vend growable anythings. More prosaic things: Century 22 Virtual Estates is inspired by Century 21, the real estate company and the whole pretentious private island tour is inspired by my own classic spa resort app made with my corgi FJBC.me - Front Jolly Back Corgi (though we kept our NPC virtual estate agent American instead of British here).

How we built it

What were the key tools and processes you used to create the world? If this is a team world, who contributed and how did they contribute?

Keeping the playing field even: I decided to stick with just Horizon Gen AI meshes - for better or for worse - and other free assets available on Horizon.

Llama was not that great at code-gen for Horizon, so I ended up writing most of the core code and using deepseek r1 and gpt4o (VS Code CoPilot) as jr dev and to quickly get answers to Horizon typescript API nuances

We basically used all the Horizon Desktop Editor APIs!

  • horizon/navmesh
  • horizon/avatar_ai_agent
  • horizon/ui
  • horizon/camera
  • horizon/world_streaming

Map was hacked out using photoshop and stock vectors - also used Recraft via Replicate to generate a quick hot air balloon vector.

growHomes Concierge voice is AWS Polly Stephen (American Generative) as your virtual estate agent - and also if you get your own private parcel, we have AWS Polly Olivia (Australian Generative) as rep and AWS Polly Ruth (American Gen) as CS - and AWS Daniel (German Gen) as Visitor.

The main game loop music was generated using Aiva.ai and I'm licensed to use it for my personal project - I've previously used this to generate endless jazz loops for my Alexa app and other projects.

Many questions answered by kind volunteers on the forums. Corgi contributed as a window corgi.

Challenges

What were the biggest difficulties you encountered, and how did you overcome or work around them?

I realize this was mobile showdown but because I'm a big virtual worlds addict (I literally spent 2 years living full time in a virtual world as a Shakespearean theatre director), I kept defaulting to world building instead of app/game building.

I wrongfully assumed that all components could be accessed by script but it became completely ad hoc to figure out how to access certain parts. Searching by tags, instead of being able to just assign entity arrays (gameObject arrays in Unity-speak).

The Horizon 2D UI system I found very very confusing. I feel that instead of looking towards game engines (who are all guilty of UI system as afterthought), looking into implementations by Visual Studio and even web components might make more sense. For example, it would have been nice to have some standardized components with some default UI styling - kind of like people who use bootstrap default for CSS.

I had difficulty attaching triggers to objects after they were grabbed. Initially, I had wanted each of the user's own grow homes to have triggers that can lead to their own skybox interiors - in which case, this would become a furniture placement game. However, I could not figure out how to parent a child entity to a parent, so that it would inherit all the transforms, without needing to call a separate update loop in ts.

Since I am basically married to Unity, I was actually excited that DE was Unity based, but then I realized that they ran into the same Unity UI latency issues I ran into when I built faceshop and faceStylr in 2017/2018. :( But, I'm glad that NavMesh and NavMeshAgent is basically a direct mapping from Unity AI - well except actually other than baking navmesh, the rest of the usual Unity APIs do not work! So, the Lemmings-Sims part was a complete last minute idea at he 11th hour. Edit: I could not figure out the non-Unity locomotion API so I pivoted again 11.45th hour... Running into downstream Unity-hybrid-Horizon Physics (for example, interaction mode grabbable cannot be set to interaction mode not-grabbable and not physics by typescript) and TextMeshPro update issues, ugh, Unity exports! Neurodivergence issues.

Accomplishments:

Which parts of your world, or your building process, are you most proud of?

I really like the vending machine mechanism, and the mechanics of throwing a home seed on the ground to grow a home.

I am also delighted that the gen AI meshes do not look that bad (on mobile at least).

I love making builder games, and I realize that Horizon is not really a builder world... hopefully, my hack in turning prefabs into a builder game is okay.

Next steps

How are you going to keep improving the world? What would you like to add if you have more time?

SO MANY IDEAS!

First of all, the Open House interiors are all set for people to hold small gatherings and events in - complete with posable furniture, virtual food they can interact with, various entertainment, such as tiny stage and beyond!

I would ideally like to allow people to be able to purchase furniture etc to decorate their rooms - however, it seems that users are not allowed to create content while in the game, but have to go 'offline' into the Desktop Editor?

More growHomes!

Use Claude MCP to build sublevel labyrinths for each growHome interior.

Also, I hope that we can call external APIs and import mesh at runtime, or otherwise use Horizon's Gen AI offerings programmatically... What if growHomes users can design their own homes?

OKAY if we win, then you can grab the colorful opening balloons and fly off into the sunset with them.

Built With

Share this project:

Updates