Inspiration

I've long been a fan of MMOs and RPGs. Throughout my career I've had the pleasure of making a number of single-player RPGs but never had the means to bring an MMO to life. When I first started playing in Horizon I began looking at it as a great fit for what I wanted to build. One by one the features I was waiting on where added and when I was finally accepted into MHCP and given access to the improved toolset for creators I was ready to jump in.

The goal was simple: A small, contained MMO based in one (or multiple) worlds in Horizon. Nothing too massive in scope, but a full game. Look to something like the Pre-Searing Ascalon in the original Guild Wars.

So from that goal, this project was born, with some important changes to the vision...

First, the inability to incorporate animations with my 3d models. Without this enemies would feel lifeless and the world wouldn't be as dynamic as I hoped. I couldn't animate 3d models, but I could animate 2d sprites, so the decision to go retro with the 2.5D look was born (similar to the recently released Dragon Quest 3 2D-HD remake, or VR's own Triangle Strategy)

Second, it didn't feel having the 2d characters mixed with the 3d avatars, so the decision was you'd have a pet character that you command rather than directly interacting with the world.

Lastly, the goal for this competition was short play sessions. So rather than a full-fledged stories or quests, we'd simplify the JRPG style down to the battles, with a few different arenas and enemy sets to battle through, while still having unlockables to improve replayability and encourage players to come back and explore.

What it does

Rock Monster Rush is, as noted, a 1-4 player JRPG-style pet-battler game. You begin by getting a standard Rock Monster, and in one of three randomly chosen arenas battle the enemies, unlocking a new form along the way on your journey to the final boss.

Given the quick gameplay loop, we wanted to juggle turn-based battles without long delays. Because of that everything in the game (outside of the welcome room / lobby) is on a short timer. This keeps the action moving. But we also wanted to be forgiving, so if you don't pick an action, or pick a target or what-not, the game fills in the rest so that you still play out each round of battle in a sensible manner.

Each arena consists of a couple of normal monsters, a mini boss, and a boss fight, spread across 9 rounds. Players work together to beat each round, either attacking the enemies or healing themselves (or their fellow players).

How I built it

Being my first MHCP project, I wanted to go all-in on the new toys given to me by Meta. So the code was all written in Typescript (over 7000 lines of game specific code), the arenas uses the custom model import, and the Rock Monsters and enemies are all a mix of billboarded meshes with swappable textures and the custom UI system.

Challenges I ran into

The biggest challenge was just being new to the entire engine and toolchain. I had some familiarity of building in Horizon with codeblocks and primitives, so I was comfortable with the general concepts the engine runs under, but had no experience at all with the APIs, the desktop editor, or the specific quirks that I hit along the way.

Audio was a definite issue, and one I finally gave up on and just settled on finding (and tweaking) existing assets in Horizon that I could use for music and sound effects. The sound recorder gizmo as the only way to bring audio in just wasn't functional enough.

The inability to import 3d models with animation was a challenge initially, but one that ended up shaping what the entire game would become.

Accomplishments that I'm proud of

First of all, it's my first publicly published world on Horizon Worlds so I'm pretty excited about that.

I'm also happy at the variety I was able to get into the game. Three different arenas instead of just one. A dozen different enemies. Six different forms to unlock. And all of that is tied to quests, with the lobby room updating to show them on each pedestal as those forms are unlocked.

Lastly, while the game is (right now) pretty small, it's all engineered in a way that makes it easy to grow it quite easily. Everything is data-driven, from the items and spells (and their actions), to the enemies. After the contest is over it will be super easy to jump in and quickly add more, more, more!

What I learned

A LOT

The Horizon Worlds Desktop Editor is an interesting tool. It has some advanced functionality you wouldn't expect, but also is missing some basic functionality (see above issues with audio ingestion, or custom animations). With the just-now released support for avatar NPCs it's one step closer to the full fledged MMO experience I hope to still build in the future.

What's next for Rock Monster Rush

I want to grow the game out. More arenas, more enemies, more hidden forms.

But I also want to look at how else I can take these adorable little Rock Monsters and turn them into something more permanent that a once-per-game pet, enabling your Rock Monsters to grow with you and potentially interact with them in new ways.

Built With

Share this project:

Updates