Welcome to my Static Tile Engine! Please read all of the instructions :) Controls: Movement → W, A, S, D Click [place mode] → Place a tile Open menu → Move your mouse to the bottom or right side of the screen. Hold Space while hovering over any button to learn its name. Menu Items: Place [z] → Click to place blocks while active Select [x] → Click + Drag to select a part of the map Next Costume [up arrow] → Changes to the next costume Previous Costume [down arrow] → Changes to the previous costume Rotate Left [q] → Rotates the tile by -90º Rotate Right [e] → Rotates the tile by 90º Toggle Rule Tile [r] → Toggles Rule Tile mode, where certain tiles will automatically switch to connecting sprites Toggle Solid [t] → Adds a hitbox to the tile Fill [option + f] → Fills the selection with the current block Copy [option + c] → Copies the selection to the clipboard Paste [option + v] → Pastes the clipboard to the first-selected point Clear Clipboard [option + g] → Clears the clipboard Other Commands: Scroll wheel → Change tile costume Pick tile [p] → Selects the current tile to the one touching the mouse Pick tile and data [option + p] → Same as above, but copies data as well Save / Load [Enter] → Used to save / load maps. Change Gamemode (M) → Change the game mode to test your maps! You read this far! Here's a secret: You can use "enter → load → demo" to load the map in the thumbnail :)
This is the main version of my static tile engine. → UPDATE 1.2 Tile Animations! Costumes with the naming schema name:frame-1, name:frame-2, etc will be considered an "animation" and will animate! Test this out with the flowers tile :) Also, adds more internals for different versions of the engine. → UPDATE 1.1 Improves internals, fixes bugs, and adds the MODE variable! Change the mode (M) to try "playing" your map in real time! I've included both Game-Topdown and Game-Sidescroller for you to try out :) → How it works This tile engine uses compressed data to store all of its tiles and data. Unlike the classic Griffpatch tile engine, all list elements are "chunks" of 180 tiles. This gives the ability to push the 200,000 tile limit that comes from maximum length lists to 36 million, while retaining the fast render speeds. However, having all of the tiles fit into under 5mb is a different story... → Authors Notes I am incredibly happy with how this project came out. The code is remarkably cleaner than my other projects, and the modular design is something I'm really happy with. Moving away from sprites/clones for these past several years has been an interesting transition, and in this project, I only use clones for svg images :) This project also takes from several discussions I had on this site and uses upgraded versions of my old libraries. This is probably one of my cleanest projects, on par with Fishers Freedom and Bomb Bugs. → Appreciations First, I'd like to thank . They are the one who got me back into scratch. Their work on tile engines has pushed mine forwards. I'd also like to thank . We had a conversation about their render style, which mine is actually based on (Check their project KKI). Without them, I wouldn't have an engine that supports 36 million tiles >:) I'd like to thank as well. They were the only reason that I use compression and decompression when saving data. I was amazed after compression lowered the size of a full empty map by 3 million times, fixing the project JSON size issue :P Lastly, I'd like to thank . Honestly, long ago, I used to look up to a different one of _nix's accounts :) If you dare see inside this project, the code styling is heavily inspired by their projects. → Credits All coding by me. All sprites by me.