LEADER 06957nam 22006855 450 001 9910300644303321 005 20200703130042.0 010 $a1-4842-0952-4 024 7 $a10.1007/978-1-4842-0952-3 035 $a(CKB)3710000000491686 035 $a(EBL)4178058 035 $a(SSID)ssj0001584912 035 $a(PQKBManifestationID)16264676 035 $a(PQKBTitleCode)TC0001584912 035 $a(PQKBWorkID)14864537 035 $a(PQKB)11310777 035 $a(DE-He213)978-1-4842-0952-3 035 $a(MiAaPQ)EBC4178058 035 $a(CaSebORM)9781484209523 035 $a(PPN)190515287 035 $a(EXLCZ)993710000000491686 100 $a20151013d2015 u| 0 101 0 $aeng 135 $aur|n|---||||| 181 $ctxt 182 $cc 183 $acr 200 10$aBuild your own 2D Game Engine and Create Great Web Games$b[electronic resource] $eUsing HTML5, JavaScript, and WebGL /$fby Kelvin Sung, Jebediah Pavleas, Fernando Arnez, Jason Pace 205 $a1st ed. 2015. 210 1$aBerkeley, CA :$cApress :$cImprint: Apress,$d2015. 215 $a1 online resource (481 p.) 225 0 $aExpert's Voice in Game Development 300 $aIncludes index. 311 $a1-4842-0953-2 327 $aContents at a Glance; Contents; About the Authors; About the Technical Reviewer; Acknowledgments; Introduction; Chapter 1: Introducing 2D Game Engine Development with JavaScript; The Technologies; Setting Up Your Development Environment; Downloading and Installing JavaScript Syntax Checker; Working in the NetBeans Development Environment; Creating an HTML5 Project in NetBeans; The Relationship Between the Project Files and the File System; How to Use This Book; How Do You Make a Great Video Game?; References; Technologies; Chapter 2: Working with HTML5 and WebGL; Introduction 327 $aCanvas for Drawing The HTML5 Canvas Project ; Creating and Clearing the HTML Canvas; Separating HTML and JavaScript; The JavaScript Source File Project; Separate JavaScript Source Code File; Load and Run JavaScript Source Code from index.html; Observations; Elementary Drawing with WebGL; The Draw One Square Project ; Set Up and Load the Primitive Geometry Data; Set Up the GLSL Shaders ; Define the Vertex and Fragment Shaders ; Compile, Link, and Load the Vertex and Fragment Shaders; Set Up Drawing with WebGL; Observations; Abstraction with JavaScript Objects 327 $aThe JavaScript Objects ProjectSource Code Organization ; Abstracting the Game Engine; The Core of the Game Engine: gEngine.Core ; The Shared Vertex Buffer; The Shader Object; The Client Source Code; Observations; Separating GLSL from HTML; The Shader Source Files Project; Loading Shaders in SimpleShader ; Extracting Shaders into Their Own Files ; Cleaning Up HTML Code ; Source Code Organization ; Changing the Shader and Controlling the Color; The Parameterized Fragment Shader Project; Defining the SimpleFS.glsl Fragment Shader ; Modify the SimpleShader to Support the Color Parameter 327 $aDrawing with the New Shader Summary; Chapter 3: Drawing Objects in the World; Introduction; Encapsulating Drawing ; The Renderable Objects Project ; The Renderable Object; Testing the Renderable Object; Observations; Transforming a Renderable Object; Matrices as Transform Operators; Concatenation of Matrix Operators ; The glMatrix Library ; The Matrix Transform Project; Modify the Vertex Shader to Support Transforms; Modify SimpleShader to Load the Transform Operator; Modify Renderable Object to Set the Transform Operator; Testing the Transforms ; Observations 327 $aEncapsulating the Transform Operator The Transform Objects Project; The Transform Object; Transformable Renderable Objects ; Modify Drawing to Support Transform Object; View, Projection, and Viewports; Coordinate Systems and Transformations; Modeling and Normalized Device Coordinate Systems ; The World Coordinate System ; The Viewport; The View Projection and Viewport Project; Modifying the Vertex Shader to Support the View-Projection Transform; Modifying SimpleVertex to Support the View-Projection Transform; Modifying RenderObject to Support the View-Projection Transform 327 $aTesting the View-Projection Transform and the Viewport 330 $aBuild Your Own 2D Game Engine and Create Great Web Games teaches you how to develop your own web-based game engine step-by-step, allowing you to create a wide variety of online videogames that can be played in common web browsers. Chapters include examples and projects that gradually increase in complexity while introducing a ground-up design framework, providing you with the foundational concepts needed to build fun and engaging 2D games. By the end of this book you will have created a complete prototype level for a side scrolling action platform game and will be prepared to begin designing additional levels and games of your own. This book isolates and presents relevant knowledge from software engineering, computer graphics, mathematics, physics, game development, game mechanics, and level design in the context of building a 2D game engine from scratch. The book then derives and analyzes the source code needed to implement th ese concepts based on HTML5, JavaScript, and WebGL. After completing the projects you will understand the core-concepts and implementation details of a typical 2D game engine and you will be familiar with a design and prototyping methodology you can use to create game levels and mechanics that are fun and engaging for players. You will gain insights into the many ways software design and creative design must work together to deliver the best game experiences, and you will have access to a versatile 2D game engine that you can expand upon or utilize directly to build your own 2D games that can be played online from anywhere. 606 $aComputer games?Programming 606 $aSoftware engineering 606 $aGame Development$3https://scigraph.springernature.com/ontologies/product-market-codes/I29040 606 $aSoftware Engineering/Programming and Operating Systems$3https://scigraph.springernature.com/ontologies/product-market-codes/I14002 615 0$aComputer games?Programming. 615 0$aSoftware engineering. 615 14$aGame Development. 615 24$aSoftware Engineering/Programming and Operating Systems. 676 $a004 700 $aSung$b Kelvin$4aut$4http://id.loc.gov/vocabulary/relators/aut$0926167 702 $aPavleas$b Jebediah$4aut$4http://id.loc.gov/vocabulary/relators/aut 702 $aArnez$b Fernando$4aut$4http://id.loc.gov/vocabulary/relators/aut 702 $aPace$b Jason$4aut$4http://id.loc.gov/vocabulary/relators/aut 801 0$bUMI 801 1$bUMI 906 $aBOOK 912 $a9910300644303321 996 $aBuild your own 2D Game Engine and Create Great Web Games$92266050 997 $aUNINA