HTML5 Game Development frameworks overview

TECHNICAL PRESENTATION
Merkur Gaming India Pvt. Ltd.
Noida.
For : Online Gaming Team
Presented By :
Abhishek Singhal
Senior Developer
Online Gaming Team
HTML Gaming Frameworks
Insight
● JavaScript 3D game engines is a hot topic right now with everyone
building browser based 3D games using JavaScript, HTML5 and
WebGL technology. The best thing about browser based games is
platform independence they bring in and run on iOS, Android,
Windows or any other platform.
● There are tons of JavaScript resources out there that can be used for
building browser based games using HTML5 and WebGL. However,
selecting the right gaming engine can be a real challenge at times
and can end up making or breaking your project.
HTML Gaming Frameworks
Insight
● Construct 2 is an HTML5 game maker, meaning you are not actually writing JavaScript.
Instead, you use actions, events and conditions to do the heavy lifting.
● The engine is heavily tested and used. It has a very active community and new releases
weekly.
HTML Gaming Frameworks
Insight
CONSTRUCT 2 :
IMPACT JS :IMPACT JS :
● ImpactJS is one of the more tested-and-true HTML5 game engines with the initial release all
the way back at the end of 2010. It is very well maintained and updated, and has a good-sized
community backing it. There exists plenty of documentation.
● ImpactJS is designed to work on all devices, including mobile, and has the Ejecta Framework
for publishing games to the iOS App Store with native-like performance.
● The engine includes both a level editor, and debug tools for much faster creation of games
EaselJS :
● EaselJS provides a display list to allow you to work with display elements on a canvas as
nested objects. It also provides a simple framework for providing shape based mouse
interactions on elements in the display list.
Phaser :
● Phaser is based heavily on Flixel. It is maintained by Richard Davey (Photon Storm) who has
been very active in the HTML5 community for years.
● The engine is relatively new, but has been actively maintained.
● EaselJS is part of a suite called CreateJS, which includes tools for sounds, preloading,
and tweening.
● The engine is a good choice if you come from a Flash/AS3 background as it is inspired by
Flash.
HTML Gaming Frameworks
Insight
Three.js :
Voxel.js :
● If you are developing a 3d game, this is probably the engine for
you.
● voxel.js makes it easy to create 3d voxel games (a la Minecraft). It requires webGL to run.
● The engine is frequently updated and maintained, and offers tools for everything from physics
to user interface to networked multiplayer - all via separate modules.
PlayCanvas :
● PlayCanvas is a cloud-based HTMl5 game engine and editor for 3D games, with a focus on
real-time collaboration.
● Three.js is currently the most widely used 3D/WebGL game engine, developed and maintained
by Mr. doob and AlteredQualia. The goal is to take the complicated webGL bindings and tack on
an easy-to-use framework on top of it.
HTML Gaming Frameworks
Insight
HEART OF THE GAME – THE GAME LOOP
All the code that makes the game interactive and dynamic goes in the game loop, but is separated
into different pieces. The game loop itself is a controlled infinite loop that makes your game keep
running; it's the place where all your little pieces will be updated and drawn on the screen.
When everything is properly updated and ready, we enter the draw phase where all this
information is put on the screen. This function should contain all the code to manage and
draw the levels, layers, chars, HUD and so on.
Initialize, Update and Draw :-
The game loop is the central code of your game, split into different parts. Generally, these
are: initialize, update and draw.
The initialize phase is used to do any necessary game setup and prepare the environment for
the update and draw phases. Here you should create your main entities, prepare the menu,
detect default hardware capabilities, and so on.
The main purpose of the update phase is to prepare all objects to be drawn, so this is where all
the physics code, coordinate updates, health points changes, char upgrades, damage dealt and
other similar operations belong. This is also where the input will be captured and processed.
In many ways a 2D game and a 3D are identical.
You need input, entities to represent the game world, a rendering loop and so on.
But...
3D requires a different set of disciplines to make the art assets and get them on screen.
3D art needs geometry, which is then UV-wrapped in textures.
To render the scene needs a more sophisticated scene hierarchy (probably a tree).
The representation of orientations needs matrices or quaternions (or both). We need to consider
lighting in a different way.
We need a 3D API like OpenGL to leverage hardware rendering.
And there are problems to solve relating to the size and complexity of the world. In a 2D screen,
only a segment of the world is visible, in a 3D setup it is possible to imagine a location from where
the entire world is visible. Drawing everything could be bad for performance.
DIFFERENCE in 2D and 3D
Game Development
BENEFITS
Cross-platform
This is the main feature why developers have originally turned into web technologies looking to fulfil
the promise of coding once and deploy everywhere. As some of the other advantages of the web,
cross-platform is in its nature, as it is meant to run on any device (hardware) and operating system
(software).
Based on open standards
This is more important than meets the eye. There have been various technologies in the past that
made the cross-platform promise but did not completely deliver. Amongst other reasons, they failed
because of being closed and tied to a specific company. Open standards allow both vendors and
developers to contribute and improve the final product. This is one of the key success factors of the
web. There is no head controlling it so it can evolve according to the needs and interests of many.
Full technology stack HTML5 in itself is a full technology stack.
CHALLENGES
Cross-platform is more than devices and operating systems
Cross-platform does not really mean same code or user interface/user experience
Low performance, especially on mobile
Access to the native features on each platform
EXAMPLES
HEXGL CrossCode
Treasure_Arena Swoop
THANK
YOU !
1 de 12

Recomendados

Imaginecup por
ImaginecupImaginecup
ImaginecupChiheb Chebbi
363 visualizações31 slides
Develop Games With Cocos Creator - A Game Engine By Cocos por
Develop Games With Cocos Creator - A Game Engine By CocosDevelop Games With Cocos Creator - A Game Engine By Cocos
Develop Games With Cocos Creator - A Game Engine By CocosLuke Stapley
242 visualizações23 slides
Android Application And Unity3D Game Documentation por
Android Application And Unity3D Game DocumentationAndroid Application And Unity3D Game Documentation
Android Application And Unity3D Game DocumentationSneh Raval
13.7K visualizações21 slides
Unity Game Engine por
Unity Game EngineUnity Game Engine
Unity Game EngineVardan Meliksetyan
413 visualizações26 slides
Unity Game Engine - Basics por
Unity Game Engine - BasicsUnity Game Engine - Basics
Unity Game Engine - BasicsFirosK2
191 visualizações46 slides
Visual Studio tips and tricks to boost your productivity – Unite Copenhagen 2019 por
Visual Studio tips and tricks to boost your productivity – Unite Copenhagen 2019Visual Studio tips and tricks to boost your productivity – Unite Copenhagen 2019
Visual Studio tips and tricks to boost your productivity – Unite Copenhagen 2019Unity Technologies
522 visualizações34 slides

Mais conteúdo relacionado

Mais procurados

What's new in Shader Graph: ready for production – Unite Copenhagen 2019 por
What's new in Shader Graph: ready for production – Unite Copenhagen 2019What's new in Shader Graph: ready for production – Unite Copenhagen 2019
What's new in Shader Graph: ready for production – Unite Copenhagen 2019Unity Technologies
1.4K visualizações31 slides
Introduction to android (and mobile) game development por
Introduction to android (and mobile) game developmentIntroduction to android (and mobile) game development
Introduction to android (and mobile) game developmentRuslan Novikov
3.5K visualizações23 slides
Software Engineer- A unity 3d Game por
Software Engineer- A unity 3d GameSoftware Engineer- A unity 3d Game
Software Engineer- A unity 3d GameIsfand yar Khan
3.8K visualizações27 slides
DIY Mobile VR with Unity 3d & Cardboard SDK por
DIY Mobile VR with Unity 3d & Cardboard SDKDIY Mobile VR with Unity 3d & Cardboard SDK
DIY Mobile VR with Unity 3d & Cardboard SDKBond University
2K visualizações15 slides
Final project report of a game por
Final project report of a gameFinal project report of a game
Final project report of a gameNadia Nahar
122.2K visualizações95 slides
Developing Virtual Reality Application using Google Cardboard por
Developing Virtual Reality Application using Google CardboardDeveloping Virtual Reality Application using Google Cardboard
Developing Virtual Reality Application using Google Cardboardapurvmmmec
1.1K visualizações13 slides

Mais procurados(20)

What's new in Shader Graph: ready for production – Unite Copenhagen 2019 por Unity Technologies
What's new in Shader Graph: ready for production – Unite Copenhagen 2019What's new in Shader Graph: ready for production – Unite Copenhagen 2019
What's new in Shader Graph: ready for production – Unite Copenhagen 2019
Unity Technologies1.4K visualizações
Introduction to android (and mobile) game development por Ruslan Novikov
Introduction to android (and mobile) game developmentIntroduction to android (and mobile) game development
Introduction to android (and mobile) game development
Ruslan Novikov3.5K visualizações
Software Engineer- A unity 3d Game por Isfand yar Khan
Software Engineer- A unity 3d GameSoftware Engineer- A unity 3d Game
Software Engineer- A unity 3d Game
Isfand yar Khan3.8K visualizações
DIY Mobile VR with Unity 3d & Cardboard SDK por Bond University
DIY Mobile VR with Unity 3d & Cardboard SDKDIY Mobile VR with Unity 3d & Cardboard SDK
DIY Mobile VR with Unity 3d & Cardboard SDK
Bond University2K visualizações
Final project report of a game por Nadia Nahar
Final project report of a gameFinal project report of a game
Final project report of a game
Nadia Nahar122.2K visualizações
Developing Virtual Reality Application using Google Cardboard por apurvmmmec
Developing Virtual Reality Application using Google CardboardDeveloping Virtual Reality Application using Google Cardboard
Developing Virtual Reality Application using Google Cardboard
apurvmmmec1.1K visualizações
Car racing game for android por ravijot singh
Car racing game for androidCar racing game for android
Car racing game for android
ravijot singh2.8K visualizações
Final year project presentation por SulemanAliMalik
Final year project presentationFinal year project presentation
Final year project presentation
SulemanAliMalik1.6K visualizações
Unite Los Angeles 2018 - Unity 2019 R&D Roadmap por Unity Technologies
Unite Los Angeles 2018 - Unity 2019 R&D RoadmapUnite Los Angeles 2018 - Unity 2019 R&D Roadmap
Unite Los Angeles 2018 - Unity 2019 R&D Roadmap
Unity Technologies4.9K visualizações
Optimizing Apps for Better Performance por Elif Boncuk
Optimizing Apps for Better PerformanceOptimizing Apps for Better Performance
Optimizing Apps for Better Performance
Elif Boncuk1.6K visualizações
Android Fish Game Development por Rasel Khan
Android Fish Game Development Android Fish Game Development
Android Fish Game Development
Rasel Khan2.2K visualizações
【Unite 2017 Tokyo】NVIDIA Gameworks アップデートおよびAnselとVRWorksの紹介 por Unity Technologies Japan K.K.
【Unite 2017 Tokyo】NVIDIA Gameworks アップデートおよびAnselとVRWorksの紹介【Unite 2017 Tokyo】NVIDIA Gameworks アップデートおよびAnselとVRWorksの紹介
【Unite 2017 Tokyo】NVIDIA Gameworks アップデートおよびAnselとVRWorksの紹介
Unity Technologies Japan K.K.270 visualizações
Game salad evaluation por Ryan Worcester
Game salad evaluationGame salad evaluation
Game salad evaluation
Ryan Worcester351 visualizações
Construct 2 ggj 2013 por Chiheb Chebbi
Construct 2 ggj 2013Construct 2 ggj 2013
Construct 2 ggj 2013
Chiheb Chebbi2.3K visualizações
Before starting android game development por Being Programmer
Before starting android game developmentBefore starting android game development
Before starting android game development
Being Programmer2K visualizações
Game Development Step by Step por Bayu Sembada
Game Development Step by StepGame Development Step by Step
Game Development Step by Step
Bayu Sembada24K visualizações
Using High-Rising Cities to Visualize Performance in Real-Time por Hideaki Hata
Using High-Rising Cities to Visualize Performance in Real-TimeUsing High-Rising Cities to Visualize Performance in Real-Time
Using High-Rising Cities to Visualize Performance in Real-Time
Hideaki Hata351 visualizações
Video game design por guestd1e54dd
Video game designVideo game design
Video game design
guestd1e54dd2.5K visualizações
A Tale Of Ten SDKs: Cross-Platform Development Best Practices - Unite LA por Unity Technologies
A Tale Of Ten SDKs: Cross-Platform Development Best Practices - Unite LAA Tale Of Ten SDKs: Cross-Platform Development Best Practices - Unite LA
A Tale Of Ten SDKs: Cross-Platform Development Best Practices - Unite LA
Unity Technologies273 visualizações
Resume por David Ericson
ResumeResume
Resume
David Ericson248 visualizações

Destaque

técnica de desenvolvimento de jogos para web por
técnica de desenvolvimento de jogos para webtécnica de desenvolvimento de jogos para web
técnica de desenvolvimento de jogos para webAndrews Medina
991 visualizações27 slides
HTML5 Mobile Game Development Workshop - Module 2 - HTML5 Developer Conferenc... por
HTML5 Mobile Game Development Workshop - Module 2 - HTML5 Developer Conferenc...HTML5 Mobile Game Development Workshop - Module 2 - HTML5 Developer Conferenc...
HTML5 Mobile Game Development Workshop - Module 2 - HTML5 Developer Conferenc...Pablo Farías Navarro
558 visualizações17 slides
Phaser Workshop Internet World 2014 por
Phaser Workshop Internet World 2014Phaser Workshop Internet World 2014
Phaser Workshop Internet World 2014Alvinsight
1K visualizações14 slides
La ecuación de Batman por
La ecuación de BatmanLa ecuación de Batman
La ecuación de BatmanJesus Garcia
292 visualizações21 slides
Html5 game development por
Html5 game developmentHtml5 game development
Html5 game developmentRajasekar Murugan
1.1K visualizações11 slides
Flappy Bird Game Dev by Phaser Framework por
Flappy Bird Game Dev by Phaser FrameworkFlappy Bird Game Dev by Phaser Framework
Flappy Bird Game Dev by Phaser FrameworkRyan Chung
1.4K visualizações19 slides

Destaque(14)

técnica de desenvolvimento de jogos para web por Andrews Medina
técnica de desenvolvimento de jogos para webtécnica de desenvolvimento de jogos para web
técnica de desenvolvimento de jogos para web
Andrews Medina991 visualizações
HTML5 Mobile Game Development Workshop - Module 2 - HTML5 Developer Conferenc... por Pablo Farías Navarro
HTML5 Mobile Game Development Workshop - Module 2 - HTML5 Developer Conferenc...HTML5 Mobile Game Development Workshop - Module 2 - HTML5 Developer Conferenc...
HTML5 Mobile Game Development Workshop - Module 2 - HTML5 Developer Conferenc...
Pablo Farías Navarro558 visualizações
Phaser Workshop Internet World 2014 por Alvinsight
Phaser Workshop Internet World 2014Phaser Workshop Internet World 2014
Phaser Workshop Internet World 2014
Alvinsight1K visualizações
La ecuación de Batman por Jesus Garcia
La ecuación de BatmanLa ecuación de Batman
La ecuación de Batman
Jesus Garcia292 visualizações
Html5 game development por Rajasekar Murugan
Html5 game developmentHtml5 game development
Html5 game development
Rajasekar Murugan1.1K visualizações
Flappy Bird Game Dev by Phaser Framework por Ryan Chung
Flappy Bird Game Dev by Phaser FrameworkFlappy Bird Game Dev by Phaser Framework
Flappy Bird Game Dev by Phaser Framework
Ryan Chung1.4K visualizações
Making Native Browser Games in The Modern Age por Catt Small
Making Native Browser Games in The Modern AgeMaking Native Browser Games in The Modern Age
Making Native Browser Games in The Modern Age
Catt Small1.8K visualizações
Marketing 360 - 2011 por Razvan Matasel
Marketing 360 - 2011Marketing 360 - 2011
Marketing 360 - 2011
Razvan Matasel440 visualizações
Lasertron lt 12 vs zone nexus fec por ejeffers2010
Lasertron lt 12 vs zone nexus fecLasertron lt 12 vs zone nexus fec
Lasertron lt 12 vs zone nexus fec
ejeffers20101.3K visualizações
HTML5 Mobile Game Development - Brisbane Game Technology Meetup 2015 por Pablo Farías Navarro
HTML5 Mobile Game Development - Brisbane Game Technology Meetup 2015HTML5 Mobile Game Development - Brisbane Game Technology Meetup 2015
HTML5 Mobile Game Development - Brisbane Game Technology Meetup 2015
Pablo Farías Navarro2.9K visualizações
Making HTML5 Games with Phaser por IndieOutpost
Making HTML5 Games with PhaserMaking HTML5 Games with Phaser
Making HTML5 Games with Phaser
IndieOutpost6.3K visualizações
Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M... por Himanshu Sharan
Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...
Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...
Himanshu Sharan473 visualizações
Introduction to HTML5 game development (with Phaser) por Valerio Riva
Introduction to HTML5 game development (with Phaser)Introduction to HTML5 game development (with Phaser)
Introduction to HTML5 game development (with Phaser)
Valerio Riva11.9K visualizações

Similar a HTML5 Game Development frameworks overview

Introduction to html5 game programming with ImpactJs por
Introduction to html5 game programming with ImpactJsIntroduction to html5 game programming with ImpactJs
Introduction to html5 game programming with ImpactJsLuca Galli
2.1K visualizações36 slides
Introduction to html5 game programming with impact js por
Introduction to html5 game programming with impact jsIntroduction to html5 game programming with impact js
Introduction to html5 game programming with impact jsLuca Galli
1.1K visualizações35 slides
Presentation3 por
Presentation3Presentation3
Presentation3mohammed khalid
128 visualizações7 slides
POV | Unity vs HTML5 | Affle Enterprise por
POV | Unity vs HTML5 | Affle EnterprisePOV | Unity vs HTML5 | Affle Enterprise
POV | Unity vs HTML5 | Affle EnterpriseAffle mTraction Enterprise
495 visualizações7 slides
Dot Net Project Mini Game por
Dot Net Project Mini GameDot Net Project Mini Game
Dot Net Project Mini Gamevarun arora
193 visualizações26 slides
Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M... por
Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...
Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...Himanshu Sharan
155 visualizações16 slides

Similar a HTML5 Game Development frameworks overview(20)

Introduction to html5 game programming with ImpactJs por Luca Galli
Introduction to html5 game programming with ImpactJsIntroduction to html5 game programming with ImpactJs
Introduction to html5 game programming with ImpactJs
Luca Galli2.1K visualizações
Introduction to html5 game programming with impact js por Luca Galli
Introduction to html5 game programming with impact jsIntroduction to html5 game programming with impact js
Introduction to html5 game programming with impact js
Luca Galli1.1K visualizações
Presentation3 por mohammed khalid
Presentation3Presentation3
Presentation3
mohammed khalid128 visualizações
Dot Net Project Mini Game por varun arora
Dot Net Project Mini GameDot Net Project Mini Game
Dot Net Project Mini Game
varun arora193 visualizações
Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M... por Himanshu Sharan
Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...
Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...
Himanshu Sharan155 visualizações
The Basics of Unity - The Game Engine por OrisysIndia
The Basics of Unity - The Game EngineThe Basics of Unity - The Game Engine
The Basics of Unity - The Game Engine
OrisysIndia5.7K visualizações
JS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3D por JSFestUA
JS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3DJS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3D
JS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3D
JSFestUA387 visualizações
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ... por DevClub_lv
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...
DevClub_lv791 visualizações
Ha4 displaying 3 d polygon animations por JordanSmith96
Ha4   displaying 3 d polygon animationsHa4   displaying 3 d polygon animations
Ha4 displaying 3 d polygon animations
JordanSmith96123 visualizações
Seattle javascript game development - Overview por Grant Goodale
Seattle javascript game development - OverviewSeattle javascript game development - Overview
Seattle javascript game development - Overview
Grant Goodale960 visualizações
IRJET- Technical Graphic Showcase por IRJET Journal
IRJET- Technical Graphic ShowcaseIRJET- Technical Graphic Showcase
IRJET- Technical Graphic Showcase
IRJET Journal31 visualizações
Metodologías de desarrollo de software en Gaming por Globant
Metodologías de desarrollo de software en GamingMetodologías de desarrollo de software en Gaming
Metodologías de desarrollo de software en Gaming
Globant2.4K visualizações
Adobe gaming today tomorrow Trento por InSide Training
Adobe gaming today tomorrow TrentoAdobe gaming today tomorrow Trento
Adobe gaming today tomorrow Trento
InSide Training1.6K visualizações
LightWave™ 3D 11 Add-a-Seat por Topend Electronics
LightWave™ 3D 11 Add-a-SeatLightWave™ 3D 11 Add-a-Seat
LightWave™ 3D 11 Add-a-Seat
Topend Electronics621 visualizações
Y1 gd engine_terminologyhj por Shaz Riches
Y1 gd engine_terminologyhjY1 gd engine_terminologyhj
Y1 gd engine_terminologyhj
Shaz Riches313 visualizações
Introduction to Game Engine: Concepts & Components por Pouya Pournasir
Introduction to Game Engine: Concepts & ComponentsIntroduction to Game Engine: Concepts & Components
Introduction to Game Engine: Concepts & Components
Pouya Pournasir814 visualizações
Lessons Learned: Designer/Developer Productivity in Windows Presentation Foun... por goodfriday
Lessons Learned: Designer/Developer Productivity in Windows Presentation Foun...Lessons Learned: Designer/Developer Productivity in Windows Presentation Foun...
Lessons Learned: Designer/Developer Productivity in Windows Presentation Foun...
goodfriday318 visualizações
HTML5 & JavaScript Games por Robin Hawkes
HTML5 & JavaScript GamesHTML5 & JavaScript Games
HTML5 & JavaScript Games
Robin Hawkes7.5K visualizações
Y1 gd engine_terminology por Jordanianmc
Y1 gd engine_terminologyY1 gd engine_terminology
Y1 gd engine_terminology
Jordanianmc134 visualizações

Último

FOSSLight Community Day 2023-11-30 por
FOSSLight Community Day 2023-11-30FOSSLight Community Day 2023-11-30
FOSSLight Community Day 2023-11-30Shane Coughlan
5 visualizações18 slides
SUGCON ANZ Presentation V2.1 Final.pptx por
SUGCON ANZ Presentation V2.1 Final.pptxSUGCON ANZ Presentation V2.1 Final.pptx
SUGCON ANZ Presentation V2.1 Final.pptxJack Spektor
23 visualizações34 slides
Generic or specific? Making sensible software design decisions por
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsBert Jan Schrijver
6 visualizações60 slides
Agile 101 por
Agile 101Agile 101
Agile 101John Valentino
9 visualizações20 slides
AI and Ml presentation .pptx por
AI and Ml presentation .pptxAI and Ml presentation .pptx
AI and Ml presentation .pptxFayazAli87
12 visualizações15 slides
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P... por
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...NimaTorabi2
12 visualizações17 slides

Último(20)

FOSSLight Community Day 2023-11-30 por Shane Coughlan
FOSSLight Community Day 2023-11-30FOSSLight Community Day 2023-11-30
FOSSLight Community Day 2023-11-30
Shane Coughlan5 visualizações
SUGCON ANZ Presentation V2.1 Final.pptx por Jack Spektor
SUGCON ANZ Presentation V2.1 Final.pptxSUGCON ANZ Presentation V2.1 Final.pptx
SUGCON ANZ Presentation V2.1 Final.pptx
Jack Spektor23 visualizações
Generic or specific? Making sensible software design decisions por Bert Jan Schrijver
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
Bert Jan Schrijver6 visualizações
Agile 101 por John Valentino
Agile 101Agile 101
Agile 101
John Valentino9 visualizações
AI and Ml presentation .pptx por FayazAli87
AI and Ml presentation .pptxAI and Ml presentation .pptx
AI and Ml presentation .pptx
FayazAli8712 visualizações
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P... por NimaTorabi2
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...
NimaTorabi212 visualizações
Sprint 226 por ManageIQ
Sprint 226Sprint 226
Sprint 226
ManageIQ5 visualizações
The Era of Large Language Models.pptx por AbdulVahedShaik
The Era of Large Language Models.pptxThe Era of Large Language Models.pptx
The Era of Large Language Models.pptx
AbdulVahedShaik6 visualizações
DSD-INT 2023 Process-based modelling of salt marsh development coupling Delft... por Deltares
DSD-INT 2023 Process-based modelling of salt marsh development coupling Delft...DSD-INT 2023 Process-based modelling of salt marsh development coupling Delft...
DSD-INT 2023 Process-based modelling of salt marsh development coupling Delft...
Deltares7 visualizações
tecnologia18.docx por nosi6702
tecnologia18.docxtecnologia18.docx
tecnologia18.docx
nosi67025 visualizações
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs por Deltares
DSD-INT 2023 The Danube Hazardous Substances Model - KovacsDSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
Deltares10 visualizações
Headless JS UG Presentation.pptx por Jack Spektor
Headless JS UG Presentation.pptxHeadless JS UG Presentation.pptx
Headless JS UG Presentation.pptx
Jack Spektor8 visualizações
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with... por sparkfabrik
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...
sparkfabrik7 visualizações
Software evolution understanding: Automatic extraction of software identifier... por Ra'Fat Al-Msie'deen
Software evolution understanding: Automatic extraction of software identifier...Software evolution understanding: Automatic extraction of software identifier...
Software evolution understanding: Automatic extraction of software identifier...
Ra'Fat Al-Msie'deen9 visualizações
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ... por Donato Onofri
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...
Donato Onofri860 visualizações
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports por Ra'Fat Al-Msie'deen
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug ReportsBushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
Ra'Fat Al-Msie'deen8 visualizações
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra... por Marc Müller
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra....NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
Marc Müller40 visualizações
Unleash The Monkeys por Jacob Duijzer
Unleash The MonkeysUnleash The Monkeys
Unleash The Monkeys
Jacob Duijzer8 visualizações
Advanced API Mocking Techniques por Dimpy Adhikary
Advanced API Mocking TechniquesAdvanced API Mocking Techniques
Advanced API Mocking Techniques
Dimpy Adhikary19 visualizações
Ports-and-Adapters Architecture for Embedded HMI por Burkhard Stubert
Ports-and-Adapters Architecture for Embedded HMIPorts-and-Adapters Architecture for Embedded HMI
Ports-and-Adapters Architecture for Embedded HMI
Burkhard Stubert21 visualizações

HTML5 Game Development frameworks overview

  • 1. TECHNICAL PRESENTATION Merkur Gaming India Pvt. Ltd. Noida. For : Online Gaming Team Presented By : Abhishek Singhal Senior Developer Online Gaming Team
  • 2. HTML Gaming Frameworks Insight ● JavaScript 3D game engines is a hot topic right now with everyone building browser based 3D games using JavaScript, HTML5 and WebGL technology. The best thing about browser based games is platform independence they bring in and run on iOS, Android, Windows or any other platform. ● There are tons of JavaScript resources out there that can be used for building browser based games using HTML5 and WebGL. However, selecting the right gaming engine can be a real challenge at times and can end up making or breaking your project.
  • 4. ● Construct 2 is an HTML5 game maker, meaning you are not actually writing JavaScript. Instead, you use actions, events and conditions to do the heavy lifting. ● The engine is heavily tested and used. It has a very active community and new releases weekly. HTML Gaming Frameworks Insight CONSTRUCT 2 : IMPACT JS :IMPACT JS : ● ImpactJS is one of the more tested-and-true HTML5 game engines with the initial release all the way back at the end of 2010. It is very well maintained and updated, and has a good-sized community backing it. There exists plenty of documentation. ● ImpactJS is designed to work on all devices, including mobile, and has the Ejecta Framework for publishing games to the iOS App Store with native-like performance. ● The engine includes both a level editor, and debug tools for much faster creation of games
  • 5. EaselJS : ● EaselJS provides a display list to allow you to work with display elements on a canvas as nested objects. It also provides a simple framework for providing shape based mouse interactions on elements in the display list. Phaser : ● Phaser is based heavily on Flixel. It is maintained by Richard Davey (Photon Storm) who has been very active in the HTML5 community for years. ● The engine is relatively new, but has been actively maintained. ● EaselJS is part of a suite called CreateJS, which includes tools for sounds, preloading, and tweening. ● The engine is a good choice if you come from a Flash/AS3 background as it is inspired by Flash. HTML Gaming Frameworks Insight
  • 6. Three.js : Voxel.js : ● If you are developing a 3d game, this is probably the engine for you. ● voxel.js makes it easy to create 3d voxel games (a la Minecraft). It requires webGL to run. ● The engine is frequently updated and maintained, and offers tools for everything from physics to user interface to networked multiplayer - all via separate modules. PlayCanvas : ● PlayCanvas is a cloud-based HTMl5 game engine and editor for 3D games, with a focus on real-time collaboration. ● Three.js is currently the most widely used 3D/WebGL game engine, developed and maintained by Mr. doob and AlteredQualia. The goal is to take the complicated webGL bindings and tack on an easy-to-use framework on top of it. HTML Gaming Frameworks Insight
  • 7. HEART OF THE GAME – THE GAME LOOP All the code that makes the game interactive and dynamic goes in the game loop, but is separated into different pieces. The game loop itself is a controlled infinite loop that makes your game keep running; it's the place where all your little pieces will be updated and drawn on the screen. When everything is properly updated and ready, we enter the draw phase where all this information is put on the screen. This function should contain all the code to manage and draw the levels, layers, chars, HUD and so on. Initialize, Update and Draw :- The game loop is the central code of your game, split into different parts. Generally, these are: initialize, update and draw. The initialize phase is used to do any necessary game setup and prepare the environment for the update and draw phases. Here you should create your main entities, prepare the menu, detect default hardware capabilities, and so on. The main purpose of the update phase is to prepare all objects to be drawn, so this is where all the physics code, coordinate updates, health points changes, char upgrades, damage dealt and other similar operations belong. This is also where the input will be captured and processed.
  • 8. In many ways a 2D game and a 3D are identical. You need input, entities to represent the game world, a rendering loop and so on. But... 3D requires a different set of disciplines to make the art assets and get them on screen. 3D art needs geometry, which is then UV-wrapped in textures. To render the scene needs a more sophisticated scene hierarchy (probably a tree). The representation of orientations needs matrices or quaternions (or both). We need to consider lighting in a different way. We need a 3D API like OpenGL to leverage hardware rendering. And there are problems to solve relating to the size and complexity of the world. In a 2D screen, only a segment of the world is visible, in a 3D setup it is possible to imagine a location from where the entire world is visible. Drawing everything could be bad for performance. DIFFERENCE in 2D and 3D Game Development
  • 9. BENEFITS Cross-platform This is the main feature why developers have originally turned into web technologies looking to fulfil the promise of coding once and deploy everywhere. As some of the other advantages of the web, cross-platform is in its nature, as it is meant to run on any device (hardware) and operating system (software). Based on open standards This is more important than meets the eye. There have been various technologies in the past that made the cross-platform promise but did not completely deliver. Amongst other reasons, they failed because of being closed and tied to a specific company. Open standards allow both vendors and developers to contribute and improve the final product. This is one of the key success factors of the web. There is no head controlling it so it can evolve according to the needs and interests of many. Full technology stack HTML5 in itself is a full technology stack.
  • 10. CHALLENGES Cross-platform is more than devices and operating systems Cross-platform does not really mean same code or user interface/user experience Low performance, especially on mobile Access to the native features on each platform