My Page

Nothing here except random Stuff and Test Articles

Sulfurous Test Article

Sulfurous Player logo
The Sulfurous Player is an alternative to the Flash Player which makes it possible to run Scratch programs on mobile devices, such as smartphones using Android or iOS.

The Sulfurous Player is a modification of the Phosphorus Player, and was designed to perform better and deliver more features. Some long standing bugs of the Phosphorus Player were also fixed.


The main page of the Sulfurous Player prior to loading a project.
The Sulfurous Player works just like the Phosphorus Player. The player will accept a link to a Scratch project, but it will also read a local .sb2 file if it is dragged into the page.

Under "Package" and "Embed", there are new options to specify the resolution of the project. The options include standard resolution (480x360), double resolution (960x480), and custom resolution. Especially the double resolution option can be useful for Scratch projects that are designed to use the sub pixel rendering of Scratch 2.0. Larger, custom resolutions should only be used for pen, vector, and specially designed projects. (See High resolution projects)

New Features

Resolution options

The "Package" and "Embed" areas, with the possibility to specify resolution.
"Package" and "Embed" now allow the user to specify the resolution of their project. The highest possible resolution is 16000x12000 pixels. For most devices, a resolution of 960x720 or 1920x1440 pixels should suffice.

Graphic Effects

Several Graphic Effects have been implemented. However they are quite slow because they are calculated using the CPU. In the future, it may be possible to render these effects using the GPU. The following effects are implemented:

  • Pixelate
  • Mosaic
  • Brightness
  • Transparency

Planned Features

These features are planned and will be implemented according to usefulness.

  • All Graphic Effects
  • Cloud Variables (Although interaction with the Scratch cloud variables is not possible, using cookies would be plausible.)
  • Usage of Javascript in the Scratch Project.
  • Viewing the compiled Javascript code.
  • Stamping on different layers.
  • WebGL rendering. This would increase execution and rendering speed even more.
  • Stereo audio, with L/R balance.
  • List rendering.

High resolution projects


The Sulfurous Player allows resolutions of up to 16k. Some tricks are needed to actually use the full resolution:

The Sulfurous coordinate plane always has a size of 480x360 points. This means that general positioning of sprites works exactly like in the Flash Player. Furthermore, Scratch Projects designed specifically for Phosphorus should theoretically still work in the Flash Player. If a specific resolution is to be used to its full extent, the corresponding Sprite/Costume needs to be shrunk until the size of its pixels matches that of the Sulfurous Player. Thus, a Sprite needs to be shrunk to 1/4 of its original size if it needs to be used in a 1920x1440 pixel environment (1920 / 480 = 4). The Sprite's pixels are now equivalent to the Player's pixels. The same applies for pen: A pen size of 0.25 will match the size of one pixel at this resolution. Small position changes are described using appropriate decimal numbers.

Vector images do not need to be adjusted, as they will keep their "infinite" resolution, as would be expected.

Example for a high resolution project

define render
set[xResolution v]to[1920]
go to x:(-240) y:(-180)
set size to((48000)/(xResolution))% //48000/480 = 100%
repeat ((2)*((xResolution)/(480))) //Picture fits on stage twice
repeat ((2)*((xResolution)/(480)))
change x by((256)*((480)/(xResolution)))
change y by((256)*((480)/(xResolution)))
set x to(-240)
Result of the previous code. The "Package" function was used with a resolution of 1920 pixels. The texture used has a size of 256x256 pixels. (Click on image for full resolution)

Example of a project running in Sulfurous

Click here for a packaged example project.

Vector graphics are still clipped sometimes. Although this is a recurring problem even within Scratch, this should hopefully be fixed in the future.


  • Costume changes now work correctly
  • Almost all audio files are now supported
  • Touchscreen and mouse support for hybrid devices.
  • Bitmaps and vector images are displayed at high resolutions without any loss of quality. (Of course bitmaps are still pixelated, but anti aliasing has been deactivated.)
    • This is also true for bitmaps embedded in SVGs.
  • Pen does not draw while costume is dragged.
  • Empty SVGs are no longer causing problems.