Fleshing Out the Castle
So we have a big ol castle to navigate. Great! One problem, though; there's nothing in it! Sure we have some rooms defined and in those rooms we can put upgrades, furniture, and enemies, but we need something that feels a little different from the garden to make the interior really shine. Plus, areas are more interesting when they change and give you reasons to explore them beyond curiosity. Metroid would be a pretty short game if it didn't lock any doors, after all!
So how do we give the player a little nudge towards exploration, and what can we accomplish with our solutions?
Locks and Keys
The common solution here is just to put a locked door (or some other obstacle) in the way and put the key somewhere else. That's a fine solution for our level design goals, but can we spruce it up a little? Can we tie it into the design of the world in a fun and exciting way? I think we can! Here's the idea:
Remember this guy? Up in the corner?
Thatâs gonna be a big plant monster. Now, what if our locked door was a large vine? That would cover basically any space we need it to (vines can be easily shaped into whatever wall we want believably) and fits in with our established world (the temple is overrun with plants from years of neglect). How do we get rid of the vine, then? Whatâs the âkeyâ to this âlocked doorâ?
Well if we have the vine continue off in some other direction and put a big vulnerable spot on it then we can get rid of the vine after the player destroys the lump! Plus, we can have a big scary roar after that happens to hint that what you've really just hit isn't just a vine, it's a monster. That would solve quite a few problems at once! This solution is far from free, though, and brings with it a few other problems. How do we demonstrate the relationship between the wall and the lump? How do we encourage the player to actually attack the lump? How do we draw the vine when that's an object far too large to fit on the sprite sheet?
I have answers for some of these questions, but not all of them.
How do we get the player to actually attack the lump?
Well, it has to look different from the rest of the vine it's on and draw the player's attention to it. So it'll probably need some combination of:
- Color variation from the main vine
- Movement
- Sound which gets louder as you approach it
That's how they see the lump, but how do we prompt them to actually attack it? I figure the easiest way is a one-two punch. First we make the lump an enemy. It's probably best to have this enemy shoot projectiles at our player, which will reveal it's position from a further distance and allow us more flexibility as to its exact location. Second, we put a magic pickup right behind it. That way if the player wants the pickup they have to get through the enemy. I think all those things put together will probably do a fine job. Plus, that will give us a useful mechanical language to use when designing the boss fight later on. The second question is less design and more technical:
How do we draw something that big?
This one I'm less sure on. Probably some combination of sprites on the sprite sheet and maybe some raw shapes. We do have access to rectangles or circles, though they're not especially efficient functions. For now I'm just going to use three big rectangles and we'll put "make the vines look/sound better" as a later problem. Oh, and speaking of later problems:
How do we animate the vine going away?
I also don't know! Maybe it just tweens offscreen. Maybe it explodes in old school NES glory. This too is a problem I'm willing to put on the back burner to get ourselves closer to a functional, albeit crude, full playthrough. So how's it look/work?
A big rectangle! So big itâs drawing over the UI (oops). Itâs not much but itâll do for now. There are also a couple other rectangles and a circle for the lump. Howâs it work? Very crudely! Essentially during the initialization after loading the map we run through all the squares of each rectangle and flip flag 1 to be on. Thatâs our collision flag (the same as on the our walls and floors), so that will effectively turn our big rectangle into a wall. How exactly do we treat the lump? As a sort of unique enemy with a death trigger to set vine_1.alive to false. Itâs all very messy but it will do.
Join us next time for fleshing out our vine locations, our lump behavior, and maybe even the design of the library! Or maybe audio! It'll definitely be something!