@OpherV
ReactNext
June 2023
Senior Developer
Playing video games for way longer
Programming for 23+ years
Playing guitar for 20+ years
@opherv
"Some day I'll make my own game."
1998:
2005 - Canvas
2010 - Web Workers
2011 - WebGL
2012 - Web Audio
2013 - Gamepad API
2023 - WebGPU
PROTOTYPING
Slow Roads / Anslo
ACCESSIBLE
If you follow a11y best practices, by default you're on your way to make your game accessible
Web Workers
Sockets / WebRTC / ~WebTransport
Canvas / WebGL / WebGPU
Web Storage API / IndexedDB
Gamepad API
Service Workers
React / Svelte/ Qwik
"You can use a lot of different technologies to create something that doesn't really have a lot of value"
Prince.JS / Ultrabolido & Oliver Klemenz
Q1K3 / Dominic Szablewski
(Keyboard, mouse, gamepad, motion)
(Video / Audio)
(logic, state, score, physics, collisions)
import useSound from 'use-sound';
import boopSfx from '../../sounds/boop.mp3';
const BoopButton = () => {
const [play] = useSound(boopSfx);
return <button onClick={play}>Boop!</button>;
};
https://github.com/joshwcomeau/use-sound
HTML + CSS
Athena Crisis / Christoph Nakazawa
How NOT to build a video game - Reactathon 2023 / Christoph Nakazawa
import { React } from "react";
import { createRoot } from "react-dom/client";
HTML + CSS for UI
2D/3D Renderer for game
Summoners.io / Stephen Haney
Summoners.io / Stephen Haney
Racing Game / Paul Henschel & co
Postprocessing Effects / PMND.rs
SHOE CONFIGURATOR / PMND.rs
Triplex
(Video / Audio)
Game Engine
Phaser demo: Evolb / Opher Vishnia
Vampire Survivors / Luca Galante
webgamedev.com
webgamedev.com
22 - 28 January 2024
Sept 29th -Oct 2nd 2023
22 - 28 January 2024
@OpherV