Alternatives to Scratch

SandCastleIcon.png This page has links to outside of the Scratch website or Wikipedia. Remember to stay safe when using the internet as we can't guarantee the safety of other sites.

Document stub.png This article or section may not have content matching Scratch Wiki editing standards. Please improve it according to Scratch Wiki:Guidelines.
Reason: This just seems to be a random collection of languages that people might use. There's not really any unifying theme or anything about their relation to Scratch, especially in the text-based language section.

Alternatives to Scratch may be wanted if one gets bored with Scratch, or wants a more challenging programming tool. Though Scratch can be an amazing resource for learning to code and expressing one's talents, if one is very serious, he or she may need to advance to alternative, other languages. Most of these alternatives are free like Scratch, but some of them cost money to use.

In software development there are two main fields:

  • Programming — the code for the application
  • Modeling / Art — the visual interface of an application

Just as Scratch can be used to make games, animations and more, there are also many other good programs that can be used to create them.

Programming Alternatives

Learning the basic syntax teaches the basics of coding in a fun and interactive way. It has interactive helping guides and even its own code compilers. It teaches several languages, one of which is JavaScript, which is often used in many game engines and webpages and is quite similar in to C++.

The Joy of Code tutorials teach basic Java syntax with video tutorials. The program used is Greenfoot, a Java-based game creator.

GUI (Drag and drop editing)

  • BYOB/Snap!: Snap! is an advanced Scratch Modification with lambdas, first class data, procedures, recursion, and many other features. Version 4.0 was renamed Snap! and was rewritten in JavaScript, and is thus no longer considered a Scratch modification.
  • Stencyl: Stencyl has an interface similar to Scratch's, but it has slightly more advanced editing features.
The logo of Alice.
  • Alice: Alice features 3D projects. This is much harder than 2D Scratch programming because you learn about 3D programming: occlusion, vectors, etc. are important topics.
  • Android App Inventor: The Android App Inventor by Google allows Android app creating with a simple, Scratch-like interface. In fact, it was based on Scratch and coded by a team at MIT.
  • Starlogo-TNG: Supports 3D models and terrain. Block-based, and meant for simulations and education purposes. Created by the MIT STEP group.
  • Etoys
  • Gamefroot: An online game creation software for creating side-scrolling games. It has a drag and drop block editor for advanced scripting.
  • DesignBlocks: Online, based on Scratch, TurtleArt and Processing. Developed by the Lifelong Kindergarten group at the MIT Media Lab.
  • Pocket Code: A visual programming language and app for Android, iOS, and Windows Phone smartphones, tablets, and HTML5 enabled mobile browsers. It is inspired by Scratch and developed by the Catrobat team as free open source software.
  • Hopscotch: An iOS-based application which is similar to Scratch but is simpler and easier to use. It's somewhat based in the middle of Scratch and ScratchJr.
  • Blockly: A drag and drop language made by Google. It is used on many websites.

CUI (text-based editing)

  • Microsoft Visual Studio 2013 (also known as Visual Basic): An advanced, professional program created by Microsoft designed for creating C#, C++, F#, and more code. Though it is mostly text-based, it has a graphical interface that helps with the placement of objects and automatically adds some typically inconvenient-to-write code.
The logo of Greenfoot
  • Pascal: Pascal is a powerful and fairly advanced programming language with beautiful syntax.
  • Greenfoot: Greenfoot is a simple Java development environment with extensive documentation. It is focused on graphics and interactivity. Is is perfect for beginners to Java.
  • Just BASIC/BASIC: BASIC is an old language used to teach programming. It has simplistic graphics, focusing on vector graphics rather than sprites.
  • JavaScript: JavaScript is the standard language for interactivity in web applications. JavaScript features many new programming concepts such as functions, recursion, lambdas, object-oriented programming, atomicity, and browser-compatibility. Using the HTML5 Canvas API, it is easy to make graphics similar to those in Scratch, with sprites and vector graphics.
  • Processing: Processing is a Java-based language which originated at MIT, like Scratch. It is designed to be very visual and usable by both non-programmers and beginning programmers.
  • Logo: Logo was the predecessor to Scratch, created by MIT. It was text-based, however, the commands closely resembled those of Scratch. It provided a single sprite, a turtle, which was used to draw via a set of Pen instructions. It had procedures and recursion.
  • GameMaker: GameMaker is quite similar to Scratch, except it also allows the option of typing commands and features commands geared more towards making games, whereas Scratch is more open. It is a good introduction to text-based programming and debugging. It is not free, but a free version is available with less features.
  • Python: Python is easy to pick up and run, and does not need any installations on OS X or Linux. It has many libraries for various purposes like network connections, etc. There are also libraries available for communicating with Scratch and reading/writing Scratch files.
  • ActionScript/Adobe Flash: A commonplace language used everywhere from browsers to games. Flash is easy to use to create games and visualizations, and provides powerful libraries for graphics and animations. It is, however, not free.
  • FlashDevelop: FlashDevelop is a free, open source Flash IDE. It is more complicated than Adobe's IDE, however.
  • Unity3d: Unity3d is a free, though expandable, program that is used for the making of 3D games. One can create create code in it through three languages, which are Javascript, C#, and Boo. It may also be confusing to a beginner due to all the new features in comparison to Scratch, but after some time, this should wear away.
  • Microsoft Small Basic: Microsoft Small Basic is a simplified version of Microsoft Visual Basic and also created by Microsoft.
  • Lua: Lua is a lightweight programming language which uses multiple paradigms. Lua is used in many games such as ROBLOX.

Other lists

Animation/Art Alternatives

3D Modeling (Entity)

See also: Three Dimensional Projects

An entity is a 3D model.

Here is a tutorial that explains the key concepts of 3D modeling.

2D Modeling (Sprites/Billboards)

See also: Two Dimensional Objects
A tree made out of a sprite

Animation Frames are like Costumes.

Sprites are used for anything in the world, but generally you do not use them for text like in Scratch; labels are built into most modern 2D game engines.

Sprites are also used in 3D games to make effects like explosions, grass and sometimes even trees.

Three-Dimensional Coordinate Plane

3D space in Mathematics

In mathematics, 3D is set about three different coordinates: X,Y, and Z, with X being horizontal, Y being depth, and Z being vertical. However, sometimes in programming 3D design, the axis are flipped, with X remaining horizontal, but Y being vertical and Z being depth.

This is because the renderer, DirectX, uses the screen as a starting point. Because X,Y is already width/height of the screen, it makes forwards/backwards Z.

Other Alternatives

See Also

  • This page was last modified on 26 January 2016, at 04:16.