Patterns and Procedural Content Generation in Digital Games

Total Page:16

File Type:pdf, Size:1020Kb

Patterns and Procedural Content Generation in Digital Games STEVE DAHLSKOG STEVE DISSERTATION DOCTORAL 2, NO SCIENCE COMPUTER IN STUDIES STEVE DAHLSKOG PATTERNS AND PROCEDURAL CONTENT GENERATION IN DIGITAL GAMES PATTERNS AND PROCEDURAL CONTENT GENERATION IN DIGITAL GAMES DIGITAL IN GENERATION CONTENT PROCEDURAL AND PATTERNS Automatic Level Generation for Digital Games Using Game Design Patterns MALMÖ UNIVERSITY2016 MALMÖ PATTERNS AND PROCEDURAL CONTENT GENERATION IN DIGITAL GAMES Studies in Computer Science No 2 © Steve Dahlskog, 2016 ISBN 978-91-7104-684-0 (print) ISBN 978-91-7104-685-7 (pdf) Holmbergs, Malmö 2016 STEVE DAHLSKOG PATTERNS AND PROCEDURAL CONTENT GENERATION IN DIGITAL GAMES Automatic Level Generation for Digital Games Using Game Design Patterns Department of Computer Science Faculty of Technology and Society Malmö University, 2016 The publication is also electronically available at: http://dspace.mah.se/handle/2043/20371 Dedicated to my family and to the loving memory of Elfride Åkesson, Stig Åkesson, Majken Nilsson and Karl-Erik Nilsson. ABSTRACT The development of content in digital games, such as game worlds, quests, levels, 3D-models, and textures, is costly and time consuming. To address this, different approaches to automate the process of creating game con- tent, often referred to as procedural content generation (PCG), has been suggested. However, PCG is a complex task and include challenges such as creating content with variation, coherent style, speed, and correctness. The research in the thesis is concerned with generating game content with the aid of game design patterns, both by establishing models and exploring different methods to generate actual game content for different games. The methods include implementations of evolutionary computation, i.e. a set of search-based approaches that searches for instances of game design pat- terns on different abstraction levels that make up Super Mario Bros. (SMB) levels and a learning algorithm implementation based on a model (n-grams) of patterns from the original SMB-game. The different generators were eval- uated with metrics concerned with the expressive range of the generators and with user tests. ix PUBLICATIONS This thesis is based on the following papers. • Patterns and Procedural Content Generation – Revisiting Mario in World 1 Level 1 [48] • Patterns as Objectives for Level Generation [49] • Procedural Content Generation Using Patterns as Objectives [51] • A Multi-level Level Generator [50] • A Comparative Evaluation of Procedural Level Generators in The Ma- rio AI Framework [101] • Linear levels through n-grams [52] • Patterns, Dungeons and Generators [53] • Player Experience Evaluation of Level Generators in the Mario AI Framework (submitted) The following paper is related to the research but not included in the thesis • The Conceptual Relationship Model: Understanding Patterns and Me- chanics in Game Design [163] xi The only legitimate use of a computer is to play games. — Eugene Jarvis, creator of Defender and Robotron: 2084 ACKNOWLEDGEMENTS I would like to thank my supervisors Paul Davidsson and Julian Togelius for their valuable help and support on this journey. I’m grateful for how you have approached my troubles and questions, often with a more posi- tive outlook than I myself have had. I’m also grateful for the work my co-authors have put into the different re- search projects and papers; I have learnt a lot from you. Thank you Gillian, Britton, Noor, Mark and Staffan. I would also like to mention some of my colleagues that, on a almost weekly basis, have supported this work. Thank you Olle, Carl Magnus and Jeanette. Thanks also to my colleagues at Malmö University, both past and present. I would also like to thank my children Max, Sam and Esme for letting me fiddle with this project and for bringing me joy and laughter. I love you. xii CONTENTS i comprehensive summary1 1 introduction3 2 background7 2.1 Digital games and their industry . 7 2.2 Procedural Content Generation . 12 2.2.1 Game Content . 13 2.2.2 PCG Research . 19 2.3 Application Domains . 24 2.4 Related Research Fields . 25 2.5 Concepts . 25 2.5.1 Evolutionary Computation . 25 2.5.2 n-grams . 30 2.5.3 Design Patterns . 32 2.5.4 Game Design Patterns . 34 3 research focus 39 3.1 Research Questions . 39 3.2 Research Limitations . 41 4 methodology 43 4.1 Methodological consideration and motivation . 43 4.2 The Design Science Research Framework . 44 4.2.1 Environment and Knowledge base . 44 4.2.2 Research output . 45 4.2.3 Research activities . 47 4.3 Research process . 48 4.3.1 Literature studies . 51 4.3.2 Evaluation . 51 5 contributions 53 6 conclusions and future work 59 xiii xiv contents ii papers 61 7 paper 1 – patterns and procedural content generation 63 7.1 Introduction . 65 7.1.1 Procedural content generation . 65 7.1.2 Structures, noise and meaning . 66 7.1.3 A little less randomization, a little more variation, please 68 7.2 Design patterns . 68 7.2.1 Design patterns in games . 69 7.3 Combining PCG and design patterns . 70 7.4 A plumber in a strangely designed land . 71 7.5 Looking for Patterns in all the right places . 72 7.5.1 Examples of Super Mario Bros design patterns . 72 7.6 The plan for pattern-based Mario level generation . 74 7.7 Conclusion . 76 7.8 Acknowledgments . 76 8 paper 2 – patterns as objectives for level generation 87 8.1 Introduction . 89 8.2 Background . 90 8.2.1 Design patterns . 90 8.2.2 Game content and game development . 91 8.2.3 Fitting into the pattern . 92 8.2.4 Related work . 93 8.3 Mario . 94 8.3.1 The original representation . 95 8.4 Representation and genotype-to-phenotype mapping . 95 8.4.1 Vertical slices . 97 8.4.2 Putting pieces together . 99 8.5 Fitness function . 101 8.6 Evolutionary algorithm . 103 8.7 Examples of generated levels . 103 8.8 Evaluation . 105 8.9 Discussion . 106 8.10 Conclusion . 107 contents xv 9 paper 3 – pcg using patterns as objectives 111 9.1 Introduction . 113 9.1.1 Background . 114 9.1.2 Examples of patterns . 115 9.2 Rationale . 116 9.2.1 Representation . 117 9.2.2 Evolutionary algorithm . 118 9.2.3 Fitness function . 118 9.3 Results and evaluation . 119 9.3.1 Finding patterns . 120 9.4 Expressive range . 124 9.5 Discussion . 128 9.6 Conclusion . 129 9.7 Acknowledgments . 129 10 paper 4 – a multi-level level generator 131 10.1 Introduction . 133 10.1.1 Contributions in this paper . 134 10.2 Background . 134 10.2.1 Procedural content generation in games . 135 10.2.2 Design Patterns . 135 10.2.3 Benchmark game . 136 10.3 Level Design Patterns in Mario . 137 10.3.1 Micro-patterns . 137 10.3.2 Meso-patterns . 138 10.3.3 Macro-patterns . 139 10.3.4 Multi-Level Level Generation . 141 10.4 Pattern-based level generation . 141 10.5 Automatic level analysis . 141 10.6 Methods . 142 10.6.1 Representation . 142 10.6.2 Evolutionary Algorithm . 142 10.6.3 Variation operators . 142 10.6.4 Fitness functions . 144 xvi contents 10.7 Results . 144 10.7.1 Efficiency . 145 10.7.2 Expressive Range . 146 10.8 Future work . 148 10.9 Conclusion . 149 11 paper 5 157 11.1 Introduction . 159 11.2 Related Work . 161 11.3 Experimental Testbed . 163 11.3.1 Generators . 163 11.3.2 Metrics . 165 11.4 Generator Comparison . 169 11.4.1 All Metrics . 169 11.4.2 Expressive Range Visualization . 173 11.4.3 Controllability . 174 11.5 Future Work . 175 11.6 Conclusions . 177 12 paper 6 – linear levels through n-grams 181 12.1 Introduction . 183 12.2 Capturing platformer level style with n-grams . 184 12.2.1 N-gram style capture . 185 12.2.2 Effects in other domains . 185 12.2.3 Information content . 187 12.3 Methods . 188 12.4 Results . 189 12.4.1 Effects of varying n .................... 190 12.4.2 Effects of varying training data . 192 12.4.3 Expressive range . 194 12.5 Large scale comparison . 197 12.6 Discussion . 199 12.6.1 The importance of the representation . 199 12.6.2 Pruning.
Recommended publications
  • Computer Gaming World Issue
    I - Vol. 3 No. 4 Jul.-Aug. - 1983 FEATURES SUSPENDED 10 The Cryogenic Nightmare David P. Stone M.U.L.E. 12 One of Electronic Arts' New Releases Edward Curtis BATTLE FOR NORMANDY 14 Strategy and Tactics Jay Selover SCORPION'S TALE 16 Adventure Game Hints and Tips Scorpia COSMIC BALANCE CONTEST WINNER 17 Results of the Ship Design Contest KNIGHTS OF THE DESERT 18 Review Gleason & Curtis GALACTIC ADVENTURES 20 Review & Hints David Long COMPUTER GOLF! 29 Four Games Reviewed Stanley Greenlaw BOMB ALLEY 35 Review Richard Charles Karr THE COMMODORE KEY 42 A New Column Wilson & Curtis Departments Inside the Industry 4 Hobby and Industry News 5 Taking a Peek 6 Tele-Gaming 22 Real World Gaming 24 Atari Arena 28 Name of the Game 38 Silicon Cerebrum 39 The Learning Game 41 Micro-Reviews 43 Reader Input Device 51 Game Ratings 52 Game Playing Aids from Computer Gaming World COSMIC BALANCE SHIPYARD DISK Contains over 20 ships that competed in the CGW COSMIC BALANCE SHIP DESIGN CONTEST. Included are Avenger, the tournament winner; Blaze, Mongoose, and MKVP6, the judge's ships. These ships are ideal for the gamer who cannot find enough competition or wants to study the ship designs of other gamers around the country. SSI's The Cosmic Balance is required to use the shipyard disk. PLEASE SPECIFY APPLE OR ATARI VERSION WHEN ORDERING. $15.00 ROBOTWAR TOURNAMENT DISK CGW's Robotwar Diskette contains the source code for the entrants to the Second Annual CGW Robotwar Tournament (with the exception of NordenB) including the winner, DRAGON.
    [Show full text]
  • Investigating the Effect of Pace Mechanic on Player Motivation And
    Investigating the Effect of Pace Mechanic on Player Motivation and Experience by Hala Anwar A thesis presented to the University of Waterloo in fulfillment of the thesis requirement for the degree of Master of Applied Science (MASc) in Management Sciences Waterloo, Ontario, Canada, 2016 © Hala Anwar 2016 AUTHOR'S DECLARATION I hereby declare that I am the sole author of this thesis. This is a true copy of the thesis, including any required final revisions, as accepted by my examiners. I understand that my thesis may be made electronically available to the public. Hala Anwar ii Abstract Games have long been employed to motivate people towards positive behavioral change. Numerous studies, for example, have found people who were previously disinterested in a task can be enticed to spend hours gathering information, developing strategies, and solving complex problems through video games. While the effect of factors such as generational influence or genre appeal have previously been researched extensively in serious games, an aspect in the design of games that remains unexplored through scientific inquiry is the pace mechanic—how time passes in a game. Time could be continuous as in the real world (real-time) or it could be segmented into phases (turn- based). Pace mechanic is fiercely debated by many strategy game fans, where real-time games are widely considered to be more engaging, and the slower pace of turn-based games has been attributed to the development of mastery. In this thesis, I present the results of an exploratory mixed-methods user study to evaluate whether pace mechanic and type of game alter the player experience and are contributing factors to how quickly participants feel competent at a game.
    [Show full text]
  • Questbusters™ Award -- the Earthquakes, Heat Waves and Other Fu Fighters to Precisely Animate Their Golden Parser, the Crowther, the Disasters Devastate Khantun
    QUfST1'USTfRS™ The Adventurer's Newsl'etter Vol. 111, # 2 February, 1986 Did you waltz through Wishbringer ducks out the door as you scramble and sail through A . Mind Fore·'i!.er off the stage -- only you can stop the Voyaging? Or maybe you're one of evil force that is interfering with the the hard-core adventurers who magic upon which your civilization's passed them by completely because survival hinges. they didn't offer the nlliidgrinding If only you could get out of this challen~s,.y(m finally solved in the place, which proves to be the first Zork series? Then the final problem, one that reminded me of installment in the Enchanter trilogy Sorcerer's first stage. Oh, you can was designed with you in mind. bound right out the door, but Spellbreaker is full of ingeniously the beer tastes like grues have been traveling further than the courtyard constructed puzzles that are hard bathing in it -- and that without will take more than putting one foot enough to reduce even Mr. Spock's proper magic there won't be any in front of the other. You might logical mind to a pathetic pile of more Miller Time in the Great consult the spell book, which burned-out synapses. Underground Empire -- the gravity of contains the frotz, gnusto, rezrov, It begins at a clamorous meeting in the situation sinks in. and other familiar spells as well as the . Enchanters Guild Hall at But before everyone rushes out to some new ones. Jindak will detect B orphee, a meeting atten ded by the bar to finish off the last keg, the presence of magic, while blorple guildmasters from across the land.
    [Show full text]
  • Download Ps4 Steam How to Use a PS4 Controller on Steam
    download ps4 steam How to Use a PS4 Controller on Steam. This article explains how to connect and configure a PS4 controller with Steam and navigate Steam with the controller. How to Use a PS4 Controller on Steam. Playing games on Steam with a PS4 controller is remarkably easy: Plug the controller into your PC, and you're good to go. With a little extra work, you can even play wirelessly and change the button mapping to your liking. Let's learn how to configure your PS4 controller with Steam properly. This article specifically focuses on using the PS4 controller with the Steam platform. For more general advice about using a PS4 controller with computer games, see How to Use a PS4 Controller on Your PC or Mac. How to Connect PS4 Controller to Steam. Before you start using your PS4 controller with Steam, there are some preliminary actions you should take, including making sure you have the latest version of the Steam client. Follow these steps: Make sure any nearby PlayStation 4 consoles are unplugged. Otherwise, the controller might try to sync with the console instead of your computer. Launch Steam on your PC. Select Steam in the top-left corner of the window to open a dropdown menu, then select Check for Steam Client Updates . Download and install any available updates. Once finished, Steam will restart. When Steam relaunches, plug your PS4 controller into a USB port on your PC. In the Steam client window, select View > Settings > Controller > General Controller Settings . You should see your controller under Detected Controllers .
    [Show full text]
  • University of California Santa Cruz Learning from Games
    UNIVERSITY OF CALIFORNIA SANTA CRUZ LEARNING FROM GAMES FOR GENERATIVE PURPOSES A dissertation submitted in partial satisfaction of the requirements for the degree of DOCTOR OF PHILOSOPHY in COMPUTER SCIENCE by Adam J. Summerville June 2018 The Dissertation of Adam J. Summerville is approved: Professor Michael Mateas, Chair Professor Noah Wardrip-Fruin Professor Santiago Ontañón Dean Tyrus Miller Vice Provost and Dean of Graduate Studies Copyright © by Adam J. Summerville 2018 Table of Contents List of Figures vi List of Tables xiv Abstract xvi Dedication xvii Acknowledgments xviii 1 Introduction 1 1.1 Research Contributions ........................... 5 I Learning From Game 7 2 How Humans Understand Games 8 2.1 Human Annotation Tasks .......................... 17 2.2 Entity Persistence .............................. 17 2.3 Camera Motion ................................ 18 2.4 Room Detection ............................... 21 2.4.1 Teleportation ............................. 23 2.4.2 Traversal ............................... 25 2.5 Animation Cycles ............................... 32 2.6 Mode Dynamics ................................ 34 2.7 Conclusion .................................. 36 3 Mappy – A System for Map Extraction and Annotation via Observa- tion 37 3.1 NES Architecture and Emulation ...................... 41 3.2 Operationalizing Entity Persistence ..................... 43 3.3 Inferring Camera Motion .......................... 49 iii 3.4 Determining Room Transitions ....................... 59 3.4.1 Automatic Mapping ........................
    [Show full text]
  • Dedehayir Makinen Determining Reverse Salient Types
    Tampere University of Technology Author(s) Dedehayir, Ozgur; Mäkinen, Saku Title Determining reverse salient types and evolutionary dynamics of technology systems with performance disparities Citation Dedehayir, Ozgur; Mäkinen, Saku 2011. Determining reverse salient types and evolutionary dynamics of technology systems with performance disparities. Technology Analysis & Strategic Management vol. 23, num. 10, 1095-1114. Year 2011 DOI http://dx.doi.org/10.1080/09537325.2011.621308 Version Post-print URN http://URN.fi/URN:NBN:fi:tty-201311271475 Copyright This is an Author's Accepted Manuscript of an article published in Technology Analysis & Strategic Management, volume 23, issue 10, 01 Nov 2011. Copyright Taylor & Francis, available online at: http://www.tandfonline.com/10.1080/09537325.2011.621308. All material supplied via TUT DPub is protected by copyright and other intellectual property rights, and duplication or sale of all or part of any of the repository collections is not permitted, except that material may be duplicated by you for your research use or educational purposes in electronic or print form. You must obtain permission for any other use. Electronic or print copies may not be offered, whether for sale or otherwise to anyone who is not an authorized user. Determining reverse salient types and evolutionary dynamics of technology systems with performance disparities Ozgur Dedehayir∗ and Saku J. Mäkinen Department of Industrial Management, Tampere University of Technology, Tampere, Finland ∗ Corresponding author. Email: [email protected] ABSTRACT Technological system evolution is marked by the uneven evolution of constituent sub‐systems. Subsequently, system evolution is hampered by the resulting state of unevenness, or reverse salience, which results from the presence of the sub‐system that delivers the lowest level of performance with respect to other sub‐systems, namely, the reverse salient.
    [Show full text]
  • Trafalgar Square Publishing Spring 2016 Don’T Miss Contents
    Trafalgar Square Publishing Spring 2016 Don’t Miss Contents Animals/Pets .....................................................................120, 122–124, 134–135 28 Planting Design Architecture .................................................................................... 4–7, 173–174 for Dry Gardens Art .......................................................8–9, 10, 12, 18, 25–26 132, 153, 278, 288 Autobiography/Biography ..............37–38, 41, 105–106, 108–113, 124, 162–169, 179–181, 183, 186, 191, 198, 214, 216, 218, 253, 258–259, 261, 263–264, 267, 289, 304 Body, Mind, Spirit ....................................................................................... 33–34 Business ................................................................................................... 254–256 Classics ....................................................................................43–45, 47–48, 292 Cooking ......................................................1, 11, 14–15, 222–227, 229–230–248 Crafts & Hobbies .............................................................................21–24, 26–27 85 The Looking Design ......................................................................................................... 19–20 Glass House Erotica .................................................................................................... 102–103 Essays .............................................................................................................. 292 Fiction ...............................................42,
    [Show full text]
  • Integrating Reinforcement Learning Into Strategy Games
    Integrating Reinforcement Learning into Strategy Games by Stefan Wender Supervised by Ian Watson The University of Auckland Auckland, New Zealand A Thesis submitted in fulfillment of the requirements for the degree of Master of Science in Computer Science The University of Auckland, February 2009 Abstract The present thesis describes the design and implementation of a machine learning agent based on four different reinforcement learning algorithms. The reinforcement learning agent is integrated into the commercial computer game Civilization IV. Civilization IV is a turn- based empire building game from the Civilization series. The reinforcement learning agent is applied to the city placement selection task. The city placement selection determines the founding sites for a player’s cities. The four reinforcement learning algorithms that are evaluated are the off-policy algorithms one-step Q-learning and Q(λ) and the on-policy algorithms one-step Sarsa and Sarsa(λ). The aim of the research presented in this thesis is the creation of an adaptive machine learning approach for a task which is originally performed by a complex deterministic script. Since the machine learning approach is nondeterministic, it results in a more challenging and dynamic computer AI. The thesis presents an empirical evaluation of the performance of the reinforcement learning approach and compares the performance of the adaptive agent with the original deterministic game AI. The comparison shows that the reinforcement learning approach outperforms the deterministic game AI. Finally, the behaviour and performance of the reinforcement learn- ing algorithms are elaborated on and the algorithms are further improved by analysing and revising their parameters.
    [Show full text]
  • Master Thesis Project Artificial Intelligence Adaptation in Video
    Master Thesis Project Artificial Intelligence Adaptation in Video Games Author: Anastasiia Zhadan Supervisor: Aris Alissandrakis Examiner: Welf Löwe Reader: Narges Khakpour Semester: VT 2018 Course Code: 4DV50E Subject: Computer Science Abstract One of the most important features of a (computer) game that makes it mem- orable is an ability to bring a sense of engagement. This can be achieved in numerous ways, but the most major part is a challenge, often provided by in-game enemies and their ability to adapt towards the human player. How- ever, adaptability is not very common in games. Throughout this thesis work, aspects of the game control systems that can be improved in order to be adapt- able were studied. Based on the results gained from the study of the literature related to artificial intelligence in games, a classification of games was de- veloped for grouping the games by the complexity of the control systems and their ability to adapt different aspects of enemies behavior including individual and group behavior. It appeared that only 33% of the games can not be con- sidered adaptable. This classification was then used to analyze the popularity of games regarding their challenge complexity. Analysis revealed that simple, familiar behavior is more welcomed by players. However, highly adaptable games have got competitively high scores and excellent reviews from game critics and reviewers, proving that adaptability in games deserves further re- search. Keywords: artificial intelligence in games, adaptability in games, non-player character adaptation, challenge Preface Computer games have become an interest for me not so long ago, but since then they have turned almost into a true passion.
    [Show full text]
  • Human-Level AI's Killer Application: Interactive Computer Games
    AI Magazine Volume 22 Number 2 (2001) (© AAAI) Articles Human-Level AI’s Killer Application Interactive Computer Games John E. Laird and Michael van Lent I Although one of the fundamental goals of AI is to communication with natural language, com- understand and develop intelligent systems that monsense reasoning, creativity, and learning. have all the capabilities of humans, there is little If this is our dream, why isn’t any progress active research directly pursuing this goal. We pro- being made? Ironically, one of the major rea- pose that AI for interactive computer games is an sons that almost nobody (see Brooks et al. emerging application area in which this goal of [2000] for one high-profile exception) is work- human-level AI can successfully be pursued. Inter- active computer games have increasingly complex ing on this grand goal of AI is that current and realistic worlds and increasingly complex and applications of AI do not need full-blown intelligent computer-controlled characters. In this human-level AI. For almost all applications, article, we further motivate our proposal of using the generality and adaptability of human interactive computer games for AI research, review thought is not needed—specialized, although previous research on AI and games, and present more rigid and fragile, solutions are cheaper the different game genres and the roles that and easier to develop. Unfortunately, it is human-level AI could play within these genres. We unclear whether the approaches that have then describe the research issues and AI techniques been developed to solve specific problems are that are relevant to each of these roles.
    [Show full text]
  • Trigger Happy: Videogames and the Entertainment Revolution
    Free your purchased eBook form adhesion DRM*! * DRM = Digtal Rights Management Trigger Happy VIDEOGAMES AND THE ENTERTAINMENT REVOLUTION by Steven Poole Contents ACKNOWLEDGMENTS............................................ 8 1 RESISTANCE IS FUTILE ......................................10 Our virtual history....................................................10 Pixel generation .......................................................13 Meme machines .......................................................18 The shock of the new ...............................................28 2 THE ORIGIN OF SPECIES ....................................35 Beginnings ...............................................................35 Art types...................................................................45 Happiness is a warm gun .........................................46 In my mind and in my car ........................................51 Might as well jump ..................................................56 Sometimes you kick.................................................61 Heaven in here .........................................................66 Two tribes ................................................................69 Running up that hill .................................................72 It’s a kind of magic ..................................................75 We can work it out...................................................79 Family fortunes ........................................................82 3 UNREAL CITIES ....................................................85
    [Show full text]
  • Examining the Building Blocks of Stealth Centric Design
    Examining the Essentials of Stealth Game Design Youssef Khatib Game Design Bachelor Thesis, 15hp Game Design and Graphics, spring semester, 2013 Supervisors: Ernest Adams, Hedda Gunneng Examiner: Steven Bachelder Abstract Through looking into the inner workings of stealth centric games, this paper aims to find out the essential components of this type of videogames. Examining the history of such games and the design principles of stealth centric games in relation to the participating player this paper will methodically examine games in the light of the arguments of industry professionals. After that a framework is extracted, identifying the principal core components of stealth centric game design. Table of contents 1. Introduction ............................................................................................................................. 1 1.1 Purpose ............................................................................................................................. 2 1.2 Question ........................................................................................................................... 2 1.3 Scope of work................................................................................................................... 2 2. Background .............................................................................................................................. 3 2.1 Avatar Means ................................................................................................................... 4
    [Show full text]