KURYANOVICH, EGOR / SHALOM, SHY / GOLDENBERG / GOLDENBERG, RUSSELL / PAUMGARTEN, MATHIAS
Esta obra revela numerosos trucos de programación y técnicas deoptimización que le ayudarán a crear su juego perfecto. Los autores,todos ellos prestigiosos desarrolladores de juegos en HTML5, cuentancon todo lujo de detalles su pasión por crear y escribir estupendosjuegos, comparten sus conocimientos fruto de la experiencia y unaamplia variedad de ejemplos reales de código que podrá utilizar en sus propios proyectos.Descubrirá lo que supone hacer un juego al que todo el mundo quierajugar. Trabajará de la mano de expertos programadores utilizandoJavaScript, HTML5, WebGL y CSS3. A medida que vaya completando losproyectos, no aprenderá solamente a crear simples juegos, sino quepodrá desarrollar juegos fantásticos.Al terminar el libro, habrá adquirido una serie de habilidades y unacolección de ejemplos de código reutilizables que podrá emplear paracrear los juegos más deseados de la red. Tanto si es un programadorexperto, como si es un principiante que busca inspiración y una basesólida, en este libro encontrará lo que necesita para crear el juegode sus sueños.Sobre los autoresSobre el revisor técnicoIntroducción1. El estado de los juegos en Web abiertaBreve presentación¿Qué tienen de interesante los juegos en Web abierta?Es fácil empezarExcelente documentaciónUna comunidad grande y agradableSe escribe una vez, se utiliza en cualquier parteSin compilar y abiertoTodo el mundo tiene controlAcceso a la mayor audiencia del mundo¿Cuál es el estado actual de los juegos en Web abierta?Ya existen tecnologías de navegador relacionadas con juegosGráficos 2D con SVG y canvas de HTML5Gráficos 3D con WebGLMejor rendimiento de aplicaciones con requestAnimationFrameMúsica y sonido con audio de HTML5 y las API de datos de audioEstilo de juego multijugador en tiempo real con WebSocketsAlmacenar datos de manera local con IndexedDB, Local Storage y otrasAPIJugar sin conexión con la caché de aplicacionesEstilo de juego de inmersión con la API FullScreenDomar al ratón con la API Mouse LockExperiencia similar a las consolas con la API GamepadIdentificar jugadores con servicios como BrowserIDCrear aplicaciones nativas para sistemas operativos con entornos comoWebRTMucho por llegarExisten muchos juegos buenos en Web abiertaBejeweledAngry BirdsRobots Are People TooRunfieldTF2 WebGL demoYa existen opciones de distribución y monetizaciónEl proyecto Mozilla Labs AppsChrome Web StoreFacebookiOS App StoreMuchas más opcionesEl lado no tan bueno de los juegos en Web abierta¿Qué nos depara el futuro y qué queda por hacer?2. La complejidad a partir de la simplicidad¿Quién soy?Antecedentes en el diseño de juegosA to BInfluencia e inspiraciónFase creativaPreproducciónProducciónPostproducción y lanzamientoAceptaciónReglas de simplicidadPor qué funciona A to BProcessing.js¿Cómo funciona Processing.js?¿Quién debería usar Processing.js?Puntos fuertes y debilidades¿Es una buena opción para juegos?Ejemplos e integración de Processing.jsSintaxis básica de ProcessingIncrustar un sketchProcesamiento en líneaIntegrar JavaScriptUtilizar audioImportar y cargar imágenesTabla de máximas puntuaciones con jQueryResumenOtros recursos3. Cómo crear juegos multiplataforma en HTML5 desde ceroIntroducciónOrganización de código en tres partesHTML, un lenguaje de contenidoIniciar nuestro juegoCSS, un lenguaje de hoja de estilo descriptivoSintaxis de CSSAlgunas propiedades CSS significativasLenguajes de hoja de estilo por encima de CSSCrear los efectos de transición de las páginasJavaScript, un lenguaje dinámico de alto nivelCodificar el controlador de juegosEscribir el código de nuestro juego de ajedrezEspecificación del juegoEstilos de juegoLógica del juegoAmbito y uso de espacio de nombresLa clase GameLa clase RendererLa clase StorageImplementar nuestro controladorEl resultadoMarcos de móvilesjQuery y ZeptoPhoneGapPhoneGap BuildConfiguración de nuestro juego de ajedrezWebAppBuilderMakefile para nuestro juego de ajedrezInternacionalizaciónEl ejemploCódigo HTMLCódigo básico i18n de JavaScriptPure DOM frente a juego basado en canvasVisión general de la API CanvasComparación de soluciones: CanvasComparación de soluciones: Pure DOMPodemos mezclarResumenOtros recursos4. Crear, guardar y cargar pistas¿Quiénes somos, qué haremos y por qué?La aplicación y su sentido¿Por qué son importantes los niveles?Dividir en componentes pequeñosEl marcado HTMLAñadir un poco de estiloLa estructura JavaScriptEl bucle de dibujoLos ladrillosCuadradoCírculoCurvaTriánguloAñadir ladrillos a la cuadrículaImplementar la rotaciónImplementar el botón ClearEl almacenamientoGuardar las pistasRecuperar pistasImplementar el botón SaveCrear una lista de pistas guardadasResumen5. Tutorial de 3D CSSIntroducciónVisión general de los elementosVariables del juegoPropiedades 3D del contenedorTemporizador de bucles de juego y eventosVisión general del bucle de juegoCrear peces nuevosActualización de los pecesRenderizar los pecesCrear pecesConfigurar las propiedades de los pecesReciclar los pecesExplotar los pece