Moving On

DocumentInQuestion.png It has been suggested that this page's contents be merged with the page Alternatives to Scratch. You can discuss this on the page's talk page.

SandCastleIcon.png This page has links to outside of the Scratch website. Remember to stay safe when using the internet as we can't guarantee the safety of absolutely everywhere linked to.

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.

In software development there are two main fields:

  • Programming — the code for the application
  • Modeling / Art — the visual interface of an application
Warning Note: These fields are primary in most forms of software development, but not all.
Warning Note: There are various programming tools and tutorials online.


Programming is a large and diverse field with many different languages. Each language has its own syntax, or set of codes readable by the computer. Computers can only read binary code, a series of multiple "1"s and "0"s. Therefore, languages are translated into "computer code", or readable format, by a process called compiling.

There are two main types of programming languages: text-based and object-oriented. Scratch is an object-oriented language, meaning visual objects are used with a user-friendly interface for the ease of programming without memorizing syntax. These visual objects, in the case of Scratch, are blocks. A text-based language, such as Flash, requires text codes from a syntax to be typed into a code or text editor.

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.

Game Engines

A Game Engine is some code that handles all the objects and actions in a game. They come in many forms, from IDEs (integrated development environment — like Scratch) to code based ones (like Irrlicht). Companies will often keep the same game engine with slight modifications and adjustments when releasing another version of a game. This saves the time of creating an entirely new game engine.

One game engine to start with is Unity3d, which has a free version for a half a gigabyte download.

Modeling / Artist

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.

See Also

  • This page was last modified on 3 September 2014, at 15:39.