Pyweek Documentation

Total Page:16

File Type:pdf, Size:1020Kb

Pyweek Documentation PyWeek Documentation Daniel Pope Aug 18, 2021 Competition Rules 1 The Rules 3 1.1 1. Entry is individual or team-based...................................3 1.2 2. Entries are to be written “from scratch”................................3 1.3 3. The time limit is 1 week........................................4 1.4 4. Theme is selected by the competitors.................................4 1.5 5. Entries are judged by peers......................................5 1.6 6. Existing artwork, music and sound effects may be used.......................5 1.7 7. Your Final Submission........................................6 1.8 8. Licensing...............................................6 1.9 9. Target platform............................................6 1.10 10. Code of Conduct...........................................6 2 Using the PyWeek Website 7 2.1 How the heck do I write a game?....................................7 2.2 So you want to enter as an individual?..................................7 2.3 So you want to enter as a team?.....................................7 2.4 Editing your personal details.......................................8 2.5 Don’t want an Entry any more?.....................................8 2.6 Want to change Team Leaders?.....................................8 2.7 Want to join a team?...........................................8 2.8 What to do before the challenge starts..................................8 2.9 What do do during the challenge.....................................8 2.10 How to submit your entry........................................9 2.11 What to submit as your entry.......................................9 2.12 When does PyWeek run?.........................................9 2.13 When can I sign up?...........................................9 2.14 How do I upload a file?.......................................... 10 2.15 How do I post a diary entry?....................................... 10 2.16 What’s PyWeek all about?........................................ 10 3 Packaging your game 13 3.1 Zip the source.............................................. 13 3.2 Include a run_game.py.......................................... 14 3.3 Include a README........................................... 14 3.4 Building executable files......................................... 14 4 Writing Diary Entries 15 i 4.1 Writing Diaries.............................................. 15 4.2 Taking Screenshots............................................ 15 5 Libraries 19 5.1 Graphics/Window/Sound/UI....................................... 19 5.2 Geometry/Vectors............................................ 23 5.3 Physics.................................................. 23 5.4 Sound................................................... 24 5.5 GUI.................................................... 24 6 Game Development Resources 25 6.1 Articles and tutorials........................................... 25 6.2 Video Tutorials.............................................. 26 6.3 2D Graphics............................................... 26 6.4 3D Models................................................ 26 6.5 Textures................................................. 26 6.6 Content Creation............................................. 26 6.7 Music................................................... 27 6.8 Sound Effects............................................... 27 6.9 Fonts................................................... 27 6.10 Icons................................................... 27 6.11 Finding Collaborators.......................................... 27 7 The PyWeek CLI tool 29 8 Conditions of Use 31 8.1 1. About these Conditions........................................ 31 8.2 2. What the PyWeek system does.................................... 31 8.3 3. How You Promise to Behave in this Environment.......................... 31 8.4 4. Copyright............................................... 32 8.5 6. Things for which the PyWeek Organisers will not be Responsible.................. 32 8.6 7. Privacy and Security.......................................... 33 9 Code of Conduct 35 9.1 Communication............................................. 35 9.2 Harassment................................................ 35 9.3 Artistic Freedom............................................. 36 9.4 If there is a problem........................................... 36 ii PyWeek Documentation PyWeek is a game jam in which you must write a game from scratch, in Python, in just one week. Why participate in PyWeek? There are many reasons: • Practice your Python programming • Try programming something different • Unleash your creativity • Finish a real project • Maybe, just maybe, you could win and get all the kudos Visit https://pyweek.org/ to participate. Tip: PyWeek is partnered with the Python Discord server. Join us in the #pyweek channel to chat with other PyWeekers and follow game progress and announcement. Competition Rules 1 PyWeek Documentation 2 Competition Rules CHAPTER 1 The Rules revision date 2020-02-06 The PyWeek challenge: 1. Must be challenging and fun, 2. Entries must be developed during the challenge, and must incorporate some theme decided at the start of the challenge, 3. Will hopefully increase the public body of python game tools, code and expertise, 4. Will let a lot of people actually finish a game, and 5. May inspire new projects (with ready made teams!) 1.1 1. Entry is individual or team-based You may either enter as an individual or as a team with as many members as you like. Individual and team entries will be judged separately and a winner announced in each category. All members of a team get to vote (though not for their own team), enter diary entries and upload files. People may join more than one team. During the challenge, competitors are encouraged to post diary entries (diaries are supplied as part of the challenge), and hang out on Discord (channel #pyweek). By signing up to the challenge, you are agreeing to abide by the system conditions of use. 1.2 2. Entries are to be written “from scratch” The intent of this rule is to provide a level playing-field for all entrants. The short version is this: any resources you prepare before the competition must be made both available and accessible to all other entrants, regardless of whether they were created by you or by others. “Available” means that they must be published in good time, in a place where 3 PyWeek Documentation other entrants might discover them. “Accessible” means making sure others are not prevented from using them once aware of them. 1. You may not use code created before the competition except under the conditions of clause 2.2 and 2.3. This includes using the code as a point of reference. 2. You may use libraries that were created before the competition if and only if a. they have been published to a public searchable index such as PyPI, GitHub, or this handbook for at least 30 days before the competition; and, b. they are licensed under an OSI-approved open source license, or are public domain; and, c. the index page (eg. README/PyPI page) contains, or links to, a documentation resource that describes the features of the library and contains thorough API documentation; and, d. the library does not contain game logic, ie. it is agnostic about theme, backstory, character types, game objects, behaviours, and so on, and requires customisation with Python code in order to define these qualities and behaviours. 3. You may use code posted in blog entries if and only if a. The blog entry was published to the Internet at least 30 days before the competition; and, b. it is specified or implied that the code is free to redistribute, eg. that it is public domain; and, c. the blog entry contains prose describing the purpose of the code; and, d. the code does not contain game logic, under the same definition as clause 2.2.d, unless the logic is provided as an example and you replace it. 1.3 3. The time limit is 1 week The challenge starts 00:00 UTC Sunday and finishes 7 days later at 00:00UTC Sunday. Work done on entries before this time would be considered cheating. Once the time limit is up entrants will have 24 hours to upload their file(s). This is not extra development time. Failure to upload at the last minute of that additional 24 hours will be met with zero leniency. The server will overload if you try. You have been warned. If your game crashes it’s on your head. You should allow time for testing well before the deadline. 1.4 4. Theme is selected by the competitors The theme of the challenge will be determined by a vote in the week leading up to the challenge. The theme exists to serve two purposes: 1. Inspire entrants at the start of the challenge, and 2. Discourage cheating. How entrants interpret the theme (whether it be cosmetically or for deeper meaning) is completely open. A shortlist of five themes will be selected by the organisers. These are drawn at random on the evening before theme voting begins. In the week leading up to the challenge, all participants get to place a preference against each of the five themes. The vote preferences are tallied, according to instant-runoff rules. The winner of that vote is announced at the point that the challenge begins. 4 Chapter 1. The Rules PyWeek Documentation All votes will be recorded for later examination. 1.5 5. Entries are judged by peers Judging of final submissions will be done by your peers, the other souls brave enough to grind away for 7 days and compete with you (and finish). Judging is performed by the individual competitors,
Recommended publications
  • Simple Plotter Documentation Release 0.0.0
    simple_plotter Documentation Release 0.0.0 Thies Hecker Mar 30, 2020 Contents: 1 Getting started 3 1.1 Desktop..................................................3 1.2 Android..................................................3 1.3 Configuration options..........................................4 1.4 Requirements...............................................4 1.5 Source code...............................................4 2 User guide 7 2.1 Overview.................................................7 2.2 Defining an equation...........................................7 2.3 Creating a plot..............................................8 2.4 Adjust the plot appearance........................................8 2.5 Constants.................................................9 2.6 Plotting curve sets............................................ 10 2.7 Plot labels................................................ 11 2.8 Load, save and export.......................................... 12 2.9 Advanced usage............................................. 12 3 Licenses 17 3.1 simple-plotter............................................... 17 3.2 simple-plotter-qt............................................. 18 3.3 simple-plotter4a............................................. 18 3.4 simple-plotter4a binary releases (Android)............................... 18 4 Contributing 43 4.1 Concept.................................................. 43 4.2 Package versions............................................. 43 4.3 Building conda packages........................................
    [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]
  • Kivy Documentation Release 1.9.2-Dev0
    Kivy Documentation Release 1.9.2-dev0 www.kivy.org CONTENTS I User’s Guide3 1 Installation 5 2 Philosophy 25 3 Contributing 27 4 FAQ 39 5 Contact Us 43 II Programming Guide 45 6 Kivy Basics 47 7 Controlling the environment 53 8 Configure Kivy 57 9 Architectural Overview 59 10 Events and Properties 63 11 Input management 71 12 Widgets 77 13 Graphics 97 14 Kv language 99 15 Integrating with other Frameworks 109 16 Best Practices 113 17 Advanced Graphics 115 18 Packaging your application 117 III Tutorials 137 19 Pong Game Tutorial 139 i 20 A Simple Paint App 151 IV API Reference 161 21 Kivy framework 163 22 Adapters 249 23 Core Abstraction 257 24 Kivy module for binary dependencies. 283 25 Effects 285 26 Extension Support 289 27 Garden 293 28 Graphics 295 29 Input management 363 30 Kivy Language 381 31 External libraries 401 32 Modules 403 33 Network support 413 34 Storage 417 35 NO DOCUMENTATION (package kivy.tools) 423 36 Widgets 427 V Appendix 621 37 License 623 Python Module Index 625 ii Welcome to Kivy’s documentation. Kivy is an open source software library for the rapid development of applications equipped with novel user interfaces, such as multi-touch apps. We recommend that you get started with Getting Started. Then head over to the Programming Guide. We also have Create an application if you are impatient. You are probably wondering why you should be interested in using Kivy. There is a document outlining our Philosophy that we encourage you to read, and a detailed Architectural Overview.
    [Show full text]
  • Python-For-Android Documentation Release 0.1
    python-for-android Documentation Release 0.1 Alexander Taylor Jun 04, 2020 Contents 1 Contents 3 1.1 Getting Started..............................................3 1.2 Build options...............................................7 1.3 Commands................................................ 11 1.4 distutils/setuptools integration...................................... 12 1.5 Recipes.................................................. 14 1.6 Bootstraps................................................ 21 1.7 Services.................................................. 22 1.8 Working on Android........................................... 23 1.9 Troubleshooting............................................. 26 1.10 Launcher................................................. 29 1.11 Contributing............................................... 30 1.12 Old p4a toolchain doc.......................................... 30 1.13 Indices and tables............................................ 56 2 Indices and tables 57 Python Module Index 59 Index 61 i ii python-for-android Documentation, Release 0.1 python-for-android is an open source build tool to let you package Python code into standalone android APKs that can be passed around, installed, or uploaded to marketplaces such as the Play Store just like any other Android app. This tool was originally developed for the Kivy cross-platform graphical framework, but now supports multiple bootstraps and can be easily extended to package other types of Python app for Android. python-for-android supports two major operations;
    [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]
  • KIVY - a Framework for Natural User Interfaces
    KIVY - A Framework for Natural User Interfaces Nik Klever Faculty of Computer Sciences University of Applied Sciences Augsburg Source of all Slides adopted from http://www.kivy.org Nik Klever University of Applied Sciences Augsburg Kivy - Open Source Library Kivy is an ● Open Source Python library for ● rapid development of applications that make use of ● innovative user interfaces, such as multi-touch apps. Nik Klever University of Applied Sciences Augsburg Cross Platform Kivy is running on ● Linux, ● Windows, ● MacOSX, ● Android and ● IOS You can run the same code on all supported platforms. It can use natively most input protocols and devices like ● WM_Touch, WM_Pen on Windows, ● Mac OS X Trackpad and Magic Mouse on MacOSX, ● mtdev, Linux Kernel HID, TUIO on Linux. A multi-touch mouse simulator is included. Nik Klever University of Applied Sciences Augsburg Business Friendly Kivy is 100% free to use, under LGPL 3 licence. The toolkit is professionally developed, backed and used. You can use it in a product and sell your product. The framework is stable and has a documented API, plus a programming guide to help for in the first step. Nik Klever University of Applied Sciences Augsburg GPU accelerated The graphics engine is built over OpenGL ES 2, using modern and fast way of doing graphics. The toolkit is coming with more than 20 widgets designed to be extensible. Many parts are written in C using Cython, tested with regression tests. Nik Klever University of Applied Sciences Augsburg Philosophy - 1 Fresh Kivy is made for today and tomorrow. Novel input methods such as Multi- Touch have become increasingly important.
    [Show full text]
  • Pyglet Documentation Release 1.2Alpha1
    pyglet Documentation Release 1.2alpha1 Alex Holkner October 13, 2013 CONTENTS 1 Programming Guide: 3 1.1 pyglet Programming Guide.......................................3 2 API Reference: 87 2.1 API Reference.............................................. 87 3 Testing Framework: 117 4 Related Documentation: 119 Python Module Index 121 i ii pyglet Documentation, Release 1.2alpha1 Pyglet is a pure python cross-platform application framework intended for game development. It supports windowing, user interface event handling, OpenGL graphics, loading images and videos and playing sounds and music. It works on Windows, OS X and Linux. CONTENTS 1 pyglet Documentation, Release 1.2alpha1 2 CONTENTS CHAPTER ONE PROGRAMMING GUIDE: 1.1 pyglet Programming Guide breadcrumb Programming Guide The pyglet Programming Guide provides in-depth documentation for writing applications that use pyglet. Many topics described here reference the pyglet API reference, provided separately. If this is your first time reading about pyglet, we suggest you start at Writing a pyglet application. 1.1.1 Installation pyglet does not need to be installed. Because it uses no external libraries or compiled binaries, you can run it in-place. You can distribute the pyglet source code or runtime eggs alongside your application code (see Distribution). You might want to experiment with pyglet and run the example programs before you install it on your development machine. To do this, add either the extracted pyglet source archive directory or the compressed runtime egg to your PYTHONPATH. On Windows you can specify this from a command line: set PYTHONPATH c:\path\to\pyglet-1.1\;%PYTHONPATH% On Mac OS X, Linux or on Windows under cygwin using bash: set PYTHONPATH /path/to/pyglet-1.1/:$PYTHONPATH export PYTHONPATH or, using tcsh or a variant: setenv PYTHONPATH /path/to/pyglet-1.1/:$PYTHONPATH If you have downloaded a runtime egg instead of the source archive, you would specify the filename of the egg in place of pyglet-1.1/.
    [Show full text]
  • Psychology Software for Python Release 3.0.2
    PsychoPy - Psychology software for Python Release 3.0.2 Jonathan Peirce Jan 29, 2019 Contents 1 About PsychoPy 1 2 General issues 3 3 Installation 29 4 Manual install 31 5 Getting Started 35 6 Builder 43 7 Coder 75 8 Running studies online 95 9 Reference Manual (API) 103 10 Troubleshooting 325 11 Recipes (“How-to”s) 329 12 Frequently Asked Questions (FAQs) 341 13 Resources (e.g. for teaching) 343 14 For Developers 345 15 PsychoPy Experiment file format (.psyexp) 359 Python Module Index 363 i ii CHAPTER 1 About PsychoPy 1.1 Citing PsychoPy If you use this software, please cite one of the publications that describe it. • Peirce, J. W., & MacAskill, M. R. (2018). Building Experiments in PsychoPy. London: Sage. • Peirce J. W. (2009). Generating stimuli for neuroscience using PsychoPy. Frontiers in Neuroinformatics, 2 (10), 1-8. doi:10.3389/neuro.11.010.2008 • Peirce, J. W. (2007). PsychoPy - Psychophysics software in Python. Journal of Neuroscience Methods, 162 (1-2):8-13 doi:10.1016/j.jneumeth.2006.11.017 Citing these papers gives the reviewer/reader of your study information about how the system works and it attributes some credit for its original creation. Academic assessment (whether for promotion or even getting appointed to a job in the first place) prioritises publications over making useful tools for others. Citations provide a way for the developers to justify their continued involvement in the development of the package. 1 PsychoPy - Psychology software for Python, Release 3.0.2 2 Chapter 1. About PsychoPy CHAPTER 2 General issues These are issues that users should be aware of, whether they are using Builder or Coder views.
    [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]
  • Python Language
    Python Language #python Table of Contents About 1 Chapter 1: Getting started with Python Language 2 Remarks 2 Versions 3 Python 3.x 3 Python 2.x 3 Examples 4 Getting Started 4 Verify if Python is installed 4 Hello, World in Python using IDLE 5 Hello World Python file 5 Launch an interactive Python shell 6 Other Online Shells 7 Run commands as a string 7 Shells and Beyond 8 Creating variables and assigning values 8 User Input 12 IDLE - Python GUI 13 Troubleshooting 14 Datatypes 15 Built-in Types 15 Booleans 15 Numbers 15 Strings 16 Sequences and collections 16 Built-in constants 17 Testing the type of variables 18 Converting between datatypes 18 Explicit string type at definition of literals 19 Mutable and Immutable Data Types 19 Built in Modules and Functions 20 Block Indentation 24 Spaces vs. Tabs 25 Collection Types 25 Help Utility 30 Creating a module 31 String function - str() and repr() 32 repr() 33 str() 33 Installing external modules using pip 34 Finding / installing a package 34 Upgrading installed packages 34 Upgrading pip 35 Installation of Python 2.7.x and 3.x 35 Chapter 2: *args and **kwargs 38 Remarks 38 h11 38 h12 38 h13 38 Examples 39 Using *args when writing functions 39 Using **kwargs when writing functions 39 Using *args when calling functions 40 Using **kwargs when calling functions 41 Using *args when calling functions 41 Keyword-only and Keyword-required arguments 42 Populating kwarg values with a dictionary 42 **kwargs and default values 42 Chapter 3: 2to3 tool 43 Syntax 43 Parameters 43 Remarks 44 Examples 44 Basic
    [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]