Battle others and NPCs in an arena only accessible through a dynamic maze, or grab some coins from one of the wild chickens running around. Bring your friends to team up and battle for even more fun!
A-Mazing Battle, Maze 1 and 2, Now with Teams Battles, NPCs, and wild Chickens! Also with improved mechanics and visuals all arround.
Inspiration and How it Was Built:
A-Mazing Battle was a sole endeavor, utilizing the Horizon Worlds Editor and scripts to manage the mechanics.
Being my second published game, and first one in 3D, the Horizon Editor looked to be a good platform to build on.
It has also been a great opportunity to learn development in Typescript and expand my coding knowledge, as the first one was in Python with a C++ dll connection.
Having had an interest in programming since youth, I finally found myself in a position to focus on coding full time for the past year.
The potential opportunity to make an income doing something enjoyable is quite enticing and I hope this will be the start to my next stage in life.
Constructing the general concept for how this world is structured was really more of a fluid process and has progressed more organically than via strick planning.
As I explored what was possible with the Horizon API I would see how different aspects could be applied in creative ways.
If an idea worked with the direction the world was taking then I would work out the best way to incorporate it.
Sometimes finding an interesting asset in the Public Asset library would drive a conceptual change.
Like the structures that are used as bases for teams matches.
They created an excellent semi blocked shelter for the power cell to be placed in, creating a target for the other team and a place to heal.
Then, on realizing it was composed of two objects, I separated them and used one as a door that keeps the base only accessible to the team it belongs to.
I've very much enjoyed the process and look forward to expanding the world further as it gains traction.
Challenges and Accomplishments:
Utilizing some of the available assets as a base to build from has helped bring together the worlds functionality quickly.
Of course, not one to settle for simple, modifying their basic concepts into unique and refined aspects of the game made for a challenging endeavor in many cases.
Initially the thought for creating the maze was to programmatically generate new ones each time a condition was met.
However,that quickly consumed too many resources and I realized it would have to be simplified and more static.
Manually constructing it with the ability to switch between two different mazes dynamically solved that issue.
To optimize further, the core maze components such as the exterior, central and any mutually shared walls were set static.
While the unique walls were set together with triggers to cycle from one maze design to the other.
This has the added benefit of allowing players to become familiar with a specific maze design and take advantage of the traps.
Another one of the more significant challenges was merging the shop, inventory, and daily rewards GUI panels.
Setting them up into a menu GUI that opens and closes from a single input helped to simplify access and make it readily available anywhere in the arena.
To improve on visualization the header and footer were adjusted using the header to create a tab like selection of each area of the menu.
The footer maintains a constant reminder of all sellable items, their quantities, as well as the countdown until the next available reward.
in addition a tab for teams interactions and status data was add, which is still being optimized but is functional to manage teams matches.
While the Panels look to be very similar, they do have significant differences that need to be sorted out to work together.
In the process of breaking them down to their individual components, I learned alot about how the UI system is structured.
I was also able to remove all but a couple necessary Network calls, speeding up the interaction time when purchasing or using items.
It was a very time-consuming process but the results are significantly better than what I had started with, and that is very satisfying.
Next Steps:
Now that the core aspects of the game have been built out I'll be able to make more progress refining the various elements.
There are still quite a few aspects that are not quite working right and a few mechanics I would like to add.
There are several areas that would benefit from VFX and audio enhancements.
Improving the environment with unique, quality components and visuals is high on the list.
Also planning on improving the leaderboards, pulling them into the GUI, along with a visualization of the players data.
Traffic is low, so I need to improve the game icons and look at potential marketing strategies.
Most likely going to create another world that will act as a gateway to this one and others like it, allowing to focus on specific gameplay mechanics.
That will allow me to create different tiers for higher level players and create a few different maze combination, as well as single player or multi-player focused spaces.
Lots to do to get it to rise in the ranks but hopefully it will start gaining traction soon and I can get some feedback on what players want to see most.
Log in or sign up for Devpost to join the conversation.