Creación De Un Motor De Videojuegos 2D Multiplataforma De Código Abierto

Total Page:16

File Type:pdf, Size:1020Kb

Creación De Un Motor De Videojuegos 2D Multiplataforma De Código Abierto Trabajo Fin de Grado JAGE (JustAnotherGameEngine): Creación de un motor de videojuegos 2D mu ti! ata"orma de código abierto Autor#es Rub%n Tomás Gracia Director#es Eduardo 'ena (ieto Grado en )ngenier*a )nformática Escue a de )ngenier*a + Ar,uitectura 2-./ Repositorio de la Universidad de Zaragoza – Zaguan http://zaguan.unizar.es Para mi abuelo Juan y mi tío abuelo Mateo, por ser quienes más influyeron en mi interés por los videojuegos Agradecimientos A mi fami ia, !or nunca rechazar mi afición !or os videojuegos2 A mi novia, !or apo+arme siem!re + a+udarme a seguir trabajando. A mis amigos, !or a+udarme en as !ruebas de !royecto. JAGE (JustAnotherGameEngine): !reación de un motor de videojuegos $% multiplataforma de código abierto Resumen 3oy en d*a os videojuegos est&n más !resentes en a vida diaria de o ,ue nunca han estado. 4on mucho más accesib es !ara a gente con !ocos medios0 Asimismo, a e5tensión de a )nformática ha !ropiciado e hecho de ,ue mucha gente ha+a !odido adoptar a !rogramación como hobb+2 Esto ha desencadenado un estal ido en e mundo de os videojuegos0 de gente ,ue !rograma sus !ropios videojuegos con bajo (o ning6n) !resu!uesto !ara uego !ub icar os en )nternet: conocidos como juegos indie0 est&n ahora en su mejor momento. Todo esto ha evado a cabo una retroalimentación !or a ,ue cada ve1 os videojuegos están más ace!tados0 + m&s gente ,uiere hacer su !ropio juego. 'uchas !ersonas no ,uiere un videojuego comercial0 solo e5! otar su ado art*stico en un mundo ,ue disfrutan0 + !or e o cada ve1 han surgido m&s herramientas ,ue !ermiten hacer juegos con un esfuer1o reducido: os motores2 En este !royecto se im! ementa, usando Java, desde cero + en código abierto, un motor de videojuegos 2D con a " e5ibi idad como m&5ima !rioridad2 Para demostrar dicha " e5ibi idad0 se han creado tres juegos com! etamente distintos con % 0 ,ue han !ermitido e5! orar todas as !osibi idades ,ue da e motor0 as* como servir de retroalimentación !ara e motor + saber ,u% era necesario cambiar en %ste !ara cum! ir os objetivos !ropuestos2 El !ro+ecto !retende ser una a+uda a todas as !ersonas ,ue ,uieren !robar e desarrol o de videojuegos0 tanto !ara aque as ,ue no saben ni ,uieren saber nada de !rogramación0 como !ara as ,ue ,uieren desarrol ar un motor !ropio, !uesto ,ue e !royecto se ha desarrol ado bajo una icencia de código abierto. IV Índice de contenido 1. INTRODUCCIÓN.........................................................................................................1 1.1. Objetivos................................................................................................................1 1.2. Metodología y herramientas..................................................................................1 1.3. Contenido de la memoria.......................................................................................2 1.4. Licencia usada........................................................................................................2 2. TECNOLOGÍA UTILIZADA.......................................................................................3 2.1. Por qué Java...........................................................................................................3 2.2. Por qué Gradle.......................................................................................................4 3. IMPLEMENTACIÓN DE LA BASE DEL MOTOR...................................................6 3.1. Requisitos funcionales...........................................................................................6 3.2. Extensibilidad del motor........................................................................................7 3.3. Base del motor.......................................................................................................9 4. IMPLEMENTACIÓN DE LAS EXTENSIONES......................................................11 4.1. Por qué un RPG, Tetris y Scramble.....................................................................11 4.2. Extensión RPG: JAGEmodules...........................................................................11 4.2.1. Patrón Composite.........................................................................................12 4.2.2. Gestor de recursos........................................................................................13 4.2.3. Datos de la partida........................................................................................13 4.2.4. Las implementaciones de GameState: modos de juego...............................14 4.3. Extensión Tetris: JAGEtetrisplugin.....................................................................16 4.4. Extensión Scramble: JAGEscrambleplugin.........................................................17 5. CONCLUSIONES.......................................................................................................19 5.1. Cronograma..........................................................................................................19 5.2. El futuro del proyecto..........................................................................................19 5.3. Opinión personal..................................................................................................20 Bibliografía......................................................................................................................21 ANEXO I: Descarga, compilación y ejecución...............................................................22 ANEXO II: Manual de usuario de RPG..........................................................................25 ANEXO III: Manual de usuario Tetris............................................................................30 ANEXO IV: Manual de usuario Scramble......................................................................32 V 1. INTRODUCCIÓN 8n motor de videojuegos es un !rograma ,ue se encarga de as tareas m&s com! icadas + re!etitivas, como !or ejem! o e renderi1ado de gráficos, + os c& cu os "*sicos2 A !artir de e o, e usuario !uede sim! emente dedicarse a definir as escenas ,ue uego e motor se encargará de hacer funcionar + de mostrar !or !antal a. 4in embargo, a ma+or*a de motores ,ue e5isten actualmente0 o son demasiado com! ejos !ara un juego 2D, demasiado senci os0 o demasiado caros2 'otores como 8nreal Engine. + Cr+engine2 son motores com! etamente enfocados a juegos 9D + tienen un reducido soporte 2D. 8nit+ Engine9 cada ve1 es mejor !ara os juegos 2D, sin embargo, sigue siendo más enfocado al 9D + es demasiado general !ara juegos en 2D. Game 'aker; es un buen motor 2D0 sin embargo su !recio !ara !oder an1ar un juego en <inu5 +a asciende a os =.;>2>>0 + su enguaje de scri!ting es bastante imitado. Y $PG 'aker@, un motor !ara videojuegos 2D $PG con e ,ue se !ueden hacer juegos decentes sin saber !rogramar nada0 + ,ue sabiendo !rogramar !uedes modificar o como ,uieras0 debido a ,ue todo e motor est& escrito en $ub+A.2B0 tiene muchas versiones distintas0 incom!atib es entre s*0 a un !recio demasiado e evado !ara alguien ,ue crea videojuegos sim! emente como hobb+2 Con e mercado de motores ,ue hay actualmente0 este !royecto ,uer*a !roponer una alternativa totalmente gratuita !ara iniciar a aque as !ersonas ,ue crean videojuegos como disfrute !ersonal0 !ero a a ve1 !ermitiendo crear juegos !erfectamente comerciales2 1.1. Objetivos El objetivo es desarrol ar un motor de videojuegos 2D com! etamente gratuito, ,ue !ermita a os usuarios crear videojuegos sin tener !or ,u% saber !rogramar0 ,ue funcione tanto en Cindows como en <inu50 + ,ue !ermita a fáci creación + distribución de e5tensiones de motor !ara !ermitir a creación de juegos com! etamente diferentes con e mismo motor2 1.2. Metodología y herramientas Este !royecto se ha evado a cabo en Java .2E0 usando a ibrer*a 4 ic:2D /0 ,ue faci ita e renderi1ado !or !antal a encapsu ando as amadas a F!enG<A>B en una A7) simi ar a a de Java2D[@B2 Para e iminar a necesidad de ,ue e usuario bus,ue + en ace as ibrerias al !royecto, as* como de crear os archivos ejecutab es finales0 se ha usado Grad eE como gestor de de!endencias + de com!i ación2 1 Unreal Engine. [Citado el 19/06/2016] https://www.unrealengine.com 2 CryEngine. [Citado el 19/06/2016] https://www.cryengine.com 3 Unity 3D. [Citado el 19/06/2016] https://unity3d.com 4 Game Maker. [Citado el 19/06/2016] http://www.yoyogames.com/gamemaker 5 RPG Maker. [Citado el 19/06/2016] http://www.rpgmakerweb.com 6 Slick2D. [Citado el 19/06/2016] http://slick.ninjacave.com 7 Gradle. [Citado el 19/06/2016] http://gradle.org 1 Por 6 timo, se ha uti i1ado Git3ubG como ! ataforma de gestión de configuraciones + de distribución0 debido a su gran uso en e softDare de código abierto !or sus !osibi idades de !artici!ación !6b ica en dichos !royectos0 as* como de su uso como copia de seguridad en caso de ,ue ha+a alg6n !rob ema con e com!utador usado. 1.3. Contenido de la memoria Esta memoria se divide en tres !artes c aramente diferenciadas2 Primero, se detal ar& e !rogreso de an& isis de entorno de os motores + enguajes de !rogramación ,ue con evó a a e ección de Java como enguaje de desarrol o, + de as in" uencias ,ue ha tenido e !royecto de otros motores + videojuegos2 4egundo, se detal ará cómo se ha im! ementado e motor + sus caracter*sticas m&s im!ortantes ,ue han !ermitido cum! ir os objetivos !ropuestos. Tercero, se e5! icará cómo se ha e5tendido e motor !ara os distintos juegos ,ue se han creado !ara demostrar todas sus capacidades2 1.4. Licencia usada Para este !royecto, se ha optado !or una icencia ()*+0 debido a ,ue
Recommended publications
  • Game Engines with Visual Scripting ● Specialized Game Engines ● Framework Like Game Engines ● Niche Game Engines
    Game Engines Jaanus Jaggo 2020 This is not even half of all the engines! Game engines 3 2 6 4 5 1 7 8 9 12 10 11 14 13 15 2 This is not even half of all the engines! Game engines 3 2 6 4 5 7 8 9 12 10 11 14 13 15 3 This is not even half of all the engines! Game engines 3 6 4 5 7 8 9 12 10 11 14 13 15 4 This is not even half of all the engines! Game engines 6 4 5 7 8 9 12 10 11 14 13 15 5 This is not even half of all the engines! Game engines 6 5 7 8 9 12 10 11 14 13 15 6 This is not even half of all the engines! Game engines 6 7 8 9 12 10 11 14 13 15 7 This is not even half of all the engines! Game engines 7 8 9 12 10 11 14 13 15 8 This is not even half of all the engines! Game engines 8 9 12 10 11 14 13 15 9 This is not even half of all the engines! Game engines 9 12 10 11 14 13 15 10 This is not even half of all the engines! Game engines 12 10 11 14 13 15 11 This is not even half of all the engines! Game engines 12 11 14 13 15 12 This is not even half of all the engines! Game engines 12 14 13 15 13 This is not even half of all the engines! Game engines 14 13 15 14 This is not even half of all the engines! Game engines 14 15 15 This is not even half of all the engines! Game engines 15 16 This is not even half of all the engines! Game engines 17 Game engines 18 There is no “best” game engine As there is no “best” programming language But some people like to express their opinion loudly! I consider myself to be quite unbiased.
    [Show full text]
  • Simple Game with Unity3d
    Simple Game with Unity3D Harry Octavianus Purba - 13514050 Informatics School of Electrical Engineering and Informatics ITB Bandung, Indonesia [email protected] Abstract—Many of people already playing game. To make the game, people can choose one of many game maker. Unity3D is on III. MAKING SIMPLE GAME WITH UNITY3D of game maker software. How to make game with game maker software ? Is it hard to make ? Making the game with Unity3D, just need five basic step. Making simple game with unity, can be done by several steps : Keywords—Unity3D;game A. Prepare Assets I. INTRODUCTION Assets is set of object in a unity project. Assets can be image from unity, or image import from other directory in In modern life, game is not something rare in people. PC, can be script, can be scene , and others. Assets in unity are Many people already playing the game. The game users placed at the bottom by default. The purpose of asset in unity vary,from child to old. Many types of games for example is the collection of objects to make a project in unity. adventure games , action games, board games, simulation games, puzzle, and others. The purpose of the game basically to entertain, but many people make games as a passion. To satisfy needs of the games, people need game maker software. Until know , many software that human can use to make a game, from the simple game to the complex game for example Game Maker Studio, RPG Maker, Game Salad, 3D Rad Engine, Unity, and others. How to make the game with that software ? Is it hard or easy to make? In this paper, will be explained how to make simple game with unity.
    [Show full text]
  • Metadefender Core V4.12.2
    MetaDefender Core v4.12.2 © 2018 OPSWAT, Inc. All rights reserved. OPSWAT®, MetadefenderTM and the OPSWAT logo are trademarks of OPSWAT, Inc. All other trademarks, trade names, service marks, service names, and images mentioned and/or used herein belong to their respective owners. Table of Contents About This Guide 13 Key Features of Metadefender Core 14 1. Quick Start with Metadefender Core 15 1.1. Installation 15 Operating system invariant initial steps 15 Basic setup 16 1.1.1. Configuration wizard 16 1.2. License Activation 21 1.3. Scan Files with Metadefender Core 21 2. Installing or Upgrading Metadefender Core 22 2.1. Recommended System Requirements 22 System Requirements For Server 22 Browser Requirements for the Metadefender Core Management Console 24 2.2. Installing Metadefender 25 Installation 25 Installation notes 25 2.2.1. Installing Metadefender Core using command line 26 2.2.2. Installing Metadefender Core using the Install Wizard 27 2.3. Upgrading MetaDefender Core 27 Upgrading from MetaDefender Core 3.x 27 Upgrading from MetaDefender Core 4.x 28 2.4. Metadefender Core Licensing 28 2.4.1. Activating Metadefender Licenses 28 2.4.2. Checking Your Metadefender Core License 35 2.5. Performance and Load Estimation 36 What to know before reading the results: Some factors that affect performance 36 How test results are calculated 37 Test Reports 37 Performance Report - Multi-Scanning On Linux 37 Performance Report - Multi-Scanning On Windows 41 2.6. Special installation options 46 Use RAMDISK for the tempdirectory 46 3. Configuring Metadefender Core 50 3.1. Management Console 50 3.2.
    [Show full text]
  • Openbsd Gaming Resource
    OPENBSD GAMING RESOURCE A continually updated resource for playing video games on OpenBSD. Mr. Satterly Updated August 7, 2021 P11U17A3B8 III Title: OpenBSD Gaming Resource Author: Mr. Satterly Publisher: Mr. Satterly Date: Updated August 7, 2021 Copyright: Creative Commons Zero 1.0 Universal Email: [email protected] Website: https://MrSatterly.com/ Contents 1 Introduction1 2 Ways to play the games2 2.1 Base system........................ 2 2.2 Ports/Editors........................ 3 2.3 Ports/Emulators...................... 3 Arcade emulation..................... 4 Computer emulation................... 4 Game console emulation................. 4 Operating system emulation .............. 7 2.4 Ports/Games........................ 8 Game engines....................... 8 Interactive fiction..................... 9 2.5 Ports/Math......................... 10 2.6 Ports/Net.......................... 10 2.7 Ports/Shells ........................ 12 2.8 Ports/WWW ........................ 12 3 Notable games 14 3.1 Free games ........................ 14 A-I.............................. 14 J-R.............................. 22 S-Z.............................. 26 3.2 Non-free games...................... 31 4 Getting the games 33 4.1 Games............................ 33 5 Former ways to play games 37 6 What next? 38 Appendices 39 A Clones, models, and variants 39 Index 51 IV 1 Introduction I use this document to help organize my thoughts, files, and links on how to play games on OpenBSD. It helps me to remember what I have gone through while finding new games. The biggest reason to read or at least skim this document is because how can you search for something you do not know exists? I will show you ways to play games, what free and non-free games are available, and give links to help you get started on downloading them.
    [Show full text]
  • Nethomura Deployment Platform and Networking Middleware Is Still Evolving
    Networking Middleware and Online-Deployment Mechanisms for Java-based Games Chris Carter1, Dr Abdennour El Rhalibi1, Prof. Madjid Merabti1, Dr Marc Price2 (1) School of Computing & Mathematical Sciences, Liverpool John Moores University, Byrom Street, Liverpool, L3 3AF, UK [email protected]; [email protected]; [email protected] (2) BBC Research and Development. Kingswood Warren, Tadworth, Surrey, KT20 6NP, UK [email protected] Abstract. Currently, web-based online gaming applications are predominately utilising Adobe Flash or Java Applets as their core technologies. These games are often casual, two- dimensional games and do not utilise the specialist graphics hardware which has proliferated across modern PCs and Consoles. Multi-user online game play in these titles is often either non-existent or extremely limited. Computer games applications which grace the current generation of consoles and personal computers are designed to utilise the increasingly impressive hardware power at their disposal. However, these are commonly distributed using a physical medium or deployed through custom, proprietary networking mechanisms and rely upon platform-specific networking APIs to facilitate multi-user online game play. In order to unify the concepts of these disparate styles of gaming, this paper presents two interconnected systems which are implemented using Java Web Start and JXTA P2P technologies, providing a platform-independent framework capable of deploying hardware accelerated cross-platform, cross-browser online-enabled Java games, as part of the Homura Project. Keywords: Web Technologies, Distributed Systems, Java, Homura, NetHomura, Java Monkey Engine, jME, Java Web Start, Deployment, JXTA, Peer to Peer Networking, P2P Games.
    [Show full text]
  • Advanced 3D Visualization for Simulation Using Game Technology
    Proceedings of the 2011 Winter Simulation Conference S. Jain, R. R. Creasey, J. Himmelspach, K. P. White, and M. Fu, eds. ADVANCED 3D VISUALIZATION FOR SIMULATION USING GAME TECHNOLOGY Jonatan L. Bijl Csaba A. Boer TBA B.V. Karrepad 2a 2623 AP Delft, Netherlands ABSTRACT 3D visualization is becoming increasingly popular for discrete event simulation. However, the 3D visu- alization of many of the commercial off the shelf simulation packages is not up to date with the quickly developing area of computer graphics. In this paper we present an advanced 3D visualization tool, which uses game technology. The tool is especially fit for discrete event simulation, it is easily configurable, and it can be kept up to date with modern computer graphics techniques. The tool has been used in several container terminal simulation projects. From a survey under simulation experts and our experience with the visualization tool, we concluded that realism is important for some of the purposes of visualization, and the use of game technology can help to achieve this goal. 1 INTRODUCTION Simulation is the process of designing a model of a concrete system and conducting experiments with this model in order to understand the behavior of the concrete system and/or evaluate various strategies for the operation of the system (Shannon 1975). Although the simulation experiment can produce a large amount of data, the visualization of a simulated system provides a more complete understanding of its behavior. In the visualization, key elements of the system are represented on the screen by icons that dynamically change position, color and shape as the simulation evolves through time (Law and Kelton 2000).
    [Show full text]
  • Legends of Learning and IGDA Game Design Challenge Lesson Plans
    Legends of Learning & IGDA Game Design Challenge About the Game Design Challenge With many schools adopting a virtual or hybrid plan this school year, students are missing out on the opportunity to engage in hands-on STEM experiences with their friends and classmates. To help fill this void, and encourage learning, computational thinking, and fellowship, Legends of Learning and International Game Developers Association (IGDA) are hosting a month-long Game Design Challenge. This virtual experience will enable K-12 students to learn more about game development and practice critical thinking while expanding their portfolios. This packet contains lesson plans for the Game Design Challenge to assist teachers with integrating this experience into their classrooms if they would like their students to follow along. Each lesson week will also have at least one live-streamed talk for students to watch as well. We are excited to provide all learners with an opportunity to design a game, no matter their device-access, age, or previous experience. Depending on the grade level and experience of the participating students, there will be two different tracks they can participate in: ● Fully build out a video game, using their choice of platform ○ Examples: CORE, Unity, Game Maker, Scratch, RPG Maker ● Create a paper prototype and game design document Lesson 1: Game Development Concept & Planning The first step of any large project is to determine the base components of the project and make a plan on how to bring those together. In this lesson, students will work to create an initial design for their game. Then they will make a plan to bring that design to life.
    [Show full text]
  • Topics from Graphics 1
    Topics from Graphics 1 Image taken from http://www.felixgers.de/teaching/game/game-modules-talk/GameEngineAndModules.html 1 Synthetic Camera Model Images copied from http://www.cs.unm.edu/~angel/BOOK/INTERACTIVE_COMPUTER_GRAPHICS/SIXTH_EDITION/ART/ 2 Camera Specification Six degrees of freedom Position of center of lens (COP) Orientation Lens – focal length Film size (h,w) Orientation of film plane Images copied from http://www.cs.unm.edu/~angel/BOOK/INTERACTIVE_COMPUTER_GRAPHICS/SIXTH_EDITION/ART/ 3 LookAt Images copied from http://www.cs.unm.edu/~angel/BOOK/INTERACTIVE_COMPUTER_GRAPHICS/SIXTH_EDITION/ART/ 4 Perspective Frustum: a truncated pyramid Images copied from http://www.cs.unm.edu/~angel/BOOK/INTERACTIVE_COMPUTER_GRAPHICS/SIXTH_EDITION/ART/ 5 and slightly modified Using Field of View front plane fovy – angle in up direction aspect = w/h Images copied from http://www.cs.unm.edu/~angel/BOOK/INTERACTIVE_COMPUTER_GRAPHICS/SIXTH_EDITION/ART/ 6 Clipping Just as a real camera cannot “see” the whole world, the virtual camera can only see part of the world or object space Objects that are not within this view volume are said to be clipped out of the scene Images copied from http://www.cs.unm.edu/~angel/BOOK/INTERACTIVE_COMPUTER_GRAPHICS/SIXTH_EDITION/ART/ 7 Projection Projection: from 3D objects to 2D image Perspective projections: all projectors meet at the center of projection Parallel (orthogonal) projection: projectors are parallel, center of projection is replaced by a direction of projection 8 Orthogonal Viewing Images copied from http://www.cs.unm.edu/~angel/BOOK/INTERACTIVE_COMPUTER_GRAPHICS/SIXTH_EDITION/ART/ 9 and slightly modified Texture Mapping Image copied from http://blog.tartiflop.com/2008/11/first-steps-in-away3d-part-3-texture-mapping/ 10 Mapping a Texture A function f(u,v)=(x ,y ,z ) defines (u,v) (u,v) (u,v) the object position of each pixel in the texture, see this.
    [Show full text]
  • RPG Maker Player You Know Your Organization Has Taken Off When It
    RPG Maker Player Play Journal Entries Ed™ Edward_Wetter 09/04/2017 8:09 PM You know your organization has taken off when it has its own video game… I still take full credit for creating the ZNG, by the way. …Kidding! Mostly. =P I'll call this a log of what is already the greatest RPG ever (it has ME in it!), but it's only a demo and will consist of less of a record and more of me laughing at jokes you probably won't understand. E Yeah! e 12 r 44 D Advertisement Share this Post 2 Share Embed Comment Ed™ 09/04/2017 8:12 PM So forty seconds in I'm already stifling laughter to keep from waking the whole house up. I'd have picked a better time to play this, but there really is no better time. E Yeah! e 1 D Ed™ 09/04/2017 8:13 PM Stifling is not working. Oh, and spoilers aren't marked guys. Don't read this, obviously. E Yeah! e 1 D Ed™ 09/04/2017 8:15 PM ND, what have you done?! This is brilliantly horrible and I love it. E Yeah! e 2 D Nintendoer 09/04/2017 8:18 PM Breaking down already, "Frederick"? =P Notifs. E Yeah♥ e 1 D Ed™ 09/04/2017 8:21 PM Glitch swords to Soggy Books... The references are just supplemented by the downright weird! Stagger's got a straight-out Evil Empire? Haha, there really is no ZNGer who makes a better villain..
    [Show full text]
  • Introduction to Jmonkeyengine 3
    Introduction to jMonkeyEngine What is jMonkeyEngine? A jME Application Scene graphs Coordinate systems What is jMonkeyEngine? • jME is a game engine made for developers who want to create 3D games and other visualisation applications following modern technology standards • Uses Java and is platform independent. Can deploy to Windows, Mac, Linux, Android and iOS. • OpenSource, non-profit, New BSD License TWi Feb 15 Features of jMonkeyEngine • Has integrated tools to make it easier to create games and applications – Physics integration – Special effects (pre/post processing, particles) – Terrain-, Vegetation-, Water-systems++ – Graphical User Interface – Networking TWi Feb 15 Showcase • http://www.youtube.com/watch? v=eRC9FDin5dA&feature=player_embedded • http://jmonkeyengine.org/showcase/ TWi Feb 15 TWi Feb 15 TWi Feb 15 Why use a high level API? • Faster development process • Not necessary to reinvent the wheel • Provides abstraction from the low level: – Think Objects…. Not vertices – Think content… not rendering process. • Not necessary to tell when to draw, just tell what to draw – Retained mode • This does not mean you do not need to understand what is going on underneath • This is a programming course TWi Feb 15 What does jME do? • Uses OpenGL, and features a modern shader based architecture (GLSL) • Organises your scene with a scene graph data structure • Transformations and mathematics • jME performs rendering optimisations – View frustum culling – State sorting – Batching • jME is single threaded • jME is NOT thread safe. Only modify
    [Show full text]
  • Localization Tools in General Purpose Game Engines: a Systematic Mapping Study
    Hindawi International Journal of Computer Games Technology Volume 2021, Article ID 9979657, 15 pages https://doi.org/10.1155/2021/9979657 Review Article Localization Tools in General Purpose Game Engines: A Systematic Mapping Study Marcus Toftedahl Division of Game Development, University of Skövde, Skövde, Sweden Correspondence should be addressed to Marcus Toftedahl; [email protected] Received 31 March 2021; Accepted 5 July 2021; Published 23 July 2021 Academic Editor: Cristian A. Rusu Copyright © 2021 Marcus Toftedahl. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. This paper addresses localization from a game development perspective by studying the state of tool support for a localization work in general purpose game engines. Using a systematic mapping study, the most commonly used game engines and their official tool libraries are studied. The results indicate that even though localization tools exists for the game engines included in the study, the visibility, availability, and functionality differ. Localization tools that are user facing, i.e., used to create localization, are scarce while many are tool facing, i.e., used to import localization kits made outside the production pipeline. 1. Introduction tions or specific corporate entities handling functions such as marketing or distribution. This is not always the case with “The world is full of different markets and cultures and, to indie game development, where Pereira and Bernardes [7] maximize profits™[sic], nowadays games are released in sev- note that the structure of indie development is more flexible, eral languages.
    [Show full text]
  • NPA Computer Games Development
    NPA Computer Games Development Date Period 1 Period 2 Period 3 Period 4 Period5 Period 6 10th June Introduction to Overview of What is a Game? History of video Practical work on Practical work on Games Gaming Platforms games boardgames or boardgames or Development video games video games 17th June Practical work on Practical work on Game Genres Investigate Gaming Practical work on Practical work on boardgames or boardgames or Platforms boardgames or boardgames or video games video games video games video games 24th June Investigate games Investigate games Investigate games Investigate games Holiday Holiday on different on different on different on different platforms platforms platforms platforms 12th Aug Holiday Holiday Holiday Holiday Comparison of Comparison of gaming devices gaming devices (input and output) (input and output 19th Aug Outcome 1(a) – Outcome 1(a) – Investigate gaming Outcome 1(b) RPG maker VX ACE RPG maker VX ACE comparison of 2 comparison of 2 devices (input and comparison of 2 or Gamemaker 8.1 or Gamemaker 8.1 gaming platforms gaming platforms output) input and 2 output Tutorials Tutorials devices 26th Aug Emerging Identify backing Outcome 1(c) – 2 Role of the Game RPG maker VX ACE RPG maker VX ACE Technologies store used in games emerging designer or Gamemaker 8.1 or Gamemaker 8.1 consoles technologies Tutorials Tutorials 2nd Sep Investigate and Game Design Game Design Game Design Gamemaker 8.1 Gamemaker 8.1 classify game Concepts – Concepts ‐ Concepts – level Tutorials Tutorials genres Narrative character and environment
    [Show full text]