OASIS Diaries #15: The Game Engine that Powers Oasis — LAPIS

OASIS Diaries Mar 9, 2023

Hello Natives!

We’re back with the next edition of OASIS Diaries!

In this edition, we’re diving into the tech side of things. From the beginning up till now, our Oasis Dev Team has been consistently working behind the scenes to develop both the visible features that you see in Oasis and a lot more of the underlying systems that support the whole thing.

Underneath it all is our very own game engine that was built specifically to suit our needs. How did we design this? Let’s take a deeper look.


Laying the Foundation

Our vision was to create a metaverse that replicated the MMORPG experience that was easily accessible. Picture this - a metaverse that would allow users to hop from one world to another just like that. Players would have the opportunity to engage with others from the outset and participate in shared experiences. Furthermore, the metaverse would be dynamic and capable of growing and evolving over time.

To make it all happen, we built our own game engine using a layered architecture system (we've mentioned this briefly before in a previous article).

The game engine behind Oasis is our very own creation, codenamed LAPIS, which is derived from the Indonesian/Malay word that means "layer."
Layered Architecture System

This unique approach allows us to achieve the following:

  • Cross-Game Engine
  • Low Barrier to Access
  • Dynamic Content System

To give you an idea of just how scalable our system is, it can easily handle 10,000 to millions of worlds in a browser without burdening the user. Tech-wise, this is something that’s unheard of anywhere else at the moment.


Cross-Game Engine

We want to create a truly open world that allows players to seamlessly transition between different worlds, rather than just being confined to one world like in most games.

Imagine crossing over from Grand Theft Auto to Minecraft

Oasis features a cross-game engine that allows us to support multiple game engines. Our system can seamlessly interact with a variety of game engines such as Phaser and Unity. The HUD (that's the heads-up display) resides in the core layer, while each map area or building exists as a separate server that can be built using different game engines.

Think of it like a game device that holds cartridges. Each area in the Oasis metaverse is a different cartridge, and when you move from one place to another, it's like swapping one cartridge for another.

For instance, the Plaza map in Oasis is built using the Phaser game engine, whereas the Oasis Vanguard game employs the Unity game engine. So, if you go from the Oasis map and start playing the Oasis Vanguard game, it's just like swapping one cartridge for another without exiting any of the worlds.

Going from the Plaza map to the Oasis Vanguard is like swapping cartridges

Since different game engines excel in different areas, being a cross-game engine enables us to choose and utilize the strengths of various game engines for each specific area or game. This gives us the freedom to choose from a wide range of engines without any limitations, as long as they can be converted to HTML5 for a web-based browser game.

Using a cross-game engine offers several benefits, such as providing greater flexibility during development without affecting the end product quality.


Low Barrier to Access

One of the key considerations when developing Oasis was to make it easily accessible to players. We wanted to ensure that players didn't need to download large files or have high-end graphics card requirements to play the game. That's why we decided to make Oasis a web-based browser game.

In the previous version of Oasis, players had to download 800MB of data per refresh, which was a relatively large amount and took a long time to load. However, we have made significant improvements to Oasis since then. Now, you only need to download what is necessary to load each map, resulting in a much faster and smoother loading experience.


Dynamic Content System

For long-term replayability, a game must be sustainable and not a one-time experience. To achieve this, we’ve built our game engine in a way that supports dynamic content and allow for changes to the game world that make it feel alive and not static. This is something that is not easily done especially on a large scale.

Our engine allows us to manage the game world in a more fluid way, especially with building management. Typically, buildings in games are hardcoded and require code changes for any updates or changes. However, in Oasis, we've created a separate layer for buildings, so we can make them appear or disappear immediately. This same capability can be applied to NPCs and other objects in the game environment.

We can make buildings in Oasis appear or disappear easily with our system

This opens up the possibility of shared quests where every player on the map can see changes as they happen. For example, if a player activates a quest that involves a building catching fire, everyone else can see that building on fire too. After the quest is done, the change is reflected for everyone to see. It's all part of our multiplayer-focused approach.


With our layered architecture system (LAPIS) in place, we're setting the foundation for Oasis and enabling ourselves to achieve much more in the future. We're constantly exploring new possibilities and we have exciting development plans lined up that build upon this base.

Team Oasis is committed to creating a dynamic, social, and ever-expanding metaverse that's accessible to everyone. Stay tuned for updates, there's a lot more to come!

Website | Twitter | Telegram | Facebook | Instagram | Discord

Tags