React, Electron & Braaains - Magikcraft.io Project Update

52

Transcript of React, Electron & Braaains - Magikcraft.io Project Update

Teaching kids how to code, through the metaphor of magic, in Minecraft.

The best-selling PC game to date.Over 106 million copies sold.

The best-selling PC game to date.Over 106 million copies sold.

2nd best-selling video game of all time.

Since June 2016

Ian!

Knockout

●Tim mocked up the view●Almost ready to start wiring into Magic Craft

Then..

React

●We rebuilt in react●Started using nanoflux fusionator for state●Then moved to Redux●Then moved to RxJS●We started having problems with our shape

so...

In comes TypeScript●What shape is that anyway?●A type for this, a type of that●Add a little linting to help●Age old coding problem - Tab or Space

But what about all the tabs?

Too many tabs

●Each new Lore or Quest opens a new tab●No way to programatically close them

Time for another pivot?

Electron to the rescue!

●Solves the tab problem●Now we only need to code in one browser

But, there is a problem...

Electron needs to be install

●Not massive problem, but a blocker for 8 yr old.●That tab problem didn’t seem so big anymore

Time for another pivot

Back to the Future!

●Back to our react/typescript setup●Over a week to get electron working●3 People working 17-18 hour days

How long to strip Electron from the build?

2 Hours

●And we are back to our React / Typescript app

Of course there were other improvements along the way.

We now have

●PouchDB on client / CouchDB on Cloudant●Websockets - For optimistic updates●We push new Lore and Quests into the client's

browser with Notifications

All this is so that we can reliably kill a zombie with a

lightning bolt using JavaScript....

AT SCALE!

Briggsy!

Let’s set world record!(Azure functions & brainnnssssss)

Only need 2 things to set a world record...

right?

Now how do we track this?Excuse to wear a lab coat :D

Azure functionsI feel the need...the need to scale!

One HitchThere always is

How much do you think it cost?

Drum roll please...

10cSerious...I know right!