BlockFlow

Demo at dev.aaaaahhhhhhh.com

Goal

BlockFlow's goal is to visualize data from various sources in a more interactive user friendly manner. It aims to inform the general public about statistics through Minecraft.

Inspiration

I was motivated by the challenge of portraying data in ways that people don't normally think about as being a valid method, and I was also interested with learning something new this time around. Minecraft is not normally thought about as being complex, and just a game, but it helps with visualizing many things, not just a virtual landscape.

Implementation

For this particular project I chose to represent statistical data about the world, such as the average height of men and women, as well as the population per area over time. I used an SVG of the world to designate which areas of the map would light up and such. The data was retrieved from various online databases, then merged together into one CSV file. The handling of the visual representation was done serverside using the Bukkit API, a serverside Minecraft modding software. This was coded from scratch in Java and made with Eclipse.

Restrictions

Due to the limitations imposed by the Minecraft modding software, and the 24 hour time limit, I was not able to implement every feature I wanted. Visualizations have to be controlled manually and the code is not completely optimized, but it serves its purpose well.

Commands

  • /blockflow create - Create a map of the world
  • /blockflow select - Select and show the statistics for a given region
  • /blockflow deselect - Deselect the current country
  • /blockflow clear - Clear all selected regions and the field

Team members

  • Daniel Gu
  • Zhaxi Zerong

Complications

I did not know how to use MongoDB, or any other database so I has to create a temporary flatfile db system. The version of Minecraft which this is based around is also moderately slow and prevents a good deal of things from being made.

Reflection

If given more time, I would have made it run smoother and increase the amount of detail it gives. I would also have liked to implement a proper database, rather than use a quick flatfile db system. Lastly, getting more data would have improved the visualization greatly.

Built With

Share this project:
×

Updates