Inspiration

I really like RP games and anything grindy. I have a world called Night Life RP that has gotten over 150,000 visits β€” woohoo!
The idea behind Old Town RP was to capture some of the elements that made Night Life RP successful but bring a whole new flavor to it.
I've always wanted to create a world like this, and now it's finally happening.

What it does

In Old Town RP, players can experience a wide range of activities:

  • Level up and earn in-game currency
  • Buy new guns and upgrade their arsenal
  • Play a bottle shooting mini-game
  • Engage in PVP combat
  • Deliver goods across the map
  • Hunt animals for fur and sell it for money
  • Play blackjack at the local saloon
  • Stop a moving train to steal its valuable loot
  • Rob stores for extra cash
  • Compete on leaderboards
  • Claim daily rewards
  • Navigate everything easily with a clean, intuitive UI

Additionally, Old Town RP features IWPs (In-World Purchases) for in-game currency, and a special Gamepass that permanently grants players 2x earnings from all activities.

How I built it

I built Old Town RP using the Horizon Worlds editor and Horizon's custom TypeScript API.
The world design and placement were created inside the editor, while all the core mechanics like leveling, currency management, and activities were scripted with TypeScript.
I also generated sound effects using the built-in Gen AI sound tool to give the world a unique and immersive atmosphere.

Challenges we ran into

Scripting Old Town RP was a major learning experience.
One of the biggest challenges was handling UI updates β€” sometimes the UI would display the same values for all players or not show any values at all.
As development continues behind the scenes, I'm currently dealing with some TypeScript errors that are causing a new mini-game for the world to not work exactly the way I want.
Each hurdle has been a chance to learn and improve the overall structure of the project.

Accomplishments that we're proud of

Honestly, I love all of it. I didn’t think I could pull off this project β€” especially not alone, and definitely not entirely in TypeScript β€” but I doubted myself more than I should have.

I'm especially proud of the mobile-focused UI. I really enjoyed creating it, even though I wasn't thrilled about the mobile push at first despite being in Horizon for over 4 years. Now? I’m having a blast.

Some of my favorite milestones:

  • Learning new tricks like using getEntitiesByTag
  • Figuring out how to change UI values per player, whether local or networked
  • Getting IWPs to work in TypeScript β€” tough but super rewarding
  • Scripting the UFO gun (that was seriously fun)
  • Streamlining UI by avoiding unnecessary buttons on grabbable entities
  • Designing clear systems for earning money and leveling up β€” using visuals to make sure it’s accessible even to younger players or those who struggle with reading

Seeing all the mechanics work together β€” from progression to the gamepass β€” lit a fire in me. I'm now working on a few mobile-only games because of how much I enjoyed this experience.

What we learned

I learned that everything I created in VR, I could also bring to mobile β€” and that realization completely changed how I approach world-building.

I’ve grown to love the desktop editor. It gave me the precision and flexibility I needed to make a mobile-friendly game.
Using the Gen AI tools in the editor to generate sample scripts helped a ton β€” I was able to take those samples and evolve them into fully working systems.

This project showed me I could take on bigger challenges and really own the entire development process.

What's next for Old Town RP

These features may or may not make it into the game before the deadline, but I'm actively working on:

  • A Spin the Bottle mini-game that moves mobile players into first-person view during the event
  • A High Noon Duel where players can face off in quick-draw battles
  • A Giant Chicken Hunt, using the Unity asset from our folders, where a giant chicken spawns and attacks players β€” players can shoot it and earn a good amount of fur and XP (it should be hilarious)
  • More guns to expand player options
  • A full Poker UI game
  • More IWPs that add convenience or cosmetic perks without creating a "pay-to-win" environment
  • Wearables and eventually Horizon Avatar clothes once the feature becomes available

If the world does well, I'll also personally pop into player instances to gather feedback, listen to recommendations, and optimize the world even further.

Built With

+ 2 more
Share this project:

Updates

posted an update

Update Notes

Gameplay Updates

  • Added more animals to the world.
  • Animals now attack when a player is near.

New Game Mode

  • Pass The Bomb game added!
    • Up to 6 players can compete to avoid exploding.

World Environment

  • Map made a bit darker for improved atmosphere.
  • Added a new Firepit Hangout Spot.
  • Added more VFX for enhanced visuals.

Bug Fixes

  • Removed a large number of debug logs that were causing game crashes.

Log in or sign up for Devpost to join the conversation.

posted an update

UI Design Overhaul & Game Updates

UI Changes

  • Fur Count added to the Player UI.
  • Rearranged Elements to leave the top-center of the screen open for pop-ups.
  • Reduced "Train Started" Text Size to avoid overlap with other UI elements.

Quality of Life Improvements

  • Photo Gizmo added so players can take quick group photos.
  • Device-Specific Pop-Ups introduced to enhance VR comfort.
  • Audio Tutorial implemented for better accessibility.

Map & Gameplay Fixes

  • Gaps in Map Sealed to prevent players from falling under the terrain.
  • Safety Trigger added to auto-respawn players if they fall through any missed gaps.

New Wildlife Added

  • Snake
  • Big Horned Sheep
  • Wolf

Log in or sign up for Devpost to join the conversation.

posted an update

Beta Launch Update – 4/29 Full Update Log

  • Beta Launch Activated: x2 from all sources for 1 week (ends May 5th)
  • Added small tutorial to help players; pops up once when they enter, then never again
  • Made initial mini tutorial use animated bindings
  • Added Sound Manager to play sounds for specific players
  • Fixed HUD updates not being sent during certain actions
  • Added small XP rewards to actions like Blackjack, Collecting Bux, or Ammo to support passive roleplay-focused players
  • Updated UI system:
    • Now using a single Screen Overlay UI
    • Passes the Player Parameter to update stats using perPlayerBinding
    • Reduced world UIs from 20+ down to 5:
    • Player UI (manages stats)
    • Train Heist UI
    • Daily Roll UI
    • Blackjack UI
    • Tutorial UI (per player)

Log in or sign up for Devpost to join the conversation.