learning to mod minecraft: a father/daughter retrospective
TRANSCRIPT
Learning to Mod Minecraft: A Father/Daughter Retrospective
Kevin Hakanson Audra Hakanson
Kevin Father Sr. Software Architect 20+ years experience B.A. Comp Sci; Math M.S. Software Engineering
Daughter Jr. High Student First Time Coder Honors Curriculum
Audra
What’s a Retrospective? Software Development process with goals: ● Learn from experience ● Build on what works ● Gain perspective ● Decide what to do differently (credit: Esther Derby)
• Minecraft Hits One Million Concurrent
Players on PC (Jan 2015)
• With 10,000 ticket sales, 2015 Minecon earned a Guinness World Record for largest convention for a single video game (July 2015)
is very popular
Denmark in Minecraft ● Geodata for Minecraft ● 4 trillion individual bricks ● Fed topographic map data into an algorithm
that created it in Minecraft automatically http://eng.gst.dk/maps-topography/denmark-in-minecraft/
Mod (or Modification) The alteration of content from a video game in order to make it operate in a manner different from its original version (Wikipedia)
How do I get started?
LearnToMod LearnToMod teaches you how to code by teaching you how to mod Minecraft. http://www.learntomod.com/
LearnToMod Software Online and interactive. Mod Minecraft in your browser. Tutorials and puzzles help you unlock badges and learn to code. ● Modding Studio ● Private Server ● Lessons
LearnToMod with JavaScript Learn to Mod Minecraft with one of the most popular programming languages.
LearnToMod with Blocks Learn to Mod Minecraft without typing. Learn coding concepts without annoying syntax errors. Blocks are every bit as powerful as JavaScript, and they're easier to use.
Blockly Google's Blockly is a web-based, visual programming editor. Users can drag blocks together to build programs.
Hour of Code (code.org) Learn the basic concepts of Computer Science with drag and drop programming. Learn repeat-loops, conditionals, parameters, and basic algorithms.
Pair Programming Technique in which two programmers work as a pair together on one workstation. One, the driver, writes code while the other, the observer, pointer or navigator, reviews each line of code as it is typed in. (Wikipedia)
Hour of Code Example
Hour of Code Example
● If you “Sign In” to Hour of Code, progress transfers into Intro Course.
● Additional stages featuring The Artist and The Farmer
Intro Course Example
Audra’s Comments ● Learned about different kinds of blocks ● Bug fixing problems were easiest ● Learned how to “read” the blocks and
understand what they would do ● Fun to draw pictures and being able to
create something
Minecraft Training Kevin needed to learn how to play Minecraft
LAN
Server
Write your own Minecraft plugins and watch your code come to life with flaming cows, flying creepers, teleportation, and interactivity. No previous programming experience necessary
Minecraft Server Mod ● Plugin API ● Integrated database and API ● Easy configuration ● Rock solid modding framework ● ...
The book is for anyone who wants to learn how to modify Minecraft--no previous programming experience required! Aimed at kids who already play Minecraft.
ScriptCraft Minecraft Mod that lets you extend Minecraft using the JavaScript programming language. ScriptCraft makes modding Minecraft easier. It includes a logo-like "Drone" object that can be used to build complex buildings, roads, villages, even entire cities.
ScriptCraft
Mod API
Mod
Different Java JavaScript
Also Different Java Jabba
Audra’s First Mod Visit mod.learntomod.com
Kevin’s First Mod • Download and Install
Java Development Kit • Download and Install
Java IDE • Download CanaryMod • Setup Minecraft Server
Compare First Mods
Step by Step Video
Scramble
Scramble
Scramble
Missing
Coding Badges
Order Matters !?! 93% 100%
/fill Already built into Minecraft
Blocks
Material.AIR
Blockly
JavaScript
/fill
ID
minecraft:air
0
Air is a Block? Mind Blown!
Frozone Mod Whenever the player moves, a trail of snow is left behind.
FireSheep Mod Problem: Too Many Sheep Solution:
Squid Launcher
Oh Yeah!
https://bugs.mojang.com/browse/MC-39263
/summon /summon Squid ~ ~ ~ {Motion:[2.0,1.5,0.0]}
Be Careful!
+ Lightning =
LearnToMod Help Documentation Overview: http://mod.learntomod.com/book/docs-overview Forum: http://forum.learntomod.com/ • Features or Bugs • Coding Discussions • Lesson Help • …
LearnToMod Private Server Runs older versions of software • Not a problem for Blockly mods • May be confusing for JavaScript mods if looking
at ScriptCraft documentation/examples.
Setup Your Own Server References: • Setting up a local Minecraft server with
Scriptcraft • Letting friends play on your Minecraft server • Sharing your local Minecraft server on the
Internet http://yiddish.ninja/mc/
Retrospective Review ● Learn from experience
● Build on what works
● Gain perspective
● Decide what to do differently
Learn From Experience
Blockly is easier than JavaScript
Code.org activities helped
Forgot details after a long break from modding
Minecraft API harder to understand than coding
We could change the “rules” of Minecraft
Build On What Works Helpful to have a partner LearnToMod • sets up a server for you • code in the web browser • also lets you code in JavaScript
Gain Perspective
Some things just don’t work – and that’s OK • “order matters” – bug in grading • “squid launcher” – bug in Minecraft
You need to invest the time to learn
Won’t teach you how to make DragonMounts
Got distracted playing the game with mods
Decide What To Do Differently Extra and unnecessary badges that got boring and felt like wasted time Look for existing in-game commands (e.g. /fill or /summon) Dedicate specific blocks of time
Thank You! Questions?