|This article has links to websites or programs not trusted by Scratch or hosted by Wikipedia. Remember to stay safe while using the internet, as we cannot guarantee the safety of other websites.|
Alternatives to Scratch are other programming languages used for similar purposes. Although Scratch can be an amazing resource for learning to code and expressing one's talents, if one is more advanced at coding and requires a more advanced program, they may need to advance to other languages. Most of these alternatives are free like Scratch, but some of them are at a cost to use.
|Note:||Engines and programming may be hard to master, so it is most likely best to stay dedicated to a single engine/programming language you are trying to learn if you want to master it.|
In software development, there are two main categories:
- Programming — the code for the application
- Modelling / Art — the visual interface of an application
Just as Scratch can be used to make games, animations and more, there are also other programming languages that can be used to create them.
Drag and Drop Programming
|Program||Description||Code On||Code For|
|Android App Inventor||The Android App Inventor by Google allows Android apps to be created with a simple, Scratch-like interface. In fact, it was based on Scratch and coded by a team at MIT.||Desktop||Android|
|Stencyl||Stencyl has an interface similar to Scratch, but it has slightly more advanced editing features.||Desktop, Mobile||Desktop, Mobile|
|Gamefroot||An online game creation software for creating side-scrolling games. It has a drag and drop block editor for advanced scripting.||Desktop, Mobile||Desktop, Mobile|
|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.||Android||Android|
|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. Hopscotch is primarily for iPad, with the player being the only thing accessible on other devices.||iOS||iOS, Desktop|
|GameSalad||A drag-and-drop programming software, aimed at inexperienced coders, which allows anyone to create games easily.||Desktop||Desktop, Mobile|
|GameMaker Studio||A drag-and-drop game-making software that can be used by inexperienced coders to create video games of many genres. It also uses "Game Maker Language", a GUI programming language used to add more advanced features to a game. Several successful games, such as Undertale, have been created with this software. This software is not free, but a trial is available.||Microsoft Windows||Desktop, mobile, Xbox One, PlayStation 4, Nintendo Switch|
|Tynker||A drag-and-drop programming software, aimed at kids, which allows anyone to create games easily. It has programming challenges, and functionality to program external devices as well as mod Minecraft. The service also teaches Python and HTML5, however the service is not free fully.||Desktop, Mobile||Desktop, Mobile|
|CODE.GAME||An educational visual drag-and-drop programming software, originally known as Codemao in China. The Kitten Editor is similar to Scratch, albeit with support for physics, AI, video, augmented reality video sensing. The Turtle Editor allows visual drop-and-drop programming in Python.||Desktop, Mobile||Desktop, Mobile|
- BeetleBlocks: A GUI-based programming language, based off Scratch, which can be used for 3D modelling, unlike Alice.
- Alice: Features 3D projects. Created by Carnegie Mellon.
- Starlogo-TNG: Supports 3D models and terrain. Block-based, and meant for simulations and education purposes. Created by the MIT STEP group.
- Starlogo Nova: The newer, online version of Starlogo-TNG.
- CODE.GAME's Box: Allows creation and manipulation of pixelated Minecraft-like worlds and characters.
Text-based programming is done through a programming language. Here are several:
|Java||Java was originally created and popularized as a platform-independent programming language. Today, Java is a general purpose language.||
|Python||Python is a general-purpose coding language with emphasis on readability. There are also libraries available for communicating with Scratch and reading/writing Scratch files.||
C is a language originally praised for its portability. It was created by Dennis Ritchie and used to program Unix, and it is used in Linux as well. C# and C++ are based on C. Nowadays, they are often used in operating systems and embedded systems. They are also commonly taught languages.
C++ is a programming language based on C that features object-oriented programming. It was invented by Bjarne Stroustrup.
C# is a programming language by Microsoft that is based on C.
Visual Studio has a C# compiler.
|ActionScript||ActionScript is a general purpose programming language for Adobe Flash. Flash provides powerful libraries for graphics and animations. It is, however, not free, and has been discontinued since January 15th, 2021.||
|Lua||Lua is a lightweight programming language which uses multiple paradigms. Lua is a popular language in programming video games and is used as the main programming language for ROBLOX.||
|Logo||Logo is the predecessor to Scratch, created by MIT. It is text-based, with commands closely resembling those of Scratch. It provides a single sprite, a turtle, which is used to draw via a set of Pen instructions. It has procedures (which may output values), recursion and first-class lists.||N/A||
|QB64||QB64 has a large variety of applications and can be easily be picked up by beginners to text based programming. It is very similar to Python and is a offshoot of BASIC.||
|Haskell||Haskell is an ML-style functional programming language often used in academia. It features pattern matching, lazy evaluation, closures and partial application, and an expressive type system.||
||List of IDEs and text editors|
|Rust||Rust is a systems programming language that ensures memory safety via compile-time tracing of object lifetimes.||N/A|
|Ruby||Ruby is an Object Oriented programming language, also used in the application Ruby on Rails, which is used to make websites. Ruby's website can be found here.||Instructions on how to download Ruby can be found here, and some Mac computers may already have Ruby installed. After Ruby is ready on one's computer, programs can be run through the console.||
To learn how to code in text-based programming languages, try:
- 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 fewer features.
- Godot: Godot is an open-source game engine. Godot uses its own programming language, GDScript. It also supports C#.
- The Source Engine is a game engine in which the MP version is free, it includes things like faceposing, volumetric lighting, an I/O system, and more things that can be used to create a mod/game. It does things like Fresnel water effects and dynamic rendering for the user.
- Roblox is a massively multiplayer online game creation platform that hosts online multiplayer 3D games created with its engine, Roblox Studio. Roblox Studio allows manipulating the environment real-time and uses Lua as its programming language. With its heavy encouragement of game development, its features involving advertising and selling premium items, and the ability to make real money off games, Roblox is good for those in any level of professional game development and marketing.
- See also: Three-Dimensional Projects
|Note:||3D animation software can be rigged to make 2D animations.|
- See also: Two Dimensional Objects
- Adobe Animate
- Flipnote Studio 3D[dead link] (only compatible with Nintendo 3DS, availability can be varied, can be also used for 3D animation)
- Toon Boom Harmony