Game Engine Research Paper

Total Page:16

File Type:pdf, Size:1020Kb

Game Engine Research Paper Video Game Engines: A Research Report By Ryan Strawn Monday, April 14th, 2014 Table of Contents Section 1 - What is a Game Engine? (page 2) Section 2 - What Does a Game Engine do? (page 3) Section 3 - Types of Game Engines (page 7) Section 4 - Conclusion (page 9) Bibliography - (page 10) What is a Game Engine? ! A game engine is a tricky thing to define, the term is often thrown around in the gaming community but not everyone really knows what one is. The reason for the confusion is because engines come in many forms, and the actual implementation of one would be lost on someone unfamiliar with software development. Let’s preface a more in depth description by talking about how a computer works. A computer at the ground floor is a series of physical circuits either on or off, on top of that the values string together into commands eventually forming an operating system, the operating system can then create applications based on higher level programming languages, these languages can then be used to operate game engines and web browsers. As we can see “computers work on a principle which can be described as layers of abstracted complexity”(Michaelenger). !Game engines lie on top of the stack of complexity I described, so the wikipedia definition seems somewhat appropriate; “...a software framework designed for the creation and development of making video games”. A game engine takes common tasks of coding that are generally involved in game development and provides them in an accessible library, this allows developers to create their games without having to build everything from the ground up. !With all I’ve said, the idea of a game engine still seems a bit muddy and abstract, so I will try to provide an analogy. All cars need an engine to function and drive the vehicle forward, and if you were to develop a new type of car it could be advantageous to buy a prebuilt engine rather than putting the pistons, cylinders, and other part together from scratch, then the team could spend more time on the body, paint, stereo system, etc. All games use components that would compare to a car engine; animations, loading, displaying, user input, collisions, physics, etc. With an an engine in place, developers can spend more time on the parts of the game that make it unique like graphics, gameplay, characters, levels, and more. What Does a Game Engine Do? - Components/Terminology ✦ Graphics !Let’s say that we want to add a character, item or icon (referred to in game development as a sprite) onto the screen in our game. If we were to do this without a game engine, the seemingly simple function of displaying an image in a certain location could take 100 lines of code or more, but with an engine like Cocos2D (used for making iPhone games) it only takes this: CCSprite *sprite=[CCSpritespriteWithFile:@"sprite.png"]; sprite.position = cpp(100, 100); [game addChild: sprite]; !This is a great example of how a game engine performs actions behind the scenes, actions that have already been hashed out and implemented many times before by other programmers. !A game engine can contain many graphic features, most include functions for animations, lighting systems, fades, layers, scaling, resolution. All of these would typically take a lot of complex code, the language of the engine can access and utilize more quickly. ✦ Physics !Many modern games utilize some form of physics to simulate real world interactions between the world and the player. Most of us are familiar with Angry Birds, it uses physics to operate it’s entire gameplay theory with falling, teetering, and destructible blocks. Physics can simulate gravity, friction, velocity, bounciness, mass, and other properties. Some popular physics engines are Box2d, Havok, and PhysX, and they are typically packaged into other game engines. These physics code sets are extremely useful to developers because they contain complex mathematic equations that are anything but simple to program from scratch. ✦ User Input !This is the essential part of a game, the interactivity of a game happens when the user enters a command and things start happening. Inputs can vary greatly depending on the type of game that is made and that platform it is for; mobile games use touch commands, pc run games likely use the keyboard and or the mouse, and console systems like Playstation or Xbox use their own unique controller. A game engine can streamline the process of preparing a game for one or many of the platforms in a feature called input handling. The engine will “listen” for inputs, meaning that it is ready for a certain key to be pressed, and when a press and/or release is recognized it will trigger an “event”. The event could be anything from moving the player, character action, or opening a menu. ✦ Scripts/Behaviors ! A script within a game engine is a piece of code that can dictate when a reaction or event is supposed to occur, they are also referred to as behaviors in some engines because they determine when and how things should act within the game. A script could trigger an event like a scene or level change, a manipulation of the lighting or camera, or a character, enemy or item being added or removed from the scene. These scripts, like many other features of a game engine, are prebuilt sections of code that would otherwise be very long and time consuming to write. ! ✦ GUI ! GUI is an acronym that stands for graphical user interface, it refers to on screen text and menus, informational and instructional text. Drawing text with certain fonts and colors on screen with interactive buttons is not highly complex to code, nevertheless if a game engine provides a customizable gui system it can save a huge amount of time. Every game’s user interface is going to be unique and custom, designing one that matches the game’s visual style and caters to it’s gameplay is very important. !Below is an example of how to add an interactive button with text within the Unity game engine which uses javascript as it’s main language. // JavaScript function OnGUI () { if (GUI.Button (Rect (10,10,150,100), "I am a button")) { print ("You clicked the button!"); // C# using UnityEngine; using System.Collections; public class GUITest : MonoBehaviour { void OnGUI () { if (GUI.Button (new Rect (10,10,150,100), "I am a button")) { print ("You clicked the button!"); ✦ Sound ! Engines can handle sound and music. Game engines can assist developers by triggering sounds and music during specific events, they can also place the audio in a 3d field which will make the sounds come from a specific area within the games environment. The sound features in an engine can affect volume, panning, distance and also add pitch modulation depending on the characteristics of the environment. All of these ways of affecting and handling audio give a game depth and create an immersive experience. Often times audio goes under-appreciated in games, but if the audio is of low quality everyone will notice and it could sink a game’s success. ✦ Porting ! A huge advantage of using a game engine, and one of the reasons that most developers will opt to use one rather than building from the ground up, is that engines typically provide a means to publish/port to multiple platforms (android, ios, web, ps, xbox, pc, steam, etc.). ✦Networking ! Many modern games use some form of online play component, and it can be a huge selling point or even a key element the gameplay revolves around. The scripts that engines provide can help solve the connectivity issues between servers and devices that arise when making giving a game online features. Types of Game Engines ! Game engines come in many varieties that cater to different game genres, developer preferences, team and project sizes, and programming skill levels. The differences between engines, how they are classified and used is vast and even daunting, there are literally thousands of game engines. ✦Mobile, 2d, and 3d ! Certain game engines cater specifically to mobile gaming, they have scripts that allow porting to android, html5, ios and are optimized for touchscreen controls and displays. Many of the 2d game engines allow you to publish to mobile, and some allow you to port to consoles as well. 3d game engines are much more complex and multifaceted than 2d. 3d worlds in engines like Unreal and Unity involve massive terrains, models, lighting, and other aspects that place them in a whole different category. ✦API’s, SDK’s, and Visual Interfaces ! API stands for application programing interface, it utilizes a certain type of programming language to create a library of coding functions. An SDK is a software development kit, it combines multiple API’s together and a variety of development tools like modeling, animation, environments, physics. Some examples are the Adobe Gaming SDK, the Corona SDK, and Valve’s Source SDK. Most SDK’s are supported in online communities with coding/scripting examples and definitions of the functions and features it contains. Most of these API’s or SDK’s are non visual, there are no buttons or menus to navigate and they require the user to start from script/code to get a game up and running, a lot of programming knowledge is required for these. !Lately there is a trend to provide a visual interface for the engine, it turns the coding of the engine into a full blown software tool, one that could potentially be used by someone who is not a programmer. Some of the visual editors like the 2d engines GameSalad, Stencyl, and Gamemaker and the 3d engine Unity are excellent for high speed creative development, and appeal to indie developers or small teams.
Recommended publications
  • Apple IOS Game Development Engines P
    SWE578 2012S 1 Apple IOS Game Development Engines Abstract—iOS(formerly called iPhone OS) is Apple's section we make comparison and draw our conclusion. mobile operating system that is used on the company's mobile device series such as iPhone, iPod Touch and iPad which II. GAME ENGINE ANATOMY have become quite popular since the first iPhone launched. There are more than 100,000 of the titles in the App Store are A common misconception is that a game engine only games. Many of the games in the store are 2D&3D games and draws the graphics that we see on the screen. This is of it can be said that in order to develop a complicated 3D course wrong, for a game engine is a collection of graphical game, using games engines is inevitable. interacting software that together makes a single unit that runs an actual game. The drawing process is one of the I. INTRODUCTION subsystems that could be labeled as the rendering With its unique features such as multitouch screen and engine[3]. accelerometer and graphics capabilities iOS devices has Game engines provide a visual development tools in become one of the most distinctive mobile game addition to software components. These tools are provided platforms. More than 100,000 of the titles in the App Store in an integrated development environment in order to are games. With the low development cost and ease of create games rapidly. Game developers attempt to "pre- publishing all make very strange but new development invent the wheel” elements while creating games such as opportunity for developers.[2]Game production is a quite graphics, sound, physics and AI functions.
    [Show full text]
  • Faculteit Bedrijf En Organisatie Unity 5 Versus
    Faculteit Bedrijf en Organisatie Unity 5 versus Unreal Engine 4: Artificiële intelligentie van 3D vijanden voor een HTML5 project Matthias Caryn Scriptie voorgedragen tot het bekomen van de graad van Bachelor in de toegepaste informatica Promotor: Joeri Van Herreweghe Co-promotor: Steven Delrue Academiejaar: 2015-2016 Derde examenperiode Faculteit Bedrijf en Organisatie Unity 5 versus Unreal Engine 4: Artificiële intelligentie van 3D vijanden voor een HTML5 project Matthias Caryn Scriptie voorgedragen tot het bekomen van de graad van Bachelor in de toegepaste informatica Promotor: Joeri Van Herreweghe Co-promotor: Steven Delrue Academiejaar: 2015-2016 Derde examenperiode Samenvatting Rusty Bolt is een Belgische indie studio. Deze studio wilt een nieuw project starten voor een 3D spel in een HyperText Markup Language 5 (HTML5) browser die intensief gebruik zal maken van artificiële intelligentie (AI) en Web Graphics Library (WebGL). Na onderzoek via een requirements-analyse van verschillende mogelijkheden van game engines komen we terecht bij twee opties namelijk Unity 5, die Rusty Bolt al reeds gebruikt, of de Unreal Engine 4, wat voor hen onbekend terrein is. Qua features zijn ze enorm verschillend, maar ze voldoen elk niet aan één voorwaarde die Rusty Bolt verwacht van een game engine. Zo biedt Unity Technologies wel een mogelijkheid om software te bouwen in de cloud. De broncode van Unity wordt niet openbaar gesteld, tenzij men er extra voor betaalt. Deze game engine is dus niet volledig open source in tegenstelling tot Unreal Engine 4. We vergelijken dan verder ook deze twee engines, namelijk Unity 5 en Unreal Engine 4. We tonen aan dat deze engines visueel verschillen van features, maar ook een andere implementatie van de AI hanteren.
    [Show full text]
  • Game Programming Algorithms and Techniques This Page Intentionally Left Blank Game Programming Algorithms and Techniques
    Game Programming Algorithms and Techniques This page intentionally left blank Game Programming Algorithms and Techniques A Platform-Agnostic Approach Sanjay Madhav Upper Saddle River, NJ • Boston • Indianapolis • San Francisco New York • Toronto • Montreal • London • Munich • Paris • Madrid Capetown • Sydney • Tokyo • Singapore • Mexico City Many of the designations used by manufacturers and sellers to distinguish their Editor-in-Chief products are claimed as trademarks. Where those designations appear in this book, Mark Taub and the publisher was aware of a trademark claim, the designations have been printed with initial capital letters or in all capitals. E x e c u t i v e E d i t o r Laura Lewin The author and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors D e v e l o p m e n t E d i t o r or omissions. No liability is assumed for incidental or consequential damages in Chris Zahn connection with or arising out of the use of the information or programs contained M a n a g i n g E d i t o r herein. Kristy Hart For information about buying this title in bulk quantities, or for special sales opportunities (which may include electronic versions; custom cover designs; and P r o j e c t E d i t o r content particular to your business, training goals, marketing focus, or branding Elaine Wiley interests), please contact our corporate sales department at corpsales@pearsoned.
    [Show full text]
  • Razvoj Neodvisnih Video Iger Run&Roll
    Univerza v Ljubljani Fakulteta za racunalniˇ ˇstvo in informatiko Rok Creˇsnikˇ Razvoj neodvisnih video iger Run&Roll DIPLOMSKO DELO NA UNIVERZITETNEM STUDIJUˇ RACUNALNIˇ STVAˇ IN INFORMATIKE, SMER INFORMATIKA Ljubljana 2013 University of Ljubljana Faculty of Computer and Information Science Rok Creˇsnikˇ Indie Game Development Run&Roll THESIS FACULTY OF COMPUTER AND INFORMATION SCIENCE, DEPARTMENT OF INFORMATICS Mentor: doc. dr. Rok Rupnik Ljubljana 2013 Univerza v Ljubljani Fakulteta za racunalniˇ ˇstvo in informatiko Rok Creˇsnikˇ Razvoj neodvisnih video iger Run&Roll DIPLOMSKO DELO NA UNIVERZITETNEM STUDIJUˇ RACUNALNIˇ STVAˇ IN INFORMATIKE, SMER INFORMATIKA Mentor: doc. dr. Rok Rupnik Ljubljana 2013 The results of the thesis are the intellectual property of the author, and the Faculty of Computer and Information Science, University of Ljubljana. For publishing or exploitation of the results of the thesis the written consent of the author, Faculty of Computer and Information Science and the mentor is needed. Namesto te strani vstavite original izdane teme diplomskega dela s pod- pisom mentorja in dekana ter ˇzigomfakultete, ki ga diplomant dvigne v ˇstudentskem referatu, preden odda izdelek v vezavo! Izjava o avtorstvu diplomskega dela Spodaj podpisani Rok Cresnik, z vpisno ˇstevilko 63050021, sem avtor di- plomskega dela z naslovom: Indi Game Development S svojim podpisom zagotavljam, da: • sem diplomsko delo izdelal samostojno pod mentorstvom doc. dr. Roka Rupnika. • so elektronska oblika diplomskega dela, naslov (slov., angl.), povzetek (slov., angl.) ter kljuˇcnebesede (slov., angl.) identiˇcnis tiskano obliko diplomskega dela • soglaˇsamz javno objavo elektronske oblike diplomskega dela v zbirki "Dela FRI". V Ljubljani, dne 15. oktober 2013 Podpis avtorja: Thank you! Contents Povzetek 1 Abstract 5 Prologue: The Hero is Born: iOS & Objective-C 7 0.1 iOS .
    [Show full text]
  • A Case Study on One-Source Multi-Platform Mobile Game Development Using Cocos2d-X
    International Journal of Engineering and Applied Sciences (IJEAS) ISSN: 2394-3661, Volume-3, Issue-11, November 2016 A Case Study on One-Source Multi-Platform Mobile Game Development Using Cocos2d-x Jinseok Seo, Hun Choi Abstract— In this paper, by introducing a case study on of "ResourceMaker", a tool developed for efficient game development of a first-person shooter game “Biosis” playable in resource sharing and management. This chapter also both iOS and Android platforms, we present guidelines for describes the level engine implemented to reflect the game developing one-source multi-platform mobile games using designers’ intention freely. Finally, Chapter V concludes the cocos2d-x game engine. This paper also describes the paper. “ResourceMaker” implemented to share and manage game assets efficiently in our multi-targeted development environment and the level engine by using which game planners can easily apply their designs to game levels. We expect that the presented guidelines will help game developers reduce the time and cost for development in the mobile game ecosystem, the life-cycle of which is very short. Index Terms—cocos2d-x, mobile game, multi-platform I. INTRODUCTION Recently, as the mobile platforms including smart phones have achieved popular success, the size of the mobile game market is also rapidly increasing [1]. As the market grows, more and more types of smart devices are emerging. Even on platforms that support the same operating system, many various types of devices with different screen resolutions are being announced. Therefore, it is inevitable that the cost required to develop a game for various platforms and display types as described above is greatly increased.
    [Show full text]
  • Basic Elements and Characteristics of Game Engine
    Global Journal of Computer Sciences: Theory and Research Volume 8, Issue 3, (2018) 126-131 www.gjcs.eu Basic elements and characteristics of game engine Ramiz Salama*, Near East University, Department of Computer Engineering, Nicosia 99138, Cyprus Mohamed ElSayed, Near East University, Department of Computer Engineering, Nicosia 99138, Cyprus Suggested Citation: Salama, R. & ElSayed, M. (2018). Basic elements and characteristics of game engine. Global Journal of Computer Sciences: Theory and Research. 8(3), 126–131. Received from March 11, 2018; revised from July 15, 2018; accepted from November 13, 2018. Selection and peer review under responsibility of Prof. Dr. Dogan Ibrahim, Near East University, Cyprus. ©2018 SciencePark Research, Organization & Counseling. All rights reserved. Abstract Contemporary game engines are invaluable tools for game development. There are many engines available, each of them which excel in certain features. Game Engines is a continuous series that helps us to make and design beautiful games in the simplest and least resource way. Game drives support a wide variety of play platforms that can translate the game into a game that can be played on different platforms such as PlayStation, PC, Xbox, Android, IOS, Nintendo and others. There is a wide range of game engines that suit every programmer and designed to work on Unity Game Engine, Unreal Game Engine and Construct Game Engine. In the research paper, we discuss the basic elements of the game engine and how to make the most useful option among Game Engines depending on your different needs and needs of your game. Keywords: Game engine, game engine element, basics of game engine.
    [Show full text]
  • Gamification in E-Learning Isatyash Fakoo, Iitulasi.B Idept
    ISSN : 2347 - 8446 (Online) International Journal of Advanced Research in ISSN : 2347 - 9817 (Print) Vol. 5, Issue 1 (Jan. - Mar. 2017) Computer Science & Technology (IJARCST 2017) Gamification in e-Learning ISatyash Fakoo, IITulasi.B IDept. of Computer Science, Christ University, Bangalore, India IIAssociate Professor, Department of Computer Science, Christ University, Bangalore, India Abstract Teaching learning process had involved to greater dimension in the past decade. The penetration and ease of availability has seen rise in use of e-Learning in the high education. e-Learning has provided a virtual platform for both learners and teachers to cater to the varied learner needs. The digital native, who is the current generation of learner find games as an interesting medium to learn. Gamification of learning has been to be a new approach to engage the digital learner in an efficient way. Keywords Gamification; e-Learning; digital learner; open source tools; hot potatoes component. I. Introduction students and students in remote and inaccessible places all over Gamification has been part of marketing, customer engagement the world by offering them more prominent adaptability as far and many other sectors of industry. It is perceived as innovative as place and time. approach to enhance the business model. Success and usage of 1. At Fortune 500 firms, 73.6 percent of technology-delivered games in the business sector is predicted to take upsurge in the training comes through networked, online methods. (1) coming years. Every field benefits through innovative or disruptive 2. Corporations can save up to 70% by replacing traditional techniques and educational field is no different.
    [Show full text]
  • Top-Down Design of a CS Curriculum for a Computer Games BA
    Top-down Design of a CS Curriculum for a Computer Games BA Nuno Fachada Nélio Códices HEI-Lab — Digital Human-Environment Interactions Lab School of Communication, Arts and Information Tech. Lusófona University Lusófona University Lisboa, Portugal Lisboa, Portugal [email protected] [email protected] ABSTRACT 1 INTRODUCTION Computer games are complex products incorporating software, Programming is a fundamental area in computer game develop- design and art. Consequently, their development is a multidis- ment. Arguably, it was the sole skill required for actually making ciplinary effort, requiring professionals from several fields, who computer games in the past [44, 49]. However, the emergence of should nonetheless be knowledgeable across disciplines. game engines and other development tools has been reducing the Due to the variety of skills required, and in order to train these relative importance of programming – so much so that today it is professionals, computer game development (GD) degrees have been possible to develop commercially viable games (even if limited), appearing in North America and Europe since the late 1990s. Follow- without writing code [4, 7, 13, 43]. Furthermore, computer games ing this trend, several GD degrees have emerged in Portugal. Given have since become complex products incorporating software, design the lack of specialized academic staff, not uncommon in younger and art. Thus, computer game development has turned into a multi- scientific areas, some of these degrees “borrowed” computer science disciplinary effort, requiring professionals from several fields, who (CS) programs and faculty within the same institution, leading in should nonetheless be knowledgeable across disciplines [5, 49, 58]. some cases to a disconnect between CS theory and practice and the Nevertheless, programming remains an essential competence for requirements of GD classes.
    [Show full text]
  • Game Engines Education Module Game Engines 09 from a to Z
    software Problem-Solving Activities for Computational Thinkers ➒ Game Engines education module Game Engines 09 from A to Z software education module Traditional Games Revisited How Game Characters Move Becoming a Game Developer Computational Thinking Map How to Use 1. Traditional Games 3. Becoming a Game This Program Revisited Developer Activity 1 Activity 4 Software is changing the world. The programs installed in computers and apps Problem Decomposition Problem Decomposition that make it more convenient to use smartphones are all software. Software is in Collect information about Look into the games built every part of our lives, so it is difficult to find areas where we are not affected by games similar to Yut Nori by using a game engine software. The state-of-the-art science and technology that we see in the news is also Recognizing Patterns Automation Automation Recognizing Patterns helped by software. In turn, progress in math, science and technology advances Assign symbolic meanings Program a game that uses Come up with a game idea Compare the games similar to game pieces and express a game engine, by combin- and compare it with similar software further. As such, math, science and technology are closely related with to Yut Nori them as a drawing ing images and game logic games and cannot be separated from software. These module series were created through collaboration between experts in Abstraction Making an Algorithm Making an Algorithm Abstraction related fields and software education, and its suitability for classrooms has been Check whether the game Make a game board and Define stations to be includ - elements were designed Draw game characters, verified.
    [Show full text]
  • 2D Graphics Based on S
    Introduction to Computer Game Production: 2D Graphics based on S. Madhav (2014) Game Programming Algorithms and Techniques, Addison-Wesley Dr. Mathias Lux Klagenfurt University 2D Graphics 2D rendering mostly limited by display device capabilities • Nowadays LCD • influenced from cathode ray tube (CRT) By Blue tooth7 (Own work) [CC BY-SA 3.0 (http://creativecommons.org/licenses/by- sa/3.0)], via Wikimedia Commons CRT • Scan lines and pixels per scan line • way back: vertical blank interval (VBLANK) Early game systems couldn’t store all pixels in RAM, ie. 320 pixels on 200 scan lines Color Buffers & Vertical Sync • Newer hardware has color buffer – Game writes into buffer – CRT gun reads from buffer • Problem with synchronization – Buffer updated while reading? – Buffer just updated in VBLANK? Screen tearing Double Buffering • Two instead of one buffers – Write into one buffer – Wait for VBLANK, then switch buffers function RenderWorld() // Draw all objects in the game world ... wait for VBLANK swap color buffers } Double & Triple Buffering • LCD Monitors can still experience tearing – so double buffering is still a good idea • Switching in VBLANK – caps framerate to refresh rate of the monitor – option: switch when ready • Some games use triple buffering – further smooth out frame rates – at cost of input lag, cp. VR Sprites 2D visual object, that can be drawn with a single image at any given frame. • backgrounds, objects, avatars, ... • games often have hundreds of sprites • so sprites need to managed efficiently Sprite Formats and Loading • Format depends on system capabilities – iOS can natively handle PVR – TGA can be handled natively, but is uncompressed – JPG and PNG have to decoded • Typically ones uses libraries/frameworks – SDL, libGDX, cocos2d, ..
    [Show full text]
  • [Cocos2d-X.By.Example.Beginners
    Cocos2d-x by Example Beginner's Guide Make fun games for any platform using C++, combined with one of the most popular open source frameworks in the world Roger Engelbert BIRMINGHAM - MUMBAI Cocos2d-x by Example Beginner's Guide Copyright © 2013 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. First published: April 2013 Production Reference: 1190413 Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK. ISBN 978-1-78216-734-1 www.packtpub.com Cover Image by Roger Engelbert ([email protected]) Credits Author Project Coordinator Roger Engelbert Abhishek Kori Reviewers Proofreader Fabio Cunha Dirk Manuel Stelios Pallis Marcio Valenzuela P Indexers Rekha Nair Acquisition Editor Monica Ajmera Mehta Martin Bell Graphics Lead Technical Editor Valentina D'silva Joel Noronha Production Coordinator Technical Editors Prachali Bhiwandkar Veronica Fernandes Ishita Malhi Cover Work Prachali Bhiwandkar Saijul Shah About the Author Roger Engelbert is a game developer with over ten years of experience in developing online games.
    [Show full text]
  • Desarrollo De Un Videojuego Para Móviles Con Unity O Cocos2d-X
    Desarrollo de un videojuego para móviles con Unity o Cocos2d-x Máster Universitario en Desarrollo de Software para Dispositivos Móviles Trabajo Fin de Máster Autor: José María Egea Canales Tutor/es: Miguel Ángel Lozano Ortega Septiembre 2016 Justificación y Objetivos Con el fin de poder aplicar los conceptos sobre videojuegos aprendidos en esta titulación de posgrado, y lograr tratar con los temas sociales y servicios de la plataforma Google, se pretende desarrollar un videojuego 2D sencillo pero completo para Android, que haga uso de servicios de Google, y que nos permita analizar y evaluar la dificultad con la que es posible trabajar con estos. Para el desarrollo del videojuego se pretende utilizar el motor Cocos2d-x. Cabe recalcar que para la construcción correcta del proyecto, se realiza tanto el Documento de Diseño del Videojuego (GDD), como su posterior desarrollo utilizando el motor. El videojuego estará realizado utilizando las bibliotecas de Cocos2d-x de C++, y se utilizará en la medida de lo posible las herramientas de este motor. Se pretende mantener un desarrollo limpio abierto a posibles mejoras y adaptación a dispositivos iOS en el futuro. Como extra, para otorgarle más personalidad, se pretende realizar gráficos propios para todo el videojuego. Página 1 Agradecimientos Este proyecto surge de mis problemas para prestar atención en ocasiones en clase, que me hacen acabar convirtiendo mis hojas de apuntes en hojas de garabatos, así que me agradezco a mí mismo por haber sacado algo productivo del desastre. Gracias, Yo. Por otro lado, agradezco a mi compañero Juan Pomares, porque si lo pillabas de buenas, te resolvía todas las dudas que te pudieran surgir.
    [Show full text]