Pyweek Documentation
Total Page:16
File Type:pdf, Size:1020Kb
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,