Hey there! I'm working on a heavily Super Mario Bros. inspired side-scroller that uses procedural generation for its levels. Despite the appearance, it's not going to be entirely Super Mario, however. There's going to be unrelated characters and monsters, and the player character will use a three point health system instead of power-up tiers.
It's far from finished, obviously. The basic level generation is complete, but it lacks enemies and many stuff. Levels cannot be completed yet, and side areas like bonus rooms and the starting and ending areas for underground and underwater levels are not implemented.
If anyone would like to contribute some code, art, or sounds/music, feel free! At this point, the token count currently stands at 1426.
Arrows: Select choice; adjust seed
Z or X: Select option; hold either or both to scroll through seed quickly
Arrows: Move left or right
Additionally, at the level start screen, pressing Z and X will adjust the current world and level retrospectively, but that won't be in the final game. You can return to this screen through the pause menu.
General roadmap of planned features:
(): Not implemented
(-): Partially implemented
(-) Title screen
Yes, that's why the screen is zoomed in. If it weren't, I would've only been able to fit in at least 3 level types for only a dozen screen chunks each (the first two screen chunks of the top row is reserved for the actual playing field).
Looks neat! I'll keep an eye on this one. Good luck!
lol, falling through a bottomless pit apparently places you on the map 'below'? That could be an interesting mechanic; having levels inter-connected in some way.
Edit: Hey, I noticed you're saving levels chunks in the map data? This is a good way to test out ideas, but you could try using strings to store the tilemaps instead. You would just need to have it pull the needed chunks and place them into a table (2d array), and then update any mset/mget calls to instead search for offsets inside that map table if that makes sense. And then instead of a map() call, you would have a function that draws a sprite for each tile using the table as the map.
You could store them as tables directly, but loading them from strings is better, since a string only counts as 1 token.
I was thinking about doing a similar kind of thing... but just a little 4-level jaunt that scripts different obstacles/widgets each playthrough. Generally, levels 1 and 2 power you up, 3 and 4 whittle you down... then you can quit or take on another lap with different obstructions. Trick is, getting all the gameplay objects within two pages of sprites; since I plan to use the full map.
This is right up the alleyway of projects I'm working on, which include MegaMan and Metroid-inspired proc-gen stuff, too.
[Please log in to post a comment]