Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
The Danger Crew: Lessons Learned From Making a Video Game in React
Search
Drew Conley
August 26, 2016
1
160
The Danger Crew: Lessons Learned From Making a Video Game in React
React Rally 2016
Drew Conley
August 26, 2016
Tweet
Share
Featured
See All Featured
Producing Creativity
orderedlist
PRO
337
39k
What's in a price? How to price your products and services
michaelherold
237
11k
10 Git Anti Patterns You Should be Aware of
lemiorhan
648
58k
A designer walks into a library…
pauljervisheath
200
23k
Rails Girls Zürich Keynote
gr2m
91
13k
Side Projects
sachag
451
41k
Fashionably flexible responsive web design (full day workshop)
malarkey
398
65k
Visualization
eitanlees
136
14k
Designing the Hi-DPI Web
ddemaree
276
33k
What the flash - Photography Introduction
edds
64
11k
Adopting Sorbet at Scale
ufuk
68
8.6k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
18
6.9k
Transcript
LESSONS LEARNED FROM MAKING A VIDEO GAME IN REACT
DREW CONLEY Hello! I am
3 QUESTIONS
Chipotle
This game needs to be a “FULLY FEATURED” game, with
a deep experience and adventure The Vision
HESITATIONS • Big project. Complicated • Canvas? :/ • Deep
bugs in weird edge cases
TL;DR I was wrong.
Demo
THIS TALK IS ABOUT YOU MAKING GAMES
OVERWORLD
Maps are JSON { backgroundImage: ‘...’, walls: {...}, people: {...}
}
GRID
THE PLAYER CHARACTER <Person x={1} y={1}/>
<Person x={1} y={2}/> THE PLAYER CHARACTER
WALLS walls: {...}
jacob.svg
jacob.svg background-size background-position
jacob.svg animation: walkDown 0.4s steps(4)
None
SO LONELY :(
NPCs
overflow: visible
overflow: hidden
None
BATTLES
TURN BASED
3 STEP CYCLE 1. Players submit Actions 2. Actions are
processed by Rules -> new Game State is created 3. Players are notified of new Game State Repeat until winner is declared in new Game State
DEMONSTRATION rock, paper, scissors
State p1: { hp: 100} React Component p2: { hp:
90}
Actions are submitted p1 submits Action A p2 submits Action
B { damage: 30, accuracy: 80% } { damage: 20, accuracy: 99% }
State p1: { hp: 80} React Component p2: { hp:
90}
Rollout [ “Player A used Action A!”, “But it missed!!!”,
“Player B used Action B!”, “It did some damage!” ]
Rollout Rollout Message
It took a few tries…
It took a few tries…
It took a few tries…
Separate Application from Content
Application Consideration: What happens when a Character steps on an
icy spot?
Content Consideration: Where are the icy spots?
Benefits • Game state is perfectly recreatable • Saving/Loading •
Easy to iterate on levels design, puzzles storytelling
Demo
Go make a game!
[email protected]
thedangercrew.com @drewconley13