Video Summary

Project Summary

ArchitectSteve is a tool that takes a 2D image provided by the user and constructs a replica of the building in Minecraft but in 3D form. Steve, our intelligent “agent” as we call our tool takes the image and processes that image into a series of what we loosely will call coordinates, making it easier to work in Malmo Minecraft, but can be seen as the list of vertices that determine the shape of the object. This subroutine is made possible using the external OpenCV shape detection resource from the pyimagesearch website. The ArchitectSteve takes the 2D image and processes the image into a series of pixels (i.e., R{0-255} G{0-255} B{0-255}). In addition, we added a colors dictionary of possible Minecraft blocks as seen and described from the website minecraft-ids.grahamedgecombe.com where the official names and coloring was taken from. ArchitectSteve with the use of the colors dictionary to measure or estimate the similarity of each pixel from the 2D image that ArchitectSteve took and basically determine the closest Minecraft block type and color to use when creating the 3D structure.

The result is a 3D appropriately colored block replica, in the Minecraft world environment, of the 2D building image that was “uploaded” to ArchitectSteve. Of course, due to the height restriction of 256 blocks that exists in Minecraft due to the fact that the Minecraft world is made of 16x16x256 ‘chunks’, we would resize the image so that the replicated structure would not be cutoff. The 2D building-view image also gets translated in order for the resulting replica to be perceived as having depth in Minecraft, thus having a 3D pop-up structure.

Who is Steve?

Steve had spent his whole life as a successful maze critic. Day after day, Steve spent his time running from maze to maze, occasionally spending time on his hobbies of crafting and street fighting, but it was never long before he was forced to go off and review the next maze. No matter how many times he made it through to the finish line or got stuck inside, it seemed that there was never a shortage of people eager to have Steve test out their mazes.

Vacation

One day, Steve had had enough and he decided to run off and take his very first vacation. Steve was so excited to be free from the mazes he had not even considered the world that awaited him. When he arrived, he was amazed that there wasn’t a hedge or stone-walled path as far as the eye could see. He was in awe. This was the first time Steve had ever seen such amazing and intricate buildings!

School

Enamored with the sights of the city, Steve new that there was only one thing to do. He walked straight into the top architecture school in the city and took the first open seat. Steve devoted his time towards learning everything that he could about architecture and he began dreaming of the day when he could build his very own beautiful maze-less buildings.

Career

Steve barely graduated from school before he landed a job at the top architecture firm in the city. He was very excited to be done with judging mazes but he still wanted more. After building a rather impressive portfolio, it was time for Steve to go out on his own and realize his new dream of running his own practice

Architect

Finally, after a lot of hard work and patience, Steve had made it! He began his own architecture office in the city overlooking the beautiful skyline and he never reviewed another maze again!

Source Code:

https://github.com/muhrisa/ArchitectSteve

Other Resources Used

Python Programming Language: it’s easy to learn and use Python.

https://www.python.org/downloads/

Malmo: a platform for Artificial Intelligence experimentation and research built on top of Minecraft. An essential part of this project so you don’t have to build or install platform dependent code.

https://github.com/Microsoft/malmo

Deep Reinforcement Learning with Model Learning and Monte Carlo Tree Search in Minecraft: How to place blocks in Minecraft.

https://arxiv.org/pdf/1803.08456.pdf

https://thenextweb.com/artificial-intelligence/2018/03/23/watch-this-ai-figure-out-how-to-place-blocks-in-minecraft/