In this talk I will give you an overview of the new role that browsers are adopting to support games and the technologies and processes that are helping that happen. This includes areas like 2D graphics with canvas, console-like 3D games with WebGL, gamepad support, immersive full-screen experiences, multiplayer games with WebSockets, and much more.
El SMF es un festival innovador en su modelo, posible gracias a la colaboración de los músicos y a la aportación de empresarios de hostelería. Se desarrolla en Alcossebre, en verano. A modo de circuito, creamos una programación de unos 50 micro-conciertos, con unos 10 grupos y en 5 espacios diferentes. Lo que hacemos ahora es la base de lo que queremos hacer en un futuro
Aeronautical engineering college in mumbaishashibedu
The Sha-Shib Group has expanded to provide Aeronautical engineering in India. Aeronautical engineers work as a part of the team that maintains the aircrafts and ensures high level of technical precision. Main thrust of the engineering profession lies in design, development, maintenance & teaching of aeronautics. The engineer is designated in different areas like aerodynamics, celestial mechanics, thermodynamics and control system.
El SMF es un festival innovador en su modelo, posible gracias a la colaboración de los músicos y a la aportación de empresarios de hostelería. Se desarrolla en Alcossebre, en verano. A modo de circuito, creamos una programación de unos 50 micro-conciertos, con unos 10 grupos y en 5 espacios diferentes. Lo que hacemos ahora es la base de lo que queremos hacer en un futuro
Aeronautical engineering college in mumbaishashibedu
The Sha-Shib Group has expanded to provide Aeronautical engineering in India. Aeronautical engineers work as a part of the team that maintains the aircrafts and ensures high level of technical precision. Main thrust of the engineering profession lies in design, development, maintenance & teaching of aeronautics. The engineer is designated in different areas like aerodynamics, celestial mechanics, thermodynamics and control system.
En los últimos dos años el Software Engineering Institute (co-creador y propietario del copyright de los modelos CMMI) ha lanzado al mercado nuevos modelos CMMI. La oferta que tradicionalmente SEI ha realizado con el modelo CMMI-DEV está dirigida a la industria de la ingeniería de sistemas en general, y a la de desarrollo de sistemas software en particular.
Además de las organizaciones cuyo negocio es el desarrollo de sistemas software, existen organizaciones cuyo negocio se centra en la provisión de servicios relacionados con la operación y gestión de sistemas. Para este tipo de organizaciones SEI ha lanzado este año 2009 el modelo CMMI-SVC (CMMI para servicios).
Al mismo tiempo, existen organizaciones de otros sectores (banca, energía, telecomunicaciones, administraciones públicas) que son grandes consumidoras de sistemas software, pero que no los desarrollan sino que los subcontratan. Para este tipo de organizaciones SEI lanzó en 2008 el modelo CMMI-ACQ (CMMI para adquisiciones).
La ponencia presentará los principios que guían a todos los modelos CMMI, así como los tres modelos CMMI existentes.
Vito Gamberale, F2i - Oltre la crisi: attori e infrastrutture per lo sviluppoVito Gamberale
Slide di presentazione dell’Ing. Vito Gamberale, Amministratore Delegato di F2i – Fondi italiani per le infrastrutture, in occasione del Convegno “OLTRE la CRISI: Attori e Infrastrutture per lo SVILUPPO”, svoltosi a Cuneo presso il Castello di Grinzane Cavour, il 22 novembre 2013.
Nel corso del suo intervento, Vito Gamberale ha illustrato l’esperienza di F2i nel settore delle infrastrutture, con la creazione di filiere e campioni nazionali nei settori della distribuzione del gas, degli aeroporti, della fibra ottica sino alla creazione di un Secondo Fondo F2i, che porterà avanti la strategia avviata dal Primo Fondo F2i.
Información y matrícula: http://www.adeit.uv.es/postgrado-2010/fichabase.php?tipo=p21&codigo=10113160
I Postgrado "Gestión Empresarial de la Música", Universitat de València- ADEIT Fundació Universitat Empresa.
Un proyecto formativo único, orientado a titulados universitarios y profesionales de la industria musical interesados en adquirir o mejorar sus conocimientos para desarrollar su carrera profesional en el entorno de la Industria de la Música (discográficas, editoriales, management, producción de giras/conciertos/festivales...)
Con un equipo docente especializado, formado por profesorado de la Universitat de València y más de 30 profesionales de la Industria de la Música con una amplia experiencia en el sector.
Donde los alumnos aplicarán los conocimientos adquiridos en un entorno real, learning by doing a través de la experiencia Living Laboratory, con la cesión de artistas y profesionales por parte de las empresas colaboradoras, Warner Music Spain y Subterfuge Records.
Además, artistas nacionales e internacionales participarán en los diferentes case studies que completan el programa del curso.
Artistas confirmados: Olvido Gara "Alaska", José María Sanz "Loquillo", Juan Manuel Latorre "Vetusta Morla", Josh Rouse (EE.UU), Pau Donés "Jarabedepalo“ y Perico Sambeat.
Video de presentación: http://www.youtube.com/watch?v=8R6DuACYhVY
+INFO
Redes sociales:
Página Facebook: "Postgrado en Gestión Empresarial de la Música"
Perfil Facebook: "Post Música Universitat València"
Twitter: @postmusicauv
Content Marketing Masterclassing Week NYC with censhareIO Integration
Information creates relations. Using technology and contextual communications bridges the gap between internal and external functions. Collaboration and analytics, on any channel or device. See how top brands are utilizing censhare to optimize marketing production and create contextual customer experiences. censhare is a centralized content hub that acts as a single source of truth across analytics, product information, customer relationships, and business rules, enabling personalized communications delivered at the right time, across any channel. Unlimited connections and insightful analytics power your brand with customers on a global scale, 1:1.
Open Web Games with HTML5 & JavaScriptRobin Hawkes
In this talk Rob will highlight the key technologies and events that are going to affect open Web game development in the near future. He will also demo some of these new technologies and show how easy it is to share your game and make money from it using the open and distributed Mozilla Labs Apps project.
NY HTML5 - Game Development with HTML5 & JavaScriptRobin Hawkes
In this talk I will bring you up to speed with using HTML5 tools and techniques for game development. I will discuss some basic and advanced techniques and highlight the key lessons that I've learnt, as well as the technologies and game engines that you should be aware of.
En los últimos dos años el Software Engineering Institute (co-creador y propietario del copyright de los modelos CMMI) ha lanzado al mercado nuevos modelos CMMI. La oferta que tradicionalmente SEI ha realizado con el modelo CMMI-DEV está dirigida a la industria de la ingeniería de sistemas en general, y a la de desarrollo de sistemas software en particular.
Además de las organizaciones cuyo negocio es el desarrollo de sistemas software, existen organizaciones cuyo negocio se centra en la provisión de servicios relacionados con la operación y gestión de sistemas. Para este tipo de organizaciones SEI ha lanzado este año 2009 el modelo CMMI-SVC (CMMI para servicios).
Al mismo tiempo, existen organizaciones de otros sectores (banca, energía, telecomunicaciones, administraciones públicas) que son grandes consumidoras de sistemas software, pero que no los desarrollan sino que los subcontratan. Para este tipo de organizaciones SEI lanzó en 2008 el modelo CMMI-ACQ (CMMI para adquisiciones).
La ponencia presentará los principios que guían a todos los modelos CMMI, así como los tres modelos CMMI existentes.
Vito Gamberale, F2i - Oltre la crisi: attori e infrastrutture per lo sviluppoVito Gamberale
Slide di presentazione dell’Ing. Vito Gamberale, Amministratore Delegato di F2i – Fondi italiani per le infrastrutture, in occasione del Convegno “OLTRE la CRISI: Attori e Infrastrutture per lo SVILUPPO”, svoltosi a Cuneo presso il Castello di Grinzane Cavour, il 22 novembre 2013.
Nel corso del suo intervento, Vito Gamberale ha illustrato l’esperienza di F2i nel settore delle infrastrutture, con la creazione di filiere e campioni nazionali nei settori della distribuzione del gas, degli aeroporti, della fibra ottica sino alla creazione di un Secondo Fondo F2i, che porterà avanti la strategia avviata dal Primo Fondo F2i.
Información y matrícula: http://www.adeit.uv.es/postgrado-2010/fichabase.php?tipo=p21&codigo=10113160
I Postgrado "Gestión Empresarial de la Música", Universitat de València- ADEIT Fundació Universitat Empresa.
Un proyecto formativo único, orientado a titulados universitarios y profesionales de la industria musical interesados en adquirir o mejorar sus conocimientos para desarrollar su carrera profesional en el entorno de la Industria de la Música (discográficas, editoriales, management, producción de giras/conciertos/festivales...)
Con un equipo docente especializado, formado por profesorado de la Universitat de València y más de 30 profesionales de la Industria de la Música con una amplia experiencia en el sector.
Donde los alumnos aplicarán los conocimientos adquiridos en un entorno real, learning by doing a través de la experiencia Living Laboratory, con la cesión de artistas y profesionales por parte de las empresas colaboradoras, Warner Music Spain y Subterfuge Records.
Además, artistas nacionales e internacionales participarán en los diferentes case studies que completan el programa del curso.
Artistas confirmados: Olvido Gara "Alaska", José María Sanz "Loquillo", Juan Manuel Latorre "Vetusta Morla", Josh Rouse (EE.UU), Pau Donés "Jarabedepalo“ y Perico Sambeat.
Video de presentación: http://www.youtube.com/watch?v=8R6DuACYhVY
+INFO
Redes sociales:
Página Facebook: "Postgrado en Gestión Empresarial de la Música"
Perfil Facebook: "Post Música Universitat València"
Twitter: @postmusicauv
Content Marketing Masterclassing Week NYC with censhareIO Integration
Information creates relations. Using technology and contextual communications bridges the gap between internal and external functions. Collaboration and analytics, on any channel or device. See how top brands are utilizing censhare to optimize marketing production and create contextual customer experiences. censhare is a centralized content hub that acts as a single source of truth across analytics, product information, customer relationships, and business rules, enabling personalized communications delivered at the right time, across any channel. Unlimited connections and insightful analytics power your brand with customers on a global scale, 1:1.
Open Web Games with HTML5 & JavaScriptRobin Hawkes
In this talk Rob will highlight the key technologies and events that are going to affect open Web game development in the near future. He will also demo some of these new technologies and show how easy it is to share your game and make money from it using the open and distributed Mozilla Labs Apps project.
NY HTML5 - Game Development with HTML5 & JavaScriptRobin Hawkes
In this talk I will bring you up to speed with using HTML5 tools and techniques for game development. I will discuss some basic and advanced techniques and highlight the key lessons that I've learnt, as well as the technologies and game engines that you should be aware of.
HTML5 Technologies for Game Development - Web Directions CodeRobin Hawkes
With Angry Birds, Cut the Rope and other blockbuster games now working in modern web browsers, it’s fair to say native, browser based gaming has arrived for real. But how do they do it? In the session, Mozilla Technical Evangelist Rob Hawkes looks at the features now in your browsers to help develop games (and other interactive web based experiences) including canvas and WebGL, HTML5 Audio, Pointer Lock and the Gamepad API.
Tomorrow's Web and Future Technologies - WDC2011Robin Hawkes
The future of the Web is awesome, it's as simple as that. Just think about it, we'll soon have the ability to construct an entire phone OS with HTML5 and JavaScript. Now that is seriously cool! But what are the technologies that are coming, and which ones should you be keeping an eye on? In this session, Rob will give you an insight into the future of the Web, highlighting some the key technologies that are moving it into a new era.
Open Web Apps and the Mozilla Labs Apps projectRobin Hawkes
In this talk Rob will introduce the Mozilla Labs Apps project and the related technologies that are helping it happen. The aim of this project is to produce an apps eco-system on the Web that uses open technologies and gives developers and users the freedom to sell and use apps in the way they want.
Aside from the conceptual issues that this project tackles, Rob will also cover some of the JavaScript APIs that are being worked on to provide the necessary functionality for apps. It is these APIs that allow developers to create an immersive experience within their apps that they wouldn't have been able to achieve in the browser until now.
Targeting Screens with HTML5, Flash & NativeEric Fickes
HTML5 will connect devices in a similar fashion XML connected systems back in 2000. The target isn't just web and desktop anymore. Soon software developers will be targeting screens: desktop monitor, smartphone monitor, and TV. On the web, HTML5 will be the common platform, but we'll still need the Flash Platform.
This presentation will talk about where we have been and also where we are likely to go in the future. Developers will need to know when to use HTML5, when to use Flash and Flex, and when to use Native. This presentation will steer you in the right direction.
My talk at the Scandinavian Developer Conference 2010 about following the wrong principles and getting too excited about shiny demos rather than building things that work and proving our technologies as professional tools.
Similar to MDN Hackday London - Open Web Games with HTML5 & JavaScript (17)
ViziCities - Lessons Learnt Visualising Real-world Cities in 3DRobin Hawkes
ViziCities is an open-source 3D city visualisation platform powered by JavaScript, WebGL and many other cutting-edge Web technologies. Think SimCity meets the real world!
In this talk, Robin Hawkes, ViziCities’ creator will highlight the development issues experienced along the way and show you how he overcame them – ranging from how you tackle the realtime processing of thousands of 3D buildings without locking up the browser, to how you visualise the entire world without needing a server or your own geographic data source.
Understanding cities using ViziCities and 3D data visualisationRobin Hawkes
ViziCities is an open-source 3D city visualisation platform powered by open data, WebGL and many other cutting-edge Web technologies. ViziCities not only allows you to explore any city in the world in 3D in your browser, it also lets you overlay data like live transport, crime, pollution, live social data, and weather. Think SimCity meets the real world!
In this talk, Robin Hawkes, ViziCities’ founder will introduce you to the project and demonstrate its powerful methods for visualising the complex data locked within our cities.
WebVisions – ViziCities: Bringing Cities to Life Using Big DataRobin Hawkes
Imagine being able to explore any city in the world in 3D in your browser. Now imagine being able to overlay data onto your city - transport, crime, pollution, social data and weather - all live and in real time…and it was open source!
In this session Peter and Robin will talk about how they're creating ViziCities, an open-source, 3D visualisation platform, combining cutting-edge web technologies with open data to create beautiful visualisations. If you can’t imagine it…imagine SimCity for real life.
We’ll discuss the power that new types of visualisation present for all of us to better see, understand and make decisions in our worlds.
We’ll guide you through the technologies we're using, including D3 and WebGL, the design approach we’re using and share some important lessons learnt along the way.
By the end, we hope to have inspired you to start experimenting with these technologies to create beautiful visualisations of your own.
Understanding cities using ViziCities and 3D data visualisationRobin Hawkes
ViziCities is an open-source 3D city visualisation platform powered by OpenStreetMap, WebGL and many other cutting-edge Web technologies. ViziCities not only allows you to explore any city in the world in 3D in your browser, it also lets you overlay data like live transport, crime, pollution, live social data, and weather. Think SimCity meets the real world!
In this talk, Robin Hawkes, ViziCities' co-creator and Lead Developer will introduce you to the project and demonstrate its powerful methods for visualising the complex data locked within our cities.
ViziCities: Creating Real-World Cities in 3D using OpenStreetMap and WebGLRobin Hawkes
ViziCities is an open-source 3D city visualisation platform powered by OpenStreetMap, WebGL and many other cutting-edge Web technologies. Think SimCity meets the real world!
In this talk, Robin Hawkes, ViziCities' co-creator and Lead Developer will highlight the development issues experienced along the way and show you how he overcame them – ranging from how you tackle the realtime processing of thousands of 3D buildings without locking up the browser, to how you visualise the entire world without needing a server or your own geographic data source.
In this talk, I introduce D3.js as a powerful tool for beautiful data visualisation in the browser. I highlight some particularly impressive visualisations created using D3.js, and also look into some of the more obscure things it can be used for.
WebRTC brings peer-to-peer networking to the browser, and it's here to stay. So what is WebRTC? How does it work? How do you use it? And what are others doing with it? In this talk, Rob covers the current state of WebRTC, outlines how to use it, and shows off some of the amazing things that it can do beyond video chat.
Bringing Cities to Life Using Big Data & WebGLRobin Hawkes
We're creating ViziCities - a 3D city-visualisation platform using WebGL (Three.js) and a raft of other amazing technologies. We'll talk about how we're doing it all with open, big-data, the awesome possibilities that presents and how we've overcome the problems along the way. Think SimCity meets the real world!
Sign up for the beta at http://vizicities.com
MDN Hackday London - Boot to Gecko: The Future of MobileRobin Hawkes
In this talk Rob will outline Mozilla’s Boot to Gecko project that aims to revolutionise the way we develop for mobile devices. I’ll highlight the key technologies involved in its creation and explain why a mobile experience created with HTML and JavaScript is a good idea.
Geek Meet - Boot to Gecko: The Future of Mobile?Robin Hawkes
In this talk I will outline Mozilla’s Boot to Gecko project that aims to revolutionise the way we develop for mobile devices. I’ll highlight the key technologies involved in its creation and explain why a mobile experience created with HTML and JavaScript is a good idea.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Let's dive deeper into the world of ODC! Ricardo Alves (OutSystems) will join us to tell all about the new Data Fabric. After that, Sezen de Bruijn (OutSystems) will get into the details on how to best design a sturdy architecture within ODC.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
MDN Hackday London - Open Web Games with HTML5 & JavaScript
1. ES
M t
A rip
G
B avaSc
E
W L5 & J es
EN TM bH
aw
k
OP ing H Ro
s U
Hi, I’m Rob Hawkes and I’m here today to talk about creating games on the open Web using
HTML5 and JavaScript.
2. I work at Mozilla, a non-profit fighting for a better Web. The guys who make Firefox.
Unsure about how much I like Mozilla? This here is a beautiful chicken and leek pie with extra
Firefox goodness.
It was made by my talented girlfriend and it was delicious.
3. I’m not sure how much time we’ll have for questions at the end, but feel free to grab me in
person after the talk or on Twitter.
These slides will go online after this talk.
I’ll put all the details up at the end.
4. Before we move on I just have a quick disclaimer.
This whole talk is about HTML5 and JavaScript as technologies for the creation of games.
They’re technologies that are intrinsically linked to each other by nature, but saying HTML5
and JavaScript every single time makes my head hurt.
So instead I’ll just be saying HTML5.
Just bear in mind that whenever I mention HTML5 I’m also referring to JavaScript as well.
5. So let’s go back in time for a moment.
Now I don’t actually remember when I first started playing computer games, although I know
that I started with consoles.
6. My first experience was with the ZX Spectrum and its amazing noises and epic loading times,
which I sorely miss…
7. Then there was the SNES, which really got me addicted to gaming.
Although it turns out my SNES was stolen when I was a kid. I did wonder where it went…
8. My parents replaced it with the Megadrive which, although not quite as awesome, was just as
fun.
From there it has been a constant stream of consoles, each smashing the performance and
functionality of its predecessor.
The N64, the Gamecube, the Dreamcast, the Playstation, the xBox.
You get the idea…
9. And spread throughout that time I dabbled in PC gaming, starting with games like Sim City…
11. And playing multiplayer Doom at my Dad’s Internet cafe.
What I’m getting at here is that gaming has been a big part of my life growing up, as it has
been with a lot of other people as well.
They’re fun to play, and they’re surprisingly fun to make.
12. ow
is n
e cool
tim thing
he om
e
T do
fs
ol
resh
Th
Today we’re now on the threshold of something cool; being able to create awesome and
addictive games with nothing more than the technologies that we normally use to make
websites, namely HTML5 and JavaScript.
Since I began developing on the Web I really can’t remember a time when so many people are
working together to achieve something like this.
13. es
g a m
ing ples
ist exam
Ex he
be
st
ft
eo
Som
The number of HTML5 games out there is growing every day.
I’d show you a selection of my favourites, just a tiny amount of what’s out there.
15. Cut The Rope
Cut The Rope, ported from iOS.
http://www.cuttherope.ie
16. Bejeweled
Bejeweled is a massively popular game on a whole variety of platforms.
Popcap recently released a purely HTML5 version.
http://bejeweled.popcap.com/html5
17. Command & Conquer
Command & Conquer: Tiberium Alliances is a HTML5 game from EA that is part real-time
strategy, part Farmville.
http://alliances.commandandconquer.com
18. GT Racing
GT Racing: Motor Academy is a 3D racing game by Gameloft and Mandreel.
http://www.mandreel.com/?page_id=1312
19. BrowserQuest
BrowserQuest is a massively-multiplayer RPG that Mozilla recently launched to the public.
It works great on mobile and desktop devices but what’s even better is that, aside from being
an addictive game, the entire source code is on GitHub.
http://browserquest.mozilla.org
https://github.com/mozilla/BrowserQuest
http://hacks.mozilla.org/2012/03/browserquest/
20. It’s clear that HTML5 is something that is really becoming a contender for games on the Web.
It’s an open technology stack that is plugin-less, doesn’t require compilation, and works the
same across devices and platforms.
21. g y
o lo
chn es
Te L5g
am
TM
fH
so
cene
s
he
dt
hin
Be
There are a few key technologies that are involved in the development of HTML5 games.
Here are some of my favourites.
22. vas
an
C tfo
rm
pla
ics
raph
g
2D
Canvas is a 2D graphics platform that uses both HTML5 and JavaScript.
It’s quite amazing what can be done with such simple drawing and image manipulation tools.
https://developer.mozilla.org/en/HTML/Canvas
23. Silk is a stunning example of what can be achieved by combining the simple drawing tools
available in canvas.
http://weavesilk.com
24. Canvas
<canvas id='myCanvasElement' width='400' height='400'></canvas>
Using canvas is very straight forward.
The first thing you need to do is add a canvas DOM element to your HTML page.
25. Canvas
var canvas = document.getElementById('myCanvasElement');
var ctx = canvas.getContext('2d');
ctx.fillStyle = "rgb(200,0,0)";
ctx.fillRect(10, 10, 55, 50);
ctx.fillStyle = "rgba(0, 0, 200, 0.5)";
ctx.fillRect(30, 30, 55, 50);
From there you can then access the canvas through JavaScript to draw on it and do other cool
stuff.
This is small canvas demo that draws a solid red square underneath a blue one with half
transparency.
‘myCanvasElement’ refers to a HTML <canvas> element that you’ll need to place in your
HTML file somewhere. In this example, I’m assuming that you’ve already done that.
26. GL
eb
W form
lat
sp
hic
grap
3D
WebGL brings the ability to provide advanced 3D graphics directly within the browser.
https://developer.mozilla.org/en/WebGL
27. HelloRacer is a little game that lets you drive a Formula One car around your browser. It’s a
beautiful example of WebGL in action.
http://helloracer.com/webgl/
28. Rome is a music video created with WebGL. It’s an amazing example of what the technology
can achieve in a real-world situation given a large team.
http://ro.me
29. Tinkercad is probably the best use of WebGL that I’ve seen in a production situation.
It’s a Web app that allows you to create 3D objects in your browser using WebGL, then get
them printed and sent to your doorstep in just a few simple clicks. It’s seriously awesome.
https://tinkercad.com
30. Both Google Maps and Nokia have recently added support for WebGL. The Nokia version is
particularly impressive because they fully render and texture 3D shapes of buildings.
http://support.google.com/maps/bin/answer.py?hl=en&answer=1630790
http://maps.nokia.com/webgl/
31. I’m not going to lie, WebGL isn’t the easiest thing to learn. Then again, no raw 3D code is
that simple.
Instead, I recommend checking out a library called three.js which abstracts WebGL and makes
it much easier to implement.
https://github.com/mrdoob/three.js/
32. m e
Fra
on ps
ati ati
on
loo
nim d anim
estA timise
qu Op
re
requestAnimationFrame is the new, better way of managing animation in JavaScript.
Instead of constantly running a setTimeout or setInterval function, which lack performance
and spike CPU usage, requestAnimation frame puts the browser in control of things and
keeps things running smoothly.
Right now you can’t easily set a specific framerate when using requestAnimationFrame but so
long as you use time-based updates (not frame-based) in your game then you’ll be fine.
33. requestAnimationFrame
function update(timestamp) {
// DO SOMETHING
window.mozRequestAnimationFrame(update);
}
window.mozRequestAnimationFrame(update);
In this example, I’m only using the Mozilla prefixed version of requestAnimationFrame. In
reality, there’s a really good shim by Paul Irish that handles cross-browser
requestAnimationFrame.
http://paulirish.com/2011/requestanimationframe-for-smart-animating/
34. d io
a u
L5 usic
TM nd
m
H grou
ck
ba
nd
ctsa
effe
nd
Sou
HTML5 audio allows for plugin-less game sound effects and background music.
Audio data APIs implemented by Mozilla and Google allow for manipulation of audio and
much more fine-grained control.
https://developer.mozilla.org/en/HTML/Element/audio
35. This is something I made especially for the ASSEMBLY 2011 event in Finland.
It’s an audio visualiser that uses WebGL and the HTML5 Audio Data API.
http://robhawkes.github.com/webgl-html5-audio-visualiser/
36. Audio
<audio id='myAudioElement' controls>
<source src='audiofile.ogg' type='audio/ogg'>
</audio>
Like canvas, using audio is also straight forward.
The first thing you need to do is add an audio DOM element to your HTML page.
37. Audio
var audio = document.getElementById('myAudioElement');
audio.play();
audio.pause();
From there you can then access the audio element through JavaScript to control it.
38. e ts
ock
bS ation
e
W omm un
ic
yerc
ltipla
Mu
WebSockets can be used for the real-time communication between a player and the game
server.
With WebSockets you can create multiplayer games with relative ease.
https://developer.mozilla.org/en/WebSockets
39. WebSockets
var ws = new WebSocket('http://example.com/socketserver');
ws.send('This message is sent to the WebSocket server');
ws.onmessage = function (event) {
console.log(event.data);
}
WebSockets are created entirely from JavaScript without the need to add elements to the
HTML page.
A new WebSocket connection can be opened by calling the ‘new WebSocket’ constructor and
passing it the URL to the WebSocket server.
From there you can call the ‘send’ method to push data to the server.
Or listen for the ‘onmessage’ event to handle data pushed to you from the server.
40. PI
n A
re e ul
Sc we
rf
ull et
po
F im
ple
,y
S
The Full Screen API allows you to expand any HTML element to fill the users screen, even if
the browser isn’t running full screen itself.
For games, this is great because you can make the small canvas element fill the entire screen.
Outside of games, this is useful for video elements and Web applications.
https://bugzilla.mozilla.org/show_bug.cgi?id=545812
http://blog.pearce.org.nz/2011/09/mozilla-full-screen-api-progress-update.html
https://wiki.mozilla.org/Platform/Features/Full_Screen_APIs
41. Full Screen API
var canvas = document.getElementById('myCanvasElement');
canvas.mozRequestFullScreen();
The Full Screen API can be requested from any DOM element.
In this example you’re asking a canvas element to expand to fill the screen.
One thing to note is that you can’t just make any element fill the screen whenever you want.
Right now, the user has to click or press a key to initiate the Full Screen API.
42. P I
A
o ck ace
r L pl
te ne
oin rso
rino
P cu
he
gt
ockin
L
The Pointer Lock API is an attempt at improving the mouse as an input device.
It would be used in situations like games and 3D visualisations where the mouse position
rotates or moves you around a 3D space.
As it stands there’d still be a cursor moving around the screen causing all sorts of trouble
when you want to click on something in your game.
With the new API you can lock your mouse position and stop it from getting in the way and
being a nuisance.
Both Google and Mozilla are working on an implementation of this right now, it’s available in
a custom build of Firefox.
https://developer.mozilla.org/en/API/Pointer_Lock_API
https://bugzilla.mozilla.org/show_bug.cgi?id=633602
43. Full Screen API
var canvas = document.getElementById('myCanvasElement');
canvas.mozRequestPointerLock();
The Pointer Lock API can be requested from any DOM element that is already in full screen.
44. P I
d A
p a eb
me he
W
Ga et
ot
ol
ns co
he
gt
gin
Brin
The Gamepad API is one of the major improvements to input that is coming.
Both Mozilla and Google are working an an implementation of this and there is actually an
experimental build of Firefox available to the public that has it working. The API is also in the
dev build of Chrome.
What I find most interesting about the Gamepad API is that it might be just the thing we need
to finally justify HTML5 gaming on a TV or console.
Who wants to use a keyboard and mouse while sitting on the sofa?
https://wiki.mozilla.org/GamepadAPI
http://www.gamepadjs.com
https://github.com/jbuck/input.js
45. Gamepad API demo
I’d like to show you a quick demo of the Gamepad API working in Firefox Nightly and Google
Chrome.
In this example I’ve connected my Logitech controller to my Mac, but I could also use a PS3
controller or practically any other USB controller.
46. This is another little demo that I put together to show off the Gamepad API implemented in
my game Rawkets.
47. Connection
function onGamepadConnected(e) {
var controller = e.gamepad;
console.log("Gamepad connected", controller.id);
}
window.addEventListener("MozGamepadConnected",
onGamepadConnected);
MozGamepadConnected
It passes an event object that itself contains a gamepad object in reference to the connected
gamepad.
48. Disconnection
function onGamepadDisconnected(e) {
var controller = e.gamepad;
console.log("Gamepad disconnected", controller.id);
}
window.addEventListener("MozGamepadDisconnected",
onGamepadDisconnected);
MozGamepadDisconnected
It passes an event object that itself contains a gamepad object in reference to the
disconnected gamepad.
49. Button events
function onGamepadButtonDown(e) {
var button = e.button;
console.log("Gamepad button pressed", button);
}
function onGamepadButtonUp(e) {
var button = e.button;
console.log("Gamepad button released", button);
}
window.addEventListener("MozGamepadButtonDown", onGamepadButtonDown);
window.addEventListener("MozGamepadButtonUp", onGamepadButtonUp);
MozGamepadButtonDown
MozGamepadButtonUp
Each pass an event object that contains a button property.
The button property is the index number of the specific button, respective to the entire array
of buttons on the gamepad.
50. Axis events
function onGamepadAxisMove(e) {
var axis = e.axis;
var value = e.value;
console.log("Gamepad axis move", axis, value);
}
window.addEventListener("MozGamepadAxisMove", onGamepadAxisMove);
MozGamepadAxisMove is fired on movement of a joystick or analogue trigger.
Passes an event object that contains axis and value properties.
The axis property is the index number of the specific axis that was moved, respective to the
entire array of axes on the gamepad.
The value property is a -1.0 to 1.0 float. For example, an x-axis on a joystick when fully
pressed to the left would have a -1.0 value.
51. Gamepad state
function checkState() {
for (var i = 0; i < controller.buttons.length; i++) {
console.log("Button state", i, controller.buttons[i]);
}
for (var j = 0; j < controller.axes.length; j++) {
console.log("Axis state", j, controller.axes[j]);
}
}
If you don’t want to use events you can also poll the entire gamepad state whenever you
want.
The only pre-requisite is that a gamepad is already connected and you’ve stored a reference
to it somewhere, perhaps in a variable or array.
Once you have reference to a gamepad you get the state by reading its buttons and axes
objects. These are both arrays that contain data about every single button and axis available.
The value of each button in the buttons array is a boolean that tells you whether the button is
pressed down (true) or not (false).
The value of each axis in the axes array is a -1.0 to 1.0 float that tell you exactly where a
joystick is or how far a trigger has been pulled.
52. P I
n A
a t io es
n t de
vic
ri e ob
ile
n O on
m
ree ha
ve
Sc M ust-
The Screen Orientation API allows you to do things like changing and locking, you guessed it,
the orientation of the screen.
Before now, it’s been incredibly difficult to lock orientation on a website or game using
nothing but JavaScript.
https://bugzilla.mozilla.org/show_bug.cgi?id=740188
http://dvcs.w3.org/hg/screen-orientation/raw-file/default/Overview.html
53. Screen Orientation API
screen.mozLockOrientation('landscape');
The Screen Orientation API is another relatively simple one.
It just landed in Firefox Nightly on mobile.
All you need to do is call the ‘lockOrientation’ method of the screen object and pass it a
orientation string.
It’s important to note that you also need to be using the Full Screen API for the orientation
lock to work.
54. n s
tio
plica bsite
ap yw
e
eb ta
fanc
W ot jus
N
The concept of Web apps is something that is gaining a lot of traction at the moment.
HTML5 games are effectively glorified Web apps.
It’s no doubt this this traction is as a result of the success of native applications and games
on the desktop and mobile, particularly with iOS and Android.
55. It’s something we’re spending a lot of time on at Mozilla.
We envisage Web apps to run on any device, any browser, and to be distributed through any
store or website.
https://apps.mozillalabs.com
https://developer.mozilla.org/en/OpenWebApps
56. nce
erie
exp scre
en
like ho
me
p- op
or
Ap eskt
thed
from
ch
un
La
Something that needs to be tackled with Web apps is how to make them feel like real
applications rather than glorified websites.
One way that is being considered is completely removing the browser chrome and running
the application in it’s own window.
This will effectively mean that you have full control of the app UI and it won’t look like it’s
being run in a browser.
57. At Mozilla we call this WebRT, which stands for Web Run-Time.
By using WebRT you can install a Web app directly into the OS just like you would a native
application.
The WebRT app will look and feel like a native application when launched but will actually be
running a browser rendering engine behind the scenes.
58. e s
gin
e n ay
e
m game st
od
Ga
ML5
HT
te
Crea
If you haven’t already then I encourage you to give HTML5 game development a go.
And you don't have to create an entire game infrastructure from scratch, you can use some of
the existing engines that are proving popular.
59. Impact. A 2D game engine.
I used this recently, and it’s really well made and has a good level editor and development
tools.
The documentation is great and the author is active and very helpful.
http://impactjs.com/
60. Crafty. Another 2D game engine.
It’s a free engine and is doing much better than other free engines out there.
http://craftyjs.com/
61. Isongenic Engine. A 2D to 2.5D game engine.
One of the most promising engines out there today.
Massively multiplayer networking built in, uses Node and MongoDB, and has canvas or DOM-
based graphics.
http://www.isogenicengine.com
62. u p
g
in zon
eep ri
K e ho
th
ff on
tu
uchs
m
So
I’ve really only touched the tip of the iceberg here.
There is much more coming in the near future.
Here are a few ways to keep up with things and get yourself prepared, particularly the things
happening at Mozilla.
63. Are We Fun Yet?
https://wiki.mozilla.org/Platform/AreWeFunYet
64. Firefox Aurora
“Get a first look at the latest developer tools, security features and innovative HTML5 and
other Web technologies.”
http://www.mozilla.org/en-US/firefox/channel/#aurora
66. Rob Hawkes
@robhawkes
Rawkes.com
Personal website and blog
RECENT PROJECTS MORE COOL STUFF
Twitter sentiment analysis Rawket Scientist
Delving into your soul Technical Evangelist at Mozilla
Rawkets.com Slides
HTML5 & WebSockets game slideshare.net/robhawkes
Get in touch with me on Twitter: @robhawkes
Follow my blog (Rawkes) to keep up to date with stuff that I’m working on: http://
rawkes.com
I’ve recently worked on a project that analyses sentiment on Twitter: http://rawkes.com/
blog/2011/05/05/people-love-a-good-smooch-on-a-balcony
Rawkets is my multiplayer HTML5 and JavaScript game. Play it, it’s fun: http://rawkets.com
These slides are online at slideshare.net/robhawkes