How to Build and Play Borderless World Online (BWO)

Oct 24, 2023 | Programming

Welcome to the exciting realm of Borderless World Online (BWO), a thrilling infinity procedural online game combining the power of Flutter, Flames, NodeJS, and Firebase. This guide will walk you through the steps to set up your own BWO server and get started playing seamlessly.

Overview of BWO

BWO creates an expansive world where players can build their homes while exploring incredible landscapes generated using Perlin and Simplex Noise. Since the world is procedurally generated and not stored, each player’s interactions are the only data saved on the server side. This allows for a truly limitless gaming experience.

BWO Animation
BWO Animation

Setup Instructions

To launch your own BWO instance, you must follow these steps:

  1. Requirements:
  2. Launching Your Own Server:
    1. Setup Database

      Create a project and set up your Firebase database and Cloud Firestore on Google Console. Save the google-services.json file in android/app and edit the environment variables in resources/config.js.

    2. Run the Node Server

      Navigate to the bwo-server folder and execute npm start or node server.js.

      • To specify an environment, use --env=development or --env=production.
      • For localhost, use --env=localhost.
    3. For Client-Side (Android App)

      Adjust the Server URL in lib/server/utils/server_utils.dart according to your database name – development, production, or localhost.

      Tip: You can host it on Gitpod or Heroku for free.

  3. Running on Localhost:

    If you prefer not to configure a server, you can run the game on localhost by adjusting the server variable URL in lib/server/utils/server_utils.dart to https://borderless-world.herokuapp.com and setting isOffline to true.

  4. Launching the App:

    The controls are simple:

    • Left tap on the screen = walk
    • Right tap on the screen = cut tree/attack
    • In build mode, you cannot walk; you can only place/delete objects.

Understanding the Code: An Analogy

Imagine building your own unique Lego city. Instead of having a standard city plan, the pieces are churned out randomly (like Perlin Noise), so each time a new city emerges, it’s different but follows similar rules. This procedural generation process allows players to explore massive and unique environments while still retaining some familiar patterns in the landscape. This is the essence of BWO’s design, making it possible for every experience to be new and adventurous!

Troubleshooting

If you encounter issues during setup or gameplay, consider the following troubleshooting steps:

  • Double-check that you have installed NPM and NodeJS correctly.
  • Make sure your Firebase database is correctly set up and the google-services.json file is in the right folder.
  • Verify that the server URL is correctly adjusted in the client side to connect to your game instance.
  • If the game doesn’t launch, check your console for errors and ensure your Node environment matches the intended one.

For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.

Final Thoughts

At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

Stay Informed with the Newest F(x) Insights and Blogs

Tech News and Blog Highlights, Straight to Your Inbox