Introduction YouTube video is now available! Open source tools and code to teach 5th – 12th graders Python Programming within a Minecraft environment. Most people are familiar with Minecraft (Minecraft is developed by Mojang and not related to this project nor do they endorse this project). For this project, we are using a “World of Blocks” environment created in the Python programming language that will allow children to explore simulations in order to conduct their own scientific experiments within the world of code.
Kids can change gravity, learn how to build structures programmatically, and even launch a rocket. The Air Force Research Laboratory (AFRL) Sensors Directorate located in Dayton, Ohio created this project to inspire kids of all ages to learn to program, and, at the same time get an idea of what it is like to be a Scientist or Engineer for the United States Air Force.
To get started download the latest release zip file and unzip, then open the file "index.html" file in your browser.
A YouTube video has been created to show students how to install Python and SensorCraft then run the examples. The video is for Windows but the process for macOS and Linux is similar. SensorCraft supports both Python 2.7 and Python 3.x, make sure you install a version of Enthought Canopy that supports Python 2.7 or Python 3.x.
To help you get started creating your own Sensor Craft experience, we've created a series of tutorials to walk you through each step. Each tutorial will take approximately 15 - 20 minutes to complete and will help you understand the Python programming language. To get started read the guide. The SensorCraft code is available in the latest release zip file download, unzip, then examine the code directory.
YouTube videos were created to walk a student through the first few chapters:
- Introduction YouTube video
- Flat World
- Building Automatically Part 1
- Building Automatically Part 2
- Building Automatically Part 3
- 3D Coordinate System
v2.1 Thanks to student Alex Ronnebaum for the excellent videos
v1.7.1 Changed gravity and jump height back to default
v1.7 Crushed bugs and added a new chapter on creating the NMUSAF
v1.6 Much improved install and run directions
The latest version will always be on the github project site.
Python is an open source programming language and it's logo is meant to be used on Python derived products see https://www.python.org/community/logos/
We believe this product conforms to the Python Software Foundation's policy.
Mojang the creators of Minecraft are liberal with their IP: https://account.mojang.com/documents/brand_guidelines
We believe this product conforms to Mojang's guidelines.
The documentation is created with restructured text which is Python's default for documentation it creates html pages.
References to Sphinx documentation: https://pythonhosted.org/an_example_pypi_project/sphinx.html
Assume the version we are going to release is 1.5 and will reside in ~/temp/SensorCraftV1.5. The makefile within the project will build the html files with this command:
cd /Volumes/SecureCode/SensorCraft/guide make clean && make html mkdir ~/temp/SensorCraftV1.5 cd _build/html cp -av * ~/temp/SensorCraftV1.5 cp ~/temp/SensorCraftV1.5/index.html ~/temp/SensorCraftV1.5/START_HERE.html cd ../../.. cp -av code ~/temp/SensorCraftV1.5/ cd ~/temp zip -r SensorCraftV1.5.zip SensorCraftV1.5 cd /Volumes/SecureCode/SensorCraft
Makes changes to the README.rst to reflect a new release, then perform the following commands:
git commit -a git tag -a v1.5 -m "version 1.5 - Directory consolidation" git push git push --tags
Update the tag in stable on readthedocs.org.
pyglet for OpenGL support and sphinx to build the documentation
GitHub has a RESTFul API so use the CURL commands:
curl -i https://api.github.com/repos/rovitotv/SensorCraft/releases &> ~/temp/GHSensorCraftRelease.txt cat ~/temp/GHSensorCraftRelease.txt | grep 'download_count'
First, rename the "code" directory to "sensorcraft" to specify the name of the package. Move the images directory into the directory that is now named "sensorcraft." Then, rename the "guide" directory to "docs" to let the package know that it contains the documentation.
Create a new file in your user's home directory using terminal with the following commands:
cd /Users/(your_username) mkfile -n 1024 .pypirc
In that file, type the following and then save it:
[distutils] index-servers = pypi [pypi] username=your_username password=your_password
Go into terminal and enter the following to install twine which will be used to upload the package to PyPi:
pip install twine
Finally, create and upload the package to PyPi with these final commands while in the directory containing the package directory:
python setup.py sdist twine upload dist/PACKAGENAME-VERSION.tar.gz
References for creating a PyPi package: https://tom-christie.github.io/articles/pypi/ https://packaging.python.org/tutorials/distributing-packages/
- Add instructions about IDLE...need something about how to goto a line, how about IDLE = IDLE3 in some cases
- Test on Windows
- A note about running idle from the code directory so you can open files easier
- In chapter 12 part 3 the feet on the mob are not moving, need to fix that
- Move to AFRL-RY GitHub group
- Post sensorcraft.org web site
- Get read the docs working with the AFRL-RY GitHub group
- Post a note on the old SensorCraft github site that we have moved
- Remove the pickle files since we are no longer using pickle