Inspiration

I love card games, I have never built a game before (usually just websites or saas applications) so I thought I would give a go at meta horizon, and I thought I would give a go at something new that I haven't seem yet, in the hopes of learning something new and hopefully contributing to the community. And boy oh boy was I in for a surprise!

What it does

It is a 2d card game running on a CustomUI in local and default mode.

How we built it

The world consists or:

  1. An empty object which has a server script which is running a typescript on default (server) mode, this is what handles saving and loading user data, and keeps track of the leaderboard.
  2. A Custom UI - which runs a Game script locally and uses another typescript called the GameEngine which is a standalone bundled script of the entire GameEngine of bloombeast game (and it's over 21,000 lines of code!) This gameengine code is developed in a external editor and I have abstracted out the UI part and made an adapter for the Web so you can easily develop on the web first then bundle it up and transfer to horizon.
  3. A lot of textures and sounds created by me and generated from various AI sources.

Challenges we ran into

  1. Trying to create an adapter for web development to match horizion (had to create all the UINode types)
  2. Learning the differences between local and default mode, rewriting everything to local mode because server was too laggy.
  3. Running into too many binding issues
  4. Running into 64kb data limits
  5. Running into horizon caching issues
  6. Having no idea what I was doing half the time.

Accomplishments that we're proud of/ what we learned

I have learnt a lot, especially with the customUI entity and also the entire ecosystem. I created a nice adapter, that will help me in the future, and maybe help others.

What's next for Bloombeast

  1. I would like to finish the gameplay, there are still some glitches and things not working quite right
  2. Battling opponents in Multiplayer
  3. Extending and extracting my code to generic services, espeically the adapter since this could be useful to great future custom UI styling.

Built With

Share this project:

Updates