{"id":865,"date":"2026-02-12T17:16:30","date_gmt":"2026-02-12T09:16:30","guid":{"rendered":"https:\/\/edu.circuspi.com\/?p=865"},"modified":"2026-03-11T14:57:18","modified_gmt":"2026-03-11T06:57:18","slug":"4-how-to-create-game-sprites-concepts-and-methods","status":"publish","type":"post","link":"https:\/\/edu.circuspi.com\/index.php\/gamebit-en\/4-how-to-create-game-sprites-concepts-and-methods\/","title":{"rendered":"4. How to Create Game Sprites: Concepts and Methods"},"content":{"rendered":"\n<p>Sprites are a crucial concept in <a href=\"https:\/\/arcade.makecode.com\/beta?hw=n3\">MakeCode Arcade<\/a>. In a game screen, any object that moves, can be touched, or changes appearance is considered a Sprite. For example, in the famous game <strong>&#8220;Super Mario&#8221;<\/strong>, Mario himself, the Goombas \ud83c\udf44, Piranha Plants, Coins \ud83e\ude99, and Lava \ud83d\udd25 are all Sprites.<\/p>\n\n\n\n<p>In MakeCode Arcade, we can configure Sprites ourselves\u2014designing their appearance, planning their movement paths, or determining if they can be controlled by player buttons. Using <strong>&#8220;Space Destroyer&#8221;<\/strong> as an example again: the &#8220;Fighter Jet \ud83d\ude80&#8221; we pilot, the &#8220;Laser Beams \u26a1&#8221; we fire, and the &#8220;Meteors \ud83e\udea8&#8221; that damage us are all Sprites that we can design.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1630\" height=\"1234\" src=\"https:\/\/edu.circuspi.com\/wp-content\/uploads\/2023\/09\/04-01.png\" alt=\"\" class=\"wp-image-304\"\/><\/figure>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">4.1 Methods for Creating Sprites<\/h2>\n\n\n\n<p>Open the URL\uff1a<a href=\"https:\/\/arcade.makecode.com\/beta?hw=n3\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/arcade.makecode.com\/beta?hw=n3<\/a><\/p>\n\n\n\n<p>Start a New Project and name it whatever you like.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1917\" height=\"910\" src=\"https:\/\/edu.circuspi.com\/wp-content\/uploads\/2026\/02\/\u82f104-1_01.png\" alt=\"\" class=\"wp-image-1089\"\/><\/figure>\n\n\n\n<p>Once everything is ready, let&#8217;s create our first Sprite. Please click on <strong>&#8220;Sprites&#8221;<\/strong> in the <strong>Block Toolbox<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1919\" height=\"918\" src=\"https:\/\/edu.circuspi.com\/wp-content\/uploads\/2026\/02\/\u82f104-1_02.png\" alt=\"\" class=\"wp-image-1090\"\/><\/figure>\n\n\n\n<p>Drag the block <strong>&#8220;set [mySprite] to sprite [ ] of kind (Player)&#8221;<\/strong> into the <strong>&#8220;on start&#8221;<\/strong> block in the Workspace. This block helps us create a Sprite and store it in a container named a <strong>&#8220;Variable&#8221;<\/strong>. We will explain the concept of <strong>variables<\/strong> in later articles; for now, let&#8217;s focus on creating Sprites.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"626\" height=\"279\" src=\"https:\/\/edu.circuspi.com\/wp-content\/uploads\/2026\/02\/\u82f104-1_03.png\" alt=\"\" class=\"wp-image-1091\"\/><\/figure>\n\n\n\n<p>Click on the <strong>grey square pattern<\/strong> within the block. This will pop up the Image Editor window, allowing us to draw our Sprite. The interface is like standard drawing software: drawing tools and a color palette are on the left, while the canvas is on the right. The canvas displays a pixel grid to help us position and draw accurately.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1554\" height=\"747\" src=\"https:\/\/edu.circuspi.com\/wp-content\/uploads\/2026\/02\/\u82f104-1_04.jpg\" alt=\"\" class=\"wp-image-1543\"\/><\/figure>\n\n\n\n<p>The details of the drawing tools are shown below. Although the functions are simple, they are more than enough to create a 2D pixel game.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1140\" height=\"679\" src=\"https:\/\/edu.circuspi.com\/wp-content\/uploads\/2026\/02\/\u82f104-1_05.png\" alt=\"\" class=\"wp-image-1094\"\/><\/figure>\n\n\n\n<p>Let&#8217;s start with the <strong>&#8220;Pencil Tool&#8221;<\/strong>. Try selecting the <strong>&#8220;Pencil Size&#8221;<\/strong> and test out the three different sizes by clicking the <strong>left mouse button<\/strong> on the canvas. You will see that the pencil sizes occupy &#8220;1 x 1,&#8221; &#8220;3 x 3,&#8221; and &#8220;5 x 5&#8221; areas on the canvas respectively.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1107\" height=\"701\" src=\"https:\/\/edu.circuspi.com\/wp-content\/uploads\/2023\/09\/04-1_06.png\" alt=\"\" class=\"wp-image-310\"\/><\/figure>\n\n\n\n<p>Note: The smallest &#8220;1 x 1&#8221; size covers a single unit on the checkerboard background (the white\/grey grid). It doesn&#8217;t mean it covers just one grey block or one white block; it represents one pixel.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1190\" height=\"657\" src=\"https:\/\/edu.circuspi.com\/wp-content\/uploads\/2026\/02\/\u82f104-1_07.png\" alt=\"\" class=\"wp-image-1095\"\/><\/figure>\n\n\n\n<p>New lines will overwrite old ones. If you want to color a large area, you can use the &#8220;Fill Tool.&#8221; A special case is the <strong>&#8220;Circle Tool&#8221;<\/strong>: due to pixel limitations, it cannot draw perfect circles. Small circles might even look indistinguishable from squares.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1190\" height=\"602\" src=\"https:\/\/edu.circuspi.com\/wp-content\/uploads\/2026\/02\/\u82f104-1_08.png\" alt=\"\" class=\"wp-image-1096\"\/><\/figure>\n\n\n\n<p>As the saying goes, <strong>&#8220;With a pen and colors, creativity is limitless. \ud83c\udfa8&#8221;<\/strong> Now, let&#8217;s use our skills and creativity to draw our own Sprite.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1190\" height=\"664\" src=\"https:\/\/edu.circuspi.com\/wp-content\/uploads\/2026\/02\/\u82f104-1_09.png\" alt=\"\" class=\"wp-image-1097\"\/><\/figure>\n\n\n\n<p>If you find the canvas too small, you can change the size in the bottom left corner\u2014don&#8217;t let the canvas limit your creativity.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1190\" height=\"717\" src=\"https:\/\/edu.circuspi.com\/wp-content\/uploads\/2026\/02\/\u82f104-1_10.png\" alt=\"\" class=\"wp-image-1098\"\/><\/figure>\n\n\n\n<p>During the drawing process, you can use the <strong>&#8220;Line Tool&#8221;<\/strong> and <strong>&#8220;Fill Tool&#8221;<\/strong>, or you can simply draw pixel by pixel. Once finished, click the <strong>&#8220;Done&#8221;<\/strong> button in the bottom right corner, and you will see your Sprite \ud83e\udd96 appear on the <strong>Game Simulator<\/strong> screen.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1190\" height=\"452\" src=\"https:\/\/edu.circuspi.com\/wp-content\/uploads\/2026\/02\/\u82f104-1_11.jpg\" alt=\"\" class=\"wp-image-1545\"\/><\/figure>\n\n\n\n<p>If you find drawing too troublesome, there is a ready-made library available. Please click on <strong>&#8220;Gallery&#8221;<\/strong> at the top of the editor.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1190\" height=\"582\" src=\"https:\/\/edu.circuspi.com\/wp-content\/uploads\/2026\/02\/\u82f104-1_12.png\" alt=\"\" class=\"wp-image-1101\"\/><\/figure>\n\n\n\n<p>The existing assets are quite rich! If you don&#8217;t want to draw one yourself, just pick a character you like from here.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1140\" height=\"657\" src=\"https:\/\/edu.circuspi.com\/wp-content\/uploads\/2026\/02\/\u82f104-1_13.png\" alt=\"\" class=\"wp-image-1102\"\/><\/figure>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">4.2 Controlling Your Sprite<\/h2>\n\n\n\n<p>Now that the Sprite is drawn, we can&#8217;t just let it sit motionless in the center of the screen, right?<\/p>\n\n\n\n<p>Let&#8217;s make it move with the joystick immediately.<\/p>\n\n\n\n<p>First, click on <strong>&#8220;Controller&#8221;<\/strong> in the <strong>Block Toolbox<\/strong> and select the <strong>&#8220;move [mySprite] with buttons&#8221;<\/strong> block.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1186\" height=\"904\" src=\"https:\/\/edu.circuspi.com\/wp-content\/uploads\/2026\/02\/\u82f104-2_01.png\" alt=\"\" class=\"wp-image-1103\"\/><\/figure>\n\n\n\n<p>Drag this block into the <strong>&#8220;on start&#8221;<\/strong> block and place it under the Sprite creation block we just set up. This grants our Sprite the ability to move with the joystick!<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"656\" height=\"267\" src=\"https:\/\/edu.circuspi.com\/wp-content\/uploads\/2026\/02\/\u82f104-2_02.jpg\" alt=\"\" class=\"wp-image-1546\"\/><\/figure>\n\n\n\n<p>Try controlling the joystick in the <strong>Game Simulator<\/strong>, as shown below:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"320\" height=\"240\" src=\"https:\/\/edu.circuspi.com\/wp-content\/uploads\/2026\/02\/\u82f104-2_03.gif\" alt=\"\" class=\"wp-image-1105\"\/><\/figure>\n\n\n\n<p>Almost all assets in a game are Sprites. You can use what you&#8217;ve learned in this unit to create the protagonist, level elements, buildings, or cute companions for your game. Besides joystick control, there are many other ways to interact. Please practice often and create your own game! \ud83c\udfae\ud83c\udfae\ud83c\udfae<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sprites are a crucial concept in MakeCode Arcade. In a  [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":317,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[21,23],"tags":[],"table_tags":[],"class_list":{"0":"post-865","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-gamebit-en","8":"category-freeinfo-en","9":"czr-hentry"},"_links":{"self":[{"href":"https:\/\/edu.circuspi.com\/index.php\/wp-json\/wp\/v2\/posts\/865","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/edu.circuspi.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/edu.circuspi.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/edu.circuspi.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/edu.circuspi.com\/index.php\/wp-json\/wp\/v2\/comments?post=865"}],"version-history":[{"count":4,"href":"https:\/\/edu.circuspi.com\/index.php\/wp-json\/wp\/v2\/posts\/865\/revisions"}],"predecessor-version":[{"id":1550,"href":"https:\/\/edu.circuspi.com\/index.php\/wp-json\/wp\/v2\/posts\/865\/revisions\/1550"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/edu.circuspi.com\/index.php\/wp-json\/wp\/v2\/media\/317"}],"wp:attachment":[{"href":"https:\/\/edu.circuspi.com\/index.php\/wp-json\/wp\/v2\/media?parent=865"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/edu.circuspi.com\/index.php\/wp-json\/wp\/v2\/categories?post=865"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/edu.circuspi.com\/index.php\/wp-json\/wp\/v2\/tags?post=865"},{"taxonomy":"table_tags","embeddable":true,"href":"https:\/\/edu.circuspi.com\/index.php\/wp-json\/wp\/v2\/table_tags?post=865"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}