42 results on '"John McCutchan"'
Search Results
2. A SIMD programming model for dart, javascript, and other dynamically typed scripting languages.
- Author
-
John McCutchan, Haitao Feng, Nicholas D. Matsakis, Zachary Anderson, and Peter Jensen
- Published
- 2014
- Full Text
- View/download PDF
3. Case Studies in Model Manipulation for Scientific Computing.
- Author
-
Jacques Carette, W. Spencer Smith, John McCutchan, Christopher Kumar Anand, and Alexandre Korobkine
- Published
- 2008
- Full Text
- View/download PDF
4. HTML5 Game Development Insights
- Author
-
Colt McAnlis, Peter Lubbers, Brandon Jones, Andrzej Mazur, Sean Bennett, Bruno Garcia, Shun Lin, Ivan Popelyshev, Jon Howard, Ian Ballantyne, Takuo Kihira, Jesse Freeman, Tyler Smith, Don Olmstead, Jason Gauci, John McCutchan, Chad Austin, Mario Andres Pagella, Florian dErfurth, Duncan Tebbs, Colt McAnlis, Peter Lubbers, Brandon Jones, Andrzej Mazur, Sean Bennett, Bruno Garcia, Shun Lin, Ivan Popelyshev, Jon Howard, Ian Ballantyne, Takuo Kihira, Jesse Freeman, Tyler Smith, Don Olmstead, Jason Gauci, John McCutchan, Chad Austin, Mario Andres Pagella, Florian dErfurth, and Duncan Tebbs
- Subjects
- Video games--Programming, HTML (Document markup language)
- Abstract
HTML5 Game Development Insights is a from-the-trenches collection of tips, tricks, hacks, and advice straight from professional HTML5 game developers. The 24 chapters here include unique, cutting edge, and essential techniques for creating and optimizing modern HTML5 games. You will learn things such as using the Gamepad API, real-time networking, getting 60fps full screen HTML5 games on mobile, using languages such as Dart and TypeScript, and tips for streamlining and automating your workflow. Game development is a complex topic, but you don't need to reinvent the wheel. HTML5 Game Development Insights will teach you how the pros do it.The book is comprised of six main sections: Performance; Game Media: Sound and Rendering; Networking, Load Times, and Assets; Mobile Techniques and Advice; Cross-Language JavaScript; Tools and Useful Libraries. Within each of these sections, you will find tips that will help you work faster and more efficiently and achieve better results.Presented as a series of short chapters from various professionals in the HTML5 gaming industry, all of the source code for each article is included and can be used by advanced programmers immediately.
- Published
- 2014
5. Game Development Tool Essentials
- Author
-
Paula Berinstein, Remi Arnaud, Alessandro Ardolino, Simon Franco, Adrien Herubel, John McCutchan, Nicusor Nedelcu, Benjamin Nitschke, Don Olmstead, Fabrice Robinet, Christian Ronchi, Rita Turkowski, Robert Walter, Gustavo Samour, Paula Berinstein, Remi Arnaud, Alessandro Ardolino, Simon Franco, Adrien Herubel, John McCutchan, Nicusor Nedelcu, Benjamin Nitschke, Don Olmstead, Fabrice Robinet, Christian Ronchi, Rita Turkowski, Robert Walter, and Gustavo Samour
- Subjects
- Video games--Programming, Video games--Design
- Abstract
Game Development Tool Essentials provides must-have tips and tricks from industry professionals for strengthening and streamlining your game tools pipeline. Everyone knows the game tools pipeline is important, but in the current environment of shrinking budgets and increased time pressure, developers often have to settle for inefficient, ad hoc, messy pipelines. This unique book will break you out of that cycle. The practical, expert insights contained within will enable you to work faster and more efficiently, so you can spend more time making cool things. Game Development Tool Essentials pools the knowledge and experience of working developers over four critical aspects of the game tools pipeline: asset and data management, geometry and models, Web tools, and programming. Within those sections, you will learn cutting-edge techniques on essential subjects such as COLLADA rendering, exporting and workflow; asset management and compiler architecture; and moving tools to the cloud. If you're a game developer, you need Game Development Tool Essentials. Covers readily available tools and tools developers can build themselves. Presents 96 code samples, 81 illustrations, and end-of-chapter references. Special chapter on moving tools to the cloud.
- Published
- 2014
6. Vector Parallelism in JavaScript: Language and Compiler Support for SIMD
- Author
-
Kathryn S. McKinley, Ivan Jibaja, Dan Gohman, Mohammad R. Haghighat, John McCutchan, Ningxin Hu, Stephen M. Blackburn, and Peter Jensen
- Subjects
Programming language ,Computer science ,Parallel computing ,computer.software_genre ,JavaScript ,Software portability ,Factor (programming language) ,x86 ,Code generation ,Compiler ,SIMD ,computer ,Machine code ,computer.programming_language - Abstract
JavaScript is the most widely used web programming language and is increasingly used to implement sophisticated and demanding applications in such domains as graphics, games, video, and cryptography. The performance and energy usage of these applications can benefit from hardware parallelism, including SIMD (Single Instruction, Multiple Data) vector parallel instructions. JavaScript's current support for parallelism is, however, limited and does not directly utilize SIMD capabilities. This paper presents the design and implementation of SIMD language extensions and compiler support that together add fine-grain vector parallelism to JavaScript. The specification for this language extension is in final stages of adoption by the JavaScript standardization committee and our compiler support is available in two open-source production browsers. The design principles seek portability, SIMD performance portability on various SIMD architectures, and compiler simplicity to ease adoption. The design does not require automatic vectorization compiler technology, but does not preclude it either. The SIMD extensions define immutable fixed-length SIMD data types and operations that are common to both ARM and x86 ISAs. The contributions of this work include type speculation and optimizations that generate minimal numbers of SIMD native instructions from high-level JavaScript SIMD instructions. We implement type speculation, optimizations, and code generation in two open-source JavaScript VMs and measure performance improvements between a factor of 1.7× to 8.9× with an average of 3.3× and average energy improvements of 2.9× on micro benchmarks and key graphics kernels on various hardware, browsers, and operating systems. These portable SIMD language extensions significantly improve compute-intensive interactive applications in the browser, such as games and media processing, by exploiting vector parallelism without relying on automatic vectorizing compiler technology, non-portable native code, or plugins.
- Published
- 2015
- Full Text
- View/download PDF
7. Implementing a Main Loop in Dart
- Author
-
Ian Ballantyne, Duncan Tebbs, Petter Lubbers, John McCutchan, Takuo Kihira, Shun Lin, Don Olmstead, Bruno Garcia, Sean Bennett, Brandon Jones, Andrzej Manzur, Chad Austin, Colt McAnlis, Florian d’Erfurth, Andres Pagella, Ivan Popelyshev, Jesse Freeman, Tyler Smith, Jon Howard, and Jason Gauci
- Subjects
Core (game theory) ,business.industry ,Game programming ,Computer science ,Virtual clock ,Control (management) ,Frame (networking) ,ComputingMilieux_PERSONALCOMPUTING ,Event loop ,State (computer science) ,Graphics ,business ,Computer hardware - Abstract
At the heart of your favorite games is the game loop. At the core of the game loop is control over the game clock. In each frame the game does some or all of the following: updates the game state, triggers timers, processes user inputs, renders graphics, and plays audio. Each of these operations must be synchronized using a virtual clock controlled by the game loop. This chapter explains how to implement a deterministic and efficient main loop for any type of game designed from the ground up to run in the browser.
- Published
- 2014
- Full Text
- View/download PDF
8. Geometry and Models: 3D Format Conversion (FBX, COLLADA)
- Author
-
Rita Turkowski, John McCutchan, Simon Franco, Fabrice Robinet, Remi Arnaud, Benjamin Nitschke, Paula Berinstein, Alessandro Ardolino, Robert Walter, Adrien Herubel, Christian Ronchi, Nicusor Nedelcu, and Gustavo Samour
- Subjects
Computer science ,Game engine ,Computer graphics (images) ,File format - Published
- 2014
- Full Text
- View/download PDF
9. Efficient JavaScript Data Structures
- Author
-
Petter Lubbers, Ian Ballantyne, Takuo Kihira, Sean Bennett, Duncan Tebbs, John McCutchan, Tyler Smith, Jon Howard, Don Olmstead, Bruno Garcia, Colt McAnlis, Florian d’Erfurth, Andrzej Manzur, Ivan Popelyshev, Brandon Jones, Jesse Freeman, Chad Austin, Andres Pagella, Shun Lin, and Jason Gauci
- Subjects
Unobtrusive JavaScript ,Resource (project management) ,Computer science ,Code (cryptography) ,Operating system ,JavaScript ,computer.software_genre ,Data structure ,Execution time ,computer ,Range (computer programming) ,Term (time) ,computer.programming_language - Abstract
Efficient use of system resources is essential to most game applications, to ensure that the game runs correctly and as smoothly as possible across a range of devices and browsers. Here, the term “resources” can refer to available memory, CPU execution time, or other processing or storage units in the system. Although JavaScript can be considered a rather high-level language, the data structures employed by JavaScript application code can significantly impact upon resource usage.
- Published
- 2014
- Full Text
- View/download PDF
10. Building A Game Prototyping Tool for Android Mobile Devices
- Author
-
Adrien Herubel, Rita Turkowski, Simon Franco, Fabrice Robinet, Christian Ronchi, Robert Walter, Paula Berinstein, Alessandro Ardolino, Remi Arnaud, Benjamin Nitschke, Gustavo Samour, Nicusor Nedelcu, and John McCutchan
- Subjects
Computer science ,business.industry ,Embedded system ,Java code ,Android application ,Android (operating system) ,business ,Mobile device ,Machine code - Published
- 2014
- Full Text
- View/download PDF
11. Faster Canvas Picking
- Author
-
Colt McAnlis, Chad Austin, Ian Ballantyne, Andres Pagella, Shun Lin, Takuo Kihira, Bruno Garcia, Ivan Popelyshev, Petter Lubbers, Jesse Freeman, Sean Bennett, John McCutchan, Tyler Smith, Brandon Jones, Florian d’Erfurth, Jon Howard, Andrzej Manzur, Don Olmstead, Jason Gauci, and Duncan Tebbs
- Subjects
Perspective distortion ,HTML5 ,Pixel ,Point (typography) ,Cover (telecommunications) ,Human–computer interaction ,Computer science ,Selection (linguistics) ,Bitmap ,computer.file_format ,Object (computer science) ,computer - Abstract
If you’re writing a 2D game in HTML5, chances are that you’ll want the user to have the ability to pick an object on the screen. More specifically, at some point, the user will need to select some item on the screen, or in your game, which may represent part of the world. We call this “picking” as the user is selecting what object they are interacting with. Consider, for instance, your standard social time-management game. The user is presented with a 2.5D play area where bitmaps (or “sprites”) are rendered with some perspective distortion on the screen. For the more advanced users, you can quickly saturate the play area with these sprites, often stacking many of them together, only leaving a few pixels visible between overlapping objects. In this environment, determining the picking result of a mouse click is quite difficult. The canvas API doesn’t provide any form of pixel-based selection and the large number of objects makes it difficult to brute-force the technique. This section will cover how to address performance and accuracy problems in canvas picking using a few old-school techniques that most of us have forgotten about.
- Published
- 2014
- Full Text
- View/download PDF
12. A Uniform Geometry Workflow for Cutscenes and Animated Feature Films
- Author
-
Rita Turkowski, Fabrice Robinet, Paula Berinstein, John McCutchan, Alessandro Ardolino, Gustavo Samour, Benjamin Nitschke, Nicusor Nedelcu, Remi Arnaud, Christian Ronchi, Simon Franco, Robert Walter, and Adrien Herubel
- Subjects
Workflow ,business.industry ,Computer science ,Feature (computer vision) ,Computer graphics (images) ,Computer vision ,Artificial intelligence ,business ,Production pipeline - Published
- 2014
- Full Text
- View/download PDF
13. The State of Responsive Design
- Author
-
Bruno Garcia, Chad Austin, Andres Pagella, Shun Lin, Tyler Smith, Jon Howard, Don Olmstead, Brandon Jones, Petter Lubbers, Colt McAnlis, Florian d’Erfurth, Jesse Freeman, John McCutchan, Takuo Kihira, Sean Bennett, Ivan Popelyshev, Jason Gauci, Duncan Tebbs, Andrzej Manzur, and Ian Ballantyne
- Subjects
Core (game theory) ,HTML5 ,Human–computer interaction ,Computer science ,State (computer science) ,Resolution (logic) ,Display resolution ,Boom - Abstract
Building an HTML5 game in the modern world is rife with difficulties. In addition to technical limitations and variations among browsers, you have the added burden of the current consumer world, which is predominantly driven by a boom in smartphones and tablet devices. What makes developing for this slew of heterogeneous devices difficult is the massive array of resolutions, physical sizes, and performance among them. For your web game to be successful, you’ll need to adapt it to take advantage of the many screen resolutions available so that users can experience it on as many devices as possible. To do this, you’ll need to adjust your game dynamically, depending on the current resolution, to achieve the desired game layout. This, at its core, is known as responsive design.
- Published
- 2014
- Full Text
- View/download PDF
14. HTML5 Game Development Insights
- Author
-
Colt McAnlis, Petter Lubbers, Brandon Jones, Duncan Tebbs, Andrzej Manzur, Sean Bennett, Florian d’Erfurth, Bruno Garcia, Shun Lin, Ivan Popelyshev, Jason Gauci, Jon Howard, Ian Ballantyne, Jesse Freeman, Takuo Kihira, Tyler Smith, Don Olmstead, John McCutchan, Chad Austin, and Andres Pagella
- Published
- 2014
- Full Text
- View/download PDF
15. Playing Around with the Gamepad API
- Author
-
Andrzej Manzur, Petter Lubbers, Shun Lin, Takuo Kihira, John McCutchan, Ian Ballantyne, Jason Gauci, Don Olmstead, Tyler Smith, Jon Howard, Colt McAnlis, Duncan Tebbs, Brandon Jones, Sean Bennett, Ivan Popelyshev, Florian d’Erfurth, Chad Austin, Andres Pagella, Bruno Garcia, and Jesse Freeman
- Subjects
Focus (computing) ,HTML5 ,Record locking ,Computer science ,Button press ,Human–computer interaction ,Controller (computing) ,ComputingMilieux_PERSONALCOMPUTING ,Mobile device - Abstract
There is a great focus on making HTML5 games for mobile devices, which is good, of course, but core pro gamers are usually visualized as having a gamepad in their hands. So why not use it and deliver the full experience of a game using the Full Screen, Mouse Lock, and Gamepad APIs? The last API provides the ability to use a console's controller to play HTML5 games—how cool is that? With the W3C specification presently being written, we will have an API that is easy to implement, does not require any plug-ins to run in your browser, and is as simple as just plugging in your device and playing the game right away.
- Published
- 2014
- Full Text
- View/download PDF
16. Optimal Asset Loading
- Author
-
Chad Austin, Tyler Smith, Jon Howard, Ian Ballantyne, Andres Pagella, Bruno Garcia, Don Olmstead, Shun Lin, Duncan Tebbs, Takuo Kihira, John McCutchan, Colt McAnlis, Florian d’Erfurth, Jesse Freeman, Sean Bennett, Ivan Popelyshev, Petter Lubbers, Andrzej Manzur, Brandon Jones, and Jason Gauci
- Subjects
HTML5 ,Computer science ,business.industry ,Section (typography) ,ComputingMilieux_PERSONALCOMPUTING ,JavaScript ,Asset (computer security) ,Upload ,User experience design ,Human–computer interaction ,Code (cryptography) ,business ,computer ,Shader ,computer.programming_language - Abstract
Designing an efficient method of loading game asset data for HTML5 games is essential in creating a good user experience for players. When games can be played immediately in the browser with no prior downloading there are different considerations to make, not only for the first time play experience but also for future plays of the game. The assets referred to by this chapter are not the usual HTML, CSS, JavaScript, and other media that make up a web site, but are the game assets required specifically for the game experience. The techniques mentioned in this chapter go beyond dealing with the standard image and sound data usually handled by the browser and aim at helping you consider assets such as models, animations, shaders, materials, UIs, and other structural data that is not represented in code. Whether this data is in text or binary form (the “Data Formats” section will discuss both) it somehow needs to be transferred to the player’s machine so that the JavaScript code running the game can turn it into something amazing that players can interact with.
- Published
- 2014
- Full Text
- View/download PDF
17. Introduction to TypeScript: Building a Rogue-like Engine
- Author
-
Ian Ballantyne, Florian d’Erfurth, Ivan Popelyshev, Don Olmstead, Takuo Kihira, Sean Bennett, Bruno Garcia, Chad Austin, Jason Gauci, Andres Pagella, Petter Lubbers, Colt McAnlis, John McCutchan, Jesse Freeman, Brandon Jones, Shun Lin, Tyler Smith, Jon Howard, Duncan Tebbs, and Andrzej Manzur
- Subjects
ActionScript ,HTML5 ,Java ,Programming language ,Computer science ,Key (cryptography) ,Code (cryptography) ,Compiler ,JavaScript ,computer.software_genre ,computer ,TypeScript ,computer.programming_language - Abstract
TypeScript ( http://typescript.org ) is a typed superset of JavaScript that compiles to plain JavaScript. TypeScript is cross-platform, runs on any browser, and is open source. Microsoft created it, and it’s hands down one of the best languages for building HTML5 games. One of the great things about TypeScript, apart from adding typing to JavaScript, is that it allows you to start using some of the cool features of ECMAScript 6 (ES6) now, even though it may be years away from being finalized. This means that you can put to good use classes and other higher-level constructs that you find in languages such as C# and Java; moreover, TypeScript is incredibly similar to ActionScript 2 and 3. The final key advantage of TypeScript is that it outputs human readable JavaScript, plus you can use existing JavaScript libraries or inject the code directly into your TypeScript classes and start taking advantage of typing provided by the compiler.
- Published
- 2014
- Full Text
- View/download PDF
18. Introduction to WebSockets for Game Developers
- Author
-
Florian d’Erfurth, Bruno Garcia, Ian Ballantyne, Don Olmstead, Jesse Freeman, Petter Lubbers, Brandon Jones, Tyler Smith, Jon Howard, Takuo Kihira, Chad Austin, Andres Pagella, Duncan Tebbs, Sean Bennett, Colt McAnlis, Shun Lin, Ivan Popelyshev, John McCutchan, Jason Gauci, and Andrzej Manzur
- Subjects
Bit (horse) ,Computer science ,Transmission Control Protocol ,Operating system ,Game Developer ,computer.software_genre ,computer ,Simulation - Abstract
It is a bit hard to imagine, but the Web wasn’t always as dynamic as it is today. Before I discuss WebSockets, let’s take a trip down memory lane.
- Published
- 2014
- Full Text
- View/download PDF
19. Building a Rock-Solid Content Pipeline with the COLLADA Conformance Test Suite
- Author
-
Christian Ronchi, Adrien Herubel, Rita Turkowski, Remi Arnaud, Fabrice Robinet, Simon Franco, Paula Berinstein, Nicusor Nedelcu, Robert Walter, Benjamin Nitschke, Alessandro Ardolino, Gustavo Samour, and John McCutchan
- Subjects
ComputingMilieux_THECOMPUTINGPROFESSION ,Database ,Obsolescence ,Computer science ,Open standard ,Schema (psychology) ,Test suite ,Content creation ,computer.software_genre ,Solid content ,computer - Abstract
If there’s one message emanating from the 3D content creation community these days, it’s “Ouch!” We all know why. There’s too much pain in the 3D content creation pipeline: incompatible formats, obsolescence of older material, platform limitations, and so on. Fortunately, there’s something we can do to ease the pain: create tools that adhere to open standards, such as COLLADA, a royalty-free, open standard schema for exchanging 3D assets.
- Published
- 2014
- Full Text
- View/download PDF
20. Rendering COLLADA Assets on Mac OS X with Scene Kit
- Author
-
Nicusor Nedelcu, Remi Arnaud, John McCutchan, Robert Walter, Simon Franco, Adrien Herubel, Gustavo Samour, Benjamin Nitschke, Alessandro Ardolino, Rita Turkowski, Paula Berinstein, Fabrice Robinet, and Christian Ronchi
- Subjects
Basic knowledge ,Computer science ,Computer graphics (images) ,Tree view ,ComputingMethodologies_IMAGEPROCESSINGANDCOMPUTERVISION ,OS X ,Scene graph ,ComputingMethodologies_COMPUTERGRAPHICS ,Rendering (computer graphics) ,Visualization - Abstract
Since Snow Leopard (10.6) was released in 2009, OS X has provided built-in support for COLLADA assets. So far, this support has enabled visualization of COLLADA assets in Preview and Quick Look. Developers using Quartz Composer have also been able to render COLLADA assets in their compositions, but until now, an API was still to be exposed. Now, with Mountain Lion (10.8), OS X has introduced a new 3D framework called Scene Kit that adds significant COLLADA functionality. This chapter explains how to use Scene Kit to render COLLADA assets. Incorporating a worked example, it offers an overview of Scene Kit and its relationship to COLLADA; shows how to integrate Scene Kit with Xcode; presents key aspects of the Scene Kit API like COLLADA scene import and scene graph manipulations, animations, and rendering; and touches on more advanced topics such as custom rendering. To get the most out of this chapter, it is recommended but not required that you have a basic knowledge of COLLADA and a working knowledge of Objective-C.
- Published
- 2014
- Full Text
- View/download PDF
21. Applying Old-School Video Game Techniques in Modern Web Games
- Author
-
Colt McAnlis, Tyler Smith, Jon Howard, Chad Austin, Ivan Popelyshev, Andres Pagella, Florian d’Erfurth, Bruno Garcia, Ian Ballantyne, John McCutchan, Brandon Jones, Sean Bennett, Takuo Kihira, Jason Gauci, Jesse Freeman, Don Olmstead, Andrzej Manzur, Petter Lubbers, Duncan Tebbs, and Shun Lin
- Subjects
Game art design ,Multimedia ,Video game development ,Computer science ,Game programming ,ComputingMethodologies_IMAGEPROCESSINGANDCOMPUTERVISION ,computer.software_genre ,Game design ,Game development tool ,Game Developer ,Video game design ,computer ,Video game ,ComputingMethodologies_COMPUTERGRAPHICS - Abstract
In computer graphics, frames are processed and painted on the screen by what some people refer to as the “animation,” “main,” “game,” or “update” loop. Personally, I prefer to call it “main,” “game,” or “update loop” for the sole reason that it’s standard practice in the industry to use this routine to perform other tasks besides painting pixels on the screen.
- Published
- 2014
- Full Text
- View/download PDF
22. COLLADA Exporter for Unity Developers in the Unity Asset Store
- Author
-
Paula Berinstein, Christian Ronchi, Robert Walter, Rita Turkowski, John McCutchan, Fabrice Robinet, Adrien Herubel, Alessandro Ardolino, Benjamin Nitschke, Nicusor Nedelcu, Remi Arnaud, Simon Franco, and Gustavo Samour
- Subjects
Finance ,business.industry ,Asset (economics) ,business ,Computer security ,computer.software_genre ,computer - Published
- 2014
- Full Text
- View/download PDF
23. Optimizing WebGL Usage
- Author
-
Ian Ballantyne, Andrzej Manzur, Chad Austin, Duncan Tebbs, Ivan Popelyshev, Andres Pagella, Don Olmstead, Sean Bennett, Jesse Freeman, Brandon Jones, Shun Lin, Petter Lubbers, Jason Gauci, John McCutchan, Takuo Kihira, Colt McAnlis, Tyler Smith, Jon Howard, Bruno Garcia, and Florian d’Erfurth
- Subjects
Application programming interface ,Multimedia ,Computer science ,Vendor ,Graphics hardware ,computer.software_genre ,computer ,Graphics library ,Rendering (computer graphics) - Abstract
As hardware evolved, games went from two-dimensional affairs into the third dimension. This evolution also happened in the browser. Although two-dimensional rendering could be done through the use of the Canvas application programming interface (API) it wasn’t until the Web Graphics Library (WebGL) debuted that the graphics hardware was actually exposed to a lower level within the context of the browser. This API has now been implemented by every major browser vendor, making it possible to create a fully three-dimensional game without relying on a plug-in.
- Published
- 2014
- Full Text
- View/download PDF
24. Game Development Tool Essentials
- Author
-
Alessandro Ardolino, Remi Arnaud, Paula Berinstein, Simon Franco, Adrien Herubel, John McCutchan, Nicusor Nedelcu, Benjamin Nitschke, Fabrice Robinet, Christian Ronchi, Gustavo Samour, Rita Turkowski, and Robert Walter
- Published
- 2014
- Full Text
- View/download PDF
25. Building a Game with the Cocos2d-html5 Library
- Author
-
Ian Ballantyne, Sean Bennett, Takuo Kihira, Andrzej Manzur, Don Olmstead, Florian d’Erfurth, Colt McAnlis, Petter Lubbers, Ivan Popelyshev, Duncan Tebbs, Bruno Garcia, Brandon Jones, John McCutchan, Shun Lin, Jason Gauci, Jesse Freeman, Tyler Smith, Jon Howard, Chad Austin, and Andres Pagella
- Subjects
Game mechanics ,Game design ,Video game development ,Human–computer interaction ,Computer science ,Game design document ,ComputingMethodologies_DOCUMENTANDTEXTPROCESSING ,ComputingMilieux_PERSONALCOMPUTING ,Collision detection ,Level design ,Video game design ,Game Developer - Abstract
HTML5 games are becoming more and more important in the mobile gaming industry. There are already many casual and social games available in HTML5. Compared to native games, HTML5 games support real-time updating, click-to-play without the need for installations, and efficient development cycles.
- Published
- 2014
- Full Text
- View/download PDF
26. Building Procedural Geometry Using MAXScript (Voronoi Polygons)
- Author
-
Simon Franco, Christian Ronchi, Benjamin Nitschke, Remi Arnaud, John McCutchan, Paula Berinstein, Rita Turkowski, Fabrice Robinet, Nicusor Nedelcu, Gustavo Samour, Adrien Herubel, Robert Walter, and Alessandro Ardolino
- Subjects
Combinatorics ,Voronoi polygon ,Delaunay triangulation ,Computer science ,Geometry ,Voronoi diagram - Published
- 2014
- Full Text
- View/download PDF
27. Real-Time Multiplayer Network Programming
- Author
-
Jason Gauci, Ian Ballantyne, Bruno Garcia, Petter Lubbers, Tyler Smith, Jon Howard, Andrzej Manzur, Don Olmstead, Takuo Kihira, Duncan Tebbs, Colt McAnlis, John McCutchan, Shun Lin, Chad Austin, Andres Pagella, Jesse Freeman, Ivan Popelyshev, Sean Bennett, Florian d’Erfurth, and Brandon Jones
- Subjects
Computer network programming ,Human–computer interaction ,Computer science ,Game engine ,Component (UML) ,ComputingMilieux_PERSONALCOMPUTING ,Table (database) ,Upload bandwidth ,Dimension (data warehouse) ,Human psychology ,Range (computer programming) - Abstract
Many of the most popular games have a multiplayer component. All but one of the top ten most popular games on Steam, a digital distribution and communications platform for PCs, are either designed for a multiplayer experience or contain support for multiplayer (see Table 12-1). As you will discover in this chapter, adding multiplayer support to a game increases the range of experiences that a player can have by introducing the elements of human psychology and social interaction to the game agents. However, adding real-time multiplayer can be rather tricky to implement correctly. Although it may seem daunting, by following some principled methods, you can add a new, exciting dimension to your game.
- Published
- 2014
- Full Text
- View/download PDF
28. Programming: Decoupling Game Tool GUIs from Core Editing Operations
- Author
-
Rita Turkowski, Benjamin Nitschke, Paula Berinstein, Nicusor Nedelcu, John McCutchan, Remi Arnaud, Christian Ronchi, Simon Franco, Gustavo Samour, Robert Walter, Adrien Herubel, Alessandro Ardolino, and Fabrice Robinet
- Subjects
Source code ,Command pattern ,Video game development ,Computer science ,Interface (Java) ,Programming language ,media_common.quotation_subject ,JavaScript ,computer.software_genre ,Human–computer interaction ,Game development tool ,User interface ,Programmer ,computer ,computer.programming_language ,media_common - Abstract
Since the early days of video game development when the programmer had to write the code plus design and create the levels without the aid of a game editor, the tools to create games have evolved into the must-have game development software we use today. Now the level editors are built into the development kits, and the developer’s job is much easier—but still filled with potential pitfalls. In the past few years, it has become common to decouple game level editor operations and functionality from game-specific features, so that the editor can be reused for more games and game types. The same thing has happened on the game engine side: engines have become more and more flexible and reusable. But problems remain. One big issue with game level editors is complexity and manageability. Once you have added many features to the editor, it will grow in source code size and complexity, and will become harder and harder to maintain and extend. Another problem is that you have to choose a GUI toolkit to create your interface. That can become a headache if you ever decide to switch to another GUI toolkit, since many editing operations are tied in with the UI code itself. To address the issue of changing GUI toolkits in these fast and ever-shifting times, we present a method of decoupling the visual user interface code from the non-GUI editing operations code in the game level editor or other tools. By separating the UI from core editing functions, you can change to another GUI toolkit in no time, leaving the editing operations code almost untouched. The decoupling operation can be accomplished via C++ editor core functionality code and various editor user interfaces using GUI toolkits like Qt, MS WinForms, WPF, MFC, HTML5/JavaScript, or even a command-line editor UI, all using the same editor functionality code as a common hub. Communication between the editor functions and the visual interface is achieved through a command system (basically the Command Pattern). We will also explore the architecture of a plug-in system using this command communication approach.
- Published
- 2014
- Full Text
- View/download PDF
29. Faster Map Rendering
- Author
-
Tyler Smith, Jon Howard, Jason Gauci, Sean Bennett, Andrzej Manzur, Florian d’Erfurth, Ivan Popelyshev, Don Olmstead, Ian Ballantyne, Brandon Jones, Petter Lubbers, Duncan Tebbs, Colt McAnlis, Jesse Freeman, Bruno Garcia, Shun Lin, Chad Austin, Andres Pagella, John McCutchan, and Takuo Kihira
- Subjects
Texture atlas ,Computer science ,Computer graphics (images) ,ComputerApplications_COMPUTERSINOTHERSYSTEMS ,Graphics pipeline ,Megabyte ,Rendering (computer graphics) - Abstract
Any two-dimensional game is going to, at some point, have a separation between semistatic background content and dynamically animated foreground content. The background content can become a burden to the rendering pipeline, as it can easily consume megabytes of data as well as a hefty chunk of your rendering pipeline. In this chapter, I’m going to discuss a few strategies for overcoming this burden, providing trade-offs where your game may need them.
- Published
- 2014
- Full Text
- View/download PDF
30. Introduction to Utilizing HTML, CSS, and JavaScript to Create Rich Debugging Information
- Author
-
Nicusor Nedelcu, Paula Berinstein, John McCutchan, Christian Ronchi, Adrien Herubel, Gustavo Samour, Rita Turkowski, Remi Arnaud, Fabrice Robinet, Alessandro Ardolino, Robert Walter, Benjamin Nitschke, and Simon Franco
- Subjects
Canvas element ,Unobtrusive JavaScript ,Computer science ,Programming language ,media_common.quotation_subject ,Cascading Style Sheets ,computer.software_genre ,JavaScript ,World Wide Web ,Debugging ,Navigation mesh ,computer ,media_common ,computer.programming_language - Published
- 2014
- Full Text
- View/download PDF
31. HTML5 Games in C++ with Emscripten
- Author
-
Ian Ballantyne, Tyler Smith, Jon Howard, Andrzej Manzur, Takuo Kihira, Bruno Garcia, Petter Lubbers, Don Olmstead, Jason Gauci, Duncan Tebbs, John McCutchan, Sean Bennett, Florian d’Erfurth, Colt McAnlis, Brandon Jones, Ivan Popelyshev, Shun Lin, Chad Austin, Andres Pagella, and Jesse Freeman
- Subjects
World Wide Web ,Web browser ,Native client ,HTML5 ,business.industry ,Computer science ,Web application ,Internet users ,JavaScript ,business ,computer ,computer.programming_language - Abstract
If you had told me ten years ago that I'd someday compile real-time, 3D C++ games into JavaScript so I could run them in web browsers, I would have thought you were crazy. Since then, software has shifted from retail stores and optical discs to online app stores and web applications. Internet users have become increasingly security-conscious, and JavaScript engines have gotten faster by orders of magnitude.
- Published
- 2014
- Full Text
- View/download PDF
32. Saving Bandwidth and Memory with WebGL and Crunch
- Author
-
Colt McAnlis, Takuo Kihira, Ian Ballantyne, Brandon Jones, Tyler Smith, Jon Howard, Ivan Popelyshev, John McCutchan, Don Olmstead, Shun Lin, Sean Bennett, Petter Lubbers, Jason Gauci, Jesse Freeman, Chad Austin, Andrzej Manzur, Andres Pagella, Florian d’Erfurth, Bruno Garcia, and Duncan Tebbs
- Subjects
Texture compression ,Multimedia ,Computer science ,Download ,business.industry ,ComputingMethodologies_IMAGEPROCESSINGANDCOMPUTERVISION ,Lossy compression ,computer.software_genre ,Alpha compositing ,Crunch ,Web page ,Bandwidth (computing) ,Web application ,business ,computer - Abstract
When it comes to optimization, both real-time 3D applications and web pages happen to share a common target: images. Images, whether they take the form of textures or tags, often make up the majority of the visual information on your screen at any given time. The metrics for optimization differ based on the medium, however. 3D apps, such as games, need images that can be loaded quickly, drawn fast, and take up as little memory as possible by taking advantage of hardware-supported texture compression formats. Web pages, on the other hand, are primarily concerned with the bandwidth required to download the images to your device, skewing heavily towards small, lossy formats like JPG. In other words, 3D apps are concerned about the size of the image in video memory and web apps are concerned about the size of the file on the server.
- Published
- 2014
- Full Text
- View/download PDF
33. Developing Better Than Native Games
- Author
-
Jason Gauci, Chad Austin, Tyler Smith, Jon Howard, Andres Pagella, Don Olmstead, Shun Lin, Brandon Jones, Sean Bennett, Jesse Freeman, Bruno Garcia, Petter Lubbers, Ivan Popelyshev, John McCutchan, Duncan Tebbs, Florian d’Erfurth, Takuo Kihira, Colt McAnlis, Ian Ballantyne, and Andrzej Manzur
- Subjects
Human–computer interaction ,Computer science ,Motion blur ,ComputingMilieux_PERSONALCOMPUTING ,Look and feel - Abstract
Back in Chapter 3, we covered the common pitfalls that cause a game to perform poorly, as well as the techniques to address them. Now we will tackle techniques to make your game look and feel just like a native one on mobile.
- Published
- 2014
- Full Text
- View/download PDF
34. Moving Tools to the Cloud: Control, Configure, Monitor, and View Your Game with WebSocket
- Author
-
Christian Ronchi, Nicusor Nedelcu, Rita Turkowski, Remi Arnaud, Simon Franco, Gustavo Samour, Alessandro Ardolino, Fabrice Robinet, Adrien Herubel, Benjamin Nitschke, Robert Walter, Paula Berinstein, and John McCutchan
- Subjects
WebSocket ,Remote procedure call ,business.industry ,Computer science ,Game engine ,Real-time computing ,Control (management) ,Cloud computing ,business - Published
- 2014
- Full Text
- View/download PDF
35. Plug-in–based Asset Compiler Architecture
- Author
-
Christian Ronchi, Robert Walter, Simon Franco, Remi Arnaud, Alessandro Ardolino, Adrien Herubel, Paula Berinstein, John McCutchan, Nicusor Nedelcu, Gustavo Samour, Benjamin Nitschke, Rita Turkowski, and Fabrice Robinet
- Subjects
Functional compiler ,Compiler construction ,Computer science ,Intrinsic function ,Inline expansion ,Optimizing compiler ,Plug-in ,Compiler ,Parallel computing ,computer.software_genre ,computer ,Compiler correctness - Published
- 2014
- Full Text
- View/download PDF
36. Automating Your Workflow with Node.js and Grunt
- Author
-
Don Olmstead, Andrzej Manzur, Brandon Jones, Ian Ballantyne, Duncan Tebbs, Sean Bennett, Bruno Garcia, Takuo Kihira, Florian d’Erfurth, Petter Lubbers, Tyler Smith, Jon Howard, Ivan Popelyshev, John McCutchan, Jason Gauci, Shun Lin, Colt McAnlis, Jesse Freeman, Chad Austin, and Andres Pagella
- Subjects
business.industry ,Computer science ,Repetitive task ,computer.software_genre ,Automation ,Constant (computer programming) ,Single task ,Workflow ,Node (computer science) ,Operating system ,Code (cryptography) ,business ,Assembly line ,Software engineering ,computer - Abstract
As developers, we tend to do a lot of repetitive tasks. We are constantly compiling code, packaging it, and deploying it to different places. As the project scales, the complexity of these processes continues to grow. If there is one constant among humans, it’s that we are not great at doing repetitive tasks, especially complex ones. Sure, we can do one single task over and over again, but anything more complicated, and the system quickly breaks down. This isn’t anything new; Henry Ford realized it when he took advantage of the assembly line to lower the cost of making cars. We can do the same thing for our own code by taking advantage of automation.
- Published
- 2014
- Full Text
- View/download PDF
37. Autotiles
- Author
-
Colt McAnlis, Petter Lubbers, Brandon Jones, Duncan Tebbs, Andrzej Manzur, Sean Bennett, Florian d’Erfurth, Bruno Garcia, Shun Lin, Ivan Popelyshev, Jason Gauci, Jon Howard, Ian Ballantyne, Jesse Freeman, Takuo Kihira, Tyler Smith, Don Olmstead, John McCutchan, Chad Austin, and Andres Pagella
- Published
- 2014
- Full Text
- View/download PDF
38. Making a Multiplatform Game
- Author
-
Colt McAnlis, Takuo Kihira, Tyler Smith, Jon Howard, Duncan Tebbs, Ian Ballantyne, Brandon Jones, Don Olmstead, Petter Lubbers, Chad Austin, Shun Lin, Andres Pagella, Florian d’Erfurth, Andrzej Manzur, John McCutchan, Bruno Garcia, Jesse Freeman, Sean Bennett, Ivan Popelyshev, and Jason Gauci
- Subjects
Game design ,ComputingMilieux_THECOMPUTINGPROFESSION ,Work (electrical) ,Human–computer interaction ,Computer science ,ComputingMilieux_PERSONALCOMPUTING ,GeneralLiterature_MISCELLANEOUS ,Multiple platform - Abstract
Making games is exciting, exhilarating, and hugely fulfilling. Making good games isn’t easy. Making great games that work on multiple platforms is . . . what this chapter is about.
- Published
- 2014
- Full Text
- View/download PDF
39. High-Performance JavaScript
- Author
-
John McCutchan, Don Olmstead, Petter Lubbers, Colt McAnlis, Bruno Garcia, Takuo Kihira, Ian Ballantyne, Chad Austin, Andres Pagella, Florian d’Erfurth, Duncan Tebbs, Shun Lin, Tyler Smith, Jason Gauci, Brandon Jones, Andrzej Manzur, Ivan Popelyshev, Jon Howard, Sean Bennett, and Jesse Freeman
- Subjects
Unobtrusive JavaScript ,Smoothness (probability theory) ,Computer science ,Rich Internet application ,ComputingMilieux_PERSONALCOMPUTING ,ComputingMethodologies_IMAGEPROCESSINGANDCOMPUTERVISION ,computer.file_format ,computer.software_genre ,JavaScript ,Dynamic HTML ,Human–computer interaction ,Central processing unit ,computer ,ComputingMilieux_MISCELLANEOUS ,ComputingMethodologies_COMPUTERGRAPHICS ,computer.programming_language ,Garbage collection - Abstract
For a game to be enjoyable, smoothness is critical. A smooth game can feel lifelike and amazing; without smoothness, a game will be sluggish and annoying, even with the best art.
- Published
- 2014
- Full Text
- View/download PDF
40. GFX Asset Data Management
- Author
-
Christian Ronchi, Rita Turkowski, John McCutchan, Robert Walter, Simon Franco, Alessandro Ardolino, Fabrice Robinet, Paula Berinstein, Adrien Herubel, Gustavo Samour, Benjamin Nitschke, Nicusor Nedelcu, and Remi Arnaud
- Subjects
Finance ,business.industry ,Data management ,Naming convention ,Asset (economics) ,business - Published
- 2014
- Full Text
- View/download PDF
41. Mobile Web Game Techniques with Canvas 2D API
- Author
-
Colt McAnlis, Shun Lin, Florian d’Erfurth, Bruno Garcia, Andrzej Manzur, Sean Bennett, Don Olmstead, Jason Gauci, Ian Ballantyne, Petter Lubbers, Brandon Jones, Chad Austin, Tyler Smith, Andres Pagella, Jon Howard, Ivan Popelyshev, Jesse Freeman, Duncan Tebbs, John McCutchan, and Takuo Kihira
- Subjects
HTML5 ,Multimedia ,Computer science ,Game engine ,ComputingMilieux_PERSONALCOMPUTING ,Mobile Web ,computer.software_genre ,Web API ,World Wide Web ,Vector graphics ,ComputingMethodologies_DOCUMENTANDTEXTPROCESSING ,Affine transformation ,computer ,3D computer graphics ,Garbage collection - Abstract
When we consider mobile HTML5 games, we usually compare them with native games. One might think that native games are always superior to browser games or that browser games can never touch native games in performance. But check out the top 10 games in the native app market. Often you will find that many of the top-selling games do not use 3D graphics, particle effects, and so on. It seems that we are able to create similar kinds of mobile games in the browser with HTML5.
- Published
- 2014
- Full Text
- View/download PDF
42. Engineering Domain-Specific Languages for Games
- Author
-
Simon Franco, Adrien Herubel, John McCutchan, Benjamin Nitschke, Remi Arnaud, Rita Turkowski, Gustavo Samour, Fabrice Robinet, Paula Berinstein, Christian Ronchi, Alessandro Ardolino, Robert Walter, and Nicusor Nedelcu
- Subjects
Domain-specific language ,Video game development ,Programming language ,Computer science ,business.industry ,Comparison of multi-paradigm programming languages ,Second-generation programming language ,computer.software_genre ,Subject-matter expert ,Game design ,Artificial intelligence ,business ,computer ,Reference model ,Natural language processing - Published
- 2014
- Full Text
- View/download PDF
Catalog
Discovery Service for Jio Institute Digital Library
For full access to our library's resources, please sign in.