AI for Warzone 2100

Total Page:16

File Type:pdf, Size:1020Kb

AI for Warzone 2100 Masaryk University Faculty of Informatics AI for Warzone 2100 Bachelor’s Thesis Filip Ďuračka Brno, Spring 2020 Masaryk University Faculty of Informatics AI for Warzone 2100 Bachelor’s Thesis Filip Ďuračka Brno, Spring 2020 This is where a copy of the official signed thesis assignment and a copy ofthe Statement of an Author is located in the printed version of the document. Declaration Hereby I declare that this paper is my original authorial work, which I have worked out on my own. All sources, references, and literature used or excerpted during elaboration of this work are properly cited and listed in complete reference to the due source. Filip Ďuračka Advisor: RNDr. Mgr. Jaroslav Bayer i Acknowledgements I‘d like to thank my advisor Jaroslav Bayer for all the support, and Warzone 2100 community for maintaining this amazing game for all those years. iii Abstract The goal of this work was to design and implement an AI for real- time strategy game Warzone 2100. As part of the design, two new features unique to this AI were implemented. First is creation of a graph representation of any given game map, obtained by analysing terrain and application of image processing algorithms. Second is a neural network, trained on data from 727 matches against other AIs, that guides the AI‘s battle plan. iv Keywords Artificial Intelligence, Game AI, Image Processing, Artificial Neural Networks, Warzone 2100, JavaScript v Contents Introduction 1 1 Warzone 2100 3 1.1 Game mechanics .......................3 1.2 Scripting language used for AIs ...............6 1.3 Existing AIs ..........................6 1.3.1 Nexus AI . .6 1.3.2 NullBot . .7 1.3.3 Bonecrusher . .7 1.3.4 Cobra . .9 2 TenguAI 11 2.1 Map analysis ......................... 11 2.1.1 Terrain analysis . 12 2.1.2 Image thinning . 13 2.1.3 Graph creation . 16 2.1.4 Graph representation and manipulation . 18 2.2 Cores ............................. 20 2.2.1 Macromanagement cores . 21 2.2.2 Micromanagement cores . 24 2.3 Neural network for playstyle selection ............ 27 3 Conclusion 31 A Maps used for neural network training 33 B Statistics of matches before and after the use of neural net- work 37 Bibliography 39 vii List of Tables 2.1 Visualisation of tile neighbourhood [8] 14 2.2 Match statistics during learning process, per opponent. 29 2.3 Match statistics with learned neural network, per opponent. 29 B.1 Match statistics during learning process, per map and game setting. 37 B.2 Match statistics with learned neural network, per map and game setting. 38 ix List of Figures 2.1 ’Picturisation’ of a map. Minimap (left) compared binary picture (right). Red denotes impassable tiles. 14 2.2 Comparison of binary image (left) to its thinned counterpart (right). 15 2.3 Thinned shape with nodes. Starting positions (green), resources (blue), crossroads (brown). 16 2.4 Final graph of the map. Starting positions (green), resources (blue), chokepoints (red), mundane nodes(black). 17 A.1 Small map with tight corridors and perfect early game chokepoint in the middle. 33 A.2 Water-separated continents with varying amounts of players. Ideal for testing analyser and cross-water attacks of the AI. 33 A.3 Sizeable, but tight map with hill-separated pathways. Good for concentrated defenses and macro movement. 34 A.4 Small but spacious map. Good for quick matches that do not require fancy movements. 34 A.5 Personal favourite. Tight, highly asymmetric starting positions. 35 A.6 Similar in concept to Monocot, but with more resources and corridors. 35 xi Introduction The goal of this thesis is to create a new AI for Warzone 2100, that would be both more challenging and fun to play against, and deeper in its decision-making process than the alternatives. This is attempted by two systems no other AI in this game has. Firstly, giving the AI proper knowledge of the playing field by analysing the game map and creating a graph which can then be traversed in an arbitrary fashion. Secondly, equipping it with a neural network trained to select the best playstyle for the current state of the game. The first chapter introduces the game itself, explains the mechan- ics and presents AIs currently in use for multiplayer games, their strengths and weaknesses. The second chapter dissects design and implementation of my AI, what it does better, faster, what it does extra and how it affects an average game session. The end contains analysis of the results of pitting the AIs against each other and discussion about possible causes. 1 1 Warzone 2100 This chapter explains what the game is [1], what sets it apart from most other games in its genre and design of AIs most widely used for play. 1.1 Game mechanics Warzone 2100 is a real-time strategy game set in a post-apocalyptic fu- ture. As such, the goal of the game is to destroy all hostile assets present on the map. To this end, players have to build a base of operations, secure income of resources and produce an army, while defending their own base against enemy attacks [2, 3]. The maps are made of square tiles organised into rectangular grid. Each tile can be occupied by a single player-built structure or environ- mental feature (e.g. trees, houses, miscellaneous ruins), with some structures requiring several tiles. This grid has no effect on units, which can roam freely across tiles. Maps can be up to 250 * 250 tiles in size. Building a base is done via special, defenseless builder unit avail- able since the start of the game. Typical player base would consist of headquarters structure and some amount of factories, research facilities, generators and static defenses(turrets, bunkers and walls) positioned around the perimeter. Resource collection in the game is simplified compared to others in the genre. Instead of sending out defenseless and potentially expensive harvester unit, Warzone 2100 makes the player build a free(and de- fenseless) resource extractor on designated places on the map. These are, upon construction, automatically assigned to a power genera- tor, which generates the game‘s only resource – power – at speed dependent on the amount of extractors assigned. Maximum number of these a single generator can serve is four, so players must take care in reserving enough space and power for multiple generators. Unlike most games in this genre, Warzone 2100 provides the player with an opportunity to design their own units, called droids. After building the headquarters, and only while this building is present on the map, the player gets access to a designer tool. Within this tool, 3 1. Warzone 2100 they can create a droid template by selecting components of three categories: ∙ body, affecting base health, horsepower, thermal and kinetic armour and turret capacity of the droid; ∙ propulsion, affecting speed, general mobility of the droid, type of traversable terrain and resistance(or vulnerability) to certain weapon types; ∙ turret, which is either a weapon, or a utility, i.e. constructor, radar, repair. In this tool, player can design aircraft by selecting a VTOL (Verti- cal Take-off and Landing) propulsion. This changes a lot of proper- ties of the droid. Firstly, and unsurprisingly, it gains the ability to fly over any terrain and becomes untargetable by many ground-based weapons. Secondly, it gains access to special VTOL only variants of droid weapons (and some new weapons of their own) that have lim- ited ammunition supply. Lastly, it needs a special factory to be pro- duced in, and rearming pads to repair and replenish the ever needed ammunition. Role of ground infantry is held by cyborg units. These are, unlike droids or VTOLs, not customisable, instead coming as template ready for production when necessary technology has been researched. Basic cyborg templates are unlocked together with certain droid weapons. Heavier, more durable and damaging variations are available to be re- searched separately after researching several high-tech droid weapons. Cyborgs follow their own armor upgrade research path separate from the droids and require special factory to be produced in. Related to cy- borgs are flying unarmed transports capable of ferrying small amount of cyborgs across otherwise impassable terrain, with heavy cyborgs requiring their larger, more durable variant. Like many contemporary RTS games, Warzone 2100 features re- search opportunities to enhance capabilities of player‘s units. However, unlike most of these games, research here provides much more than upgrading stats. Within the very expansive technology tree, players can unlock new buildings, base defenses and droid components in addition to mentioned damage/armour/speed upgrades for all assets. 4 1. Warzone 2100 It is crucial for player‘s success to properly prioritise which research path to follow, when to keep following it and when to switch to another one [4]. Weapons are possibly the most important research items in the whole tech tree. They are separated into several categories. These de- termine what upgrades apply to the weapon in question, and modify damage to certain propulsions and structure types [5]. Weapons them- selves deal either kinetic or thermal damage that gets mitigated by kinetic or thermal armour, respectively. Accuracy of the weapon also plays a role, with bullets being able to completely miss their target and hit something nearby, or detonate on terrain. Some weapons get mild bonus to accuracy when firing from within half of their maxi- mum range, which combined with possibility of hitting something else makes proper unit placement in battle not negligible. There are multiple parameters that can be set before the start of each game. Aside from choosing a map for the game to take place on, the host can also alter starting power for all players(low, medium, high), starting bases(no base, basic structures only, defended base), structure limits(except defensive structures) and starting technology level(no tech, basic components available, advanced components avail- able, everything researched).
Recommended publications
  • 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]
  • Video Game Trader Magazine & Price Guide
    Winter 2009/2010 Issue #14 4 Trading Thoughts 20 Hidden Gems Blue‘s Journey (Neo Geo) Video Game Flashback Dragon‘s Lair (NES) Hidden Gems 8 NES Archives p. 20 19 Page Turners Wrecking Crew Vintage Games 9 Retro Reviews 40 Made in Japan Coin-Op.TV Volume 2 (DVD) Twinkle Star Sprites Alf (Sega Master System) VectrexMad! AutoFire Dongle (Vectrex) 41 Video Game Programming ROM Hacking Part 2 11Homebrew Reviews Ultimate Frogger Championship (NES) 42 Six Feet Under Phantasm (Atari 2600) Accessories Mad Bodies (Atari Jaguar) 44 Just 4 Qix Qix 46 Press Start Comic Michael Thomasson’s Just 4 Qix 5 Bubsy: What Could Possibly Go Wrong? p. 44 6 Spike: Alive and Well in the land of Vectors 14 Special Book Preview: Classic Home Video Games (1985-1988) 43 Token Appreciation Altered Beast 22 Prices for popular consoles from the Atari 2600 Six Feet Under to Sony PlayStation. Now includes 3DO & Complete p. 42 Game Lists! Advertise with Video Game Trader! Multiple run discounts of up to 25% apply THIS ISSUES CONTRIBUTORS: when you run your ad for consecutive Dustin Gulley Brett Weiss Ad Deadlines are 12 Noon Eastern months. Email for full details or visit our ad- Jim Combs Pat “Coldguy” December 1, 2009 (for Issue #15 Spring vertising page on videogametrader.com. Kevin H Gerard Buchko 2010) Agents J & K Dick Ward February 1, 2009(for Issue #16 Summer Video Game Trader can help create your ad- Michael Thomasson John Hancock 2010) vertisement. Email us with your requirements for a price quote. P. Ian Nicholson Peter G NEW!! Low, Full Color, Advertising Rates!
    [Show full text]
  • VFC-RTS: Vector-Field Consistency Para Real-Time-Strategy Multiplayer Games
    VFC-RTS: Vector-Field Consistency para Real-Time-Strategy Multiplayer Games Manuel Eduardo Costa Cajada Dissertation for the Degree of Master of Information Systems and Computer Engineering Jury President: Prof. M´arioRui Fonseca dos Santos Gomes, Supervisor: Prof. Lu´ısManuel Antunes Veiga, Co-Supervisor: Prof. Paulo Jorge Pires Ferreira, Member: Prof. Daniel Jorge Viegas Gon¸calves May 2012 2 Acknowledgements For starters, I would like to thank Prof. Lu´ıs Veiga, for all his support and guidance through the development of this project, pushing me to continue when I got stuck and encouraging me to take risks. Additionally, I would like to thank him for correcting my english during the writing of this document. I would also like to thank all my friends and apologize for my absence during the numerous invitations that I couldn't attend. A special thanks to Sta, who was always prepared to take some time to help me whenever I needed. Thank you. I could not fail to mention Lurdes Oliveira, the person who most put up with me and my lousy temper during this hole process, always by my side, motivating me to carry on, not letting me give up. Thank you for everything. Finally, I want to thank my sisters and parents for always believing in me. I doubt I would be writing this thesis if it were not for your dedication and support. Thank you for making me the man that I am today. Lisboa, July 11, 2012 Manuel Cajada 4 to Jos´e& Maria 6 Resumo Apesar dos jogos online no ambiente multi-jogador em massa terem vindo a ganhar muita popularidade ao longo dos anos, os jogos de estrat´egiaem tempo real (RTS) n~aoforam considerados fortes candidatos para a utiliza¸c~aodeste modelo devido ao n´umerolimitado de jogadores suportado, tendo em conta as topologias de rede normalmente utilizadas, ao grande n´umerode entidades em jogo e aos fortes requisitos de consist^encia.
    [Show full text]
  • The Role of Audio for Immersion in Computer Games
    CAPTIVATING SOUND THE ROLE OF AUDIO FOR IMMERSION IN COMPUTER GAMES by Sander Huiberts Thesis submitted in fulfilment of the requirements for the degree of PhD at the Utrecht School of the Arts (HKU) Utrecht, The Netherlands and the University of Portsmouth Portsmouth, United Kingdom November 2010 Captivating Sound The role of audio for immersion in computer games © 2002‐2010 S.C. Huiberts Supervisor: Jan IJzermans Director of Studies: Tony Kalus Examiners: Dick Rijken, Dan Pinchbeck 2 Whilst registered as a candidate for the above degree, I have not been registered for any other research award. The results and conclusions embodied in this thesis are the work of the named candidate and have not been submitted for any other academic award. 3 Contents Abstract__________________________________________________________________________________________ 6 Preface___________________________________________________________________________________________ 7 1. Introduction __________________________________________________________________________________ 8 1.1 Motivation and background_____________________________________________________________ 8 1.2 Definition of research area and methodology _______________________________________ 11 Approach_________________________________________________________________________________ 11 Survey methods _________________________________________________________________________ 12 2. Game audio: the IEZA model ______________________________________________________________ 14 2.1 Understanding the structure
    [Show full text]
  • List of TCP and UDP Port Numbers from Wikipedia, the Free Encyclopedia
    List of TCP and UDP port numbers From Wikipedia, the free encyclopedia This is a list of Internet socket port numbers used by protocols of the transport layer of the Internet Protocol Suite for the establishment of host-to-host connectivity. Originally, port numbers were used by the Network Control Program (NCP) in the ARPANET for which two ports were required for half- duplex transmission. Later, the Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP) needed only one port for full- duplex, bidirectional traffic. The even-numbered ports were not used, and this resulted in some even numbers in the well-known port number /etc/services, a service name range being unassigned. The Stream Control Transmission Protocol database file on Unix-like operating (SCTP) and the Datagram Congestion Control Protocol (DCCP) also systems.[1][2][3][4] use port numbers. They usually use port numbers that match the services of the corresponding TCP or UDP implementation, if they exist. The Internet Assigned Numbers Authority (IANA) is responsible for maintaining the official assignments of port numbers for specific uses.[5] However, many unofficial uses of both well-known and registered port numbers occur in practice. Contents 1 Table legend 2 Well-known ports 3 Registered ports 4 Dynamic, private or ephemeral ports 5 See also 6 References 7 External links Table legend Official: Port is registered with IANA for the application.[5] Unofficial: Port is not registered with IANA for the application. Multiple use: Multiple applications are known to use this port. Well-known ports The port numbers in the range from 0 to 1023 are the well-known ports or system ports.[6] They are used by system processes that provide widely used types of network services.
    [Show full text]
  • ELF: an Extensive, Lightweight and Flexible Research Platform for Real-Time Strategy Games
    ELF: An Extensive, Lightweight and Flexible Research Platform for Real-time Strategy Games Yuandong Tian1 Qucheng Gong1 Wenling Shang2 Yuxin Wu1 C. Lawrence Zitnick1 1Facebook AI Research 2Oculus 1fyuandong, qucheng, yuxinwu, [email protected] [email protected] Abstract In this paper, we propose ELF, an Extensive, Lightweight and Flexible platform for fundamental reinforcement learning research. Using ELF, we implement a highly customizable real-time strategy (RTS) engine with three game environ- ments (Mini-RTS, Capture the Flag and Tower Defense). Mini-RTS, as a minia- ture version of StarCraft, captures key game dynamics and runs at 40K frame- per-second (FPS) per core on a laptop. When coupled with modern reinforcement learning methods, the system can train a full-game bot against built-in AIs end- to-end in one day with 6 CPUs and 1 GPU. In addition, our platform is flexible in terms of environment-agent communication topologies, choices of RL methods, changes in game parameters, and can host existing C/C++-based game environ- ments like ALE [4]. Using ELF, we thoroughly explore training parameters and show that a network with Leaky ReLU [17] and Batch Normalization [11] cou- pled with long-horizon training and progressive curriculum beats the rule-based built-in AI more than 70% of the time in the full game of Mini-RTS. Strong per- formance is also achieved on the other two games. In game replays, we show our agents learn interesting strategies. ELF, along with its RL platform, is open sourced at https://github.com/facebookresearch/ELF. 1 Introduction Game environments are commonly used for research in Reinforcement Learning (RL), i.e.
    [Show full text]
  • Application: Unity 3D Web Player
    unity3d_1-adv.txt 1 of 2 Application: Unity 3D web player http://unity3d.com/webplayer/ Versions: <= 3.2.0.61061 Platforms: Windows Bug: heap corruption Exploitation: remote Date: 21 Feb 2012 Unity 3d is a game engine used in various games and it’s web player allows to play these games (unity3d extension) also directly from the web browser. # Vulnerabilities # Heap corruption caused by a negative 32bit size value which allows to execute malicious code. The problem is caused by the modification of the 64bit uncompressed size (handled as 32bit by the plugin) of the lzma header which is just composed by the following fields (from lzma86.h): Offset Size Description 0 1 = 0 - no filter, pure LZMA = 1 - x86 filter + LZMA 1 1 lc, lp and pb in encoded form 2 4 dictSize (little endian) 6 8 uncompressed size (little endian) Reading of the 64bit field as 32bit one (CMP EAX,4) and some of the subsequent operations: 070BEDA3 33C0 XOR EAX,EAX 070BEDA5 895D 08 MOV DWORD PTR SS:[EBP+8],EBX 070BEDA8 83F8 04 CMP EAX,4 070BEDAB 73 10 JNB SHORT webplaye.070BEDBD 070BEDAD 0FB65438 05 MOVZX EDX,BYTE PTR DS:[EAX+EDI+5] 070BEDB2 8B4D 08 MOV ECX,DWORD PTR SS:[EBP+8] 070BEDB5 D3E2 SHL EDX,CL 070BEDB7 0196 A4000000 ADD DWORD PTR DS:[ESI+A4],EDX 070BEDBD 8345 08 08 ADD DWORD PTR SS:[EBP+8],8 070BEDC1 40 INC EAX 070BEDC2 837D 08 40 CMP DWORD PTR SS:[EBP+8],40 070BEDC6 ^72 E0 JB SHORT webplaye.070BEDA8 070BEDC8 6A 4A PUSH 4A 070BEDCA 68 280A4B07 PUSH webplaye.074B0A28 ; ASCII "C:/BuildAgen t/work/b0bcff80449a48aa/PlatformDependent/CommonWebPlugin/CompressedFileStream.cp p" 070BEDCF 53 PUSH EBX 070BEDD0 FF35 84635407 PUSH DWORD PTR DS:[7546384] 070BEDD6 6A 04 PUSH 4 070BEDD8 68 00000400 PUSH 40000 070BEDDD E8 BA29E4FF CALL webplaye.06F0179C ..
    [Show full text]
  • Playstation Games
    The Video Game Guy, Booths Corner Farmers Market - Garnet Valley, PA 19060 (302) 897-8115 www.thevideogameguy.com System Game Genre Playstation Games Playstation 007 Racing Racing Playstation 101 Dalmatians II Patch's London Adventure Action & Adventure Playstation 102 Dalmatians Puppies to the Rescue Action & Adventure Playstation 1Xtreme Extreme Sports Playstation 2Xtreme Extreme Sports Playstation 3D Baseball Baseball Playstation 3Xtreme Extreme Sports Playstation 40 Winks Action & Adventure Playstation Ace Combat 2 Action & Adventure Playstation Ace Combat 3 Electrosphere Other Playstation Aces of the Air Other Playstation Action Bass Sports Playstation Action Man Operation EXtreme Action & Adventure Playstation Activision Classics Arcade Playstation Adidas Power Soccer Soccer Playstation Adidas Power Soccer 98 Soccer Playstation Advanced Dungeons and Dragons Iron and Blood RPG Playstation Adventures of Lomax Action & Adventure Playstation Agile Warrior F-111X Action & Adventure Playstation Air Combat Action & Adventure Playstation Air Hockey Sports Playstation Akuji the Heartless Action & Adventure Playstation Aladdin in Nasiras Revenge Action & Adventure Playstation Alexi Lalas International Soccer Soccer Playstation Alien Resurrection Action & Adventure Playstation Alien Trilogy Action & Adventure Playstation Allied General Action & Adventure Playstation All-Star Racing Racing Playstation All-Star Racing 2 Racing Playstation All-Star Slammin D-Ball Sports Playstation Alone In The Dark One Eyed Jack's Revenge Action & Adventure
    [Show full text]
  • Engenharia De Software Aplicada a Projetos De Código Aberto
    ENGENHARIA DE SOFTWARE APLICADA A PROJETOS DE CÓDIGO ABERTO Gean Saturno Gonçalves1 [email protected] Jaciara Silva Carosia2 [email protected] RESUMO Desde a criação do computador, a engenharia de softwares vem estudando formas de produzir software de qualidade. Devido as características abstratas e flexíveis do software, foi necessário adaptar uma engenharia a cada novo sistema desenvolvido. Todavia, existe um paradigma de desenvolvimento de software cuja informalidade, além de outros fatores, restringe a engenharia de software. Estes projetos são chamados de projetos de código aberto e são responsáveis por grande parte das tecnologias hoje existentes. No entanto, são esses os projetos que normalmente mais fracassam. O objetivo deste trabalho é propor uma engenharia de software que possa colaborar com a redução de projetos falhos na comunidade de código aberto. Através de um levantamento bibliográfico sobre engenharia de software, projetos de código aberto e a análise de casos de sucesso como Ubuntu, Firefox e Linux, foi proposta uma engenharia de software aplicada a projetos de código aberto. Após a execução da metodologia, conclui-se que a engenharia de software é capaz de auxiliar o desenvolvimento de projetos de código aberto, garantindo assim maior chance de sobrevivência, potencializando inovações e revoluções. Palavras-chave Engenharia de Software, Código Aberto, Software Livre ABSTRACT Since the creation of the computer, the software engineering has been studying ways to produce quality software. Because of the software's abstract and flexible features, it was necessary to adapt an engineering every new system developed. However, there is a software development paradigm whose informality, and other factors, restricted the software engineering.
    [Show full text]
  • Technology Trees and Tools: Constructing Development Graphs for Digital Games
    Tampereen teknillinen yliopisto. Julkaisu 1349 Tampere University of Technology. Publication 1349 Teemu J. Heinimäki Technology Trees and Tools: Constructing Development Graphs for Digital Games Thesis for the degree of Doctor of Science in Technology to be presented with due permission for public examination and criticism in Tietotalo Building, Auditorium TB224, at Tampere University of Technology, on the 27th of November 2015, at 12 noon. Tampereen teknillinen yliopisto – Tampere University of Technology Tampere 2015 ISBN 978-952-15-3633-5 (printed) ISBN 978-952-15-3647-2 (PDF) ISSN 1459-2045 Abstract In the recent years, digital games have solidified their role as important parts of life for a considerable portion of the population. Game development has become an extremely important industrial branch with a great deal of com- petition between developers and publishers. There is only a limited amount of resources to put in the development of a game, but the modern customers expect high quality. Taking these constraints into account, this dissertation focuses on devel- oping implementations of a structure that is used widely in different games: technology trees (TTs). This term covers here also so-called skill trees, talent trees, perk trees, and other such structures used to limit and guide in-game development and define development possibilities. The aim is to propose methods and usage of tools helping to achieve high TT quality, simultane- ously facilitating the actual development process and reducing human work- load. The main contributions of this dissertation consist of ideas, models, meth- ods, and software tool prototypes constructed during the research work. The significance of the thesis is amplified by the fact that there are only very few previous academic studies focusing on TTs.
    [Show full text]
  • Applying Answer Set Programming in Game Level Design
    Aalto University School of Science Degree Programme in Computer Science and Engineering Evgenia Antonova Applying Answer Set Programming in Game Level Design Master's Thesis Espoo, November 30, 2015 Supervisor: Docent Tomi Janhunen, Aalto University Advisor: Emilia Oikarinen D.Sc.(Tech.), Aalto University Aalto University School of Science ABSTRACT OF Degree Programme in Computer Science and Engineering MASTER'S THESIS Author: Evgenia Antonova Title: Applying Answer Set Programming in Game Level Design Date: November 30, 2015 Pages: vii + 56 Major: Foundations of Advanced Computing Code: T-119 Supervisor: Docent Tomi Janhunen Advisor: Emilia Oikarinen D.Sc.(Tech.) Automated content generation is used in game industry to reduce costs and im- prove replayability of games. Many classic and modern games have their levels, terrains, quests, and items procedurally generated. Answer set programming is a declarative problem solving paradigm which can be used for generating game content. In answer set programming, the problem is modeled as a set of rules. This encoding is fed to the solver program, which traverses the search space and outputs answer sets complying with all the given rules. The resulting answer sets are finally interpreted as solutions to the problem. In this thesis, answer set programming techniques are applied to design and implement a level generator for Portal, a series of 3D puzzle games where the player solves each level by using objects in a certain order. All the levels in Portal games are built by human level designers. In this work, the main aspects of Portal physics and several basic game objects are modeled using answer set programming.
    [Show full text]
  • Free and Open Source Software
    Free and open source software Copyleft ·Events and Awards ·Free software ·Free Software Definition ·Gratis versus General Libre ·List of free and open source software packages ·Open-source software Operating system AROS ·BSD ·Darwin ·FreeDOS ·GNU ·Haiku ·Inferno ·Linux ·Mach ·MINIX ·OpenSolaris ·Sym families bian ·Plan 9 ·ReactOS Eclipse ·Free Development Pascal ·GCC ·Java ·LLVM ·Lua ·NetBeans ·Open64 ·Perl ·PHP ·Python ·ROSE ·Ruby ·Tcl History GNU ·Haiku ·Linux ·Mozilla (Application Suite ·Firefox ·Thunderbird ) Apache Software Foundation ·Blender Foundation ·Eclipse Foundation ·freedesktop.org ·Free Software Foundation (Europe ·India ·Latin America ) ·FSMI ·GNOME Foundation ·GNU Project ·Google Code ·KDE e.V. ·Linux Organizations Foundation ·Mozilla Foundation ·Open Source Geospatial Foundation ·Open Source Initiative ·SourceForge ·Symbian Foundation ·Xiph.Org Foundation ·XMPP Standards Foundation ·X.Org Foundation Apache ·Artistic ·BSD ·GNU GPL ·GNU LGPL ·ISC ·MIT ·MPL ·Ms-PL/RL ·zlib ·FSF approved Licences licenses License standards Open Source Definition ·The Free Software Definition ·Debian Free Software Guidelines Binary blob ·Digital rights management ·Graphics hardware compatibility ·License proliferation ·Mozilla software rebranding ·Proprietary software ·SCO-Linux Challenges controversies ·Security ·Software patents ·Hardware restrictions ·Trusted Computing ·Viral license Alternative terms ·Community ·Linux distribution ·Forking ·Movement ·Microsoft Open Other topics Specification Promise ·Revolution OS ·Comparison with closed
    [Show full text]