diff options
author | 2021-04-15 15:05:40 +0800 | |
---|---|---|
committer | 2021-04-15 15:05:40 +0800 | |
commit | f70f3552c9e44e278d9142d196d8c9feb4c05969 (patch) | |
tree | e8b51b500150fad220d5b8003f4045dd24f57f91 | |
parent | Add miscellaneous pages and fixes. (diff) |
Add missed Game Jam 2020 subpages.
6 files changed, 207 insertions, 1 deletions
diff --git a/pydis_site/apps/events/views/page.py b/pydis_site/apps/events/views/page.py index eab2f462..1622ad70 100644 --- a/pydis_site/apps/events/views/page.py +++ b/pydis_site/apps/events/views/page.py @@ -21,6 +21,5 @@ class PageView(TemplateView): if not page_path.exists(): raise Http404 - print(f"events/{settings.EVENTS_PAGES_PATH.name}/{path}") return [f"events/{settings.EVENTS_PAGES_PATH.name}/{path}"] diff --git a/pydis_site/templates/events/pages/game-jams/2020/judging.html b/pydis_site/templates/events/pages/game-jams/2020/judging.html new file mode 100644 index 00000000..1ec836ac --- /dev/null +++ b/pydis_site/templates/events/pages/game-jams/2020/judging.html @@ -0,0 +1,68 @@ +{% extends "events/base_sidebar.html" %} + +{% block title %}Judging{% endblock %} + +{% block breadcrumb %} + <li><a href="{% url "events:index" %}">Events</a></li> + <li><a href="{% url "events:page" path="game-jams" %}">Game Jams</a></li> + <li><a href="{% url "events:page" path="game-jams/2020" %}">Game Jam 2020: Three of a Kind</a></li> + <li class="is-active"><a href="#">Judging</a></li> +{% endblock %} + +{% block event_content %} + <img src="https://user-images.githubusercontent.com/33516116/77762078-e02ce080-7030-11ea-947a-9c6733d4f33d.png"> + <p> + The game jam has a greatly simplified judging process compared to the <a href="/events/code-jams/">Code Jam events</a>. We will not be evaluating your code quality, your commit history, or your teamwork. We will instead evaluate your project based on a few simple factors, which are outlined in this document. + </p> + + + <!-- Novelty --> + <h2>Creativity & Novelty Factor</h2> + <p> + The theme and the tech that we provide are provided as limitations, because we believe that <em>limitations breed creativity</em>. One of the big factors we consider when we judge these projects is the novelty factor. If you've created something truly unique, you've got a leg up on someone who made a very polished version of something that's very familiar. This means that even if you're not an expert programmer or experienced game dev, the right idea (and that ideas' adherence to the theme) might still net you a win! + </p> + <p> + Please try to spend some time coming up with the most fun and novel idea you can before diving into your actual programming. If you're not sure how, try googling for <strong>game dev ideation techniques</strong>. Professional game developers frequently make use of these techniques in order to help spin the wheels of creativity. + </p> + <p> + For example, you can try to write down a bunch of different adjectives (like "yellow" or "terrified") on red notes, nouns (like "lemon" or "snowman") on blue notes, and modifiers (like "in space!" or "the floor is lava!") on yellow notes. Then select a random note from each color, put them together in different orders and think about how you can create a game idea around it that fits the theme. + </p> + + <!-- Execution--> + <h2>Execution</h2> + <p> + We will of course be evaluating the execution. How well does the game perform? How is the user experience? Is it fun? Is it easy to play? Does it look good, sound good, and feel good? The performance and interaction are probably the most important factors, but polish is nice, too! + </p> + <p> + We're going to try to do this in an objective way, but stuff like fun is always going to be a somewhat subjective thing to evaluate, and for that reason, this is not the single most critical criteria in the judging process, like it might have been in other game jams. To be more precise - A really fun and novel idea that ticks all the other boxes but has somewhat mediocre execution will still have a very good chance of doing well in this event. + </p> + + <!-- Adherence--> + <h2>Theme Adherence</h2> + <p>Your submission must adhere to the theme we will present on the day the jam starts. There are different degrees of adherence here, and quite a lot of room to be creative, but a deeply thematic submission will be scored higher than a barely thematic submission, and a submission that does not adhere to the theme at all <strong>may be disqualified</strong>. + </p> + <p> + We love seeing multiple <em>layers</em> of thematic adherence - For example, your theme could play a part in your team name, your art style, your story, your sound effects, and of course, in the gameplay. You might even try to inject your theme into your documentation! + </p> + + <!-- Documentation via README.md--> + <h2>Documentation</h2> + <p>We require that you make the project easy to comprehend, easy to install, and easy to run. To ensure this, your submission must contain a <code>README.md</code> in your team folder which clearly documents how to interact with it. + </p> + <p> + First of all, you need to include instructions on exactly how to get your game running. We require that you use a <strong>dependency manager</strong> and encourage you to make a <strong>click-and-play option</strong>, and these should be documented in this section. Please see <a href="/events/game-jam-2020/technical-requirements/">our technical requirements page</a> for more information on this. Remember, we have to judge dozens of submissions, so if every submission can be set up and run by just doing <code>pipenv install</code> and then <code>pipenv run start</code>, it will make our job significantly easier. + </p> + <p> + The readme should also contain information about the game, screenshots, a logo if you got it, your team name, instructions on how to play and anything else that helps provide a high-level overview over the game. This is also extremely helpful when we are judging so many projects, so that we can easily see which is which by looking through readmes. For an example of an excellent readme, check out <a href="https://github.com/python-discord/code-jam-6/blob/master/amphibian-alchemists/README.md">this readme created by the Amphibian Alchemists team during Code Jam 6</a>. + </p> + + <!-- Team size--> + <h2>Team size</h2> + <p> + For this game jam, we are allowing you to sign up either by yourself, or with one or two friends. But, of course, it wouldn't be fair if we judged all entries the same regardless of team size - so we will be expecting slightly more from a team of 3 than from a solo team. To be more precise, we will not be expecting <em>three times as much</em> - working in a team has its own set of unique setbacks as well as advantages, and two developers does not equal 200% the output of one - but we will be expecting a full team to be able to deliver more content in ten days than a single person can. + </p> +{% endblock %} + +{% block sidebar %} + {% include "events/sidebar/game-jams/2020.html" %} +{% endblock %} diff --git a/pydis_site/templates/events/pages/game-jams/2020/project-setup.html b/pydis_site/templates/events/pages/game-jams/2020/project-setup.html new file mode 100644 index 00000000..962cd556 --- /dev/null +++ b/pydis_site/templates/events/pages/game-jams/2020/project-setup.html @@ -0,0 +1,57 @@ +{% extends "events/base_sidebar.html" %} + +{% block title %}Project Setup{% endblock %} + +{% block breadcrumb %} + <li><a href="{% url "events:index" %}">Events</a></li> + <li><a href="{% url "events:page" path="game-jams" %}">Game Jams</a></li> + <li><a href="{% url "events:page" path="game-jams/2020" %}">Game Jam 2020: Three of a Kind</a></li> + <li class="is-active"><a href="#">Project Setup</a></li> +{% endblock %} + +{% block event_content %} + <img src="https://user-images.githubusercontent.com/33516116/77762078-e02ce080-7030-11ea-947a-9c6733d4f33d.png"> + <br></br> + <p> + The first step is to fork our repository: <a href="https://github.com/python-discord/game-jam-2020/">python-discord/game-jam-2020</a>. You can learn how to do this in our + <a href="https://pythondiscord.com/pages/guides/pydis-guides/contributing/forking-repository/">contributing guidelines</a>. + </p> + + <p> + Alternatively, GitHub has a <a href="https://help.github.com/en/github/getting-started-with-github/fork-a-repo">detailed suite of tutorials explaining forking</a> as well as other technical terms that you may come across. If you get + stuck at any point, you are always welcome to ask for help at Python Discord. + </p> + + <p>Once the fork is created, each team will make a directory for their project. The directory should be named after the team. For example, team <strong>Precise Rabbits</strong> will set up a directory as follows:</p> + + <pre><code>game-jam-2020/ + └── precise-rabbits/ + └── game/ + ├── __init__.py + ├── __main__.py + └── rabbits.py + ├── config.json + ├── Pipfile + ├── Pipfile.lock + └── README.md</code></pre> + + <p><strong>Do not make any changes to other teams' project directories.</strong></p> + + <p> + Each team will then develop their game within their fork. You are encouraged to use git to its full potential - feature branches will help you keep your commit history clean, and prevent annoying conflicts. Feel free to refer to + <a href="https://pythondiscord.com/pages/guides/pydis-guides/contributing/working-with-git/">our guidelines on the topic</a>, or any other resources that you may find useful. Version control is an important aspect of software development, and code jams are + a great opportunity to improve skills in the area. + </p> + + <p> + Once the project is finished, a pull request will be opened against the upstream repository. All of your projects will be merged to the upstream repository, which means that you will be credited as a contributor to an open source + project. The final version <strong>must be committed by the jam's deadline</strong>. Any changes beyond this point will not be considered in the judging process. + </p> + + <p>Please ensure that your final version is well tested, and satisfies our <a href="https://pythondiscord.com/events/game-jams/2020/technical-requirements/">technical requirements</a>.</p> + +{% endblock %} + +{% block sidebar %} + {% include "events/sidebar/game-jams/2020.html" %} +{% endblock %} diff --git a/pydis_site/templates/events/pages/game-jams/2020/rules.html b/pydis_site/templates/events/pages/game-jams/2020/rules.html new file mode 100644 index 00000000..33eccf63 --- /dev/null +++ b/pydis_site/templates/events/pages/game-jams/2020/rules.html @@ -0,0 +1,31 @@ +{% extends "events/base_sidebar.html" %} + +{% block title %}Game Jam Rules{% endblock %} + +{% block breadcrumb %} + <li><a href="{% url "events:index" %}">Events</a></li> + <li><a href="{% url "events:page" path="game-jams" %}">Game Jams</a></li> + <li><a href="{% url "events:page" path="game-jams/2020" %}">Game Jam 2020: Three of a Kind</a></li> + <li class="is-active"><a href="#">Game Jam Rules</a></li> +{% endblock %} + +{% block event_content %} + <img src="https://user-images.githubusercontent.com/33516116/77762078-e02ce080-7030-11ea-947a-9c6733d4f33d.png"> + <ol> + <li>You may enter individually or with up to two friends.</li> + <li>All members of your team must be members of our Discord community.</li> + <li>Your project must use the <a href="https://arcade.academy/">Python Arcade Library</a>. It is not permitted to work around this by, e.g., using the Python Arcade Libary as a wrapper for another framework.</li> + <li>The majority of your project must be written in Python.</li> + <li>Your project must be feasible to run and simple to set up on a <strong>desktop computer</strong>.</li> + <li>You are allowed to use existing assets, like images and sound effects, as long as the licenses of those assets permit it. Typically, this means that the assets are licensed under an OSI-approved or Creative Commons license, or is in the public domain.</li> + <li>All projects should start from scratch and all code must be written within the time constrictions of the jam.</li> + <li>You retain all copyrights to entries you submit. By submitting your entry, you grant a transferrable, irrevocable license to redistribute, copy and run your entry without modification, and to distribute screenshots and other forms of gameplay captures of the entry, provided no fee is charged.</li> + </ol> + <blockquote> + Please note that our regular <a href="/pages/rules/">community rules</a> and <a href="/pages/code-of-conduct/">code of conduct</a> also apply during the event and that we reserve the right to make changes to these rules at any time. + </blockquote> +{% endblock %} + +{% block sidebar %} + {% include "events/sidebar/game-jams/2020.html" %} +{% endblock %} diff --git a/pydis_site/templates/events/pages/game-jams/2020/technical-requirements.html b/pydis_site/templates/events/pages/game-jams/2020/technical-requirements.html new file mode 100644 index 00000000..4a44e7db --- /dev/null +++ b/pydis_site/templates/events/pages/game-jams/2020/technical-requirements.html @@ -0,0 +1,41 @@ +{% extends "events/base_sidebar.html" %} + +{% block title %}Technical Requirements{% endblock %} + +{% block breadcrumb %} + <li><a href="{% url "events:index" %}">Events</a></li> + <li><a href="{% url "events:page" path="game-jams" %}">Game Jams</a></li> + <li><a href="{% url "events:page" path="game-jams/2020" %}">Game Jam 2020: Three of a Kind</a></li> + <li class="is-active"><a href="#">Technical Requirements</a></li> +{% endblock %} + +{% block event_content %} + <img src="https://user-images.githubusercontent.com/33516116/77762078-e02ce080-7030-11ea-947a-9c6733d4f33d.png"> + + <br></br> + + <p>The technological theme of this game jam is <a href="https://arcade.academy/">Arcade</a>. As per <a href="https://pythondiscord.com/events/game-jams/2020/rules/">rule 3</a>, please ensure that you use Arcade as your project's main framework. Your project can use other dependencies, as long as they do not violate rule 3. If you're unsure about a potential dependency, consult us in the discussion channel.</p> + + <h2>Dependency management</h2> + + <p>Participating teams are asked to provide a <em>click-and-play</em> option to launch their project. There should be no complicated process to install dependencies, or otherwise prepare the environment, before the project can be started. This will allow us to spend more time evaluating the actual game. Ideally, projects will make use of <a href="https://github.com/pypa/pipenv">Pipenv</a> to both install dependencies and launch the game, but it is also acceptable to solve this with other dependency managers, or even with a <code>requirements.txt</code> file and a great readme. <strong>Ideally, it should only take a judge 2-3 commands to get your game ready to run, and these should be clearly documented in your readme.</strong></p> + + <p>Working with Pipenv is not difficult, and existing Python Discord projects can be used for reference. For example, <a href="https://github.com/python-discord/seasonalbot/">Seasonalbot's</a> <code>Pipfile</code> and <code>Pipfile.lock</code> list all necessary dependencies and provide a run script. As a result, a virtual environment with all necessary dependencies can be conveniently created with <code>pipenv install</code>, and the project can be launched with <code>pipenv run start</code>.</p> + + <p>In simple terms, emulating this workflow would be the ideal way to handle dependency management for this game jam.</p> + + <p>If you're unfamiliar with Pipenv, we recommend Corey Schafer's excellent video as a learning resource.</p> + + <iframe width="560" height="315" src="https://www.youtube.com/embed/zDYL22QNiWk" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> + + </br> + </br> + + <h2>Target platform</h2> + + <p>All submissions will be evaluated on Windows 10. This does not necessarily mean that all development must take place on Windows, but all submissions should be functional and well tested on the target platform. This is also something to keep in mind in the initial stages of development - make sure you don't accidentally build your project around a dependency that isn't available on Windows.</p> +{% endblock %} + +{% block sidebar %} + {% include "events/sidebar/game-jams/2020.html" %} +{% endblock %} diff --git a/pydis_site/templates/events/sidebar/game-jams/2020.html b/pydis_site/templates/events/sidebar/game-jams/2020.html index 549c0922..30042d2b 100644 --- a/pydis_site/templates/events/sidebar/game-jams/2020.html +++ b/pydis_site/templates/events/sidebar/game-jams/2020.html @@ -2,3 +2,13 @@ <p class="menu-label">Partners</p> <p><a href="https://arcade.academy/" target="_new"><img src="https://i.imgur.com/CtY3Siv.png" style="width: 100%;" alt=""></a></p> </div> + +<div class="box"> + <p class="menu-label">Relevant Links</p> + <ul class="menu-list"> + <li><a class="has-text-link" href="{% url "events:page" path="game-jams/2020/rules" %}">Rules</a></li> + <li><a class="has-text-link" href="{% url "events:page" path="game-jams/2020/project-setup" %}">Project Setup</a></li> + <li><a class="has-text-link" href="{% url "events:page" path="game-jams/2020/technical-requirements" %}">Technical Requirements</a></li> + <li><a class="has-text-link" href="{% url "events:page" path="game-jams/2020/judging" %}">Judging</a></li> + </ul> +</div> |