Transfer of Driving Behaviors Across Different Racing Games

Total Page:16

File Type:pdf, Size:1020Kb

Transfer of Driving Behaviors Across Different Racing Games Transfer of Driving Behaviors Across Different Racing Games Luigi Cardamone, Antonio Caiazzo, Daniele Loiacono and Pier Luca Lanzi Abstract— Transfer learning might be a promising approach known as Transfer Learning (TL) [26], [23]. In this paper, to boost the learning of non-player characters’ behaviors by we show how transfer learning can be applied to exploit the exploiting some existing knowledge available from a different knowledge gathered in one source domain for accelerating game. In this paper, we investigate how to transfer driving behaviors from The Open Racing Car Simulator (TORCS) to the learning in a target domain. We take into account two VDrift, which are two well known open-source racing games racing games with many differences related to the physics featuring rather different physics engines and game dynam- engine and the game dynamics: TORCS and VDrift. In ics. We focus on a neuroevolution learning framework based particular we focus on a driving behavior represented by a on NEAT and compare three different methods of transfer neural network and evolved using neuroevolution. We study learning: (i) transfer of the learned behaviors; (ii) transfer of the learning process; (iii) transfer of both the behaviors how the knowledge already available for TORCS can be used and the process. Our experimental analysis suggests that all to accelerate the learning of a driving behavior for VDrift. In the proposed methods of transfer learning might be effectively general, transfer learning, involves the transfer of policies or applied to boost the learning of driving behaviors in VDrift functions that represent a particular behavior. In this work, by exploiting the knowledge previously learned in TORCS. In we use the term transfer learning in a broader sense since we particular, transferring both learned behaviors and learning process appears to be the best trade-off between the final study also how it is possible transfer the fitness function and performance and the computational cost. the evaluation mechanism across different domains. In our experimental analysis we compare three different approaches I. INTRODUCTION for transfer learning: (i) transfer of the learned behaviors, by In the recent years, the computer games market is growing copying the existing behaviors from the source domain to fast both in the number of published titles and in the the target domain; (ii) transfer of the learning process, by complexity of the games. To boost the game development it is replicating in the target domain the evaluation mechanism possible to use third-party packages like graphics engines and and the fitness designed for the source domain; (iii) transfer physics engines. In this context, it became important to have of both the behaviors and the process, by replicating the some techniques to speed-up also the development of the evolutionary process of the source domain and by performing Artificial Intelligence (AI) of the game, i.e., the behaviors of an incremental learning using the source behavior as a seed. the non-player characters (NPCs). There is the need of some The results shows that all the three approaches work and the sort of pluggable AI, i.e., a set of algorithms independent adaptation technique has the best trade-off in term of driving from the specific game and from its representation, that can performance and evolution time. This paper is organized work on different games to achieve some common tasks (e.g. as follows: in Section II, we review the related works navigating a 3D environment, driving, aiming, etc.). about racing games and transfer learning; in Section III, A first step towards a pluggable AI has been done with the we present the neuroevolutionary approach used; in Section General Game Playing (GGP) competition [10]. In this com- IV, we describe the racing games used for the experiments; petition an agent has to play an unknown game described in in Section V, we describe the sensors and the actuators of first order logic. Although good results have been achieved, the driver; in Section VI, we present three approaches for the agents can only play games that are deterministic and applying transfer learning and the results achieved; finally in with perfect information (like board games), where it is easy Section VII, we present the conclusions of the work. to simulate the future states of the game given the description of the rules. These conditions usually do not hold in many II. RELATED WORK computer games where the agent has to control continuous Some of the early works on racing games were performed outputs and the future game states cannot be predicted. by Togelius et al. using a simple java-based 2D car racing A different approach for boosting the development of the game. In [27], [28], Togelius et al. investigated several AI of NPCs is to re-use an existing AI already developed schema of sensory information (e.g., first person based, third in a similar game. This type of problem is part of the area person based, etc.) and studied the generalization capabilities of the evolved controllers. Luigi Cardamone ([email protected]), Antonio Caiazzo (anto- More recently, Cardamone et al. [6], [5] applied neu- [email protected]), Daniele Loiacono ([email protected]) and Pier Luca Lanzi ([email protected]) are with the Dipartimento di roevolution to evolve a driving and an overtaking behavior, Elettronica e Informazione, Politecnico di Milano, Milano, Italy. Pier Luca in a sophisticated 3D car racing simulator (TORCS). The Lanzi ([email protected]) is also member of the Illinois Genetic Al- overtaking issue was consider also in [18] using a modular gorithm Laboratory (IlliGAL), University of Illinois at Urbana Champaign, Urbana, IL 61801, USA. fuzzy architecture and in [15] using Reinforcement Learning. In [9] evolutionary computation is applied to find the optimal III. NEAT racing line between the shortest path and the maximum In this study, we focused on Neuroevolution with Aug- curvature path of the track. Several works, like [16] [7] [29], menting Topology or NEAT [20], one of the most suc- applied imitation learning both to learn from human data cessful and widely applied neuroevolution approach. NEAT and to generate believable drivers, i.e., drivers with a human is specifically designed to evolve neural networks without driving-style. In [31] and in [8], genetic algorithms were assuming any a priori knowledge on the optimal topology applied to optimize the car setup using respectively the games nor on the type of connections (e.g., simple or recurrent Formula One Challenge and TORCS. Some of the most connections). NEAT is based on three main ideas. First, recent works [19], [3], [17] on racing games originate from in NEAT the evolutionary search starts from a network the submission to the Simulated Car Racing Championship topology as simple as possible, i.e. a fully connected network [14], an international competition organized by Loiacono et with only the input and the output layers. Complex struc- al. where the goal is to develop the best driver for TORCS tures emerge during the evolutionary process and survive able to race alone and against the other competitors. only when useful. Second, NEAT deals with the problem Finally, the computational intelligence techniques have of recombining networks with different structures through been also applied to some commercial racing games. In an historical marking mechanism. Whenever a structural Colin McRae Rally 2.0 (Codemasters) a neural network mutation occurs, a unique innovation number is assigned is used to drive a rally car, thus avoiding the need to to the gene representing this innovation. This mechanism handcraft a large and complex set of rules [11]: a feedforward is then used to perform the recombination and to identify multilayer neural network has been trained to follow the similarities between the networks without the need of a ideal trajectory, while the other behaviors ranging from the complex and expensive topological analysis. Third, NEAT opponent overtaking to the crash recovery are programmed. protects the structural innovations through the mechanism In Forza Motorsport (Microsoft) the player, can train his own of speciation. The competition to survive does not happen drivatars, i.e., a controller that learns the player’s driving in the whole population but it is restricted to niches where style and that can take his place in the races. all the networks have a similar topology. Therefore, when a In this work, we exploit the knowledge available in one new topology emerges, NEAT has enough time to optimize it. game (TORCS) to accelerate the learning in an another game Again, the historical marking is used to identify the niches by (VDrift). This type of problem belongs to the area known as using the innovation numbers of the genes for measuring the Transfer Learning (TL) [26], [23]. This area studies how the similarities between different topologies. To prevent a single knowledge learned on a source task can be exploited to speed species from taking over the population, the networks in the up the learning on a new target task. Several methods of same niche share their fitness. Then, in the next generation transfer learning have been specifically devised to be applied more resources will be allocated to the species with greater in Reinforcement Learning (RL) or Temporal Difference fitness. (TD) learning [21]. Such methods either focus on the transfer of value functions (e.g., [22], [24]) or experience instances IV. OPEN SOURCE RACING GAMES (e.g., [13]). Only few works in the literature (see [23] for In this section we review all the open-source car racing an overview) focused on transferring the learned policies games currently available. We focus only on open-source and, thus, can be applied to the methods that perform a racing games because the possibility of modifying the source search in the policy space (like NEAT [20]).
Recommended publications
  • Secure and Private Sensing for Driver Authentication and Transportation Safety
    University Transportation Research Center - Region 2 Final Report Secure and Private Sensing for Driver Authentication and Transportation Safety Performing Organization: New York Institute of Technology August 2017 Sponsor: University Transportation Research Center - Region 2 University Transportation Research Center - Region 2 Project No(s): 49198-33-27 The Region 2 University Transportation Research Center (UTRC) is one of ten original University Transportation Centers established in 1987 by the U.S. Congress. These Centers were established UTRC/RF Grant No: with the recognition that transportation plays a key role in the nation's economy and the quality Project Date: of life of its citizens. University faculty members provide a critical link in resolving our national and regional transportation problems while training the professionals who address our transpor- Project Title: August 2017 tation systems and their customers on a daily basis. Authentication and Transportation Safety Secure and Private Sensing for Driver The UTRC was established in order to support research, education and the transfer of technology Project’s Website: in the �ield of transportation. The theme of the Center is "Planning and Managing Regional - Transportation Systems in a Changing World." Presently, under the direction of Dr. Camille Kamga, private-sensing-driver-authentication the UTRC represents USDOT Region II, including New York, New Jersey, Puerto Rico and the U.S. http://www.utrc2.org/research/projects/secure-and Virgin Islands. Functioning as a consortium of twelve major Universities throughout the region, UTRC is located at the CUNY Institute for Transportation Systems at The City College of New York, Principal Investigator(s): theme.the lead UTRC’s institution three of main the goalsconsortium.
    [Show full text]
  • Realization of a Soft-Real-Time Automotive Simulator with Human Interaction
    POLITECNICO DI MILANO Facoltà di Ingegneria Industriale Corso di Laurea in Ingegneria Meccanica Realization of a soft-real-time automotive simulator with human interaction Relatore: Prof. Umberto CUGINI Co-relatore: Dott. Francesco FERRISE Co-relatore: Ing. Marco GUBITOSA Tesi di Laurea di: Nicolai BENI Matr. 783207 Anno Accademico 2012 - 2013 “The starry heavens above me and the moral law within me” “Il cielo stellato sopra di me, la legge morale dentro di me” Immanuel Kant, 1788 Ringraziamenti Desidero ringraziare il professor Umberto Cugini, mio relatore, e il dottore Francesco Ferrise, mio correlatore presso il Politecnico di Milano, per avermi offerto la possibilità di svolgere il mio lavoro di tesi presso l’azienda LMS® International1. Uno speciale ringraziamento va all’ingegnere Marco Gubitosa, mio relatore presso LMS® International, per avermi seguito e aiutato in questi sei mesi. Infine ringrazio i miei genitori che mi hanno sostenuto durante questo percorso. 1 LMS® International: a Siemens Business leading partner in test and mechatronics simulation in the automotive, aerospace and other manufacturing industries. Index Abstract ........................................................................................................................................... 7 Sommario ........................................................................................................................................ 9 Riassunto ......................................................................................................................................
    [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]
  • Generating Data to Train a Deep Neural Network End-To-End Within a Simulated Environment
    Freie Universität Berlin Master thesis at Department of Mathematics and Computerscience Intelligent Systems and Robotic Labs Generating Data to Train a Deep Neural Network End-To-End within a Simulated Environment Josephine Mertens Student ID: 4518583 [email protected] First Examiner: Prof. Dr. Daniel Göhring Second Examiner: Prof. Dr. Raul Rojas Berlin, October 10, 2018 Abstract Autonomous driving cars have not been a rarity for a long time. Major man- ufacturers such as Audi, BMW and Google have been researching successfully in this field for years. But universities such as Princeton or the FU-Berlin are also among the leaders. The main focus is on deep learning algorithms. However, these have the disadvantage that if a situation becomes more complex, enormous amounts of data are needed. In addition, the testing of safety-relevant functions is increasingly difficult. Both problems can be transferred to the virtual world. On the one hand, an infinite amount of data can be generated there and on the other hand, for example, we are independent of weather situations. This paper presents a data generator for autonomous driving that generates ideal and unde- sired driving behavior in a 3D environment without the need of manually gen- erated training data. A test environment based on a round track was built using the Unreal Engine and AirSim. Then, a mathematical model for the calculation of a weighted random angle to drive alternative routes is presented. Finally, the approach was tested with the CNN of NVidia, by training a model and connect it with AirSim. Declaration of Authorship I hereby certify that this work has been written by none other than my person.
    [Show full text]
  • Full Circle Magazine [email protected]
    Issue #6 - October 2007 INTERVIEW : JOHN PHILIPS FROM THE full circle OPEN FONT LIBRARY THE INDEPENDENT MAGAZINE FOR THE UBUNTU COMMUNITY HOW TO : PHOTOSHOP PLUGINS IN GIMP LEARNING SCRIBUS PART 6 SETTING UP SAMBA INSTALL : UBUNTU 7.10 UBUNTU UPGRADE - HOW TO MORPH GRACEFULLY FROM A THE GIBBON IS OUT OF ITS CAGE! FAWN TO A GIBBON GGEENNTTLLEEMMEENN,, SSTTAARRTT YYOOUURR EENNGGIINNEESS!! TTOOPP55 RRAACCIINNGG GGAAMMEESS SSEETT UUPP SSAAMMBBAA SSHHAARREE TTHHEE GGOOOODDNNEESSSS fullcircle magazine is not affiliate1d with or endorsed by Canonical Ltd. News p.04 Flavor of the Month Ubuntu Upgrade p.06 How-To Photoshop > GIMP p.08 full circle Samba Setup p.11 Learning Scribus - Pt.6 p.14 Interview - John Philips p.19 Poll - Window Managers p.22 My Story - My Transition p.23 Ubuntu Youth p.24 upgrade Letters p.25 P.06 Q&A p.27 P.14 P.08 Website of the Month p.28 My Desktop p.29 P.11 P.22 The Top 5 Racing Games p.30 How to Contribute p.32 P.30 P.28 All text and images contained in this magazine are released under the Creative Commons Attribution-By-ShareAlike 3.0 Unported license. This means you can adapt, copy, distribute and transmit the articles but only under the following conditions: You must attribute the work to the original author in some way (at least a name, email or url) and to this magazine by name (full circle) and the url www.fullcirclemagazine.org (but not attribute the article(s) in any way that suggests that they endorse you or your use of the work).
    [Show full text]
  • Multi-Level Vehicle Dynamics Modeling and Export for ADAS Prototyping in a 3D Driving Environment
    2017 IEEE 20th International Conference on Intelligent Transportation Systems (ITSC) Multi-Level Vehicle Dynamics Modeling and Export for ADAS Prototyping in a 3D Driving Environment Robert´ Lajos Bucs,¨ Juan Sebastian´ Reyes Aristizabal,´ Rainer Leupers, Gerd Ascheid Institute for Communication Technologies and Embedded Systems, RWTH Aachen University, Aachen Germany E-Mail: {buecs,reyes,leupers,ascheid}@ice.rwth-aachen.de Abstract—Advanced Driver Assistance Systems (ADAS) have evolved into comprehensive hardware and software driven com- ponents with exponentially growing complexity. Model-Based Design (MBD) is traditionally employed to accelerate the design- validation-refinement cycle of such systems by reducing the oc- currence of late nonconformities. However, MBD testing facilities can not provide a fully realistic verification environment com- pared to real test drives. Moreover, even road tests are limited, e.g., to reproduce driving situations and to test applications likely to cause property damage. Thus, this paper proposes to utilize driving simulators alongside MBD tools to achieve a fully virtual ADAS design and test environment. To put this idea in practice, the multi-level Vehicle Component Modeling and eXport (VCMX) framework is presented as the main contribution of this work. Finally, the combined tool support is evaluated by designing two ADAS from scratch so to highlight the advantages of utilizing VCMX especially in early prototyping stages of such applications. Fig. 1: V-Model for designing safety-critical automotive systems [2]. I. INTRODUCTION Over the last decades, automotive control systems have Driving Simulators (DSs) address these limitations via evolved to sophisticated digital hardware (HW) and software a realistic and deterministic simulation environment, ensur- (SW) dominated components.
    [Show full text]
  • Plasmapy Documentation Release 0.4.1.Dev1
    PlasmaPy Documentation Release 0.4.1.dev1 PlasmaPy Community Jul 21, 2020 First Steps 1 PlasmaPy’s Vision Statement3 2 Installing PlasmaPy 7 3 Examples 11 4 Feedback and Communication 47 5 How to Contribute 49 6 Community Code of Conduct 51 7 Acknowledging and Citing 55 8 Plasma diagnostics (plasmapy.diagnostics) 57 9 Formulary (plasmapy.formulary) 71 10 Particles (plasmapy.particles) 163 11 Particle Tracker (plasmapy.simulation.tracker) 193 12 PlasmaPy Plasma 197 13 Core package utilities (plasmapy.utils) 205 14 Development Guide 231 15 Authors and Credits 249 16 Change Log 253 17 Stability of Subpackages 261 18 Index 263 Bibliography 265 Python Module Index 267 i Index 269 ii PlasmaPy Documentation, Release 0.4.1.dev1 PlasmaPy is an open source community-developed core Python 3.6+ package for plasma physics currently under development. First Steps 1 PlasmaPy Documentation, Release 0.4.1.dev1 2 First Steps CHAPTER 1 PlasmaPy’s Vision Statement 1.1 About PlasmaPy PlasmaPy is a community-developed and community-driven free and open source Python package that provides com- mon functionality required for plasma physics in a single, reliable codebase. 1.2 Motivation In recent years, researchers in many different scientific disciplines have worked together to develop core Python packages such as Astropy, SunPy, and SpacePy. These packages provide core functionality, common frameworks for data visualization and analysis, and educational tools for their respective scientific disciplines. We believe that a similar cooperatively developed package for plasma physics will greatly benefit our field. In this document, we lay out our vision for PlasmaPy: a community-developed and community-driven open source core Python software package for plasma physics.
    [Show full text]
  • Plasmapy Documentation Release 0.1.1
    PlasmaPy Documentation Release 0.1.1 PlasmaPy Community May 31, 2019 CONTENTS 1 Getting Started 3 2 User Documentation 11 3 Development Guide 201 4 Project Details 217 5 Index 229 Bibliography 231 Python Module Index 233 Index 235 i ii PlasmaPy Documentation, Release 0.1.1 PlasmaPy is an open source community-developed core Python 3.6+ package for plasma physics currently under development. CONTENTS 1 PlasmaPy Documentation, Release 0.1.1 2 CONTENTS CHAPTER ONE GETTING STARTED 1.1 Installing PlasmaPy Note: If you would like to contribute to PlasmaPy, please refer to the instructions on installing PlasmaPy for devel- opment. 1.1.1 Requirements PlasmaPy requires Python version 3.6 or newer, and is not compatible with Python 2.7. PlasmaPy requires the follow- ing packages for installation: • NumPy 1.13 or newer • SciPy 0.19 or newer • Astropy 2.0 or newer • Cython 0.27.2 or newer • colorama 0.3 or newer PlasmaPy also uses the following optional dependencies: • matplotlib 2.0 or newer • h5py 2.8 or newer • mpmath 1.0 or newer • lmfit 0.9.7 or newer PlasmaPy can be installed with all of the optional dependencies via pip install plasmapy[optional]. 1.1.2 Creating a conda environment We highly recommend installing PlasmaPy from a Python environment created using conda. Conda allows us to create and switch between Python environments that are isolated from each other and the system installation (in contrast to this xkcd), while also simplifying the distribution of binary and compiled dependencies. After installing conda, create a PlasmaPy environment by running: conda create -n plasmapy python=3.7 numpy scipy astropy matplotlib cython h5py lmfit ,!mpmath colorama -c conda-forge 3 PlasmaPy Documentation, Release 0.1.1 To activate this environment, run: conda activate plasmapy Once the environment is activated, then you may proceed with installation.
    [Show full text]
  • Vision Based Natural Assistive Technologies with Gesture
    Vision based Natural Assistive Technologies with gesture recognition using Kinect Jae Pyo Son School of Computer Science and Engineering University of New South Wales A thesis in fulfilment of the requirements for the degree of Master of Science (Computer Science Engineering) 2 3 Abstract Assistive technologies for disabled persons are widely studied and the demand for them is rapidly growing. Assistive technologies enhance independence by enabling disabled persons to perform tasks that they are otherwise unable to accomplish, or have great difficulty accomplishing, by providing the necessary technology needed in the form of assistive or rehabilitative devices. Despite their great performance, assistive technologies that require disabled persons to wear or mount devices on themselves place undue restrictions on users. This thesis presents two different attempts of a solution to the problem, proposing two different novel approaches to achieve vision-based Human-Computer Interaction (HCI) for assisting persons with different disabilities to live more independently in a more natural way, in other words, without the need for additional equipment or wearable devices. The first approach aims to build a system that assists visually impaired persons to adjust to a new indoor environment. Assistants record important objects that are in fixed positions in the new environment using pointing gestures, and visually impaired persons may then use pointing gestures as a virtual cane to search for the objects. The second approach aims to build a system that can assist disabled persons who have difficulties in moving their arms or legs and cannot drive vehicles normally. In the proposed system, the user only needs one hand to perform steering, switching between gears, acceleration, brake and neutral (no acceleration, no brake).
    [Show full text]
  • Thesis Title Defined Source/Pdf.Meta
    Multi-Scale Multi-Domain Co-Simulation for Rapid Prototyping of Advanced Driver Assistance Systems Von der Fakultät für Elektrotechnik und Informationstechnik der Rheinisch–Westfälischen Technischen Hochschule Aachen zur Erlangung des akademischen Grades eines Doktors der Ingenieurwissenschaften genehmigte Dissertation vorgelegt von MSc. Róbert Lajos Bücs aus Nagykanizsa, Ungarn Berichter: Universitätsprofessor Dr. rer. nat. Rainer Leupers Universitätsprofessor Antonello Monti, PhD Tag der mündlichen Prüfung: 10.07.2019 Diese Dissertation ist auf den Internetseiten der Hochschulbibliothek online verfügbar. Abstract In the last decades, vehicles have evolved from mechanical machines to sophisticated hardware and software (HW/SW) dominated systems. This digital paradigm shift can be explained with the rise of Advanced Driver Assistance Systems (ADAS), as well as applications of highly automated driving. However, such features require a nearly exponential amount of additional SW functionalities. To support the performance demands of such applications, powerful multi and many-processor HW platforms have been employed, exhibiting a trend toward more integrated architectures. Yet, as a consequence, the design and validation, as well as safety assessment of the digital in-vehicle infrastructure of modern cars has become immensely complex. Several techniques arose to bridge this gap, e.g., system engineering strategies, and model-based design and validation methods. In this thesis, it is proposed to augment such traditional approaches with purely simulation-driven techniques to improve and accelerate overall system design. Firstly, the utilization of driving simu- lators is suggested to conduct virtual road tests in an early application design stage. Furthermore, virtual prototyping is proposed to perform system exploration and ex- tend the simulation scope of ADAS to the embedded HW/SW implementation.
    [Show full text]
  • Plasmapy Documentation Release 0.2.0
    PlasmaPy Documentation Release 0.2.0 PlasmaPy Community Sep 29, 2019 CONTENTS 1 Getting Started 3 2 User Documentation 11 3 Development Guide 201 4 Project Details 217 5 Index 229 Bibliography 231 Python Module Index 233 Index 235 i ii PlasmaPy Documentation, Release 0.2.0 PlasmaPy is an open source community-developed core Python 3.6+ package for plasma physics currently under development. CONTENTS 1 PlasmaPy Documentation, Release 0.2.0 2 CONTENTS CHAPTER ONE GETTING STARTED 1.1 Installing PlasmaPy Note: If you would like to contribute to PlasmaPy, please refer to the instructions on installing PlasmaPy for devel- opment. 1.1.1 Requirements PlasmaPy requires Python version 3.6 or newer, and is not compatible with Python 2.7. PlasmaPy requires the follow- ing packages for installation: • NumPy 1.13 or newer • SciPy 0.19 or newer • Astropy 2.0 or newer • colorama 0.3 or newer PlasmaPy also uses the following optional dependencies: • matplotlib 2.0 or newer • h5py 2.8 or newer • mpmath 1.0 or newer • lmfit 0.9.7 or newer PlasmaPy can be installed with all of the optional dependencies via pip install plasmapy[optional]. 1.1.2 Creating a conda environment We highly recommend installing PlasmaPy from a Python environment created using conda. Conda allows us to create and switch between Python environments that are isolated from each other and the system installation (in contrast to this xkcd), while also simplifying the distribution of binary and compiled dependencies. After installing conda, create a PlasmaPy environment by running: conda create -n plasmapy python=3.7 numpy scipy astropy matplotlib h5py lmfit mpmath ,!colorama -c conda-forge To activate this environment, run: 3 PlasmaPy Documentation, Release 0.2.0 conda activate plasmapy Once the environment is activated, then you may proceed with installation.
    [Show full text]
  • Open Source Gaming – Free FUN!
    Open Source Gaming – Free FUN! Joseph Guarino Owner/Sr. Consultant Evolutionary IT www.evolutionaryit.com Objectives ? Copyright © Evolutionary IT 2008 2 Objectives FUN!FUN! Copyright © Evolutionary IT 2008 3 What is that!? 1. Something that brings us joy, laughter or amusement. 2. Something we need more of in our complex adult lives.. 3. Video games! Copyright © Evolutionary IT 2008 4 Let's Play! Identify the game. Copyright © Evolutionary IT 2008 5 Example Copyright © Evolutionary IT 2008 6 Example ©Atari 1972 Copyright © Evolutionary IT 2008 7 Example ©Atari 1980 Copyright © Evolutionary IT 2008 8 Example ©Namco 1980 Copyright © Evolutionary IT 2008 9 Example Copyright © Evolutionary IT 2008 10 Example © ID Software 1993 Copyright © Evolutionary IT 2008 11 Example © Apogee 1996 BTW... I'm still waiting FOREVER! Copyright © Evolutionary IT 2008 12 Example ©Jaleco 1998 Copyright © Evolutionary IT 2008 13 Example © ID Software 1999 Copyright © Evolutionary IT 2008 14 Example © Epic Games 2004 Copyright © Evolutionary IT 2008 15 Example © Epic Games 2007 Copyright © Evolutionary IT 2008 16 Ok... Now some real objectives... Copyright © Evolutionary IT 2008 17 Objectives ● What the heck is Open Source ● Top Open Source Games in nearly every genre ● FOSS server, security, networking and virtualization options ● FOSS game server example ● Industry overview and challenges ● Science and value of Gaming Copyright © Evolutionary IT 2008 18 Who am I? ● Joseph Guarino ● Working in IT for last 15 years: Systems, Network, Security Admin, Technical Marketing, Project Management, IT Management ● CEO/Sr. IT consultant with my own firm Evolutionary IT ● CISSP, LPIC, MCSE, PMP ● www.evolutionaryit.com Copyright © Evolutionary IT 2008 19 Defining FOSS Just to clear the air and clarify as this is a fun, desktop focused presentation for everyone Copyright © Evolutionary IT 2008 20 What is FOSS/FLOSS? Free and Open Source Software Alternative term to describe software spectrum from free to open.
    [Show full text]