Skip to content

A flexible VR and mouse-keyboard world-building game for research into human interactions with artificial intelligence and machine learning agents.

License

Notifications You must be signed in to change notification settings

pilarski/BonsaiWorldForge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bonsai World Forge

Pre-Alpha Demo

"If you build it, they will come it might break and I'm sorry and please use at your own discretion." (Field of Dreams, 1989, probably)

Summary

A flexible world-building game for human-agent machine intelligence research.

"A fresh new game for one player where you harness the power of an ancient artifact to smith worlds in miniature out of base materials... only to see your handiwork play out over entire continents as they spring to life. In short play sessions with new, procedurally generated terrains, you will use an increasingly diverse range of tools to shape the world into whatever you want it to be: arid desert, lush forests, or rolling plains. Your artifact learns with you. As you play, and overcome the challenges of the worlds you create, you will also gain valuable resources needed to unlock the full potential of your intelligent world-sculpting tool."

Key features:

  • More than 15 different world smithing and movement tools;
  • A range of visual assets you can use to personalize the worlds you create;
  • Increasing challenge levels (and unlockable side projects) as you populate your worlds (not yet implemented);
  • Temporarily unlock the machine learned power of the tool to streamline your actions (not yet implemented);
  • Default implementations of continual reinforcement learning and machine learning methods, such as adaptive and autonomous switching (not yet implemented).

BWF-Screencapture-NewAssets

Setup and Use

Steps:

  1. Install Unity 2020 LTS and Unity Hub;
  2. Clone the BonsaiWorldForge repository main branch to your local disk;
  3. Within the project's "Assets/" directory, create a new directory named "3rdParty"
  4. In the project's "Assets/3rdParty/" directory, clone Unity's NavMeshComponents (https://github.com/Unity-Technologies/NavMeshComponents); from that repo's assets folder, only include NavMeshComponents and Gizmos, and inside NavMeshComponents delete the folder "Editor". For Unity versions later than 2020.3 LTS, this step might not be required as scripts may be included in future releases of Unity's "AI Navigation" package.
  5. Import project into Unity Hub via "Open -> Add project from disk" and select location of cloned repository; note, this project is currently being developed in Unity 2020.3.26f1, using the Universal Render Pipeline (URP)
  6. It is likely the NavMeshSurface component script will be have been removed from the Terrain gameobject during the import. Please add it back in, with the parameters listed in the following image:

navmeshsurface-details

Please note, for VR deployment: this project requires SteamVR and selected XR/VR package sets for Unity, and is currently being built for the Vive Focus 3, though it should remain largely agnostic to VR platform; some work may be required to re-build the VR rigging approach when deploying the project on a new machine or with new hardware. Suggested steps include:

  1. Switch to "vr" branch;
  2. In package manager, install XR Plugin Management and dependencies;
  3. In package manager, install OpenXR Plugin;
  4. Platform specific: Install VIVE Input Utility (and its scoped registry if needed, and then possibly Wave Essence scripts for the VIVE Focus 3);
  5. In "Project settings -> Player" switch Active Input Handling field to list "Input System Package";
  6. In "Project settings -> XR" make sure to select the platforms you wish to support.
  7. Platform specific: Modify the buttons in "VRInteraction.cs" to match those desired for your controller.

Acknowledgements

This work has been supported in part by the Alberta Machine Intelligence Institute (Amii) and the Canada CIFAR AI Chairs Program, part of the Pan-Canadian AI Strategy. Thanks is also due to the excellent ongoing comments, feedback, and ideas from colleagues, and especially all the members of BLINCdev and the Bionic Limbs for Improved Natural Control (BLINC) Lab.

About

A flexible VR and mouse-keyboard world-building game for research into human interactions with artificial intelligence and machine learning agents.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages