![]() ![]() My current build has more storage-efficient level formatting, is way easier to make levels for, and makes game interactivity much easier, but the basic idea is very straightforward. It only has a chunk of Level 1-1 which I repeated a few times because I had to code each object in by hand in hex, but it's capable of full levels. Here's a super-compact version of the core idea that takes just 135 tokens and (besides the data strings) uses fewer characters than a single tweet. With some trial and error I figured out how to make levels this way, with the map data area serving as a sort of scratchpad, or palette of objects that can be mapped wherever I want. I wondered if this could be used for individual objects in a level like trees and blocks. I actually got the core idea from watching a tutorial from Doc Robs on YouTube in which he used the map() function multiple times at once to make a scrolling background. I think my approach is simpler than others largely because I haven't learned to code using elaborate scripting and OOP, but very basic stuff (including tinkering a bit with actual BASIC). Hopefully people will like and use my editor once it's released, as I'd like to see more games that don't require devs to invent a new custom compression system or cut resolution or active screen area in half to fit much content on a cart. I know others have worked on metatile-type systems before, I just wanted to push things further with a really efficient system that lots of people can use. Thanks, (oh, and btw, I do really like your small Mario sprite =) This demo was built entirely in Pico-8, using an early version of my PicoMap system, the latest version of which you can find here: For example, all the level maps from the original Mega Man fit in less than 6KB. level could fit on the cart! By my estimates, This should be more than enough to store the worlds of many NES-era games, with space left over for the extra graphics and sound assets. This means that while leaving the majority of compressed data capacity and token count unused, 3 copies of every Super Mario Bros. Instead of storing the nearly-incompressible level data in strings, I instead store the spritesheet in a string because it compresses over 2:1, leaving a full 12KB of potential level storage space. ![]() The big thing is the last point on the list. All maps contained in 3.9KB of binary data in map area.1352 tokens, including streamlined platformer engine and graphics/map decompression systems.Uses standard sprite flags for map interaction.I'm not planning to release the finished game, as I don't want it to be taken down for copyright reasons, but I wanted to show some definitive proof that large-scale games are possible on Pico-8. There's no level progression, sound, or things to interact with besides platforms, but the map data includes placeholders for enemy spawn points and interactive objects, just uncomment a line in the init() function to make these visible. ![]() It contains every level and sublevel map from the original Super Mario Bros., and you can run and jump through all of them.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |