🌌 ExoTerra: Uncharted Worlds 🌌
“ExoTerra: Uncharted Worlds” Welcome to the cosmos! 🚀 Embark on an extraordinary VR adventure with ExoTerra: Uncharted Worlds.
Inspiration 👽
The vastness of space has always fascinated us—its mysteries, its uncharted territories, and the promise of encountering the truly alien. We drew inspiration from sci-fi classics, cosmic wonders, and our collective curiosity.
What It Does 🛸
ExoTerra invites you to step into your VR headset and leave Earth behind. Here's what awaits you:
Alien Landscapes: Traverse landscapes that defy imagination. From phosphorescent forests on a gas giant's moon to crystalline caves deep within an asteroid, every step reveals wonders beyond our wildest dreams.
Flora and Fauna: Encounter life forms that challenge our understanding of biology. Picture luminescent jellyfish-like creatures floating in the dense atmosphere of a gas giant or silicon-based plants absorbing starlight.
Exploration: Armed with your trusty VR scanner, explore every nook and cranny. Document strange phenomena, collect samples, and unlock the secrets of these uncharted worlds.
How We Built It 👷🏻♂️
Our team uses Blender & Unity 2022.3 to create the assets/environment and combined Unity, Beamable's authentication, inventory, and content system, and the Theta blockchain. The magic lies in the integration of these technologies. We used the Theta example project as our backend foundation.

Here’s a breakdown of the code snippet in the image:
File Structure:
The left-hand side of the image shows a file structure pertaining to a Unity project.
Packages: This folder contains pre-built functionality or assets imported for use in the project. Some highlighted directories include:
- Beamable Theta: This where the Beamable Theta integration resides.
- Editor: This folder contains tools and functionalities specific to Unity Editor.
- Solidity: This directory holds the Solidity smart contract code.
*Client, Runtime, Common: * These represent logical separations of code concerns.
Burst, Samples, Solc: These folders might contain code optimized for high-performance execution (Burst), example code (Samples), and the Solidity compiler (Solc).
Code Snippet:
The right-hand side of the image displays code related to working with ERC-1155 tokens:
- IERC1155: This is an interface standard that defines functions for managing ERC-1155 tokens, including transferring, receiving, and getting token information.
- Theta Federation: This suggests that the project leverages Theta Federation, a backend service managing these ERC-1155 tokens.
- Functions: The code snippet includes functions like
GetInventoryState,StartInventoryTransaction, andProcessTransaction. These functions interact with Theta Federation to retrieve user inventory data, initiate transactions (potentially buying or selling items), and process those transactions.
Integration Flow:
- Authentication: The system might use a federated authentication approach (e.g., Google, Facebook) to sign in users. Theta Federation could be responsible for handling the authentication logic and managing user tokens.
- Inventory Management: The application can interact with Theta Federation using the provided functions to fetch user inventory information, initiate transactions (e.g., buying an item), and process those transactions. Theta Federation would handle the updates on the backend.
Overall, the code snippet allows Beamable Theta integration in a Unity game to interact with Theta Federation, a backend service that manages ERC-1155 tokens for in-game items or assets.

Overview
The project is integrated with Beamable Theta, a platform likely used for managing in-game items or virtual goods.
Breakdown
Project Structure:
- The project contains a
Packagesfolder with several subfolders, including:Beamable Theta: This indicates the integration of the Beamable Theta platform.Editor: Contains custom editor scripts.Runtime: Contains scripts that run at runtime.Solidity: It uses Solidity smart contracts, relating to blockchain integration.
- Other folders like
Client,Common, andStorageObjectscontain specific components of the project.
Code Snippet:
- The code snippet is a of the
Theta Federationclass or a related class. - It defines functions for retrieving configuration values, including a
CollectionLinkandPlayerWalletScryptParams. - The code includes error handling for configuration exceptions.
Implications
- Beamable Theta Integration: The project utilizes Beamable Theta for managing in-game items or virtual goods.
- Blockchain Integration: The presence of the
Solidityfolder is a blockchain integration, use for tokenization or other blockchain-related features.
Challenges We Ran Into 👾
Creating believable alien ecosystems was no small feat. Balancing realism with the fantastical pushed our creativity. Also, ensuring smooth VR performance across various headsets required meticulous optimization.
Accomplishments We're Proud Of 🏆
- Theta Federation: We successfully federated unique items and currencies using the Theta blockchain. BeamSwords and BeamCoins now exist beyond our earthly realm!

Purpose:
The code snippet seems to be handling user authentication, inventory management, and item transactions within a game or application. Theta Federation acts as a backend service to provide these functionalities.
Key Points:
Authentication:
FederatedAuthenticationResponsesuggests that the system uses a federated authentication method (e.g., using external providers like Google, Facebook).- Theta Federation handle the authentication logic, token management, and user identity verification.
Inventory Management:
- Functions like
GetInventoryState,StartInventoryTransaction, andProcessTransactionindicate that Theta Federation is responsible for managing user inventories, including fetching item data, updating quantities, and processing transactions.
- Functions like
Backend Communication:
- The code interacts with Theta Federation through methods like
Provider.GetServiceto obtain necessary endpoints and services.
- The code interacts with Theta Federation through methods like
Integration:
Authentication Flow:
- The game/application initiates authentication using a federated provider.
- Theta Federation validates credentials and returns a user token.
- The game/application stores the token for subsequent API calls.
Inventory Management:
- The game/application requests inventory data using
GetInventoryState. - Theta Federation retrieves the user's inventory information and returns it.
- When a player performs an action (e.g., buying, selling, using an item), the game/application sends a transaction request to Theta Federation using
StartInventoryTransactionorProcessTransaction. - Theta Federation processes the transaction, updates the inventory, and returns a result.
- The game/application requests inventory data using
Additional Considerations:
- Error Handling: The code explicitly show error handling mechanisms, which are crucial for a robust integration.
- Security: Sensitive data like user credentials and inventory information handled securely, involving encryption and authorization checks.
- Asynchronous Operations: The use of
asyncandPromiseindicates that the interactions with Theta Federation are asynchronous, allowing the game/application to continue other tasks while waiting for responses.
Overall, Theta Federation is a core component of the backend infrastructure, handling critical aspects of user authentication and inventory management for the game or application.
- Immersive Soundscapes: Our audio team crafted otherworldly sounds—from the eerie hum of a gas giant's storms to the delicate chime of crystal formations.
What's Next 🧑🏻🚀
- Multiplayer Exploration: Imagine exploring ExoTerra's landscapes alongside fellow adventurers. Cooperative missions, anyone?
- Dynamic Ecosystems: We'll simulate evolving ecosystems—seasons, migrations, and even interplanetary events.
- Player-Generated Content: Let players contribute their own alien species, plants, and geological formations.
So, fellow cosmic wanderer, put on your VR helmet, adjust your grav-boots, and let's dive into the unknown. ExoTerra awaits! 🌠🔍🪐
#VRAdventure #AlienExploration #BeyondImagination
Built With
- alien
- beamable
- blender
- c#
- european-alien-species-information-network
- nasa-exoplanet-archive
- samsung-next
- theta
- unity
- unity-mr
- unity-vr
- unity-xr



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