38
Front-End Developers Can Make Games, Too! Alicia Sedlock | @aliciability Web Unleashed 2016

Front-End Developers Can Makes Games, Too!

  • Upload
    fitc

  • View
    236

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Front-End Developers Can Makes Games, Too!

Front-End Developers Can Make Games, Too!

Alicia Sedlock | @aliciability Web Unleashed 2016

Page 2: Front-End Developers Can Makes Games, Too!

Who remembers Newgrounds?

Page 3: Front-End Developers Can Makes Games, Too!
Page 4: Front-End Developers Can Makes Games, Too!
Page 5: Front-End Developers Can Makes Games, Too!

The Web is an artistic medium

Page 6: Front-End Developers Can Makes Games, Too!
Page 7: Front-End Developers Can Makes Games, Too!

Then one day…

Page 8: Front-End Developers Can Makes Games, Too!
Page 9: Front-End Developers Can Makes Games, Too!
Page 10: Front-End Developers Can Makes Games, Too!
Page 11: Front-End Developers Can Makes Games, Too!
Page 12: Front-End Developers Can Makes Games, Too!

My first Game Jam

Page 13: Front-End Developers Can Makes Games, Too!

Oh but it gets worse…

Page 14: Front-End Developers Can Makes Games, Too!

Pure HTML & CSS Games?

Page 15: Front-End Developers Can Makes Games, Too!

Canvas

Page 16: Front-End Developers Can Makes Games, Too!

Web Sockets

Page 17: Front-End Developers Can Makes Games, Too!

var io = require(‘socket.io')(http);

io.on('connection', function(socket){ console.log('a user connected’);

socket.on('disconnect', function(){ console.log(‘user disconnected'); });

});

Page 18: Front-End Developers Can Makes Games, Too!

$(‘button.move').click(function(){ socket.emit('movement', { position: $(‘#char’).position(), character: 1 }); return false; }); … socket.on('movement', function(params){ $(‘#char' + params.character).position.left = params.position.left; $(‘#char' + params.character).position.top = params.position.top; });

Page 19: Front-End Developers Can Makes Games, Too!

WebGL

Page 20: Front-End Developers Can Makes Games, Too!

Gamepad API

Page 21: Front-End Developers Can Makes Games, Too!

window.addEventListener("gamepadconnected", function(e) { console.log(e.gamepad);

});

=> { axes: Array[4] buttons: Array[16] connected: true id: "Xbox 360 Controller (XInput STANDARD GAMEPAD)" index: 0 mapping: "standard" timestamp: 12 }

Page 22: Front-End Developers Can Makes Games, Too!

function gameLoop() { var gamepad = navigator.getGamepads()[0]; console.log(gp.buttons[0].pressed); }=> true

Page 23: Front-End Developers Can Makes Games, Too!

The World of Web Game Engines

Page 24: Front-End Developers Can Makes Games, Too!
Page 25: Front-End Developers Can Makes Games, Too!
Page 26: Front-End Developers Can Makes Games, Too!
Page 27: Front-End Developers Can Makes Games, Too!
Page 28: Front-End Developers Can Makes Games, Too!

Web games are making a comeback, this time in a different shape.

Page 29: Front-End Developers Can Makes Games, Too!

Device agnostic

Page 30: Front-End Developers Can Makes Games, Too!

Pushing technical boundries

Page 31: Front-End Developers Can Makes Games, Too!

Monetization

Page 32: Front-End Developers Can Makes Games, Too!

Beyond the Browser

Page 33: Front-End Developers Can Makes Games, Too!
Page 34: Front-End Developers Can Makes Games, Too!
Page 35: Front-End Developers Can Makes Games, Too!
Page 36: Front-End Developers Can Makes Games, Too!

So..what now?

Page 37: Front-End Developers Can Makes Games, Too!

Go forth and make games!

Thank you!

Page 38: Front-End Developers Can Makes Games, Too!

Resources and Demos

• https://horsemanity.herokuapp.com/# • https://grandmamadetoomuchcake.herokuapp.com/ • http://bug7a.github.io/hittest.js/ • http://codepen.io/collection/nWvBQJ/ • https://codepen.io/ziga-miklic/pen/Fagmh?editors=1100 • https://developer.mozilla.org/en-US/docs/Games/Tutorials/2D_Breakout_game_pure_JavaScript • https://chrome.com/supersyncsports/#/en-US/m/rsnpc • https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API/Using_the_Gamepad_API • https://github.com/neogeek/gamepad.js • http://phaser.io/learn • https://www.scirra.com/construct2 • http://boxart.github.io/