Pandaepl: a Library for Programming Spatial Navigation Experiments

Total Page:16

File Type:pdf, Size:1020Kb

Pandaepl: a Library for Programming Spatial Navigation Experiments Behav Res (2013) 45:1293–1312 DOI 10.3758/s13428-013-0322-5 PandaEPL: A library for programming spatial navigation experiments Alec Solway & Jonathan F. Miller & Michael J. Kahana Published online: 3 April 2013 # Psychonomic Society, Inc. 2013 Abstract Recent advances in neuroimaging and neural record- have engaged in a large and sustained effort to understand ing techniques have enabled researchers to make significant the neural mechanisms underlying spatial navigation. The progress in understanding the neural mechanisms underlying widespread availability of noninvasive recording techniques human spatial navigation. Because these techniques generally such as scalp electroencephalography (EEG) and functional require participants to remain stationary, computer-generated magnetic resonance imaging, combined with the rise in virtual environments are used. We introduce PandaEPL, a cognitive research involving neurosurgical patients with programming library for the Python language designed to sim- implanted electrodes, have made it possible to study these plify the creation of computer-controlled spatial-navigation mechanisms in humans (e.g., Alvarez, Biggs, Chen, Pine, & experiments. PandaEPL is built on top of Panda3D, a modern Grillon, 2008; Astur, Taylor, Mamelak, Philpott, & Sutherland, open-source game engine. It allows users to construct three- 2002; Cornwell, Johnson, Holroyd, Carver, & Grillon, 2008; dimensional environments that participants can navigate from a Doeller, Barry, & Burgess, 2010; Doeller, King, & Burgess, first-person perspective. Sound playback and recording and 2008; Ekstrom, Copara, Isham, Wang, & Yonelinas, 2011; also joystick support are provided through the use of additional Ekstrom et al., 2003; Gron, Wunderlich, Spitzer, Tomczak, & optional libraries. PandaEPL also handles many tasks common Riepe, 2000;Hassabisetal.,2009; Iaria, Chen, Guariglia, to all cognitive experiments, including managing configuration Ptito, & Petrides, 2007; Jacobs, Kahana, Ekstrom, Mollison, files, logging all internal and participant-generated events, and & Fried, 2010; Jacobs, Korolev, et al., 2010; Maguire et al., keeping track of the experiment state. We describe how 1998; Shipman & Astur, 2008; Suthana et al., 2012; van der PandaEPL compares with other software for building spatial- Ham et al., 2010; Watrous, Fried, & Ekstrom, 2011; navigation experiments and walk the reader through the process Weidemann, Mollison, & Kahana, 2009). Because these tech- of creating a fully functional experiment. niques require participants to remain stationary throughout the recording period, researchers often use computer-controlled Keywords Experiment creation . Programming library . virtual reality (VR) environments. Spatial navigation . Virtual reality . Stimulus presentation Many VR experiments, including those listed above, have the same basic structure and requirements. Participants navigate the environment from a first-person Since the discovery of place cells in the 1970s (O’Keefe & perspective, triggering events when they arrive at partic- Dostrovsky, 1971;O’Keefe & Nadel, 1978), researchers ular locations. Instructions between runs are presented using 2-D text and images superimposed on the 3-D environment. Input is processed using a computer key- A. Solway board or joystick, and every event, either experiment- or Princeton University, Princeton, NJ, USA participant-generated, is recorded in a text-based log. In J. F. Miller some cases, multiple computers are used: for example, Drexel University, Philadelphia, PA, USA one to run the experiment, and another to record neural data. Such setups require that the computers be synchro- * M. J. Kahana ( ) nized through the use of additional hardware. University of Pennsylvania, 3401 Walnut St. Suite 303C, Philadelphia, PA 19104, USA We have designed a programming library that automates e-mail: [email protected] these tasks and at the same time leaves users the flexibility 1294 Behav Res (2013) 45:1293–1312 necessary to implement novel experimental paradigms. Our of PyEPL for experiments using 2-D stimuli (here we will library, called PandaEPL, is built on top of the open-source not reenumerate PyEPL’s particular benefits; see Geller et Panda3D game engine. Panda3D is a fully fledged modern al., 2007); however, PyEPL’s VR module is now outdated. game engine with support for 3-D graphics; efficient ren- Users can build only simple 3-D environments by placing dering; basic physics; fog, lighting, and particle effects; different cubes on a grid and applying textures to them. shaders; flexible camera control; and mouse and keyboard Irregularly shaped objects can only be presented as 2-D input. Panda3D was developed by the Disney corporation sprites that appear the same from every angle. Missing from and subsequently released as open-source software. PyEPL is the ability to load and render true 3-D models With PandaEPL, researchers can design rich and complex created with modern graphic design packages. This makes environments using the 3-D modeling software of their the constructed environments both less attractive and more choice, and participants can then navigate these environ- cumbersome to create. Moreover, because rendering is con- ments from a first-person perspective. User-defined events trolled by a basic graphics engine built in-house, even can be triggered automatically when participants collide rudimentary environments can be slow to render. PyEPL is with objects in the environment, or more complex contin- officially supported on Mac OS X and Linux. gencies can be created by executing user-defined code be- Ayaz et al. (2008) reported on Maze Suite, a set of fore each frame is rendered. Helper functions display text standalone tools aimed at the construction of spatial- and images in 2-D, allowing users to display instructions navigation experiments. It consists of three programs: and construct custom heads-up displays (e.g., to display a MazeMaker, a point-and-click interface for constructing compass, the score, or the time). A number of other features new environments; MazeWalker, the graphics and game simplify tasks that are common to all cognitive experiments, engine; and MazeViewer, a tool that aids with data analysis. including configuration and log-file management and com- Maze Suite allows users to create and analyze basic exper- puter synchronization. The basic use of the software does iments without having to learn a programming language, not require knowledge of Panda3D or of any other library. and for simple environments, without having to learn how to However, a rudimentary knowledge of Python is required. use graphic design software. However, the range of exper- Our presentation here proceeds as follows. First, we iments that can be constructed and the analyses that can be describe how PandaEPL compares with existing software performed are limited by the built-in capabilities of the for creating spatial-navigation experiments. Next, we dis- point-and-click interface. Because Maze Suite is a set of cuss how PandaEPL handles precise timing, an important standalone programs rather than a programming library, its issue for all psychology experiments. We then demonstrate features cannot be extended or used in novel ways by being how PandaEPL can be used to build an experiment by invoked from a programming language. Maze Suite runs leading the reader through a fully functional example. The only on Microsoft Windows systems. example is a reduced version of Experiment 2 of Miller, The approach that we take is similar to that of PyEPL. Lazarus, Polyn, and Kahana (in press). Finally, additional PandaEPL makes available a set of Python-based classes details about the library are provided in the Appendix. and functions that encapsulate many common development tasks, but it is up to the experiment writer to decide how to best deploy these features to construct a particular experi- Comparison with existing approaches ment. There is not a single “pipeline” through which all new experiments are created. The advantages and disadvantages We know of only two existing general-purpose software of such an approach are obvious: It provides for a large packages aimed at the creation of spatial navigation exper- amount of flexibility in creating new experiments, but it has iments (Ayaz, Allen, Platek, & Onaral, 2008;Geller, a steeper learning curve than a specialized point-and-click Schleifer, Sederberg, Jacobs, & Kahana, 2007). interface such as the one provided by Maze Suite. Geller et al. (2007) reported on a general-purpose However, unlike PyEPL, which forces users to design all Python-based Experiment Programming Library, or aspects of their experiment programmatically, PandaEPL PyEPL. PyEPL streamlines many of the common develop- allows users to construct the most cumbersome part, the ment tasks shared by cognitive experiments by making 3-D environment itself, using the point-and-click interface available a set of Python-based classes and functions. This in the graphics package of their choice. The 3-D environ- allows researchers to quickly and easily create new experi- ment can then easily be loaded in, either as a single model or ments, while at the same time leaving them the flexibility by piecing together several separately constructed models. necessary to program novel features. As a whole, PyEPL is Moreover, whereas the only 3-D objects supported by aimed at general experiment development. Its “virtual real- PyEPL are cubes to which users apply different textures, ity
Recommended publications
  • Learn Python the Hard Way
    ptg11539604 LEARN PYTHON THE HARD WAY Third Edition ptg11539604 Zed Shaw’s Hard Way Series Visit informit.com/hardway for a complete list of available publications. ed Shaw’s Hard Way Series emphasizes instruction and making things as ptg11539604 Zthe best way to get started in many computer science topics. Each book in the series is designed around short, understandable exercises that take you through a course of instruction that creates working software. All exercises are thoroughly tested to verify they work with real students, thus increasing your chance of success. The accompanying video walks you through the code in each exercise. Zed adds a bit of humor and inside jokes to make you laugh while you’re learning. Make sure to connect with us! informit.com/socialconnect LEARN PYTHON THE HARD WAY A Very Simple Introduction to the Terrifyingly Beautiful World of Computers and Code Third Edition ptg11539604 Zed A. Shaw Upper Saddle River, NJ • Boston • Indianapolis • San Francisco New York • Toronto • Montreal • London • Munich • Paris • Madrid Capetown • Sydney • Tokyo • Singapore • Mexico City Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and the publisher was aware of a trademark claim, the designations have been printed with initial capital letters or in all capitals. The author and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein.
    [Show full text]
  • Python Programming
    Python Programming Wikibooks.org June 22, 2012 On the 28th of April 2012 the contents of the English as well as German Wikibooks and Wikipedia projects were licensed under Creative Commons Attribution-ShareAlike 3.0 Unported license. An URI to this license is given in the list of figures on page 149. If this document is a derived work from the contents of one of these projects and the content was still licensed by the project under this license at the time of derivation this document has to be licensed under the same, a similar or a compatible license, as stated in section 4b of the license. The list of contributors is included in chapter Contributors on page 143. The licenses GPL, LGPL and GFDL are included in chapter Licenses on page 153, since this book and/or parts of it may or may not be licensed under one or more of these licenses, and thus require inclusion of these licenses. The licenses of the figures are given in the list of figures on page 149. This PDF was generated by the LATEX typesetting software. The LATEX source code is included as an attachment (source.7z.txt) in this PDF file. To extract the source from the PDF file, we recommend the use of http://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/ utility or clicking the paper clip attachment symbol on the lower left of your PDF Viewer, selecting Save Attachment. After extracting it from the PDF file you have to rename it to source.7z. To uncompress the resulting archive we recommend the use of http://www.7-zip.org/.
    [Show full text]
  • Symantec Web Security Service Policy Guide
    Web Security Service Policy Guide Version 6.10.4.1/OCT.12.2018 Symantec Web Security Service/Page 2 Policy Guide/Page 3 Copyrights Copyright © 2018 Symantec Corp. All rights reserved. Symantec, the Symantec Logo, the Checkmark Logo, Blue Coat, and the Blue Coat logo are trademarks or registered trademarks of Symantec Corp. or its affiliates in the U.S. and other coun- tries. Other names may be trademarks of their respective owners. This document is provided for informational purposes only and is not intended as advertising. All warranties relating to the information in this document, either express or implied, are disclaimed to the maximum extent allowed by law. The information in this document is subject to change without notice. THE DOCUMENTATION IS PROVIDED "AS IS" AND ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT SUCH DISCLAIMERS ARE HELD TO BE LEGALLY INVALID. SYMANTEC CORPORATION SHALL NOT BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES IN CONNECTION WITH THE FURNISHING, PERFORMANCE, OR USE OF THIS DOCUMENTATION. THE INFORMATION CONTAINED IN THIS DOCUMENTATION IS SUBJECT TO CHANGE WITHOUT NOTICE. Symantec Corporation 350 Ellis Street Mountain View, CA 94043 www.symantec.com Policy Guide/Page 4 Symantec Web Security Service Policy Guide The Symantec Web Security Service solutions provide real-time protection against web-borne threats. As a cloud-based product, the Web Security Service leverages Symantec's proven security technology as well as the WebPulse™ cloud com- munity of over 75 million users.
    [Show full text]
  • The Kilobot Gym
    The Kilobot Gym Gregor H.W. Gebhardt1 and Gerhard Neumann2 Abstract— Simulation is a crucial tool when learning control policies for robotic systems. The evaluation of a control policy is a recurring task in most learning algorithms which can be significantly sped up when using a simulation instead of the real system. This improvement in learning speed becomes even more significant when working with robot swarms which usually operate rather slow and need to be tediously initialized by hand. In this paper, we present a novel simulator for swarm Fig. 1. Left: a scene with a small swarm of Kilobots with an object in the robotics. Our simulator is inspired by the Kilobot platform and background. Right: a swarm of Kilobots in our simulation framework with builds on the OpenAI gym. This allows to evaluate a wide range with four square objects. of learning algorithms using a unified interface for controlling the swarm. The code of our simulation framework is available at [3]. time step. The implementation uses JavaScript embedded in HTML files which results in code that is hard to use for I. INTRODUCTION programmatic evaluations and, furthermore, the reusability Learning the parameters of a control policy is usually of JavaScripts without any modularity goes towards zero. an iterative process of evaluating the parameters on the Another approach to simulate a swarm of Kilobots is to system and improving the parameters based on the evaluation use the robot simulator V-REP [6]. The simulations are results. In robotics, the most time consuming task is often the performed in 3D, where the user can select between different evaluation of the parameters on a real robotic system.
    [Show full text]
  • Exploiting Traditional Gameplay Characteristics to Enhance Digital Board Games
    Exploiting traditional gameplay characteristics to enhance digital board games Fulvio Frapolli∗, Apostolos Malatras∗ and Beat´ Hirsbrunner∗ ∗Department of Informatics University of Fribourg, Switzerland Email: name.surname @unifr.ch { } Abstract—Computer enhanced board and card games consti- population of board game players and human-computer inter- tute a highly engaging and entertaining activity as attested by action experts [7]. Additionally, the key role that the players their widespread popularity and the large amount of dedicated have in the physical environment in modifying game aspects players. Nonetheless, when considering these digital counterparts of traditional board games it becomes evident that certain to increase their level of enjoyment, as highlighted in [8], features of the latter, such as the flexibility of games and the should not be neglected. In this respect, when shifting to the inherent social interactions that regard the player as an active digital environment end-user involvement, namely the ability participant and not merely as the end-user of a product, have of players with basic programming skills (i.e. understanding been in general neglected. In particular, the ability to customize of fundamental concepts of algorithmics, such as if . then and adapt games according to the players’ needs is one of the key factors of their success and should thus not be ignored when . else constructs or for loops) to customize a board game, porting them to the digital environment. In this paper we present should be strongly promoted. our work on a holistic framework titled FLEXIBLERULES that In order to achieve these goals, we present here the FLEXI- addresses these limitations by bringing the intrinsic flexibility BLERULES framework which enables runtime modification of of board games played in the traditional environment into the all aspects of a game in a straightforward manner.
    [Show full text]
  • Symantec Web Security Service Policy Guide
    Web Security Service Policy Guide Revision: NOV.07.2020 Symantec Web Security Service/Page 2 Policy Guide/Page 3 Copyrights Broadcom, the pulse logo, Connecting everything, and Symantec are among the trademarks of Broadcom. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. Copyright © 2020 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. For more information, please visit www.broadcom.com. Broadcom reserves the right to make changes without further notice to any products or data herein to improve reliability, function, or design. Information furnished by Broadcom is believed to be accurate and reliable. However, Broadcom does not assume any liability arising out of the application or use of this information, nor the application or use of any product or circuit described herein, neither does it convey any license under its patent rights nor the rights of others. Policy Guide/Page 4 Symantec WSS Policy Guide The Symantec Web Security Service solutions provide real-time protection against web-borne threats. As a cloud-based product, the Web Security Service leverages Symantec's proven security technology, including the WebPulse™ cloud community. With extensive web application controls and detailed reporting features, IT administrators can use the Web Security Service to create and enforce granular policies that are applied to all covered users, including fixed locations and roaming users. If the WSS is the body, then the policy engine is the brain. While the WSS by default provides malware protection (blocks four categories: Phishing, Proxy Avoidance, Spyware Effects/Privacy Concerns, and Spyware/Malware Sources), the additional policy rules and options you create dictate exactly what content your employees can and cannot access—from global allows/denials to individual users at specific times from specific locations.
    [Show full text]
  • How to Install Pygame for Python 3 Pygame Is a Set of Python Modules Designed for Writing Games
    How to install PyGame for Python 3 PyGame is a set of python modules designed for writing games. It uses the SDL library to allow you to create games and multimedia programs in Python. PyGame is highly portable and runs on nearly every platform and operating system. The SDL library, or Simple DirectMedia Layer is a development library written in C that provides low-level access to audio, keyboard, mouse, joystick and graphics hardware. PyGame is what allows us to use SDL with Python. Python install If you don’t already have Python3 installed download it from http://www.python.org/downloads/ Make sure you pick the correct installer for your computer, e.g. Windows x86 or Windows x64 or Mac, etc. When running the installer it should place the installation in the default location, for Python3 version 3.4 on Windows this is: C:\python34 On Mac OSX it is: /usr/local/bin/python On Windows, make sure Python is added to the system path by opening the command prompt ( + R, ‘cmd’) and type set path=%path%;C:\python34 Where 34 is equal to your Python 3 version number. Check the Python 3 install To check that Python has installed correctly open the command prompt or terminal and simply type python If this causes an error, then Python has not installed correctly. If it does not, you should see a new python prompt that looks like this: >>> To exit the Python prompt, press Ctrl + z, then press the Enter key. Then exit the command prompt or terminal. If you chose you can install a Python IDE or Python editor at this point, before continuing on.
    [Show full text]
  • Realidad Aumentada Como Estrategia Didáctica En Curso De Ciencias Naturales De Estudiantes De Quinto Grado De Primaria De La Institución Educativa Campo Valdés
    REALIDAD AUMENTADA COMO ESTRATEGIA DIDÁCTICA EN CURSO DE CIENCIAS NATURALES DE ESTUDIANTES DE QUINTO GRADO DE PRIMARIA DE LA INSTITUCIÓN EDUCATIVA CAMPO VALDÉS OSCAR MAURICIO BUENAVENTURA BARON UNIVERSIDAD DE MEDELLIN ESPECIALIZACION EN INGENIERIA DE SOFTWARE COHORTE VI MEDELLIN 2014 REALIDAD AUMENTADA COMO ESTRATEGIA DIDÁCTICA EN CURSO DE CIENCIAS NATURALES DE ESTUDIANTES DE QUINTO GRADO DE PRIMARIA DE LA INSTITUCIÓN EDUCATIVA CAMPO VALDÉS OSCAR MAURICIO BUENAVENTURA BARON Requisito para optar al grado de Especialista en Ingeniería de Software Asesor EDWIN MAURICIO HINCAPIÉ MONTOYA UNIVERSIDAD DE MEDELLIN ESPECIALIZACION EN INGENIERIA DE SOFTWARE COHORTE VI MEDELLIN 2014 Nota de aceptación: ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ Firma presidente de jurado ___________________________________ Firma del jurado ___________________________________ Firma del jurado 3 Con todo mi cariño y mi amor para las personas que hicieron todo en la vida para que yo pudiera lograr mis sueños, por motivarme y darme la mano cuando sentía que el camino se terminaba, a ustedes por siempre mi corazón y mi gratitud. Mamá, Papá, Tía y Tocayo 4 TABLA DE CONTENIDO RESUMEN ...........................................................................................................................................9 INTRODUCCION .............................................................................................................................
    [Show full text]
  • Archive and Compressed [Edit]
    Archive and compressed [edit] Main article: List of archive formats • .?Q? – files compressed by the SQ program • 7z – 7-Zip compressed file • AAC – Advanced Audio Coding • ace – ACE compressed file • ALZ – ALZip compressed file • APK – Applications installable on Android • AT3 – Sony's UMD Data compression • .bke – BackupEarth.com Data compression • ARC • ARJ – ARJ compressed file • BA – Scifer Archive (.ba), Scifer External Archive Type • big – Special file compression format used by Electronic Arts for compressing the data for many of EA's games • BIK (.bik) – Bink Video file. A video compression system developed by RAD Game Tools • BKF (.bkf) – Microsoft backup created by NTBACKUP.EXE • bzip2 – (.bz2) • bld - Skyscraper Simulator Building • c4 – JEDMICS image files, a DOD system • cab – Microsoft Cabinet • cals – JEDMICS image files, a DOD system • cpt/sea – Compact Pro (Macintosh) • DAA – Closed-format, Windows-only compressed disk image • deb – Debian Linux install package • DMG – an Apple compressed/encrypted format • DDZ – a file which can only be used by the "daydreamer engine" created by "fever-dreamer", a program similar to RAGS, it's mainly used to make somewhat short games. • DPE – Package of AVE documents made with Aquafadas digital publishing tools. • EEA – An encrypted CAB, ostensibly for protecting email attachments • .egg – Alzip Egg Edition compressed file • EGT (.egt) – EGT Universal Document also used to create compressed cabinet files replaces .ecab • ECAB (.ECAB, .ezip) – EGT Compressed Folder used in advanced systems to compress entire system folders, replaced by EGT Universal Document • ESS (.ess) – EGT SmartSense File, detects files compressed using the EGT compression system. • GHO (.gho, .ghs) – Norton Ghost • gzip (.gz) – Compressed file • IPG (.ipg) – Format in which Apple Inc.
    [Show full text]
  • PDF of Making Games with Python & Pygame
    Making Games with Python & Pygame By Al Sweigart Copyright © 2012 by Albert Sweigart Some Rights Reserved. ―Making Games with Python & Pygame‖) is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License. You are free: To Share — to copy, distribute, display, and perform the work To Remix — to make derivative works Under the following conditions: Attribution — You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). (Visibly include the title and author's name in any excerpts of this work.) Noncommercial — You may not use this work for commercial purposes. Share Alike — If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one. This summary is located here: http://creativecommons.org/licenses/by-nc-sa/3.0/us/ Your fair use and other rights are in no way affected by the above. There is a human-readable summary of the Legal Code (the full license), located here: http://creativecommons.org/licenses/by-nc-sa/3.0/us/legalcode Book Version 2 If you've downloaded this book from a torrent, it’s probably out of date. Go to http://inventwithpython.com/pygame to download the latest version. ISBN (978-1469901732) 1st Edition Email questions to the author: [email protected] For Calvin Chaos Email questions to the author: [email protected] Who is this book for? i WHO IS THIS BOOK FOR? When you get down to it, programming video games is just about lighting up pixels to make pretty pictures appear on the screen in response to keyboard and mouse input.
    [Show full text]
  • An Analysis of Python's Topics, Trends, and Technologies Through Mining Stack Overflow Discussions
    1 An Analysis of Python’s Topics, Trends, and Technologies Through Mining Stack Overflow Discussions Hamed Tahmooresi, Abbas Heydarnoori, and Alireza Aghamohammadi F Abstract—Python is a popular, widely used, and general-purpose pro- (LDA) [3] to categorize discussions in specific areas such gramming language. In spite of its ever-growing community, researchers as web programming [4], mobile application development [5], have not performed much analysis on Python’s topics, trends, and tech- security [6], and blockchain [7]. However, none of them has nologies which provides insights for developers about Python commu- focused on Python. In this study, we shed light on the nity trends and main issues. In this article, we examine the main topics Python’s main areas of discussion through mining 2 461 876 related to this language being discussed by developers on one of the most popular Q&A websites, Stack Overflow, as well as temporal trends posts, from August 2008 to January 2019, using LDA based through mining 2 461 876 posts. To be more useful for the software topic modeling . We also analyze the temporal trends of engineers, we study what Python provides as the alternative to popular the extracted topics to find out how the developers’ interest technologies offered by common programming languages like Java. is changing over the time. After explaining the topics and Our results indicate that discussions about Python standard features, trends of Python, we investigate the technologies offered web programming, and scientific programming 1 are the most popular by Python, which are not properly revealed by the topic areas in the Python community.
    [Show full text]
  • Tiled Documentation Release 1.7.2
    Tiled Documentation Release 1.7.2 Thorbjørn Lindeijer Aug 10, 2021 User Manual 1 Introduction 3 1.1 About Tiled................................................3 1.2 Getting Started..............................................3 2 Projects 9 2.1 What’s in a Project............................................9 2.2 Sessions.................................................9 2.3 Opening a File in the Project....................................... 10 3 Working with Layers 11 3.1 Layer Types............................................... 11 3.2 Parallax Scrolling Factor......................................... 13 3.3 Tinting Layers.............................................. 14 4 Editing Tile Layers 17 4.1 Stamp Brush............................................... 17 4.2 Terrain Brush............................................... 18 4.3 Bucket Fill Tool............................................. 18 4.4 Shape Fill Tool.............................................. 18 4.5 Eraser................................................... 18 4.6 Selection Tools.............................................. 19 4.7 Managing Tile Stamps.......................................... 19 5 Working with Objects 21 5.1 Placement Tools............................................. 21 5.2 Select Objects.............................................. 23 5.3 Edit Polygons............................................... 24 5.4 Connecting Objects........................................... 25 6 Editing Tilesets 27 6.1 Two Types of Tileset..........................................
    [Show full text]