mongolianmisfit said:
I'm mind blown. This is extremely impressive on a technical level. I would love to read or watch a dev blog on this project. Truly amazing stuff.
Thank you mongolianmisfit! There is not actually that much going on behind the scenes here. My usersubroutines are basically just crammed with 'checkleftblock', 'checkupblock', 'swapblock', etc. based on existing macros, and since all blocks are a different collision type, it is easy to tell what to replace them with if they are being mined. Mining is just based on a timer, so if you are holding the B button, it runs the swap routine every 15ish frames or whatever.
The sneaky / hacky part that stands out to me (that I find a little embarrassing) is the HUD block selector. I replaced the numbers 0-4 in the HUD sprite sheet with the icons, and had the HUD element simply show the variable that represents the currently selected block, that which is cycled from 0 through 4! Simple and good enough for Momoc, as I had no need for number tiles in the HUD.
F8Sean said:
I like the ambition here a lot, it's definitely a unique sort of game (my favorite genre) and there isn't a lot to compare it to. When I tried it, the controls weren't immediately intuitive so I fumbled through only the first few screens. It took me a few days to realize this, but after looking at your GIFs I realize that your closest analogue is
Fire N' Ice (see also Solomon's Key). That used the same button to place or remove your resource without the Select button to change between gather and build modes. If you did something like that, it would free Select up to be the resource selection button, and you would always have a jump button. It would speed up the pace of play, unless that's something you deliberately wanted to be a little slower and less Minecraft-y.
Thanks F8Sean!
I really enjoy Fire N' Ice, and definitely drew some level design inspiration from it. In response to your suggestion (a very good one, as you will see below, I actually started the design with controls like that!):
While I would like the building to be a bit quicker in some ways, it is not possible to assign mining and building to a single button without making a very complicated method of managing states, as you need to be unable to move at all while placing blocks, plus or minus several frames of buffer. The primary reason for this is that you can jam yourself into collisions and cause all sorts of warping mayhem through the bottom / top of the screen. Secondly, defining when it is appropriate to show the building reticule / how it works in interface, and how this in turn works on ladders, on edges, etc. while maintaining relative movement / placement options gets real hairy real fast. Finally, it greatly encourages the use of blocks as a weapon to clip enemies through terrain, which negates many challenges.
I actually originally had it as a one-button-build setup, but even making sure the player wasn't moving (state check + hspeed/vspeed check) before placing blocks didn't completely prevent them from being able to propel themselves forward immediately afterward into the block while it was still technically non-solid sometimes. Thus, I figured out a sort of wait buffer to make sure they couldn't move for a period after placing things, but this got complicated and unintuitive enough to manage with all the other states that it was way easier to just make sure the player can't move at all until at least a button has been released. This in turn led the game in a different direction entirely, and allowed me to express my own design infuences, as I will detail below.
The current set up, at the cost of speed, gives the player way more freedom of placement, as they can move the reticule / direction for mining and building without moving themselves, which is much preferable in precarious situations, and potentially much more dangerous in screens when you are exposed while building. Both of these caveats are more mechanically rich in level design potential (a nice push-pull between more control vs. more danger), and while you can certainly make a game around the opposite (i.e. Solomon's Key-- twitchy block placing / dodging), it has already been done. What hadn't been done is something closer to
King Arthur's Gold, which is what I wanted to emulate as best as possible: trying to keep a clear head and methodically build viable structures while being pelted by enemy fire in the midst of a melee. Whether or not I succeeded in this regard is certainly up the player to decide.