Turn-Based Strategy Video Game Engine for Mobile Devices

Total Page:16

File Type:pdf, Size:1020Kb

Turn-Based Strategy Video Game Engine for Mobile Devices Strategy2D: Turn-based Strategy Video Game Engine for Mobile Devices Author: Javier Calvo Villazón Supervisor: Lluís Solano Albajés November 2014 2 TABLE OF CONTENTS 1. INTRODUCTION ................................................................................................................ 9 2. OBJECTIVES ..................................................................................................................... 10 3. CONTEXT .......................................................................................................................... 11 3.1 Users .......................................................................................................................................... 11 3.2 Players ...................................................................................................................................... 11 3.3 Game Engines ......................................................................................................................... 12 3.3.1 The Game Engine Scene ............................................................................................................ 12 3.3.2 Game Engines Today ................................................................................................................. 16 3.4 Turn-based Strategy Video Games ................................................................................. 18 3.4.1 Turn-based Tactics ..................................................................................................................... 19 3.4.2 Tactical Role Playing Games ................................................................................................... 20 3.4.3 World Strategy ............................................................................................................................. 22 4. THE DEVELOPMENT FRAMEWORK ......................................................................... 24 4.1 Framework Choice ............................................................................................................... 24 4.2 Cocos2d-x ................................................................................................................................ 25 4.2.1 Audio ................................................................................................................................................ 26 4.2.2 User Input ....................................................................................................................................... 27 4.2.3 Graphics .......................................................................................................................................... 29 4.2.4 Setting up the environment .................................................................................................... 37 5. THE ENGINE ..................................................................................................................... 40 5.1 Engine Structure Overview ............................................................................................... 40 5.2 The Strategy2D Module ...................................................................................................... 41 5.2.1 Usage ................................................................................................................................................ 42 5.2.2 Implementation ........................................................................................................................... 42 5.3 View Layer ............................................................................................................................... 46 5.3.1 LayerMap ........................................................................................................................................ 47 5.3.2 ButtonAbility ................................................................................................................................. 58 5.3.3 ButtonRecruit ............................................................................................................................... 59 5.3.4 Platform mobility ........................................................................................................................ 61 5.4 Domain Layer ......................................................................................................................... 65 5.4.1 ActionManager and the Game Flow ..................................................................................... 66 5.4.2 Configurable Elements .............................................................................................................. 78 3 5.4.3 ControllerGame ............................................................................................................................ 96 5.4.4 Path Finding .................................................................................................................................. 98 5.4.5 Callbacks ...................................................................................................................................... 113 5.4.6 Artificial Intelligence .............................................................................................................. 122 5.4.7 Internet Connection and Multiplayer .............................................................................. 122 6. USAGE EXAMPLE ......................................................................................................... 123 6.1 Starting .................................................................................................................................. 123 6.2 Terrain Configuration ...................................................................................................... 124 6.3 Team Configuration .......................................................................................................... 129 6.4 BaseUnit Configuration ................................................................................................... 130 6.4.1 Abilities Configuration ........................................................................................................... 133 6.4.2 Adding BaseUnits to the System ........................................................................................ 140 6.5 BaseBuilding Configuration ........................................................................................... 140 6.6 Path Finding Configuration ............................................................................................ 143 6.7 Turn Handling..................................................................................................................... 144 6.8 Running the Game ............................................................................................................. 146 7. PLANNING AND COSTS .............................................................................................. 148 7.1 Planning ................................................................................................................................ 148 7.2 Costs ....................................................................................................................................... 152 7.2.1 Human Resources .................................................................................................................... 152 7.2.2 Tools .............................................................................................................................................. 153 7.3 Development with the Engine ....................................................................................... 154 8. CONCLUSION ................................................................................................................ 155 8.1 Work for the future ........................................................................................................... 156 9. Bibliography ................................................................................................................ 158 4 TABLE OF FIGURES Figure 1: Quake Logo ......................................................................................................................13 Figure 2: Unreal Engine Logo ......................................................................................................13 Figure 3: Maniac Mansion, the first video game to use SCUMM ....................................14 Figure 4: Planescape Torment, one of the Role Playing Games developed using the Infinity Engine ...................................................................................................................................15 Figure 5: RPG Maker .......................................................................................................................15 Figure 6: Unity Logo ........................................................................................................................16 Figure 7: The Unreal Engine 4 editor .......................................................................................17 Figure 8: Crysis 3, using the CryEngine 3 ...............................................................................17 Figure 9: Corona SDK Logo ..........................................................................................................18 Figure 10: Chess Board ..................................................................................................................18 Figure
Recommended publications
  • Exhibitor List ①
    Appendix Page.2 Exhibitor List ① General Area ACQUIRE CORPORATION MORI TOYS CO., LTD. AKELLA NAMCO LIMITED ASK Corporation NTT DoCoMo, Inc. ATARI JAPAN NUBYTECH ATI TECHNOLOGIES(JAPAN) INC. RAZER GROUP ATLUS CO., LTD. RHOCEO CO., LTD. Bandai Co., Ltd. SANWA SUPPLY INC. BigWorld / Solid Networks Inc. / Trymedia Systems Inc. Scansoft, Inc. BROCCOLI CO., LTD. SEGA CORPORATION CAPCOM CO., LTD. Sega Logistics Service Co., Ltd. CLIMAX Inc. Seoul City Pavilion Core Colors, Inc. BinaryCraft Corporation CREEK & RIVER Co., Ltd. CFN Co.,Ltd. Crest Co., Ltd. COONG Entertainment Inc. D3 PUBLISHER Inc. DreamSuare Co.,Ltd. DISC GO TECHNOLOGIES E3NET CO.,Ltd. eMagin Corporation KNetP Co.,Ltd. ENTERBRAIN, INC. Mirinae Entertainment Inc. ESEL INTERNATIONAL COMPANY LIMITED Mowelsoft Inc. Excite Japan Co., Ltd. Web EnG Korea Co.,Ltd. FUJIWORK CO., LTD. SNK PLAYMORE CORPORATION GAME INFINITY ~G★ Sony Computer Entertainment Inc. (game)land SQUARE ENIX CO., LTD. GDEX TAITO CORPORATION GENKI Co., Ltd. TAIWAN Game Pavilion GEO-BB Incorporated EASYFUN ENTERTAINMENT CORP. GRAVITY Co., Ltd. SOFTSTAR ENTERTAINMENT INC. GungHo Online Entertainment, Inc. Taiwan Trade Center HAMSTER Corporation ZEROPLUS TECHNOLOGY CO., LTD. HAVOK TECMO, LTD. HOLON, Inc. TOMY Company, Ltd. INTERNET RADIO ONSEN TOPPLAYER INC. KDDI CORPORATION UBISOFT KOEI CO., Ltd. UKR GAME EXPORT KONAMI CORPORATION Winble Japan, Inc. Media Works Inc. XTREME LTD Microsoft Co., Ltd. Appendix Page.3 Exhibitor List ② Mobile Content Area Game School Area ABILIT Co., Ltd ACT Information & Business College Ambition, Ltd Aso Business Computer College Aruze Corp. Clark Akihabara IT Campus BTD STUDIO CO., LTD. DENGEKI SCHOOL MAGAZINE DAITO GIKEN, INC. Digital Entertainment Academy Co., Ltd. DP CORPORATION DIGITAL HOLLYWOOD/DIGITAL HOLLYWOOD UNIVERSITY FromSoftware, Inc.
    [Show full text]
  • 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]
  • Historical Game of Majapahit Kingdom Based on Tactical Role-Playing Game
    Historical Game of Majapahit Kingdom based on Tactical Role-playing Game Mohammad Fadly Syahputra, Muhammad Kurniawan Widhianto and Romi Fadillah Rahmat Department Information Technology, Faculty of Computer Science and Information Technology, University of Sumatera Utara, Medan, Indonesia Keywords: Cut-out Animation, History, Majapahit, Role-playing Game, Tactical Role-playing Game, Turn based Strategy, Video Game. Abstract: Majapahit was a kingdom centered in East Java, which once stood around year 1293 to 1500 C. Majapahit kingdom was the last Hindu-Buddhist kingdom that controlled Nusantara and is regarded as one of the greatest kingdom in Indonesia. The lack of modern entertainment content about the history of Majapahit kingdom made historical subject become less attractive. Therefore, we need a modern entertainment as one option to learn about the fascinating history of the kingdom of Majapahit. In this study the authors designed a video game about history of Majapahit kingdom with the genre of tactical role-playing game. Tactical role-playing game is a sub genre of role playing game by using system of turn-based strategy in every battle. In tactical role-playing game, players will take turns with the opponent and can only take action in their turn and each character will have an attribute and level as in role-playing game video game. This study used the A* algorithm to determine the movement direction of the unit and cut-out techniques in the making of animation. This study demonstrated that video games can be used as a media to learn about history. 1 INTRODUCTION only used as an entertainment, but also can be used as a story telling, and sometimes game also can be mixed Majapahit was a kingdom centered in East Java, with educational elements to train someone.
    [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]
  • Gamewith / 6552
    GameWith / 6552 COVERAGE INITIATED ON: 2019.09.27 LAST UPDATE: 2021.04.19 Shared Research Inc. has produced this report by request from the company discussed in the report. The aim is to provide an “owner’s manual” to investors. We at Shared Research Inc. make every effort to provide an accurate, objective, and neutral analysis. In order to highlight any biases, we clearly attribute our data and findings. We will always present opinions from company management as such. Our views are ours where stated. We do not try to convince or influence, only inform. We appreciate your suggestions and feedback. Write to us at [email protected] or find us on Bloomberg. Research Coverage Report by Shared Research Inc. GameWith / 6552 RCoverage LAST UPDATE: 2021.04.19 Research Coverage Report by Shared Research Inc. | https://sharedresearch.jp INDEX How to read a Shared Research report: This report begins with the trends and outlook section, which discusses the company’s most recent earnings. First-time readers should start at the business section later in the report. Executive summary ----------------------------------------------------------------------------------------------------------------------------------- 3 Key financial data ------------------------------------------------------------------------------------------------------------------------------------- 5 Recent updates ---------------------------------------------------------------------------------------------------------------------------------------- 6 Highlights ------------------------------------------------------------------------------------------------------------------------------------------------------------
    [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]
  • Lucasarts and the Design of Successful Adventure Games
    LucasArts and the Design of Successful Adventure Games: The True Secret of Monkey Island by Cameron Warren 5056794 for STS 145 Winter 2003 March 18, 2003 2 The history of computer adventure gaming is a long one, dating back to the first visits of Will Crowther to the Mammoth Caves back in the 1960s and 1970s (Jerz). How then did a wannabe pirate with a preposterous name manage to hijack the original computer game genre, starring in some of the most memorable adventures ever to grace the personal computer? Is it the yearning of game players to participate in swashbuckling adventures? The allure of life as a pirate? A craving to be on the high seas? Strangely enough, the Monkey Island series of games by LucasArts satisfies none of these desires; it manages to keep the attention of gamers through an admirable mix of humorous dialogue and inventive puzzles. The strength of this formula has allowed the Monkey Island series, along with the other varied adventure game offerings from LucasArts, to remain a viable alternative in a computer game marketplace increasingly filled with big- budget first-person shooters and real-time strategy games. Indeed, the LucasArts adventure games are the last stronghold of adventure gaming in America. What has allowed LucasArts to create games that continue to be successful in a genre that has floundered so much in recent years? The solution to this problem is found through examining the history of Monkey Island. LucasArts’ secret to success is the combination of tradition and evolution. With each successive title, Monkey Island has made significant strides in technology, while at the same time staying true to a basic gameplay formula.
    [Show full text]
  • Core Techniques and Algorithms in Game Programming
    Core Techniques and Algorithms in Game Programming Core Techniques and Algorithms in Game Programming To even try to keep pace with the rapid evolution of game development, you need a strong foundation in core programming techniques-not a hefty volume on one narrow topic or one that devotes itself to API- specific implementations. Finally, there's a guide that delivers! As a professor at the Spanish university that offered that country's first master's degree in video game creation, author Daniel Sanchez-Crespo recognizes that there's a core programming curriculum every game designer should be well versed in-and he's outlined it in these pages! By focusing on time-tested coding techniques-and providing code samples that use C++, and the OpenGL and DirectX APIs-Daniel has produced a guide whose shelf life will extend long beyond the latest industry trend. Code design, data structures, design patterns, AI, scripting engines, 3D pipelines, texture mapping, and more: They're all covered here-in clear, coherent fashion and with a focus on the essentials that will have you referring back to this volume for years to come. Table of Contents Introduction What You Will Learn What You Need to Know How This Book Is Organized Conventions Chapter 1. A Chronology of Game Programming Phase I: Before Spacewar Phase II: Spacewar to Atari Phase III: Game Consoles and Personal Computers Phase IV: Shakedown and Consolidation Phase V: The Advent of the Game Engine Phase VI: The Handheld Revolution Phase VII: The Cellular Phenomenon Phase VIII: Multiplayer Games In Closing Chapter 2.
    [Show full text]
  • MMPX Style-Preserving Pixel Art Magnification
    Journal of Computer Graphics Techniques Vol. 10, No. 2, 2021 https://jcgt.org MMPX Style-Preserving Pixel-Art Magnification Morgan McGuire Mara Gagiu University of Waterloo & NVIDIA University of Waterloo (a) Input Image (b) Magnified 2× with Nearest (c) Magnified 2× with MMPX Figure 1. (a) Pixel art combining sprites, text, and UI elements (b) magnified with nearest- neighbor filtering becomes blocky relative to the original pixel size; (c) MMPX filtering re- fines lines, curves, and patterns for the new resolution, while mostly preserving the palette, transparency, and shape aspects of the original artwork. Input derived from Oryx Design Lab licensed sprites https://www.oryxdesignlab.com/products/16-bit- fantasy-tileset Abstract We present MMPX, an efficient filter for magnifying pixel art, such as 8- and 16-bit era video-game sprites, fonts, and screen images, by a factor of two in each dimension. MMPX preserves art style, attempting to predict what the artist would have produced if working at a larger scale but within the same technical constraints. Pixel-art magnification enables the displaying of classic games and new retro-styled ones on modern screens at runtime, provides high-quality scaling and rotation of sprites and raster- font glyphs through precomputation at load time, and accelerates content-creation workflow. MMPX reconstructs curves, diagonal lines, and sharp corners while preserving the ex- act palette, transparency, and single-pixel features. For general pixel art, it can often pre- serve more aspects of the original art style than previous magnification filters such as nearest- neighbor, bilinear, HQX, XBR, and EPX. In specific cases and applications, other filters will be better.
    [Show full text]
  • Identifying Players and Predicting Actions from RTS Game Replays
    Identifying Players and Predicting Actions from RTS Game Replays Christopher Ballinger, Siming Liu and Sushil J. Louis Abstract— This paper investigates the problem of identifying StarCraft II, seen in Figure 1, is one of the most popular a Real-Time Strategy game player and predicting what a player multi-player RTS games with professional player leagues and will do next based on previous actions in the game. Being able world wide tournaments [2]. In South Korea, there are thirty to recognize a player’s playing style and their strategies helps us learn the strengths and weaknesses of a specific player, devise two professional StarCraft II teams with top players making counter-strategies that beat the player, and eventually helps us six-figure salaries and the average professional gamer making to build better game AI. We use machine learning algorithms more than the average Korean [3]. StarCraft II’s popularity in the WEKA toolkit to learn how to identify a StarCraft II makes obtaining larges amounts of different combat scenarios player and predict the next move of the player from features for our research easier, as the players themselves create large extracted from game replays. However, StarCraft II does not have an interface that lets us get all game state information like databases of professional and amateur replays and make the BWAPI provides for StarCraft: Broodwar, so the features them freely available on the Internet [4]. However, unlike we can use are limited. Our results reveal that using a J48 StarCraft: Broodwar, which has the StarCraft: Brood War decision tree correctly identifies a specific player out of forty- API (BWAPI) to provide detailed game state information one players 75% of the time.
    [Show full text]
  • TOKYO GAME SHOW 2011 Visitors Survey Report November 2011
    TOKYO GAME SHOW 2011 Visitors Survey Report November 2011 Computer Entertainment Supplier's Association ■ Contents ■ Outline of Survey 3 Ⅰ.Visitors' Characteristics 4 1.Gender -------------------------------------------------------------------------- 4 2.Age ---------------------------------------------------------------------------- 4 3.Residential area --------------------------------------------------------------- 5 4.Occupation --------------------------------------------------------------------- 5 5.Hobbies and interests --------------------------------------------------------------- 6 Ⅱ.Household Videogames 9 1.Hardware ownership・Hardware most frequently used -------------------------------------- 9 2.Hardware the respondents wish to purchase --------------------------------------------- 12 3.Favorite game genres ---------------------------------------------------------------- 15 4.Frequency of game playing ----------------------------------------------------------- 19 5.Duration of game playing ------------------------------------------------------------- 21 6.Tendency of software purchases ------------------------------------------------------ 24 7.Tendency of software purchases by downloading ----------------------------------------- 27 Ⅲ.Social Games 28 1.Familiarity with SNS and social games -------------------------------------------------- 28 2.Hardware used for SNS 【All SNS users】 ------------------------------------------------ 31 3.Frequency of game playing 【All social game players】 -------------------------------------
    [Show full text]