Business Data Visualization... in Minecraft!

11
Business Data Visualization... Pat Patterson Developer Evangelist Architect @metadaddy [email protected] in

description

Look at your business data in a new way! This session, presented by Pat Patterson at GlueCon 2014, explains some of the workings of Minecraft, how to create 'mods' to extend the base game, and how to pull data from Web APIs such as the Force.com REST API.

Transcript of Business Data Visualization... in Minecraft!

  • Why Minecraft? Cheap ($26.95!) 3D Engine Java Vast community of developers (modders) Plugin Architecture (via Forge etc) Access to source code (kinda) Its fun! Image used under CC-BY-NC. Attribution: Orthotope on minecraft.gamepedia.com
  • Getting Started Prerequisites: Java JDK 6 or 7 An 8-15 year old helper (optional, but recommended!) Buy, download, install Minecraft minecraft.net/store/minecraft Download, install Forge (src build) www.minecraftforge.net/wiki/Installation/Source Follow some tutorials www.minecraftforge.net/wiki/Tutorials Image used under CC-BY-NC. Attribution: Ventury on minecraft.gamepedia.com
  • A Blast from the Past: Client-Server! One Minecraft server may support many clients Server maintains world state for all players Client renders world for a player Mods can be server-only, client-only, or client+server Image used under CC-BY-NC. Attribution: BarracudaATA on minecraft.gamepedia.com
  • Going Beyond the Basics Calling Web APIs Pick your favorite Java HTTP client Modify Forges build.gradle to create an uber- jar Use the Gradle Shadow plugin to shade your external dependencies github.com/johnrengelman/shadow Image used under CC-BY-NC. Attribution: BarracudaATA on minecraft.gamepedia.com
  • Forcecraft What if I generated an entire dimension based on account data from Salesforce? Neuromancers Cyberspace github.com/metadaddy-sfdc/Forcecraft
  • Eye Candy!!! Image used under CC-BY-NC. Attribution: BarracudaATA on minecraft.gamepedia.com
  • Code
  • APIs in Play OAuth 2.0 Resource Owner Password Credentials Grant Username/password Force.com REST API /services/data/v29.0/query?q=SELECT+ /services/data/v29.0/sobjects/Account/ Force.com Streaming API new BayeuxClient( salesforceStreamingEndpoint(endpoint), transport); Image used under CC-BY-NC. Attribution: BarracudaATA on minecraft.gamepedia.com
  • An Alternate Direction Minecraft Pi Edition pi.minecraft.net Similar to early versions of Pocket Edition (Android/iOS) API included! Python, Java client libs bundled Ruby, Node.js and more from community Real world / game world interaction via Raspberry Pi GPIO pins bit.ly/rpi-mc Images used under CC-BY-NC. Attribution: Majr on minecraft.gamepedia.com