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.
11
Business Data Visualization... Pat Patterson Developer Evangelist Architect @metadaddy [email protected]in
Transcript
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