Project Good Robot 5: Taking Shape

By Shamus Posted Monday Aug 26, 2013

Filed under: Good Robot 68 comments

As much as I’d like to ship the game right now, I’m thinking there’s probably a really limited market for games where you fight the same enemy forever for no reason, where you can’t lose, you have no goal, there’s no score, and nowhere to go. And like all my past projects, we should probably avoid getting our hopes up with regards to shipping a game. Barring a steady paycheck, I tend to code as a way of teaching myself how to solve coding problems. This is both personally enriching and financially impoverishing.

But while we’re waiting for me to lose interest, let’s see if we can’t add some more features to this alleged game.

As I said last week, I’ve got this AI system where I can shuffle around simple priorities and behaviors. So one robot will charge you. Another will circle-strafe you. Another stands at a distance and throws long-range attacks at you. (I’m thinking of making these attacks missiles.) Another will run in, fire of a burst of projectiles for you to deal with, and dart away again.

None of these are terribly interesting on their own, but in groups they make for some really chaotic play. The hit-and-run guy (which I’ve called a “sniper” in the code for some reason) is a real attention-getter. I can settle into a rhythm dodging bullets and killing regular robots, but when a sniper shows up the burst of fire tends to create a momentary “no fly zone” right where I’m fighting, cutting my available space in half until the volley of shots pass. So I naturally prioritize the sniper over other targets. It’s not damaging me directly, but it’s interfering with my ability to avoid other damage. So I chase it, which drags me out of the open area where I have room to move and into little side-tunnels where I can be ambushed. There are lots of little emergent things going on here, all driven by this moron AI.

I’m still making new foes, shuffling around priorities and seeing if it leads to interesting play.


Although, I’m worried that fighting in just one area like this is leading me away from one of my core ideas, which is that the player should be fighting through someplace. So I make a level generator to create a maze for me to run through. It’s not a “get lost” kind of maze, but a “constantly twisting path” kind of maze. The walls are lumpy and random, but in a broad sense there’s just one tunnel to follow and it winds its way through the level.

The game is suddenly a lot harder, but not in a good way. I’m getting insta-killed by suicide bombers or running face-first into a stream of projectiles that I didn’t see coming. To be clear, I’m not dying in the “game over” sense. There is no game over state. But it is tracking damage now, and I’m counting myself as having died every time I take 100 damage. And now I see I’m dying a lot more than I was when I was fighting in an arena against respawning foes. Sometimes it’s easy and sometimes it’s hard. After some more testing I realize that the difficulty spikes are happening when the maze calls for vertical movement.

When I first envisioned this thing I was thinking about a game where you would fight your way down. I always liked that “deep underground” feel of Descent. I imagined the player would fight their way down most of the time, with little lateral shifts now and then just to keep things interesting. This gameplay concept would probably have worked fine in the day of 4:3 monitors, but now the world is filled with 16:9 (or in my case an oddball 16:10) screens. When I’m moving up and down, I can’t see nearly as far as when I move horizontally. I don’t have enough time to dodge projectiles and being shot by off-screen foes doesn’t feel nearly as exciting as fighting stuff you can see. It feels cheap. It feels like the game designer is exploiting my screen aspect ratio to gain an advantage over me.

And it’s not just that it’s hard. It’s also driving me away from fun gameplay. Instead of dogfighting with foes all around, I find myself moving down and just spamming projectiles into the off-screen void. Instead of flying around fast, I’m creeping along, taking a few steps at a time and then hosing the place down with bullets to make sure it’s safe to take a few more. The game is less interesting when moving up and down. Then I hit a horizontal section and it turns fun again.


Sure, I could just pull the camera back a bit or slow down projectiles so that there’s proper time and room to engage foes when moving vertically, but then horizontal movement will seem slow and dull. Worse, it basically means all the gameplay will take place in the square region in the center of the screen and the stuff on the sides ends up being wasted space. I’ll be designing a game for square displays.

There are a lot of ways I could fix this, but the most expedient way to get back to the gameplay I want is to just drop the idea of constant vertical fighting. So I design the level builder to create horizontal gamespace. You fight going right for some distance. Then there’s a “Breather” screen where you move down without too many foes around. Then you fight going left.


This looks kind of dull when you see the map like this, but in the thick of things it’s fine. The tunnels branch and twist enough that I can’t really “feel” the back-and-forth movement of the level.

The other thing that’s taking shape is the art style. Every few hours I get an idea and dabble with the sprites for a bit. I feel myself gravitating towards this idea where everything is done in black silhouette. (I know I mentioned Twisted Shadow Planet back in part 2, but it might be at this part of the project where I really settled on the idea. It’s hard to tell. I remember my programming decisions and thought processes a lot better than I remember my artistic decisions.) I try using lower resolution textures, experimenting with a faux 8-bit look:


And I try higher resolution versions of the same assets:


And as I expected, 8-bit is one of those styles that looks easy, but turns out to be really hard for the artistically inept. Someone with more skill could probably really make this giant pixel motif work, but not me. I’m leaning more and more towards crisp silhouettes with glowing lights. Although it’s kind of interesting to mix blocky lights with hi-res outlines.

This “glowing lights on black shapes” motif places some interesting limits on what I can do. What we seem to be heading for is a game where black outline shapes shoot glowing neon projectiles at each other. That’s pretty cool, but it means the background needs to be really muted. If it’s too dark then we can’t tell the projectiles from the bad guys. If it’s too bright then the projectiles will blend in with the background. And if it’s too colorful then some projectiles will be hard to see, and the rest won’t seem nearly as vibrant.

Having figured this out over the course of a couple of days, I’m reasonably comfortable settling on this as my art style. I didn’t start this project to make art, and even if it becomes a game someday it probably won’t be a game that stands on its art. Our standards for art right now are “not horrible”, and I think this idea can get us there.

In the long run, we probably want layered scenery. Perhaps a black silhouette foreground and a muted and blurry scrolling background. But I’m not going to muck around with the background just yet.

We’re using marching squares for our scenery. That means our gamespace is a grid of points that are either empty space or solid. A group of adjacent points forms a square, where each corner is either open or solid. There are fifteen possible combinations for these four points. I make a texture to represent all 15 possible patterns:


Putting it into the world, it looks like this:


Ignore the strange bright halo around my character. That’s a feature I’ll talk about in a couple of entries. Anyway, up close it looks like this:


It might not be good, but it’s definitely good enough.


From The Archives:

68 thoughts on “Project Good Robot 5: Taking Shape

  1. Carriage says:

    Shamus, a lot of your coding makes me think of Carmack but for art/human required work rather than stuff a machine has to do. You tend to come up with all these little tricks that brilliantly give you a lot for not much.

    Probably has something to do with you featuring him on this site a bit but still really cool

    1. Yeah, I put Shamus and Carmack in the same category – programmers who come up with tricks to achieve some kind of goal.
      It helps that they’re both graphics programmers.

      1. Humanoid says:

        I also put them in the same category: both are Spoiler Warning hosts.

  2. Stephen says:

    I don’t think I will ignore the bright halo. I think I’ll look straight at it and theorise that you’re doing some kind of visual-tracing thing like Nethack or Teleglitch, where the game shows you what you can see from your avatar’s current position by highlighting the area around you.

    Good idea :) .

    1. Piflik says:

      Some kind of Field of View/Fog of War. Enemies are only visible inside the bright area, or at least some enemies (so called stealth-NinjaPirateCyborgs)

    2. Volfram says:

      It looks like a map overlay(like Diablo) to me. I considered the “fog of war” theory, but the bottom of the circle is cut off too abruptly, and there’s no reason for the pinch in the middle to be so far away from the walls.

      It probably has LOS occlusion, but it looks way more like radar than vision to me.

      1. Paul Spooner says:

        Yep, it’s a scaled down render overlay. It let’s you “see” both near and far at the same time, with the disadvantage that the “far” vision is line-of-sight and monochromatic, while the “near” vision has both color and x-ray. I’m going to guess the “near” stuff is more like sonar, which can penetrate through solid objects, while the farther stuff is actually more like visible light vision, which is blocked by obstructions.

    3. Syal says:

      I think it’s a power-up. Any enemy that gets that close dies.

      Might be part of the “level transition” to stop previous enemies from following.

  3. Ryan says:

    “Barring a steady paycheck, I tend to code as a way of teaching myself how to solve coding problems.”

    Oh, how I wish you lived in the Maryland/Virginia/DC area as I do. I work as a programmer on a long-term DoD/Army contract and every day we deal with a staggering shortage of skilled, innovative problem-solving programmers. You could kill two birds with one stone, and that’s after having your pick of jobs (yes, even in this economy, because the skill is still highly prized).

    1. Joe says:

      I live in the same region, working for a different government agency (nasa), with the same problems. If it wasn’t for the high high high cost of living I’d second your recommendation to move down here but for someone in their mid 40s (happy belated, Shamus) with a family I don’t know if it’d be the right decision.

      1. Ryan says:

        Nasa, eh? I got a good buddy who works up at Goddard, as a programmer on one of the satellite robot arms projects. I mostly bounce between Ft. Meade & Ft. Belvoir, living closer to the former (I’m both military and a contractor, so dual-life is the norm for me).

        I agree the move might be tough, given age and family considerations, but I still see federal employers and contractors willing to pay moving expenses and more for hard-to-get employees, so you never know. At his demonstrated skill set, he could probably apply for my job right out from under me!

        And Shamus, seconded on the belated Life-the-universe-and-everything b-day wishes.

    2. Ithilanor says:

      Speaking as a computer science student with a broad base of knowledge and an interest in odd problems, I’m glad to hear this! I’ve heard that the DC area has a lot of opportunities in this field, I’m encouraged to hear more.

    3. Retsam says:

      Man, I don’t know if the U.S. Government is a great place to look for employment. I hear they have a fairly major turnover like every 4 years.

  4. Corpital says:

    There are missiles? Will they be laser missiles? I LOVE laser missiles. Just like I really like the way the textures look in the maze.
    Memories of Metroid2 immediately jumped up and shoved nostalgia goggles into my face, assisted by several other, albeit slower, memories. It’s nice.

    1. Volfram says:

      Yeah, I think the game’s artistic feel is near-complete at this point. Those last couple of screenshots LOOK like something I would want to play. $5 or $10 on Steam? I’d buy it.

      1. Daedalist says:

        +1 – I need one of those zero-commitment pick-em-up games for when I can’t be bothered engaging 100% with a game, and this already seems like fun. Put it somewhere I can pay for it Shamus!

  5. Zeta Kai says:

    So far, so great. I really like the black/neon color scheme; I was hoping that would be the way that you would go, as I thought it would be a perfect fit for the game-play as described/envisioned, so I was pleased with how it’s turning out. Now we just need a Daft Punk soundtrack…

    One suggestion for the level design. Perhaps you could make the horizontal sections have a more randomized length, so as to break up the grid-like map & make for a less predictable experience. A player who is used to the game would eventually anticipate the length of these sections if left as-is, which would make the game-play less engaging in the long run. Just a thought.

    1. Bubble181 says:

      Or that could be a gameplay design plan – have some parts be so hard you have to pretty much run/dash through without hopes of killing off all enemies. “Just one more screen and I’ll be safe in the elevator to the next level!” could work.

      Y’know, regular fighting left-to-right, running haphazardly right-to-left, and perhaps an occasional boss fight in a larger corridor or something :-)

  6. Piflik says:

    One idea to have vertical gameplay on widescreen monitors might be to simply spawn the enemies at the sides, so the vertical hazards would be the curving tunnel, while the horizontal space allows to spawn enemies far away for the player to react accordingly.

    1. Volfram says:

      That is a really clever idea, and I will need to keep it in mind in the future. I bet it would help the vertical movement issue a lot.

      I’m really impressed at how Shamus is able to gauge the fun of the game so readily. I would probably plow blindly through several stages before realizing that moving down wasn’t any fun.

  7. Piflik says:

    Would you mind going a bit more into detail regarding the terrain generation? Maybe not worth a complete post, though. I think I get the marching squares part, but how do you create the scalar-field? Specifically, how can you be sure that the scalar field has a continuous (and wide enough) path from beginning to the end?

    Reason I ask is that I am currently in the planning phase of a little roguelike (or not so little, considering how many features still creep into my document…), and I am just now looking into procedural maze generation…

  8. If it does get shipped as a game, maybe you could just tell people to turn their monitor on the side. That way you get the vertical descent, and you get the deeper view.

    Judging from the halo that we were told to ignore, it is some kind of sight finder for the enemies to see the player. I think for enemies to see the player, rather than the other way round, because the player bot would be able to see all round, but the angles from the edges are where enemies can see the player.

    1. Tizzy says:

      Turn the monitor on the side!? I doubt my laptop will like that. :-(

      1. Humanoid says:

        A cleverly positioned mirror might do the trick. Or just prompt people to tilt their head sideways when appropriate.

        Of course, the proper solution would be for Shamus to code in Oculus Rift support.

    2. Paul Spooner says:

      I’m kind of wondering why you can’t just rotate the whole view. Why does “down” in the world have to be “down” on the monitor? This is all plastered onto 3d elements anyway, right? Just give the player a movement bonus when going “sideways” (on the monitor) and then let them rotate the entire view. Descent did this, where you could orient yourself however you like. Should work in 2D a lot easier than 3D.

      1. Volfram says:

        This thought had occurred to me, as well, and the free rotation would make the game much more Descent-like.

        If it were my project, I would have at least tried it out. I think Shamus has a reason for why he hasn’t, though.

        …perhaps he’ll tell us what it is.

        1. Paul Spooner says:

          Hint hint, easy material for future posts, etc.

          1. Volfram says:

            So… apparently it’s the fact that the 6(at time of post) updates currently available represent LESS THAN 48 HOURS of real-world time passage since the beginning of [Not] Project Good Robot.

  9. Zukhramm says:

    That vertical layout of round rooms with horizontal passages between them looks very Metroid.

    The problem of monitor shape is an interesting one. Starcraft 2 runs in widescreen, with a giant chunk of the bottom of the screen hogged for UI. Wouldn’t it make sense to but that at the sides? I always found that weird.

    1. rofltehcat says:

      Maybe the main direction could also be diagonal? That way the descent would continue. If there are UI elements they could be placed in the corner not used most of the time.

      I also agree that the UI of strategy games is kinda bad.
      Let’s look at CoH2 for example: (note: camera angle is normally not as flat and the quest in the top-left is not there in multiplayer)
      It has lots of great new (for the series) UI features but they are all spaced in different corners of the screen, making viewing them all a pain unless you are a chameleon. The mini map is on the far bottom left, the resources are on mid bottom right, the event warnings are on the far left, the victory point all the way at the top of the screen and the most important one, the units list is hidden all the way up in the far top-right corner. You really want to see the units list and mini map at all times and have an easy look at the events list but you constantly have to check between top-right and bottom left. To make matters worse, the right side of the screen is blocked by a huge stop watch once a blizzard is approaching.
      It still keeps a huge and useless box in the bottom middle of the screen that only displays useless flavor text. I wish the UI were modable like the bars in MMOs.

      Overall, the UI elements at the bottom make the height of the screen even smaller. This can be desastrous when fighting because some units have a range of around 1.5 screen lengths and this can end up being 3 or 4 screen heights.

      1. Suburbanbanshee says:

        Yes, and the diagonal would be the longest bit of a rectangular screen anyway.

        Are you going to give a running score of how deep the player has gotten into the planet/hole/Moria mine, or how far they’ve traveled?

      2. Abnaxis says:

        I though the same thing, but there’s a problem with diagonal: Shamus is using wasd for movement. While it works for a joystick, diagonals kinda suck when your movement options are left, right, up, and down. (I know he mentioned moving on to joystick controllers later, but at this stage we’re limited to keyboard movement).

        It’s not unworkable, though. One solution to this subsequent problem that is very simple to implement would be to add gravity. The idea intrigues me, because it would stress the idea of going down more, but it might make things too hard.

        I wish I could go back in time and suggest this to past Shamus so he could try it and tell me how fun/not fun it is.

        1. Zukhramm says:

          For diagonals, you could instead of WASD use WESD or QWAS, aybe.

          1. postinternetsyndrome says:

            I think I would prefer something like AWEF in that case, QWAS and WESD are very close together. With AWEF you could have a finger on all the keys constantly.

        2. ehlijen says:

          He could just map wasd keys to diagonal movement as well. Would take some getting used to, of course, but nothing says w has to be vertically up and can’t be left-up.

  10. Bruno M. Torres says:

    I liked the neon walls. Why not using both? It’s a man-made complex built around underground caves. And you could make your enemies entirely polygonal and procedurally generated.

    No, wait: this make sense. Natural/8-bit versus man-made/polygonal. That sounds interesting.

  11. lazlo says:

    The whole “moving down” thing just means that this needs to be not a PC game, but one for phones and tablets.

    or PC’s with one of those nifty turn-able screens. :)

    Also: I think you have a typo there, when you talk about “glowing lights on back shapes”. I puzzled for a second at what a back shape would be, and how it would differ from a front shape before realizing that there was probably a missing “l” there. Like the signs I see around for garage sales that have clearly forgotten a “b”.

  12. Cybron says:

    I prefer the glowy neon, like the picture at the top. But then, I tend to favor abstract/gamey environments over natural ones in games that aren’t exploration oriented.

  13. MichaelG says:

    Typo: “If it's too dark then I we can't tell… ” I or We, I think.

  14. Warrax says:

    The blue-gradient, black background with the green sort of mossy-vegetation thing on the terrain actually looks really nice; “feels” a bit like looking at a mossy rock at dawn. It makes it feel like you are still close to the surface at this point.

    You could probably create the illusion of depth as the game progresses by changing that dynamic around a little at a time. The playing space could get progressively darker while the terrain gets more rocky/brighter earth-tones.

    Basically I guess I am saying that you could use light and color to create that illusion of increasing depth since you can’t do it with vertical movement.

    1. Paul Spooner says:

      Yeah, it’s really slick isn’t it?

      It would be really cool to do a gradual palate swap on the growths, slowly changing it from a deep mossy green near the “top” to a pale mushroom white, and then maybe even to some glowing alien purple. Could set the color based on time as well, to get pulsing growths. And then at that point you could transform the color coordinates to have waves of color washing over the walls. Could even make it like a corral reef, where the polyps retract when you get too close, which would make the color of the walls based on the position of the enemies as well as the player.

      Stuff gets complicated fast doesn’t it?

      1. Cuthalion says:

        Indeed. Glowing wall fixtures would be cool though, especially if they changed color, rate, or turned on and off in reaction to your presence.

        I concur with Warrax: the last couple screens look pretty snazzy.

  15. hk says:

    Watching it to the end now: The enemies were not all Russian. Not even most of them were. Only the close ‘core’ of Mathias’ gang were Russian. You can even hear some of the others talk about them as “Those Russians who are close to Mathias”.

    In fact there are only 4 Russians in the game, the 4 brothers. Vlad who tries to “rape” you, Dimitry the guy you shoot in the back when you save Sam the first time, the guy behind the big turret machinegun who you shoot with the grenade launcher, and Boris the big guy you fight on the ship.

    1. aldowyn says:

      Hey, I think you meant to post this on the SW finale, right?

      In any case: Yeah, you’re totally right. A lot of the cultists or whatever you want to call them refer to the “Russians”, clearly in reference to another group (or subgroup, at least)

  16. Paul Spooner says:

    The other direction you could (have) go(ne) with the visuals is leave the terrain and the foes solid black, and have the enemies hiding halfway buried in the walls. When you get close enough (or when you get within line of sight?) they activate, turn on their lights, and start shooting you. Maybe some of them wait until you start moving away before activating, leading to ambush behavior. Maybe some of them never activate at all, and you have to pick them out visually from the terrain if you want the tasty goodies inside. Maybe some of them just want to be your friend.

    1. Cuthalion says:

      Oooo, that would be another neat approach.

    2. postinternetsyndrome says:

      Ah slick. Also meshes well with my own thoughts below. (Should have read the comments before posting, of course…)

  17. Van Tuber says:

    The halo is obviously the range for the death blossom.

  18. Phantos says:

    This is looking more and more fun the more you talk about it and show it off.

    If it ever did come to retail, you don’t necessarily have to have a goal or an end-game victory condition. You could just make it one of those things where there is no end-condition and you just survive as long as you can against increasingly more challenging situations.

  19. Sabredance (MatthewH) says:

    This is reminding me more and more of Thexder.

    I was always a bigger fan of Sylpheed. This may not be making me excited for the current schmup -but it’s making me nostalgic for the old ones.

    I think I have a DosBox version of Sylpheed lying around here somewhere…

  20. Stephen says:

    I can see a market for this as an infinitely-long game. No end boss or finite series of levels, just a ton of procedurally generated levels with enemies growing ever stronger the deeper you get. You could even use the level number as a metric for determining how hard the game should be.

    1. Paul Spooner says:

      Ooh ooh! Make it generate both forwards and backwards (deeper and shallower) and allow the player to choose what level they start at. Then you get the delicious choice between diving deeper and deeper with an ever increasing challenge, or surfacing through ever easier and easier opposition.

      I suppose there would have to be a set of “negative depth levels” as well then, where you meet with more and more “good robot” characters. Maybe introduce some constructive elements? Allow the player’s actions to shift the zero-point based on how they conduct combat or construction? So many options!

  21. Bear says:

    A question on your texture grid, perhaps…

    What would be the work load / payout ratio on adding multiple textures with a rough probability ranking. Kind of like having each boarder possibility (well, except the “no boarder” square) with a Common, uncommon, rare and OMG-Freaky-rare version to mix up the textures.

    To define: work load / payout: I’m not a learned programer… this request might be simple but daunting, like “Hey, lets paint the Eifel Tower red today.” Also including; would you even notice a such a small difference in the tiles as you wiz by them? It’s hard to tell, with the current builds, how far out you would be viewing the world.


    1. Piflik says:

      That wouldn’t be really much harder than it currently is. You could either make different texture-sheets, one for each ‘probability-level’, all with the same layout (i.e. the same type of tile is in the same spot) and then use a RNG to determine which sheet to use, or pack all these sheets on one texture, and compute an offset with a RNG.

      1. WJS says:

        You’d also need to either store which variant is present for each tile, or make sure your RNG was deterministic (RAM vs. CPU tradeoff). I’m imagining the game picking a new variant each frame, and it doesn’t look pretty.

  22. Ranneko says:

    The other way to deal with vertical movement would be to have the camera rotate. But that would probably either require more complicated controls, or a lot more work ensuring it only rotated in a way that felt good.

  23. Jarenth says:

    I think that ‘when emergent gameplay and previous design clash, go with the option that’s actually proven to be fun’ is a lesson that many other game developers could stand to learn sometimes.

    I personally actually like your faux 8-bit dudes a little better, especially when combined with the faux 8-bit terrain sprite sheet. But then again I haven’t seen them in action yet. Does the crisper look translate to better visuals in movement?

    1. Shamus says:

      The problem with the 8-bit stuff was that I didn’t quite have the skill to give the characters personality. I don’t want to get into it too much, since the next post talks a lot about it. You might be right that 8-bit is better, but I wasn’t seeing how I could make it work.

      1. Volfram says:

        I personally like the larger sprites better. The pixelly ones were very blocky and heavy, and yeah, didn’t have a lot of personality. The higher-resolution ones are able to have more fine details, and it makes them look lighter. Your new ship looks more aggressive, too.

        Does it spin?

  24. Radagast says:

    Shamus, some of the screenshots have reminded me of Laser Chess. Which makes me ask… have you considered having the odd Mirror surface on your scenery, and lasers can bounce off them?

  25. Cuthalion says:

    This series in general has good timing. I’m working on a 2d isometric engine right now, finally (except for a couple minor glitches) got collisions and movement right, and am now trying to figure out clipping… without having a background in higher math or formal computer science… or the ability to use libraries that aren’t free for commercial use. I’m probably doing a lot of things “wrong”, but the challenges that come from trying to figure out tricks that can work within my limitations has been rewarding. This series hasn’t really discussed much that I’ve run into yet, but the fact that it’s 2d this time around makes it really interesting.

    1. Abnaxis says:

      That sounds interesting. Is your engine designed for multi-tiered isometric level design (i.e., multiple heights) or does all the action take place on single plane?

      It’s funny, I always thought making stuff like clipping easy was one of the big advantages of a fixed angle like that. Since you’re using free libraries, does that mean your engine is also free?

  26. postinternetsyndrome says:

    Sorry for not reading all the comments and potentially missing if someone has already said this, but I found the style pre-texturing as shown here to be more appealing than the textured variant. It puts me in mind of Mark of the Ninja.

    If a silhouette motif is your goal, that one’s much more clean and distinctive.

    Just a thought of course. Liking this series a lot so far!

  27. In the long run, we probably want layered scenery. Perhaps a black silhouette foreground and a muted and blurry scrolling background. But I'm not going to muck around with the background just yet.

    A limited range grey with maybe varying blueish/purplish/greenish/yellowish/orangeish/redish/whateverish tint? Thus the background “hue” changes a little as you get deeper.

    Also the background should have a slight parallax (I assume it’s the back cave wall?) slower than the black silhouette, the background should probably have some slight rocklike texture on it.

    Some form of light cast from the player vehicle might be nice, and various upgrades (or powerups) will allow light area to increase.

    And to add more to the atmosphere, luminescent moss or stalagmite/stalactites might appear on certain levels.

    Stuff like small glowing creatures or “dust” particles as well in other levels (I assume one level is each horizontal “band” in the huge map image above.

    In the floor on some levels you could even have a blueish gradient filler nestled in-between some black floor spikes/outcroppings creating what might be assumed to be small underground lakes/pools of water.

    In some levels/areas there might be a greenish cloud of sorts, maybe acidic gas?

    In other places there might be a grey/white “mist” or steaming water obscuring/reducing the view.

    Maybe at some points there might be something that look like brighter rock structures, traces of an old underground civilization now long gone?

    Maybe it would be possible to “land” the ship in a few rare places (every x levels) to do repairs/upgrades ?

    All this will make you wonder what the hell you will find/see when you finally reach the end.

    I’m assuming a lot of these ideas have been on your mind at some point, but I’m hoping a few have not been.
    Most of these should be relatively easy to do, it’s just time that is the mind-killer here.

    Oh and I guess we can expect some Kevin MacLoud “bit” music as part of the soundtrack?

    Alternatively you are free to use some of my stuff, my “Game Over” album in particular has a lot of tracks made for games (that I made music for) that never saw the light of day the sound is a tad oldschool on them.
    But there are two more albums here also

    They are all under a Creative Commons license for non-commercial use, so if you like any feel free to use it.

    And as I’ve said before here, loving this series of posts.

    1. JoshR says:

      You should email the link to Shamus, it sounds really good

  28. Michael Pohoreski says:

    > I'm thinking there's probably a really limited market for games where you fight the same enemy forever for no reason, where you can't lose, you have no goal, there's no score, and nowhere to go

    That’s because you’re forgetting the fundamental rule of game design:

    “What is the player’s motivation??”

    Is it exploration? Is it Destruction (blowing shit up)? Is it Navigation? Is it Strategy? Is it Tactics? etc.

    Risk without reward is boring. Give the player rewards for further exploring. The traditional “solution” is power-ups. Players want “power” is a “good enough” motivation.

  29. Roxor says:

    I was rereading this and I had an idea about an alternate approach to the problem of getting hit too easily when going vertically, and dialling things back for that making horizontal parts boring.

    Make it asymmetrical. Scale the values for things like speed and range according to the screen ratio. The end result would be that they move faster in the screen’s larger dimension, giving the player the same amount of time to react no matter which way they’re going.

    Maybe it’s not something for the game as it turned out, but something to consider for future projects. Who knows? Maybe it might work for some game out there?

    1. WJS says:

      I don’t think I like the sound of that. That kind of mechanical anisotropy sounds really confusing.

Thanks for joining the discussion. Be nice, don't post angry, and enjoy yourself. This is supposed to be fun. Your email address will not be published. Required fields are marked*

You can enclose spoilers in <strike> tags like so:
<strike>Darth Vader is Luke's father!</strike>

You can make things italics like this:
Can you imagine having Darth Vader as your <i>father</i>?

You can make things bold like this:
I'm <b>very</b> glad Darth Vader isn't my father.

You can make links like this:
I'm reading about <a href="">Darth Vader</a> on Wikipedia!

You can quote someone like this:
Darth Vader said <blockquote>Luke, I am your father.</blockquote>

Leave a Reply

Your email address will not be published.