Electric Power Flow Modeling in Minecraft

The goal of the project is to enable the creation and use of realistic and accurate virtual reality models of electric power transmission, distribution, control, and usage scenarios for research and instruction purposes. To do this, we have created a Minecraft mod called Electric Blocks.

= Problem Definition = Our project is defined by several problems. The core issue is to develop software that allows users to model electrical power flow. The software must model power flow realistically enough to enable quality education and research. Additionally, the software must work in a virtual video game environment and must be easy to use.

Background
Minecraft is a 3D/VR video game that enables the creation of complex virtual worlds. The block based nature of the game makes it very easy for players to build nearly any structure. This approach has made the game very popular and also easy to modify. There are thousands of mods which do everything from adding new animals to flight simulators and much more. There are several mods that already exist which attempt to mimic power flow. Unfortunately, these do not model the operation/control of electrical systems in a way that is realistic enough to enable quality research and education in power systems. This is why we made Electric Blocks.

Value Proposition
Traditional tools used in the design and simulation of electric power flow networks require a highly technical understanding of power flow behavior, and are not readily accessible to learners due to their complex interfaces and results that are not easily interpreted. Our solution, Electric Blocks, is a Minecraft mod to attract those who are interested in designing and playing with power systems through the simple and familiar interface of Minecraft.

This project's value is primarily derived from its speed and ease of use. Electric Blocks works great as an educational tool as users can build simple power systems in mere seconds and get feedback. This project also has value for power flow engineering. This mod allows for engineers to work collaboratively in real-time to prototype and test power flow systems.

= Design Process = Our design process began in early September of 2020 and was focused entirely on solving our problem definition. Most of our overall design decisions were finalized by the end of September, but we continued to tweak the design as new discoveries were made.

Initial Design
In the initial documentation provided to us, our client outlined several suggestions on how to approach this project. They suggested the using Minecraft or Minetest as the platform for hosting our software. We could then use MCreator or the Minetest Lua API for programming the mod. Our client also noted that we should not attempt to write our own power flow simulation software and should instead use other software libraries for this task. This design consideration was critical as realistic and accurate simulation was a primary goal of this project. Our client had experience with an electrical power distribution system simulator called OpenDSS and suggested we look into using this together with DSS Python or some other API interface. We would then make calls to the interface from the mod to OpenDSS to perform power flow simulations and update the game state appropriately. This left us with an initial development stack that looked like this:



We could choose to design our mod using Minecraft or Minetest. We would then use their corresponding mod creation tools to add blocks into the game based on power engineering elements such as lines, loads, transformers, generators, etc. We would then use information from the game to make calls to OpenDSS using a compatibility layer. OpenDSS would then run a power flow study and return the results to our mod. Finally, the Electric Blocks Mod would use those results to inform the player and modify the game state.

While this design seemed like a good overall solution, we quickly realized that we had a lot of issues that we would need to resolve before proceeding. Should we use Minecraft or Minetest as the basis for our mod? How would our mod communicate with the simulator and is a compatibility layer needed to facilitate communication? How would this architecture work in singleplayer versus multiplayer settings? How would the mod translate the game state into a form that the simulator could understand? These are all questions that we had to do in-depth research on before we could arrive at a final design.

Validation
= Development Timeline =

Core Challenges
= Team Info = The team responsible for this project is called Electric Blocks. We are based in Moscow, ID and we are sponsored by the University of Idaho. For more info you can check out the links below:

Website: https://electricblocks.github.io

Github: https://github.com/electricblocks

Portfolio: https://drive.google.com/drive/folders/16nPXUH02bscp351xhRZSQRMSa27I0osg?usp=sharing