RubySketch – Fun w/ Processing

Enjoy making graphics & games

Free · In‑App Purchases · Designed for iPad

RubySketch, which received an Outstanding Performance Award at the Fukuoka Ruby Awards 2022, lets you enjoy the joy of creating through graphics programming. RubySketch is a mobile-friendly environment for graphics programming, equipped with a full scripting-language Ruby interpreter and a built-in text editor that lets you write and run Ruby scripts on the spot. With a graphics API highly compatible with Processing, you can write code as if sketching ideas, and enjoy creating animations, visual expressions, interactive works, or even games—right on your iPhone or iPad. One of its biggest strengths is how easily you can dive in and start building the moment inspiration strikes. Key features: - Embedded Ruby interpreter (CRuby / official MRI implementation) - Processing-compatible graphics API with shader support - Lightweight, easy-to-use text editor - Sprite system with physics support (collision, gravity) - Camera input for image processing - Sound playback support (great for games and effects) - A large set of sample scripts included for immediate use - Comes with a full-featured Klondike Solitaire game! RubySketch also supports a wide range of Processing-compatible functions, making it a versatile tool for learning, creative coding, and playful experimentation: --- abs, acos, alpha, angleMode, applyMatrix, arc, asin, atan, atan2, background, beginContour, beginShape, bezier, bezierDetail, bezierPoint, bezierTangent, bezierVertex, blend, blendMode, blue, brightness, ceil, circle, clear, clip, color, colorMode, constrain, copy, cos, createCanvas, createCapture, createFont, createGraphics, createImage, createShader, createShape, createVector, curve, curveDetail, curvePoint, curveTangent, curveTightness, curveVertex, degrees, deltaTime, displayDensity, displayHeight, displayWidth, dist, doubleClicked, draw, ellipse, ellipseMode, endContour, endShape, exp, fill, filter, floor, focused, frameCount, frameRate, fullScreen, fullscreen, green, height, hue, image, imageMode, key, keyCode, keyIsDown, keyIsPressed, keyPressed, keyReleased, keyTyped, lerp, lerpColor, line, loadFont, loadImage, loadPixels, loadShader, log, loop, mag, map, max, min, motion, motionGravity, mouseButton, mouseClicked, mouseDragged, mouseMoved, mousePressed, mouseReleased, mouseWheel, mouseX, mouseY, noClip, noFill, noLoop, noSmooth, noStroke, noTint, noise, noiseDetail, noiseSeed, norm, pixelDensity, pixelHeight, pixelWidth, pixels, pmouseX, pmouseY, point, pop, popMatrix, popStyle, pow, printMatrix, push, pushMatrix, pushStyle, quad, quadraticVertex, radians, random, randomGaussian, randomSeed, rect, rectMode, red, redraw, renderMode, requestImage, resetMatrix, resetShader, rotate, rotateX, rotateY, rotateZ, round, saturation, save, scale, setTitle, setup, shader, shape, shapeMode, shearX, shearY, sin, size, smooth, sq, sqrt, square, stroke, strokeCap, strokeJoin, strokeWeight, tan, text, textAlign, textAscent, textDescent, textFont, textLeading, textSize, textWidth, texture, textureMode, textureWrap, tint, touchEnded, touchMoved, touchStarted, touches, translate, triangle, updatePixels, vertex, width, windowHeight, windowMove, windowMoved, windowOrientation, windowResizable, windowResize, windowResized, windowWidth, windowX, windowY

  • 4.7
    out of 5
    20 Ratings

- Added "Font Size" menu - Added "Line Numbers" menu - Added SpriteWorld class - Added Vector#-@ - Added functions - keyIsRepeat - loadShape() - Added methods to Shape class - stroke - setStroke - setStrokeWeight - setStrokeCap - setStrokeJoin - Added methods to Sprite class - keyPressed - keyReleased - keyTyped - key - keyCode - keyIsPressed - keyIsDown - keyIsRepeated - capture= - capturing? - sensor= - sensor? - gravity_scale - Updated Ruby version from 3.2.2 to 3.3.8 - ellipse() can take 3 parameters - Rename the join type 'SQUARE' to 'BEVEL' - createSprite can take 'klass' parameter - Sprite#hide returns self - Fixed the issue where Sprite#contactEnd is not working - Fixed a bug in which the display magnification was fixed at 1x when the size specified by size() was different from the window size and the aspect ratio of both windows was the same - Fixed that circle() and ellipse() had half diameters

The developer, Noritaka Suzuki, indicated that the app’s privacy practices may include handling of data as described below. For more information, see the developer’s privacy policy .

  • Data Used to Track You

    The following data may be used to track you across apps and websites owned by other companies:

    • Location
    • Identifiers
    • Usage Data
    • Diagnostics
  • Data Linked to You

    The following data may be collected and linked to your identity:

    • Location
    • Identifiers
    • Usage Data
    • Diagnostics
  • Data Not Linked to You

    The following data may be collected but it is not linked to your identity:

    • Diagnostics

Privacy practices may vary, for example, based on the features you use or your age. Learn More

The developer has not yet indicated which accessibility features this app supports. Learn More

  • Seller
    • Noritaka Suzuki
  • Size
    • 82.8 MB
  • Category
    • Developer Tools
  • Compatibility
    Requires iOS 14.0 or later.
    • iPhone
      Requires iOS 14.0 or later.
    • iPad
      Requires iPadOS 14.0 or later.
    • iPod touch
      Requires iOS 14.0 or later.
    • Mac
      Requires macOS 11.0 or later and a Mac with Apple M1 chip or later.
    • Apple Vision
      Requires visionOS 1.0 or later.
  • Languages
    • English and Japanese
  • Age Rating
    4+
  • In-App Purchases
    Yes
  • Copyright
    • © 2025 xord.org