my own take on a Mega Man-like

space man level design

the hardest part about making a 2D platformer is LEVEL DESIGN. at least for me. thinking back on it, it’s not a skill I’ve practiced much, which seems kind of weird for someone who likes to make games!

Mysterious Space features procedurally-generated levels (there’s some design there for sure, but it’s very different); PsyPets doesn’t have levels at all; I’ve done a few little things in RPG Maker, but that’s a very different kind of level design. as a kid I drew Mario and Mega Man levels on graph paper, but I was never able to actually implement, play, and test them.

so I’ve been reading up on platformer level design online, and have been learning a lot of good stuff…

but before I talk about that (and the picture above), maybe I should talk about what the hell I’m doing, because it clearly isn’t Mysterious Space! >_>

basically, after playing Mighty no. 9 and being kind of disappointed by it, I thought I’d try my own hand at a Mega Man-like game. I’ve been spending this month playing through bits of the original NES Mega Man games and taking notes on the enemy design, reading articles on level design (including this one, amazing, crazy-detailed analyses on the level design in Super Mario World), and of course actually coding the game. I was able to copy a ton of code from Mysterious Space, but the game physics of Mysterious Space are very different, so there’s a lot of basic stuff I’ve had to do from scratch as well.

besides borrowing code, though, I’m also borrowing some other things. to start, the premise of the game is that – on your way home – your ship has been affected my a mysterious force, draining your fuel, and so, in order to get home, you must visit a nearby planet and find three fuel. besides ripping story/universe concepts from Mysterious Space, I’ll also be ripping some enemy designs and other graphics (trees!)

but let’s talk about the level design! it’s something I’ve been reading about a lot recently, and super-interested in.

this is your ship, and where the game begins, and the only “level” I’ve put any design thought into so far:

space man level design

you start in your room (or should I say “your quarters” to sound more Star Treky? :P) in the top center of the ship, with an obvious exit – the ladder- but screw that. let’s talk about…

and : we’ve got some flashing things behind some grates in what you won’t even believe for a second to be inaccessible areas. there’s obvious paths through the “solid” parts of the ship that connect those areas to the rest of the ship, including the very room you start in. my hope is that this accomplishes two things:

  1. informs the player “there are ‘secret’ things, and walls you can go through”
  2. informs the player “this is what a collectible thing looks like”

it’s not clear from the screenshot, but the yellow diamonds and the little box in the lower-right have blinking outlines. blinking outlines are the game’s “you can collect this” signal, and I want that to be taught from the beginning. (I’ve seen many new Mysterious Space players be frightened of the gently-moving white pick-up boxes. and in fairness, there’s nothing that really makes it clear that they can be picked up! well, until I added the “GET” text that flashes above them when you first see one, but I wanted to avoid relying on reading as much as possible this time around.)

I might even put a diamond in an easily-accessible part of the ship, JUST TO MAKE SURE.

: on the other side of this gap (which is patrolled by a platform that moves up and down at regular intervals) there’s a glass chamber with a gray arrow bein’ all like “GO HERE”. for the player, clear SOMETHING will happen if you go there, even if it isn’t clear yet, but important, you HAVE to jump in order to get there. the elevator platform doesn’t go much higher than the position seen in the screenshot.

now if this were a console game where a controller was your only option, I’d be happy to leave it at that. but I definitely want to support keyboard, and on the keyboard you’ve got, like, what, 3 billion keys? AND SO: the red “⇑ Shift” text instruction is apparently printed into the hull of your ship to remind its human operators how to jump. (p.s. sorry I relied on reading so soon after saying I didn’t want to >_>)

finally, seeing the letter “z” on its own probably wouldn’t mean anything to the player if it were there on its own, but paired with some red text which is obviously referring to a key on your keyboard, and which has given you some helpful instruction, I’m fairly confident the player will realize that “z” means “try pressing that letter on your keyboard”. pressing “z” fires your weapon, and while there’s nothing to shoot here on the ship, that glass chamber is a teleporter, and whichever level you choose, you can be sure that firing your weapon (and jumping, which you also had to learn in order to get here) is going to be important!

but are these lessons effective?

I have showed this level to precisely one friend. I learned that she’s so used to WASD, that the idea of the arrow keys moving her character did not occur to her >_> BUT ALSO: I learned that the “⇑ Shift” and “z” instructions worked precisely as planned, so that’s good 😛

but again: this was only one user. and one who has played many games. more testing is definitely in order.

finally, there’s the .

space man level design

: this is the ship’s engine/fuel room. it won’t begin with that blue crystal slotted in, and so a new player might not understand what they’re even looking at when they see it, and that’s mostly fine. I definitely want to improve the graphics somewhat, to really show “HEY. THREE THINGS ARE MISSING HERE.” but even without that, this room’s purpose will become clear once you’ve collected your first fuel. the fuel will be slotted in, as we see here, with an… energy… line… or something, all blinking and stuff. it’s obviously important, and obviously asks that two more of its kind be found. WHAT WILL HAPPEN ONCE ALL ARE COLLECTED?! surly you will not be satisfied until you’ve discover the answer to that question. (spoiler: you’ll win the game!)


I have created another level of sorts, but it’s mostly just a place for me to test the things I’m coding; no real design thought has gone into it, so there’s not much to say about it right now.

however, I’ll be posting again, for sure!

I think my next big focus is going to be on enemy design and placement, as it’s a super-important aspect of level design that I have not explored much yet.

thanks for reading!

Mighty no. 9

I backed Mighty no. 9 when it was in Kickstarter, because… of course I did! I love the Mega Man games, and Mighty no. 9 promised to be “Mega Man, except not, but only for legal reasons,” and I’m 100% down with that 😛

and from what I’ve played of it, it has totally lived up to that promise! but perhaps… too much so? Mighty no. 9 has been getting mixed reviews, and from what I’ve seen, it totally deserves them: the game is retro in a lot of good ways, but also in some important BAD ways.

I’d like to break some of that down, think about why Mega Man – and faithful clones – don’t work alongside modern games, and try to come up with a couple possible fixes for the genre.

all the complaints I’ve seen online seem to boil down to the antiquated “lives” system of Mighty no. 9. sometimes there are complaints about instant-death spikes, or other hazards, but those are not the real issue – no one’s pissed about the pits in Mario games – the real issue, in my mind, is that these are coupled with the lives system.

and to be fair, a limited number of lives is not inherently a bad thing, either! (but then, I suppose I’d have to say that, since Mysterious Space – as a roguelike – is a one-life game :P)

but no, look: some games – like Roguelikes/Roguelites, and the Civilization games – dull the pain of a single life by making every game feel unique: the initial conditions are different, the maps are randomly generated, you can make game-changing choices during the course of the game, etc. the game is saying: “if you die, yes, you lose a lot of progress, but you’ll be playing a different game next time, so it won’t be a total slog.”

others – like Super Meat Boy – give constant checkpoints, and let you get straight back in the action without delay. “if you die, no biggie: you lost, like, 10 seconds of progress. and it took you 0 seconds to try again.”

some games even go so far as to do both of the above (endless runners), or lie somewhere in between (RTSes, maybe? I’m having trouble thinking of a good example here), making a sort of spectrum of “uniqueness of each play vs. quickness of each play”.

maybe we could add another dimension to this spectrum: number of lives! and so we might think: “we can give the player more lives – let’s say three – and in exchange…” wait… “make the game more of a slog after they’ve lost all three?”

hm… maybe this hasn’t really solved the issue after all…

yet this is how the original Mega Man games play out: the levels aren’t THAT long, but they’re ORDERS OF MAGNITUDE longer than a Super Meat Boy level, and there’s no new gameplay to explore by replaying a level. (okay: sometimes there’s a LITTLE; more on this later.) and the “but that’s okay! you have three lives now!” thinking doesn’t really help: when you lose all three lives because of some mechanic that’s giving you trouble, or because you don’t know how the boss moves, and/or haven’t figured the order you’re supposed to tackle the bosses in (more on this later, too!), you STILL have to replay the same stuff you’ve already experienced. there’s nothing new to see, or do, or discover, or learn. it’s still a slog.

and NO number of lives helps this. it so happened that when I started playing Mighty no. 9, I immediately wanted to change the voice acting from English to Japanese, and in the settings menu for this there was ALSO a “number of lives” setting, ranging from 1 to 9! setting aside that it seems a bit odd to hide this away with the language settings, this is a great idea, right? a good addition to modernize a Mega Man game!? but I was wrong: it wasn’t 😛 I beat the ice boss fairly easily, however the fire/oil boss gave me so much trouble, I lost all 9 lives. and even before going through all 9, I kind of wanted to just quit and go find whatever weapon the dude is weak to (it’s not ice, apparently!), but at the same time, quitting would mean giving up all the progress I’d made on this level, so now I’m in this situation where I’m making a choice between two things I DON’T want to do – quit and lose my progress, or keep fighting this obnoxious-ass boss – and that is not the sort of decision you want a game to be giving its players 😛

surely there’s a better way!

but first, let’s talk about “figuring the order you’re supposed to tackle the bosses in”, because as tedious/poorly-implemented as it is – in everything from Mega Man 1 to Mighty no. 9 – it is a very distinctive feature of the Mega Man games. while you could absolutely make a Mega Man-style game without this mechanic (which could be a step toward solving this problem of slog; see Shovel Knight), for something like Mighty no. 9 which – again – “Mega Man, except not, but only for legal reasons,” the absence of this mechanic would stand out.

so let’s try to work around it, instead.

there’s a couple ways I can think of to solve the problem, and one of them is explored in Mega Man games, and is core to metroidvanias: giving uses to newly-acquired tools in old places!

for example, in the NES Mega Man games, there was almost always SOME boss weapon that would let you blast apart blocks that you couldn’t blast apart before; in Mega Man X, a new weapon, or power-up from Dr. Light, might let you blow up obstacles faster than you could before, or blow up obstacles you couldn’t blow up before, or – just to be crazy and different – sometimes simply beating a boss just straight-up changed ANOTHER boss’s stage in some fundamental way (by putting out most of the fires, changing the water level, etc).

Mega Man X in particular makes pretty good use of this. there were many levels in that game that you WANTED to play again, even after already completely beating them, because you now had a tool you needed to get some max health upgrade you’d seen earlier but COULD NOT figure out how to get.

that being said, I DO have to wonder: without the nostalgia I have for Mega Man X, would it hold up today?

I… mm… I kind of think… maybe it wouldn’t?

the problem is, you STILL have the issue where when losing all your lives, and returning to that level later, it’s still the same level! maybe you could blow up a block you couldn’t before and get a healing pickup, or whatever, but for this approach to REALLY work, EVERY boss weapon needs to open up some new route, or grant access to some new, optional, permanent pickup, to save the game from feeling like a slog. and maybe Mega Man X50, or whatever they got up to, does this AWESOMELY; I don’t know. (if it does, though, Mighty no. 9 had no excuse for not copying this!)

ANOTHER solution though – which I’m not sure I’ve seen in any Mega Man or Mega Man-like game – would be to allow you to make PERMANENT progress through a level.

imagine this: you’re playing Mega Man X, and you get to that horrible Chameleon boss, and he’s swinging around, and turning invisible, and OH MY GOD YOU HAVE HAD QUITE ENOUGH OF THIS. so you quit. you go to the stage of the weirdly-named guy who looks like a robot ninja samurai, and you murder his face, get his boomerang weapon, and think “maybe THIS will beat that stupid-ass Chameleon.” so you go back to the Chameleon stage, BUT – but, but, but – INSTEAD OF HAVING TO DO IT ALL AGAIN, BAM: you’re just right outside the boss room. or maybe you get to choose where you want to start, from a list of points you unlocked, so that you can go back and find some health pickup that you needed the boomerang for. whatever. you get the point. you – the player – already beat this level. you already blew up the stupid grasshoppers that hide in the grass. you already went through the cave where rocks fall from the ceiling, and rock golems throw MORE rocks at you, just in case you weren’t feeling like you’d quite had enough rocks in your life. there’s nothing else to see here; you’re here to try your hand at the boss again; to do the thing you haven’t yet done! and maybe he’ll STILL kick your ass (but probably not, because spoilers: boomerangs totally wreck chameleons, just like in real life; did you not know about that?), but that’s okay: you could run around elsewhere, get some permanent health pickups you missed before, and try the Chameleon later, WITHOUT the “ugh, but now I have to do that whole stupid level again!”

whatever avenue you want to take as a game designer – randomized content, super-short checkpoints/levels, unlockable items and shortcuts – the goal is the same: if you’re going to punish the player with a setback, immediately give them something new to explore, or do, or find, or experiment with, EVERY time they try again.

Mighty no. 9 is so faithful to Mega Man, I think it fails to do that. I have only played three levels so far, so maybe I haven’t discovered something yet, but A) if that’s the case, don’t make your player wait so long before showing them how fun your game is, and B) based on the reviews I’ve read online, I don’t exactly have high hopes 😛

and while we’re talking about all this, hey: is Mysterious Space there? does every play-through have something new to explore? something new to do, or find, or experiment with? mmmm… maybe not?? (I don’t feel like MOST Roguelikes do; it’s why I’ve struggled to enjoy the genre >_>) BUT: I’m absolutely going to keep working at it, and perhaps thinking about where Mighty no. 9 has fallen short can hint at places where other games – even one as unrelated as Mysterious Space – might be able to shine.

thanks for reading 🙂

Kickstarter? wut!?

during the past couple weeks I’ve been putting together a Kickstarter project: a year of full-time Mysterious Space development!

goodness!

everything is finally in place – updated Steam store, Kickstarter approval, etc – and so the Kickstarter has been launched!

I explain it in more detail on the Kickstarter page, but put simply, the idea is to pay my salary, allowing me to work on Mysterious Space full-time for a year! And if that goes well, we can try it again next year! (Unless it somehow magically goes SO WELL that two years are just funded outright!? OMG, that would be so crazy…)

I’m a little scared and a little excited. I’m fortunate in that my livelihood is not dependent upon this project’s success, but still: there’s amount of emotional investment, so it’s a little scary in that way…

AND NEVER FEAR: regardless of this project’s success, Mysterious Space will continue to receive my support and continued development! 🙂

Thanks for reading, and thanks for playing Mysterious Space! 🙂

P.S. here’s a link to the Mysterious Space Kickstarter project one more time. just in case 😛

online tasklist via Google docs

previously, I’d been writing notes for Mysterious Space on index cards, loose pieces of paper, etc – whatever was around – and keeping these on my desk near my keyboard.

NOT THE BEST METHOD.

to better-track my notes, I’ve gone through them, and added the remaining, incomplete items to a Google docs spreadsheet. actually: first I added them to a spreadsheet on my computer, but then it occurred to me that if I posted them on Google docs, I could allow everyone to see them!

SO: if you’re interested, you can find my live tasklist here:

new civilization positioning

mysterious space sector map

hello, Internet. I thought it might be interesting to explain how I solved a kind-of-weird problem in Mysterious Space, both to give you an inside look at how the game works, but also, hopefully, to show you at least one way that these kinds of problems can be solved.

first of all, the problem was this: sometimes, inhabited planets would be placed very close together:

bad, bad, civilizations

the reason had to do with how I’d been placing civilizations. my method was something like this:

  1. pick a random, empty system in the map, and “colonize” it
  2. until you have colonized six systems, pick a system you HAVE colonized, and colonize a random, adjacent system
  3. choose three of the colonized systems, at random, and uncolonize them

my thinking was that each civilizations would, “realistically”, tend to control adjacent systems, but I knew I’d want some spaces in between, so step 3 was added specifically to put some holes in a civilization.

besides the fact that step 3 won’t guarantee holes in a civ, it turns out that this “realistic” approach was bad for gameplay in a couple ways:

  1. since civilized systems are safe, having several in a row will let you skip a ton of systems. on the way TO the Mysterious Source, this means jumping up in difficulty level significantly (which maybe you want, but probably not), and on the way BACK, it often lets you skip most of the last systems, granting a cheap victory.
  2. with all the civilized systems clumped up, you don’t have many opportunities to shop. either you encounter a clump, and so get two shopping chances – once on the way in; once on the way out – or you don’t encounter one of these clumps at all, and never get to shop!

and though it was rare, sometimes multiple civs would clump together, compounding these problems!

agh!

I still liked the idea of having each civ in its own general area, but it was clear that my current method was not working.

so how to solve it?

there were a couple issues to solve, but I decided to start with spacing, since that was the problem that was most in-your-face.

I knew I didn’t want two civilized systems to be adjacent; I might even want them to be 2 or 3 systems apart… but I also wouldn’t want them to be TOO far apart, if possible…

it occurred to me that, since the system map itself is randomly generated, that even if I overlayed a repeating pattern of “place a civilized system HERE”, you would probably not be able to see that pattern…

what pattern could I use? I came up with this one:

civilization placement pattern

(you’ve probably noticed that the systems in Mysterious Space tend to fall on a grid. if not: well, they fall on a grid – now you know :P)

using this grid, you could imagine picking a random spot on it, drawing a box around that spot – say a 4×4 box – and colonizing all the planets within that box. that would ensure that the planets are near each other, but not TOO near.

but to do this, I’m going to need to a way to tell whether any arbitrary x/y position can be colonized. like say I position a civilization at (-11, 23), and want to check the squares around it… which ones can be colonized, and which can’t?

looking at the grid, I noticed that when y is 0 and x is 0, then the system can be colonized, and then when y is 5 and x is still 0, it can be colonized again: the pattern repeats every 5 rows (and every 5 columns). so if y divided by 5 has a remainder of 0 (or as mathsy people like to say, “y modulo 5 = 0”, or as programmers like to say, “x % 5 == 0”), AND x % 5 == 0, then the spot can be colonized. but when we look at a y of 1 (y % 5 == 1), it changes… and not in a way that’s immediately obvious. going from y = 0 to y = 4, we have:

  if y == 0, and x % 5 == 0, colonize
  if y == 1, and x % 5 == 3, colonize
  if y == 2, and x % 5 == 1, colonize
  if y == 3, and x % 5 == 4, colonize
  if y == 4, and x % 5 == 2, colonize

we could use that logic pretty much as-is, but surely there’s ONE line we can use to describe the entire grid. the question is how to map the y % 5 values (0, 1, 2, 3, 4, 5) to the x % 5 values (0, 3, 1, 4, 2), so that we can compare the two to each other. after playing with the numbers a little, I discovered the connection, and it’s what’s written on the left of the grid image above: x % 5 == (y * 3) % 5, or if you like: the remainder of x divided by 5 (0, 3, 1, 4, 2) equals the remainder of y times 3, divided by 5 (0 % 5 = 0, 3 % 5 = 3, 6 % 5 = 1, 9 % 5 = 4, 12 % 5 = 2).

OKAY.

fine, so now we have a grid. but how are we going to apply it to the system map, to colonize planets? I wanted to make sure each civilization had its own area of the map, where they wouldn’t overlap… how could I pick three starting places and be sure that they’re fairly-equally spaced?

making a grid by hand seemed pretty successful; why not pick the starting postiions by hand as well? 😛

civ starting areas

the diamond represents the general shape of Sector ZZ-Omega-9. (did you know it was a diamond shape?) the large “+” in the center is the x/y coordinate plane. (the Mysterious Source is always placed at (0, 0).) from there, I kind of drew boxes in such a way that I seemed to have given each box an equal share of the diamond, and then guesstimated at the coordinates of those boxes. for example, the left-most box touches the left edge of the diamond, and ends about 1/3 of the way from the center. each box seems to be 2/3 the “radius” of the diamond, and the left-most box is centered on the x-axis, so it must start at y = -1/3, and end at y = 1/3, and so on.

once I had decided on these general areas, the rest was fairly straight-forward: randomly assign a civ to each area; then for each area, find its center, and move outward, colonizing each system whose x and y coordinate falls on our grid – x % 5 == (y * 3) % 5 – until three systems are colonized.

ta-da!

the picture at the top of this post shows one sector generated using this method.

you might ask, though: “is this method perfect? is it even good enough? those rough guesses at civ areas were pretty rough – are you sure they’re equally sized? – and the areas that the civs take up are the same each time! that, together with the grid, makes it pretty easy for a player to know the positions of civilized systems!”

and those might be very fair points! I think, given the random arrangement of the systems themselves, that the final output is sufficiently random… but it is possible that, in the long run, this system will simply be too predictable.

there are a few ways I could increase the randomness, however:

  1. it would be trivial to “shift” our “you can colonize these spots” grid by a random amount by simply adding some random number to the x and/or y coordinates. for example, rather than x % 5 == (y * 3) % 5, we could use (x + RandomShiftValue) % 5 == (y * 3) % 5. just make sure to use the same RandomShiftValue over the course of the entire colonization process!
  2. it would also be trivial to slightly shift the start position from which we start placing each civ; rather than the dead-center of each area, a point slightly off-center by a random amount.
  3. realize that the “areas” we divided the diamond into are kind of silly; in the end, all we care about is a point from which to start placing a civ, and there are better, more-flexible ways to find three points evenly-spaced around a center point: trig! use the angles 0, 120, and 240, offset them all by the same, random amount, and then use cosine and sine to get x and y values.

and I will very likely do all three of these things! (to be honest, I hadn’t thought of them all until I sat down to write this article!)

I hope this has all been interesting to you, as a player of Mysterious Space, as a designer of your own games, or both!

thanks for reading!

so many ideas; so little time

a long time ago I promised to someday get eight-player local co-op implemented… that day has finally arrived! well, or that month, anyway >_> when I release 0.9.1 at the end of this month, we’ll absolutely have support for eight-player co-op. I already have it working, barring any bugs I haven’t discovered (though I don’t expect there to be many – it was a pretty straight-forward addition).

I’m also adding a new co-op option! in addition to being either a normal ship, or an orbital, you’ll now be able to play as the mothership (seen in the tutorial). the mothership gets its own share of the screen, as with normal split-screen co-op, but UNLIKE normal co-op, the mothership does not have a physical presence on the level – it doesn’t fly around the level blasting things and collecting fuel.

instead, the mothership has a new/unique mouse-driven UI which allows the player to help the other player(s) in various ways, for example by firing columns of death upon the planet, upgrading or repairing ship parts it’s holding on to, picking up and pinpointing outpost signals at the moment of entering a planet, changing the weather of the planet, etc.

I haven’t nailed down the exact mechanics for all of these effects (or even what the full list of effects might be), but several, at least, will be in the form of managing system power in order to build effects over time. here is a mockup which might give you a better idea of what I’m thinking:

mothership ui mockup

though the main interface is obviously different, the same mini-map and fuel progress that other players see will also be displayed to the mothership, as this will be used to target some effects, such as the firing of your death laser.

finally: is all of this interesting? will managing progress bars be fun? >_>

I do have some concerns about phrases like “managing progress bars”, but there’s really only one way to find out: build it, and try it! I’ll definitely be giving the mothership as many opportunities to interact with the other player(s) as possible, but if the everything mentioned above isn’t interesting enough on its own, I’ve thought of a few other ways we might be able to spice things up for the mothership player:

  • give the mothership a way to take emergency actions at some cost… for example, perhaps the death laser could be fired early, but at a cost of damaging other systems, or applying some debuff (blindness/sensor malfunction??)
  • give the mothership other threats which it must occasionally respond to, for example a meteor shower could make the mothership decide between reallocating resources to blast away the meteors, or allowing the meteors to fall to the planet, where they might strike the other player(s)

I’m really enjoying adding these completely-new/weird co-op modes to Mysterious Space; I hope you guys are enjoying playing them 🙂

I’ll definitely post again, when there’s more to show!

thanks for reading 🙂

what more can SHOOTING do?

I recently watched a couple videos, and read a couple articles, about the language of games… breaking things the player does down into verbs, the nouns those act on, and the results of those interactions.

in terms of Mysterious Space, you might for example say that the player can DROP things, such as a BATTERY, the result of which is the creation of a timebomb that destroys a ton of stuff on the screen when it blows. the player can also DROP… ANYTHING ELSE in order to create a crate containing that item, allowing some other play to pick up the item.

unlike some better games, however, Mysterious Space’s interactions often end after just one step. (the timebomb example is actually one of Mysterious Space’s exceptions, in that it can have some cascading effects, such as its EMP shots going on to disable a forcefield.) for the most part, you can SHOOT an ENEMY, causing it to die – end of story – or you can TRACTOR BEAM an OBELISK, and that takes you to a crazy sub-level, and that’s cool, but still: end of story.

compare to a Mario game where you can JUMP on a TURTLE, causing it to turn into a SHELL; you can then JUMP on a SHELL, causing it to go flying off, where it might kill some enemies, break some bricks, hit some “?” blocks (which in turn might do any number of things: release a power-up, a spring block, etc).

think about the kinds of things people can make with Mario Maker, and then think of what a Mysterious Space Maker would be, and what players could make with that… … yeah… Mysterious Space Maker would be pretty boring, really >_>

that pretty heavily suggests that Mysterious Space could benefit from an expansion of its verb/noun interactions.

for example: what if a button could trigger something other than a forcefield?

what else might it interact with? the fact that there’s no good answer to that question right now is part of why we have this problem!

so: what if we had objects that spawned enemies, but were tied to buttons, so if you put a crate on the button, it disabled the enemy-spawner?

or: you could have powerful vents controlled by buttons.

what other verbs do we have? shooting… tractor beams… okay: thinking back to Mario’s turtles becoming shells which can be carried, kicked, etc: what if killing certain enemies in Mysterious Space yielded debris, which fell to the ground, but could then be tractor-beamed around, for use elsewhere on the level? (perhaps the debris even occasionally fires off bullets, or lightning, or has some other effect.)

or what if there were other things in levels with their own tractor beams? enemies tractoring items that you must yank away, or structures that just constantly tractor beam things, to cause trouble (and perhaps these are tied to a button, or can be shot with EMP to temporarily disable).

colliding is another verb available to us. currently you can collide with buttons, pickups, and enemies, but there’s also areas-of-effect, like lava and vents, that you interact with by “colliding” with. (thinking about it, “colliding” might be one of Mysterious Space’s richer verbs.) could we have other areas of effect, like shield-regen-boosting, which are perhaps created by players, or enemies, or, again, effected by buttons, or tractor beams (a crate that emits a zone wherein things move FAST).

put some of these ideas together, and you start being able to create some interesting things: an enemy, which on death, creates a temporary zone of “things move fast in here”, which you could use to rocket yourself away from danger. or an inconveniently-placed zone of “can’t tractor beam here” which is created by an object which you can temporarily disable with an EMP shot, which you produce by dropping a battery, and there’s another object on the level which generates a battery for you to collect when its button changes from being unpressed to pressed, and rather than repeatedly press the button yourself, you place a crate on it, and above that crate, a block which periodically activates a tractor beam…

and that situation might be a bit contrived (… maybe!?), but if we had the verbs and nouns in place to support such a construction… what else might be possible to construct? what clever solutions might players devise to the problems the game presents? there’s an awesome possibility here for emergent and clever gameplay.

and all of these things are possible to code, and in many cases, would be quite easy to code. and with a bit of EXTRA work on my part, such elements could be used to create some more-interesting challenges (with multiple solutions) beyond our current “button-triggered forcefield blocks fuel!”

unfortunately, this is not something I’ll be implementing for release this month (gotta’ get this new sector map and alien civilization stuff done first!) but it’s absolutely something I’ll be thinking about more in the months to come!

thanks for reading, and thanks for playing Mysterious Space!

donation update

(tl;dr: $500 donated to Games For Change!)

after doing all my taxes, it appears I was being overly-cautious with the Mysterious Space profits: there’s a bit of money left over that can still be donated!

and really, this is fine: it’s absolutely better to be over-cautious than to be reckless, AND it means there can be an exciting period of donations at the start of the year 🙂

I can donate to FOUR non-profits, and having just donated to JAXA – in the category of space – the first place to start is education! (check out the “donations” page for more about my donation categories and process.)

I’m particularly interested in how games can be used in education, so began my research along those lines. this search lead me, eventually, to Games For Change.

I had a feeling I’d like these guys when I saw this “Sex Etc. Game Design Contest” post from a couple years ago. especially compared to some other non-profits I found (which, for example, seem to be worrying themselves over which games are appropriate for children, and which aren’t), Games For Change is actually interested in CREATING good, educational games! wonderful!

but digging in more, Games For Change isn’t just about education: looking over their various projects, education is definitely a part of what they do, but it seems almost like it’s more often a side-effect of what they do… which is possibly EVEN COOLER of them, but it DOES make me feel that “misc” might be a better category for them than “education”.

and so: $500 Misc to Games For Change! done! (but the hunt for something more-strictly “education” is still on!)

and I’ll definitely be keeping an eye on these guys! I’d especially be interested in other programming challenges or game jams they host – I might participate!

having skipped to the “misc” category, I should also mention “health”! I have some leads on a health-related donation, but there’s a super-specific cause I want to support (antibiotic resistance), and finding something related is proving difficult… so there’s more to do there, too! I think the use of antibiotics in the meat industry is going to be a good avenue… but again, I still need to look around.

I’ll let you guys know what I find, of course 🙂 but that’s all I have for now.

so: thanks for reading, and thanks for playing (and buying :P) Mysterious Space!