Competition Instructions

Choose a Path

The objective of the EWT Project is to simulate subatomic behavior with classical physics. At this phase of the project, it is uncertain if the existing Quantum Microscope Add-On to Blender can be modified with 100% accurate physics, or if an alternative path should be taken to build a custom simulator.  Thus, as this stage, developers have two choices:

  1. Blender Add-On: Improving and correcting the Quantum Microscope Add-On using python scripting or modifying the Blender physics engine.
  2. Custom Simulator: A custom simulation may be created in the platform of choice by a developer provided it meets all the requirements.

 

Fork the Repository

The repository is based on the path chosen from the previous step.  Both repositories are located on Github.  For those not familiar with Git or Github, a simple example is found here. The first step is to fork the repository to your own account by using the fork command on the chosen repository page at:

  • Blender Add-On: http://github.com/ewt-project/quantum-microscope
  • Custom Simulator: http://github.com/ewt-project/custom-simulator

 

Development

For either path, the requirements are organized by phase and submissions are accepted only during the timeframe for that phase. This is because each phase builds upon a previous phase, using physics that has been proven in the prior phase. The requirements are listed by phase number and its page is linked on the right side of this page, or on the main project page.

The requirements apply to both paths, however, the Blender Add-On has already completed many of the requirements and thus the pages identify changes that were made for the add-on, which may be helpful for developers designing a custom simulator (e.g. how to scale particle sizes and forces).

  • Blender Add-On: Although it is helpful to read and understand the original requirements, the Blender Add-On is marked with necessary changes in README files for each project phase (e.g. quantum-microscope/phase1/README.md).  They are also marked as TODOs in the source code.  These are the corrections and improvements identified to complete the requirements for this path.
  • Custom Simulator: A custom simulator should complete and validate as many of the requirements as possible using classical physics, documenting any requirements that are not possible.

Requirements are subject to change based on feedback during each project phase.  Requirements will be locked two weeks prior to the contest end date for each phase. Developers should check for any requirements changes before submitting their final code.

 

Completing the Executable

After completing development and testing, package the executable to be tested by the judges. Installation and runtime instructions should be added to the ReadMe file in the project root directory.

  • Blender Add-On: Zip the quantum-microscope folder and its contents as quantum-microscope.zip, which is the format for installing a Blender add-on. Leave the file in the project root directory (i.e. ewt-project/quantum-microscope/quantum-microscope.zip).
  • Custom Simulator: You may name the executable anything you want, but leave it in the project root directory (i.e. ewt-project/custom-simulator/my-simulator.exe). If it is not a downloadable executable, such as a web app, leave instructions in the ReadMe file to run it remotely.

 

Completing a Contest Entry

Complete the CONTEST.md file in the project home directory with your: 1) contact information, 2) summary of development changes and 3) a link to a video demonstrating the simulator and its changes.  The video is optional but highly recommended.

 

Submit Code

By submitting, you agree to the rules of the competition and agree that your submission will be available to others under the open source license in the repository.  To be eligible to win a prize, the submission must be posted within the timeframe for the given phase and follow these submission instructions:

  1. Push all code in your fork to your Github repository.
  2. Initiate a Git Pull request to notify the judges of your contest submission.