Skip to content

RLBot/scratch-blocks

 
 

Repository files navigation

RLBot Stuff

Development Environment

  1. Be on Linux (or Windows Subsystem for Linux)
  2. Make sure you have Python 2.7 installed. Use python --version to confirm.
  3. Make sure you have the latest version of nodejs and npm installed. This will get the job done: https://github.com/nodesource/distributions/blob/master/README.md#debinstall
  4. Make sure you have java installed. http://tipsonubuntu.com/2016/07/31/install-oracle-java-8-9-ubuntu-16-04-linux-mint-18/
  5. Go download the closure library: https://developers.google.com/blockly/guides/modify/web/closure
    • It tells you to put the folder next to "blockly", but just put it next to this one (scratch-blocks)
    • Be sure to rename the folder to "closure-library". The folder should contain package.json at the top level.
  6. Run npm install. This should put some files in the dist directory. Re-run every time you change something.

You'll also want to run npm run translate any time you add a string to msg/messages.js. That will automatically propagate it to several generated files.

The top level package is scratch-gui, go look at its README for a more complete description of the development cycle.

scratch-blocks

Scratch Blocks is a library for building creative computing interfaces.

Build Status Dependency Status devDependency Status

Introduction

Scratch Blocks is a fork of Google's Blockly project that provides a design specification and codebase for building creative computing interfaces. Together with the Scratch Virtual Machine (VM) this codebase allows for the rapid design and development of visual programming interfaces. Unlike Blockly, Scratch Blocks does not use code generators, but rather leverages the Scratch Virtual Machine to create highly dynamic, interactive programming environments.

This project is in active development and should be considered a "developer preview" at this time.

Two Types of Blocks

Scratch Blocks brings together two different programming "grammars" that the Scratch Team has designed and continued to refine over the past decade. The standard Scratch grammar uses blocks that snap together vertically, much like LEGO bricks. For our ScratchJr software, intended for younger children, we developed blocks that are labelled with icons rather than words, and snap together horizontally rather than vertically. We have found that the horizontal grammar is not only friendlier for beginning programmers but also better suited for devices with small screens.

Documentation

The "getting started" guide including FAQ and design documentation can be found in the wiki.

Donate

We provide Scratch free of charge, and want to keep it that way! Please consider making a donation to support our continued engineering, design, community, and resource development efforts. Donations of any size are appreciated. Thank you!

About

Scratch Blocks is a library for building creative computing interfaces.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 94.6%
  • HTML 2.8%
  • Python 2.2%
  • Other 0.4%