Project Good Robot 25: Reader Questions

By Shamus
on Oct 21, 2013
Filed under:
Good Robot

I’ll never be able to do this. I’m wasting my time. It was stupid to even begin this project. It’s too big for me. It’s too hard. What if people don’t like it? What if nobody buys it? What if I can’t even finish it? What if the game just erases people’s hard drives?

Hey Shamus, you could always finish that book you started!

Ok, so let’s make a videogame.

At this point in the project, there’s not a lot to talk about. Sure, I’m DOING a lot of things, but it’s all fussy polishing, balancing, debugging, and code-cleaning. My change list looks like this:

Made the placeholder graphic do the same job in 1/10th the lines of code. 2 hours ago
New game begins with smartbomb NOT ready. 2 hours ago
Adjusted the level file to put the new story points in their proper place. 2 hours ago
Updated the upgrade menu to reflect the change from missiles to smartbombs. 2 hours ago
Ajdusted vertical text display to be less cramped. 4 hours ago
Make smartbombs explosion larger, more benefit from leveling the skill. 4 hours ago
Version 0.4.0 - Code cleanup. 4 hours ago
Hud message for when smartbomb is ready to fire. 5 hours ago
Many small balance changes to how smartbombs perform. 5 hours ago
Moved the level up tooltips to the message file. 9 hours ago
Added frame counter to hud. 9 hours ago
Activate key will skip story text, and if pressed again will close dialog. 10 hours ago
Particles drawn behind level geometry. Looks much nicer. 10 hours ago
Robots will shoot player if they are visible on-screen. 10 hours ago
Energy no longer replenishes while charging a shot. 10 hours ago
Added new control module to unify inputs and simplify code. 10 hours ago
Restored storybox functionality and added Rutskarn's text. 11 hours ago
Fixed size & positioning of graphic window in storybox. 13 hours ago
Re-enabled story boxes. Made the teletype printing compatible with GCC. 13 hours ago
Added message system to load player-facing text from an external file. 13 hours ago
Added env variable to scale player explosions. 3 days ago

For the curious, these are specific changes submitted to source control. The idea is that the programmer has a whole bunch of files that hold all the source code. (Over 100, in my case.) You can, if you’re crazy, just make changes all over the place without tracking or documenting your changes, but this eventually leads to chaos and confusion. You have no way of tracking what you’ve done or when, and if you’re trying to work on the same project with another programmer it’s going to be madness.

Have you ever wanted to be trapped in a dark tunnel with hundreds of robots who are trying to kill you? Me neither!

When you’re using source control, you’re usually expected (or at least, advised) to make discrete periodic changes instead of continuous tiny ones. So I’ll add a feature where the Doom marine can shoot a barrel to make it explode. Then I submit that change with a brief description of what I did, and source control notes the difference between the old files and the new ones. When another programmer comes along in the morning, they can see a list of the files I changed, what lines of code where changed, my description, and when I submitted the changes.

The changes I listed above are all gradual and evolutionary, not radical and transformative. No major technology headaches. No misadventures. No stories of strange crash bugs. I’m releasing builds to my testers about once a week-ish, gathering up their feedback, and then making changes to the game based on that feedback. Once in a while I have a little freak-out of self doubt, but other than that it all feels very steady and predictable. This is the closest I’ve been to having a day-job routine since I went “indie” a few years ago.

So to keep this series going, let’s go back to part 19 when I asked everyone what they wanted to know about the game.

Karthik asks:

Shamus, how do you intend to structure the game? Are subsequent levels meant to be geographically linked? I mean either depth-wise spelunking, like in roguelikes, or “laterally” linked areas, like in many shmups. Or are they areas linked only by some thin narrative thread, like in many platformers? (“Here’s your lava level!”)

Or do you a hub-and-spoke structure in mind, like in some metroidvania games?

Also, you’ve written about providing some narrative context to the levels. I’m eager to see how you go about it.

For those who joined recently, I answered the first part of this question in part 20. But the short version is that the world is basically a long tunnel running from the entry screen to the final boss fight. Most travel is horizontal, with the occasional downward shaft. Yes, the game does the bog-standard ice/jungle/lava level thing.

I’d LOVE to do some kind of Metroidvania game. That sort of thing is where my heart is, gameplay-wise. But I kind of want to try something less ambitious before I reach for the stars like that. Even working in 2D, a game like that could take a lot of time to prototype and balance, and I don’t think I want to take on a challenge like that for my first commercial project. If this game yields some kind of reasonable return, then I can look to doing something more complex.


The narrative will, basically, be provided via little text popups. Click on a thing, get a dialog that gives you some sort of context and also makes jokes about the crazed robots you’re fighting. Rutskarn is doing most of the heavy lifting when it comes to writing, and I’m just sneaking in the occasional joke here and there. If the player doesn’t care, they can click past the text and get back to the shooting without hassle. I want to allow the player to enjoy the boxes, but I don’t want them to see them as an unwelcome break in flow.

HiEv (and a lot of other peopled) asked:

Have you considered limiting the number of powerups you can have at one time?

I’ve thought about it. The problem is: What happens when you hit the limit?

The player is going to be really pissed if they can’t pick up a favorite powerup because they have a crappy (to them) one. Then players will treat unpopular powerups like a punishment. “Nooo! I accidentally picked up the Air Freshener and now if I find the Nuclear Minigun I won’t be able to pick it up. Shit!”

That’s no good.

We could make the player drop the oldest powerup when they pick up a new one, but then if they accidentally bump into an unwanted powerup they will have to fuss around, picking up the most recently dropped until they get rid of the one they don’t want. That sounds… tedious.

Or we can add some stupid interface screen to let the player pick which ones to equip, and which ones to drop. (Or carry?)

Except, that’s a massive, massive job. We’re talking about an inventory screen that lets you click-and-drag, select things, will show you tooltips so you can see what all this stuff is, and is useful and usable using both a mouse and a controller. You could spend days on something like that.

And when it’s over, the player will have some fussy little inventory juggling to do. It will break the flow of the game and I don’t think it would make the game more fun to play. At least, I don’t think it will justify the time cost.

I’m not sure what was going on here but I’m pretty sure I wasn’t about to win the game.

If this was a game where you had Borderlands-style drops of randomized loot to equip, then an equipment screen would be worth it. But I think equipping powerups would be this worst-of-both-worlds thing where the inventory is complicated enough to break the flow of the gameplay but not interesting enough to be fun in itself.

I could be wrong, but that’s what my instincts are telling me.

I can’t remember who asked, or where, but I’ve seen the question asked a few times:

Have you considered making the game “roguelike”, with perma-death?

I think an optional perma-death mode is going in for sure. The game seems to lend itself well to this sort of thing. When complete, a full play-through of the game ought to take less than three hours. There’s an “emergency teleport” powerup in the game that will teleport you to safety if you’re about to die. (It’s single-use, like the amulet of life-saving in Nethack.) The game is designed to be played a few times and experiment with different builds and powerup combinations, and a perma-death mode seems like a natural way to offer some additional challenge for people who are into that.

So that’s where the project is right now.

Ask more questions!

Enjoyed this post? Please share!

2020202016There are now 96 comments. Almost a hundred!

From the Archives:

  1. Corpital says:

    I wonder how many videogames got made, because someone didn’t want to finish a book. A good question to ask about quite a lot of things actually.

    Anyway, real question, even though I’m pretty sure it was already asked and answered, but my poisoned old brain is unable to remember:

    Will there be highscores? Total collected XP or something separate that includes, I don’t know, points for less time needed to complete the game, more points for multikills or rocketkills?
    What about some kind of global list, where the players can upload their results?

  2. Olly says:

    I remember some comments and queries around powerups a while back and concerns around how to ensure players can avoid getting a series of (what they consider) poor options. Not sure if this was ever resolved but your post has reminded me of the 2 cents I wanted to throw into the mix.

    Have you considered providing the player a choice of power-ups each time they would otherwise receive one? So, for example, a player beats the first boss and is presented with 3 randomised power-ups floating in the wreckage. As the player collects one of these, the others disappear. In this way the player has some control over the power-ups they can obtain throughout the game, allowing them to more easily test out different strategies and builds whilst also helping remove the “OMG the game keeps giving me sucky powerups, I quit!” scenario.

    • Volfram says:

      I remember that conversation, and I remember not speaking up because I thought they were all really bad ideas that would make the game worse. Every last one of the ideas was unoriginal, and something that I remembered hating about another game I’d played. I assumed Shamus would think the same thing, so I didn’t say anything.

      I’m glad my assumption appeared to be correct. And that Shamus was able to say it in a much less abrasive way than I ever could.

      I like the system he described, exactly as he described it, and I don’t want to see any changes.

      • WJS says:

        Wow, that’s pretty harsh. I can get it not being your preference, but “sucks and makes the game worse”? It seems OK to me. You could even reduce the number of choices at higher difficulty levels (although the cost of writing it is obviously not comparable to “if(Game.Difficulty == DIFFICULTY_HARD) Robots.Damage *= 1.5;”
        (Which, being an example I knocked out in under a minute, is obviously going to be way less sophisticated than what the game actually uses)

  3. Cuthalion says:

    So, tell us about these smartbombs…
    (…and how we may use them wisely. Also, why the change from missiles?)

  4. Yerushalmi says:

    Why is the scoring in tennis so weird?

    Oh, you mean questions about the game.

    If you do want to make a “power up limit screen”, it should be easier than you describe for the following reasons:

    1) Every time the limit screen pops up, it will show you exactly the same number of power-ups. If you limit the player to five power-ups, then you will never see the power up limit screen with anything more or less than six symbols on it. That simplifies layout.
    2) Since you will always drop a power-up when you’ve picked one up, you only need to drop one power-up at any given time. So you don’t need fancy tooltips or selection schemes – just ask the player “Which power-up do you want to drop?” and have them select a single one. Put the power-up back on the field of play, so the player can go back and get it if they dropped the wrong one, and to avoid accumulating two dozen power-ups you can’t or don’t want to use.
    3) If you want to simplify things even further, and avoid trouble with touchscreen vs. keyboard vs. mouse selection/hovering problems, the name of the power-up shouldn’t appear in a tooltip or anything. When you select the power-up you want to drop, it pops up the window “Drop your Air Freshener?” with yes/no buttons. This would, of course, necessitate having a different (and relatively intuitive) symbol representing each power-up so the player isn’t picking at random every time, but you may already have that for when you pick up the power-ups in the first place.

    Now, obviously it’s still a lot of code to implement this, but it doesn’t need to be nearly as flexible as the inventory screen you described.

    • Soylent Dave says:

      Why is the scoring in tennis so weird?

      Because, before we used digital scoreboards, they used a clock face to keep score.

      • Really? That’s oddly cool. OK, so let’s see, one person would be the big hand and the other person would be the little hand? And so, like, fifteen love would be represented by either 3 o’clock or 12:15, 30 love would be like 6 o’clock or 12:30, and you can’t go to 60 so you have to have some kind of stalling tactic . . . It mostly makes sense!
        But why 40 instead of 45?

        • Abnaxis says:

          According to wiki, the clock theory holds that the third point is forty because when scoring a deuce game that leaves the fifty minute mark for advantage and finally the sixty minute mark for a win.

          Tennis scoring used to bug the ever-loving crap out of me when I was on the team in high school. Thank goodness for wiki…

    • Zak McKracken says:

      I think similarly although Shamus’ argument about tooltips is relevant: In order to make a meaningful decision, the player needs to know a little more precisely what the items do, so there must be some explanation to that effect, or the player won’t know which item is more useful, just imagine the following choice without explanation:
      Air freshener: Allows you to operate for 30 seconds in polluted environment
      Nuke: Destroys all non-nuke-safe enemies in sight and damages you for 80% of maximum energy

      I’d think, though, that that should be possible using a static text box beneath each item.

      The thing that Shamus had in mind, I think, is probably something involving inventory management, where you have inactive slots and can swap items between active and inactive. There are games I like which do that, but it changes the whole thing from just a shooter to a shooter where you have to do the numbers in you head and swap weapons for every new wave of enemies. It adds a new layer of tactics but it interrupts gameplay very often. Now that is something where I completely understand that Shamus wouldn’t want to have it.

      A short and simple “which one do you throw away?” dialogue doesn’t seem so problematic to me. Would also serve as a reminder to the player what they just picked up, and might increase the amount of choices a bit, regarding leveling up and which powers to improve.

      • Phill says:

        A short and simple “which one do you throw away?” dialogue doesn’t seem so problematic to me.

        For the benefit of anyone who has never done any user interface programming, the first rule of UI club is this: Even the simplest task of getting information from the user is much, much more problematic and time consuming than you might imagine, and can break in a huge variety of entertaining ways.

        • Corpital says:

          I agree as hard as I can. After all we don’t want the next post to begin with “I’ll never be able to do this. I’m wasting my time. It was stupid to even begin writing this book. It’s too big for me. It’s too hard. What if people don’t like it? What if nobody buys it? What if I can’t even finish it? What if the book just erases people’s memories?

          Hey Shamus, you could always code that UI for the power ups!

          Ok, so let’s finish the book.”

        • Zak McKracken says:

          Have never coded a UI, but probably will soon. Not in a game, though.

          I don’t really know how complicated and error-prone such a simple “choose what to drop” dialogue would be, but wouldn’t it just be displaying a number of choices whenever you pick up more than you can carry, and see where the user clicks? Seeing what the user clicks on is large part of the rest of the game, so…

          Yeah, it may be a hassle, and nevermind if it’s in the final game, but it must be possible to make it simpler than what Shamus describes in the article.
          After all, he’s giving the player choice on level-ups regarding which properties to improve, so a very similar thing should be possible regarding which power-ups to keep.

          The more important point might be what it does to gameplay, and that would at least require some thought and testing.

          • MrGuy says:

            Just to give a flavor of the “why it’s harder than you expect” part here…

            Let’s say you’re in the middle of a battle. You’re pointing and clicking all over the screen. As part of dodging a missile, you bump into a powerup. The dialogue of “which powerup do you want to keep?” pops up. And immediately disappears, because just as it popped up, the user clicked, intending to fire a shot, but (because the cursor was over the popup) actually selecting to change powerups to whatever was under the cursor. Now they may have dropped their key powerup. Oh, and also, their shot didn’t happen because we interpreted the mouse click as “select a powerup” and not “fire a shot,” so maybe they failed to kill the enemy. Now they’re mad at your “stupid popup” in two ways.

            Let’s say we solve the problem above somehow. Maybe we require a specific keyboard key (that’s not used elsewhere) to select a powerup, so the disappearing menu doesn’t happen (let’s ignore how this breaks non-keyboard interfaces for a moment). No more accidental selections. But now we have a different problem. Again, mid-fight, Good Robot flies into a powerup. Now the menu petulantly appears, and pauses the game (breaking flow) until dismissed. Fine – I hit “u” to close the menu and leave the new powerup alone. Back to combat! I circle and circle and…gorram it, I bumped into the powerup again and that dang menu popped up again.

            Both of these problems (and dozens of their friends) are solvable. But they require THOUGHT to solve. To agree very hard with Phill, they’re among the many reasons why this is “harder than you’d think.”

            • Alexander The 1st says:

              And neither of those are technical issues, like what to do if the player happens to touch two powerups at the same time.

              Either there are now two windows side-by-side, or right on top of each other, or perhaps only the latter pickup counts…or Josh happens.

              You’d think UI programming would be easy – then you realise you’re programming for humans.

            • WJS says:

              Well, the obvious solution to me would be to only allow picking up powerups out of combat. Regardless of whether that works with the games pacing, Shamus must have already solved these problems for the case where you pick up XP and gain a level. And he already has code for displaying UI elements.
              Sure, building a GUI from whole cloth is a horribly complicated thing, but adding a new element to an existing one should be an order of magnitude simpler, possibly even trivial depending on how robust your existing code is.

      • Disc says:

        You could avoid that with being only able to change around in specific spots in the game. The flowbreak could be avoided by either integrating via some smart gameplay mechanic or just by shoving the inventory screen to the game menu (or whatever precedes actual gameplay) where you can pick the ones you want to use. This could then work out with some generic collectible power-ups or something that gradually power up your upgrades etc. The upgrades themselves could be drops that would unlock permanently once you first get them. The cycling idea by Cybron below could also go along with this, if you’d still rather keep the option to be able to switch on the fly. It may not be the most ideal way, but it could at least be a compromise of sorts.

        • Syal says:

          Related to this, how does leveling up work? Do the upgrades only get applied at the end of levels?

          • Disc says:

            Uh yeah.. guess it figures my brain was just not up to the task writing that crap. Upgrades=power ups in regards to my post. Think I got a bit lost in my thoughts, because reading it now just feels bizarre. Sorry. (Overthinking, it’s just never good. Wish I had a switch so I could just shut my stupid brain off every now and then.)

            To clarify:

            Generic collectible power-up = doohickey that lets you activate one of your power ups. I think the idea was that you could activate your powerups in a linear fashion, but I feel this is getting way ahead.

            And moving on: That’s a good question.

        • Hmmm . . . OK, personally I’m fine with Shamus just going “Heck with it, you can have them ALLLLL and go hog wild!”

          But if you were going to do something about it, how about this:
          –Until you’re full, when you hit a powerup you just get it and it starts working right then.
          –Once you’re full, when you hit a powerup it goes into your inventory-ish but does not activate. Maybe a message blinks telling you so. There is one anyway saying “You just got Nuke Everything”, or something, so then it could instead say “Nuke Everything now in your inventory” to convey that it ain’t gonna actually be doing anything.
          –Neither of these behaviours interrupt the game.
          –If you so desire, there is a control that lets you pop up a “fiddle with powerups” thing so you can swap which ones are active. But that only happens when you tell it to. You can pop it up before you’re full but then it’ll just show you what you’ve got and maybe how many slots you have open.
          –Maybe like in Starcraft, the “fiddle with things” screen and the “pause” control are the same thing, so you don’t need extra commands. Bringing up that screen pauses the game, pausing brings up that screen.

          Thus you have something that will limit your powerups and let you meddle with them, but will not interrupt gameplay much. And which, I don’t know about these things, but might possibly reduce the amount of “The player-input UI thing interacting badly with gameplay” complicating the interface programming.

          Come to that, one game option for controlling difficulty might allow you to adjust how many powerups you can have active. Like, only a few, or a good portion of them, or ALL THERE ARE MUA HA HA DIE PUNY MORTAL ROBOTS. Or even none if you want to go all Tungsten Man (You’re a robot, you’re already iron) and get by on levelling alone.

    • Mephane says:

      You would also need sixth option on that screen, which shows the new powerup and obviously means “don’t take the new one”. But I think all of this would still break the flow of the game. You happen to fly over a powerup and the game is halted until you decide which one to forfeit. And no way should this come with an “are you sure” dialog on top of it.

    • Hitchmeister says:

      I can answer question zero: Because it’s French.

      • Zak McKracken says:

        Oh? I thought it was because it’s English?

        You know? The people who invented cricket, and rugby, and … a few other things that luckily weren’t so successful … England, home of very deliberate-looking rules.

        Oh, and non-decimalised currency until 1971, and still widespread use of imperial units … there must be something that makes people want to make counting stuff more complicated than need be.

        • Tizzy says:

          From a footnote in Good Omens by Terry Pratchett and Neil Gaiman:

          “note to Young People and Americans: Two Farthings = One Ha’penny. Two Ha’pennies = One Penny. Three Pennies = A Thrupenny Bit. Two Thrupences = A Sixpence. Two Sixpences = One Shilling, or Bob. Two Bob = A Florin. One Florin and One Sixpence = Half a Crown. Four Half Crowns = Ten Bob Note. Two Ten Bob Notes = One Pound (or 240 pennies). One Pound and One Shilling = One Guinea.

          “The British resisted decimalized currency for a long time because they thought it was too complicated.”

          • Chargone says:

            Ignore the half crown and guinea and it makes perfect sense. Everything else is either number-unit or ‘two of the previous one’. Each step’s pretty simple. (Half crowns are an attempt to divide 10 by 4 which leaves me wondering why they bothered when a crown is a 1/4 pound anyway… except… there’s no such thing as a whole crown? What? really? *facepalms*) pretty sure the guinea had something to do with the value of gold, too (everything else being derived from the silver shilling) though i could be remembering incorrectly.

            So, i suppose decimals would make 1/2 and 1/4 values, which would be the norm under such a system, tricky. And the non decimal system handles 1/3rds better too, i think…

            Decimal’s a hell of a lot easier to keep track of, but probably renders a number of such common and simple calculations somewhat harder to do in one’s head. So i can somewhat see where that’s coming from…

            Doesn’t make it any less silly in the age of the pocket calculator (or, more commonly these days, smart phone and/or spreadsheet.)

            • WJS says:

              Yeah, “improved factorisation” is a perfectly legitimate reason to resist decimalisation. 360° in a circle may not be decimal, but it has more varied factors than 400 grads does.

    • Tizzy says:

      Ultimately, I would trust the play-testers on this one: they should be able to tell if limited power-ups is worth trying, with all the extra coding work that it entails, or if it would break the flow of the game.

      Also: even if designing such a screen is straightforward (i.e., ignoring the aesthetics factors, interface choices, etc.), it doesn’t mean it isn’t long hours of boring work.

  5. MrGuy says:

    And when it’s over, the player will have some fussy little inventory juggling to do. It will break the flow of the game and I don’t think it would make the game more fun to play. At least, I don’t think it will justify the time cost.

    It’s like you’ve watched Josh play Fallout 3 or something…

  6. MrGuy says:

    So, an actual question about the game…

    I seem to recall one of the things you wanted to do with Good Robot that you hadn’t done before is write something where you’d need to worry about having a story of some kind. I’d like to know a little about how the plot of the game is developing.

    What’s the goal of the game (other than “shoot the other robots and make them die”)? And what makes the Good Robot good and the Bad Robots bad?

  7. Vipermagi says:

    Backseat game-design go.

    “We could make the player drop the oldest powerup when they pick up a new one, but then if they accidentally bump into an unwanted powerup they will have to fuss around, picking up the most recently dropped until they get rid of the one they don’t want. That sounds… tedious.

    Or we can add some stupid interface screen to let the player pick which ones to equip, and which ones to drop. (Or carry?)”

    Something (visually, at least) more simple and less fussy than an inventory screen would be binding the ‘powerup slots’ to function keys, numpad, 1-0 or whatever. Click the slot, jettison the powerup.
    Or allow the player to stack every powerup. That also works.

    • Volfram says:

      I like the “Allow the player to stack every powerup” idea. Can we go with that?

      • Trix2000 says:

        I’m inclined to think this is the best option, and instead increasing difficulty to compensate. Maybe have it spawn more and different enemies depending on how many you have? I feel like it might need to do this on the fly, though – taking into account when the player loses them to something like dying (assuming that’s still a thing).

        Just seems like it’d be more fun to be that much more powerful, destroying mook robots by the dozen (though hopefully not so much as to turn it into bullet hell… maybe).

      • ET says:

        If powerups are time-limited, like in many SHMUPs, stacking them would be an easy way to do it.
        I mean, they’d all wear off eventually, so the only real work would be, in making all the icons show up on the screen in a not-overly-cluttered way.

        • Volfram says:

          Why is it that everyone’s reaction to Shamus presenting a unique system that I haven’t really seen in any games before is to give suggestions to make it less fun for the player?

          Where is this fixation coming from that players should somehow have limits to their powers? That’s the same kind of thinking that produces upgrades that increase in cost the higher you level them, and we already know what Shamus’s opinion on THAT is.

          • Abnaxis says:

            I think it’s a matter of player agency.

            As the system stands, players are completely at the mercy of the RNG to give them their power-ups. It will give or it will take away as it deems fit, and players have no say in what power-ups they get beyond not-dying to avoid losing them. Moreover, the impression given is that it will be possible to get all of the power-ups, which means every fully-powered good robot will be indistinguishable from his neighbor.

            The system goes against the grain of the leveling system, which has been deliberately designed to let players customize their robot to their play-style. Mind, I’ve not seen the system in action, but on paper it lumps together the randomness of roguelikes with the mediocrity of of a leveling system that reduces diversity by letting everyone unlock everything.

            All that said, it probably would be fun to just amass all the power-ups to become a floating death machine, and the system presented does give an interesting incentive to avoid dying. However, like any design decision it going to have pros and cons, and some people are just going to prefer the pros and cons of an alternative instead.

            • Volfram says:

              Restricting or expiring how many powerups you can have at a time doesn’t put you any less at the mercy of the RNG. In fact, having powerups expire after a time limit puts you MORE at the limit of the RNG, because now you’re counting on your favorite powerups occurring just when you need them, instead of “some time since I started playing this game.” Having played a couple of games where this happens, I personally hated them.

              • Abnaxis says:

                That depends, on how what is balanced where.

                If players have a set limit on what power-ups are needed, you can increase the drop rate. That means players who want a specific power-up can get what they want faster, at the cost of not being able to get every power-up.

                Also, I am approaching this with an implicit assumption that there’s no single power-up that will ever be strictly necessary or massively overpowering to the point that it’s “needed” to proceed. Otherwise that would suck too much to lose them and be stuck at a brick wall of difficulty.

                The power-ups would certainly have different strengths and weaknesses for different situations (bouncing/piercing good for clearing many weak enemies, shotgun for clearing large tough enemy, etc), but my understanding is they’re balanced to all be useful somewhere. For my part, I would probably pick the ones that reinforce my character against enemies that give me trouble and make due against stuff my power-ups aren’t tailored for.

              • WJS says:

                Sure, making them time-limited seems a bit too “standard”. But you’ve been bitching and whining about the idea of any restrictions on what powerups you can use.

  8. Josef says:

    With roguelike/permadeath mode, there could be some infinite story-less challenge mode that gets harder and harder until the player dies. Any plans on somethong like that?

  9. Septyn says:

    I’ll go with your instincts as far as no powerup inventory screen, but if you did decide to move in that direction it could be as simple as the Windows alt-tab interface. Open it, cursor left or right to the selection, then fire button to drop and the dialog closes. I’m not saying that would be easy to program, but it seems easy for a player to navigate.

  10. Cybron says:

    A potential system of limiting power ups held:

    Allow the player to hold up to 4 or 5 powerups at a time. Display those power ups in the corner. Allow the player to cycle through them. If they pick up a new one, drop whichever one is cycled, allowing them to replace the least favorite.

    • TMTVL says:

      This seems like the best idea to me. It’s intuitive, and wouldn’t really hinder gameplay flow.

    • Volfram says:

      The problem with limited powerups, as he addressed in the earlier post, is that eventually, the player will have everything he wants and the powerups no longer matter, and Shamus wanted to avoid that.

      I’m in favor of leaving the system as he described it and not artificially limiting the player’s power level. It’d be something I’ve never really seen in a game before.

      This is actually why “optimal” game design difficulty is actually a sawtoothed slope, not a smooth curve. You want to give the player a moment where he can turn the tables on the enemies that have been giving him grief. Remember the hunter chopper in Half-Life 2?

    • HiEv says:

      First of all, WOOO! I got mentioned by name in the article!


      Second of all, perhaps instead of that you could just click the powerup icon to toggle a locked/unlocked status, which will keep locked powerups from getting replaced (and put little brackets around it, so you can see that it’s locked). Unlocked powerup item furthest to the left pops out when you are at max powerups, and the new one goes in on the right.

      Perhaps this could be an optional harder version of the game? I actually kind of like the challenge of figuring out what the best powerup combo for any N number of powerup slots is.

      • morpork says:

        This reminded me of a certain old PS game, Einhander. You fly a ship which shoots ye regular cheeseballs but your main feature is your ‘hand’. Some enemies have big ass guns mounted on them and when they die, you can fly over and pick them up with your hand and shoot with the big gun until it runs out of ammo and it is jettisoned automatically. Hope that gives people Ideas.

  11. Zak McKracken says:

    Does the game still use random level-generation every time or did you freeze them (or the random seed) at some point?
    If yes: will there be a mode that allows the player to play on new random levels in some form?

    like maybe some “endless” mode where the player has to make it as far as possible through a previously unknown tunnel with a limited amount of time/ammo/energy/until swamped by enemies?

    And: What are the possibilities of the “modding” system? Would someone be able to make a tower defense or puzzle game out of “Good Robot”?

    • Paul Spooner says:

      Ooh, I like the idea of an endless mode. Maybe have the choice whether to play through randomized biomes, or just a single-biome forever.

      I know he’s planning on decent modding support, but probably not to the level that would allow significant alteration of the mechanics. Who knows though!

  12. Daemian Lucifer says:

    You should make Rutskarn read the text as well.In fake russian,ov korse!

    Also,why not have the powerups have a duration?That would probably balance them the best.

    • Abnaxis says:

      Not saying I endorse this, but if it was your solution I would so try to speed run just to see how many power-ups I could manage contiguously.

      In the same free-association-thinking-vein, you could even add a survival mode where you have to pick up “fuel” power-ups to keep going, making for a more hectic sort of playthrough, with very little code added.

      • Daemian Lucifer says:

        “In the same free-association-thinking-vein, you could even add a survival mode where you have to pick up “fuel” power-ups to keep going, making for a more hectic sort of playthrough, with very little code added.”

        Oh man,does that bring memories of river raid.That was a weird old game.

  13. bucaneer says:


    Yes, but is it art?

    For that matter, is it a game?

  14. Karthik says:

    Thanks for answering my questions, Shamus.

    About the perma-death mode: I’ve found that the implementations of perma-death I enjoy have at least one of these features:

    1. The game makes it obvious when you’ve screwed up beyond recovery, so you can just quit. It’s difficult to explain, but I always felt FTL’s distribution of resources and dangers (not to mention that boss) was inscrutable at this. Of course, if the randomization favors you and you do manage to bootstrap your way up out of an impossible situation, the high is appropriately pleasing, but I am not a fan of stringing the player along for a long time when you know (and they don’t) that there is no hope of recovery.

    2. Multiple stages of failure and safety blankets: Far Cry 2 and Stalker* let you run away from fights when you’re close to death, and you always regenerate a little health as a small buffer against an ambush. Then there’s Far Cry 2’s buddy system and Good Robot’s emergency teleport you mentioned. Dwarf Fortress lets you wall-off, excise or flood sections of your fort if an invasion or a forgotten beast makes its way in. To their credit, most rogue-likes do this.

    3. More than one kind of gameplay to make up for deficiencies: Ironman X(-)COM does this. A complete squad wipe on the field can be endured by a well managed base, and terrible base management can be offset by some luck (or smarts) in the field.

    Obviously (3) doesn’t apply to Good Robot, and it looks like you have (2) covered. Do you think you can avoid the FTL problem, though?

    (*Although Stalker is a poor example for a perma-death run because a single step into an invisible anomaly can tear you apart.)

    • wererogue says:

      This doesn’t sound like much of a prolonged-death game, though – it seems more like a Nethack or Binding of Isaac, where you’re doing fine until you aren’t and then OH GOD THEY’RE EVERYWHERE and then you die.

    • ET says:

      “1. The game makes it obvious when you’ve screwed up beyond recovery.”
      This is a very difficult problem.
      First, you need to make up some heuristics, so the computer can guess how long you’ll live against enemies of various types, etc.
      Also, you’ll probably need a way of guessing how skilled the player is, because a good player can recover from a bad situation, by gritting their teeth, playing more carefully/less recklessly, and telling the computer to die in a fire.
      Furthermore, especially in a game with heavy randomness like FTL, you’re going to need to balance the above guess-work, so that the computer doesn’t needlessly tell the player to restart, when they had a good chance of continuing.
      This is basically an exercise in AI programming, or another label/buzzword/etc which is equally as hard.
      So, I’m not expecting this in games any time soon, especially not a one-man project like Good Robot.

  15. houser2112 says:

    An idea that would limit the inventory screen but still allow the player a degree of control when they have the powerups they want and don’t want to pick up unwanted powerups: just have a simple “lock/unlock” checkbox. If the slot is locked, then picking up a powerup would not replace the item in that slot. If all slots are locked, then new powerups are ignored. This should be relatively easy to implement for a controller scheme too.

  16. Deoxy says:

    The “unlimited powerups” option has what I’d call the Gradius problem (after the old NES game) – you’re doing great until you die, then you have less stuff than you did, and you still have the same stuff to fight against.

    Basically, in Gradius, it was a fun and challenging game, but if you died, you had to slog along a LONG time to get to something like you had, so death was usually time to just quit.

    The system you making sounds like that: powerups are very rare, you can lose them if you die, and there are a limited number of them. Dude, just make it permadeath, and get it over with!

    Not sure how I’d change that, mind you, just pointing out the problem.

    • Trix2000 says:

      The way I understood it (and it may have changed), you only lost half powerups on death here… and you could go back and reclaim them at the old spot. So I don’t think it really compares.

      Plus, it also seems like a lot of powerups are mechanic-based rather than pure numbers (again, correct me if I’m wrong) so you could in theory get along without any of them… it’d just be trickier.

      • Deoxy says:

        Plus, it also seems like a lot of powerups are mechanic-based rather than pure numbers

        This makes the problem worse, in most cases, not better.

        If the problem was that I simply lack sufficient firepower, then no, it doesn’t change things, but if it’s anything else, well, I couldn’t manage to pull it off WITH bouncy-shots, and they were very helpful… and now I have to try it again WITHOUT bouncy-shots? Yay….

        • Trix2000 says:

          That ignores the possibility of getting those back before attempting again, which it sounds like is possible (if they drop on death and remain). Some difficulty to death does make a good incentive to not die.

          If anything, it makes the powerups seem more valuable when they make things noticeably easier but can be lost, albeit temporarily. Something permanent feels good at first but could quickly be taken for granted/ignored over time (ie: my shots always bounced) which changes how they feel… for better or worse. They basically become just like the levelup upgrades, only based on progression rather than EXP. That might work well, but it might not be the kind of thing he wants to make (they could just be more upgrades to buy).

  17. SteveDJ says:

    Did you intend to have No Title for this post?

  18. Ninjariffic says:

    I’ve always liked it when a game tracks and shares information like: time played; rockets fired; enemies killed; deaths; miles traveled; total damage dealt, etc…

    I’m not the only one who gets a kick out of that, am I?

  19. Riktol says:

    Powerups: I find myself drawn to the idea of only having one active at a time, and you simply choose which one you want active using numbers 1-9 but if that’s not the way you want to go, so be it.
    Assuming you keep “all powerups active at once” I assume once a powerup has been given to the player it won’t spawn again?
    OTOH, you seemed to be looking for something to blog about and making an interface sound like it would lead to a blog post about how frustrating it was to make an interface. Just sayin’.
    Permadeath: Sounds really frustrating, please make it optional (and the default, not-permadeath). You could put in a bunch of ‘modes’ like that, I seem to recall you made a flashlight mode but rejected it because it changed the feel too much, maybe you could make that an optional mode. And maybe you could make a no powerups mode or a no-leveling mode and put in achievements for completing the game with them,
    Speaking of permadeath, I really hated that in FTL. I managed to get to the final boss once in FTL, and died miserably. And then I stopped playing because I realised that I was never going to win.
    Oh I don’t know if anyone else mentioned it, but Tom Francis (who recently released Gunpoint after working at PC Gamer) did an interesting blog post about his development process when making the game. Link. You might find some of his other posts interesting as well, there are links in the post.

  20. heya Shamus,
    just to say thanks for giving us the play-by-play, i’m really enjoying reading them!

    have you considered a button (like O; something out of the way) to “eject” the current powerup? players can cycle to their least favourite powerup, eject it (oneshot rocket would be cool) leaving a lot for a powerup in view that can be then collected?

  21. Jeremiah says:

    Are there alcohol powerups so Josh has a reason to play?

    • MrGuy says:

      More importantly, do we have a Good Robot drinking game yet?

      At a quick first pass, drink for:
      * Every time the Good Robot dies (obvious).
      * Every time someone compares Good Robot to the original Fallout (obligatory)
      * Every time flavor text appears that contains a pun. (because Rutskarn)
      * Every time the Good Robot blows itself up by running its own rocket. (assuming this is possible)
      * Every time the Good Robot commits suicide by running into the walls when not being pursued by an enemy (ditto)
      * Every time the Good Robot drops more than 2 power-ups, in addition to the one for dying (incentives!)
      * Any time Good Robot crashes unexpectedly (the game, not the robot)
      * Any time Good Robot crashes expectedly (e.g. if Josh is playing, in the room, mentioned, thought about, etc.)

  22. Paul Spooner says:

    When I first saw the title of this post I read it as “Render Questions”, which sounded rather interesting!
    Not sure if you can make a whole post out of just talking about rendering, and you’ve done so a bit already, but maybe more render discussion?

    The “smart bomb” shows up quite prominently in the commit logs… any fun stories about that?

    Have you experimented with companions? Are they just as annoying when they are robots as when they are humans?

    Any experiments with hidden areas? Like, rooms that are reachable only by bumping into walls that look nearly identical to normal walls, except those walls are passable? I know a lot of 2d games like this do that, Jazz Jackrabbit and Aquaria to name just a couple.

    Ooh, you know what would be fun? Letting the player give a name to each class of robot after they kill the first one. Then the story text can incorporate those names… assuming it refers to any of the robots by type. Filling the caves with pretentiously titled classes of robots sounds like an easy form of self-expression without having to mess with the finely tuned mechanics.

  23. The Rocketeer says:

    “If this was a game where you had Borderlands-style drops of randomized loot to equip, then an equipment screen would be worth it. But I think equipping powerups would be this worst-of-both-worlds thing where the inventory is complicated enough to break the flow of the gameplay but not interesting enough to be fun in itself.”

    Funny, that’s EXACTLY what Borderlands seems like to me.

    But you didn’t tell us what the robots eat!

    • Paul Spooner says:

      Maybe the robots don’t eat, but are themselves eaten! That’s the secret behind the title. It’s not the robot’s alignment or moral standing… it’s how they taste!

    • Mephane says:

      The problem with the Borderlands 2 inventory (have not played the first game) is that it is made for consoles, or at least appears so. No idea whether the user interface feels any better when used with a gamepad, but with mouse+keyboard it is just awkward. This is why PC gamers get anxious when they hear their favourite new game will also be released on consoles. Often there are compromises to make some element work at all on a console, like that inventory screen, which could have been so much more user-friendly if it had done differently for mouse and keyboard.

      Another common example are game menus where you have to navigate a myriad of screens that each show only a handful of options on giant sliders that are not sliders but text with tiny left/right arrows next to it, which react poorly to mouse input but flawlessly when operated with the arrow keys (always a good indicator of “console only” UI design), instead of a single screen with all the options directly at hand in the form of neat and standard-sized actual sliders, drop-down lists and checkboxes.

      Oh and and I want the obligatory “press any key to start” screens replaced with “smash your head on keyboard to continue” for all future ports from console to PC.

      • The Rocketeer says:

        I have no reason to doubt any of that, but it sucks on consoles, too.

        That wasn’t even the issue, though; the real issue is filling up your inventory every five feet, then agonizing over which items to leave behind, then laboriously figuring whether so and so combination of green and red arrows is .004% more powerful than your current weapon, then none of it mattering because oh my God is the shooting in this game ever dull, then repeat for about fifty levels more than its really worth.

      • Abnaxis says:

        I haven’t played the PC version for Borderlands 2, because it doesn’t have a split-screen mode. It doesn’t have a split-screen mode because the developers were specifically creating the layout for the PC separate from the layout from the console, and the UI of the PC was not conducive to split-screen (at least that was their justification).

        I find it odd that, despite this developmental choice, the interface for the inventory still suffers from console-port usability issues.

  24. Cordance says:

    Question: Are/How are you doing to work different difficulty levels in the game. I would guess most of your testers are skilled to highly skilled players. Are/How are you going to alter the challenge for those who have not grown up with arcade playing history, the so called casuals.

    Difficulty levels often comes up at the start of any spoiler warning season Im interested in how you are tackling the problem from a design side of things. Also random bonus question have you gotten someone who you know doesnt normally play games to sit down and give the game a go yet?

  25. Adrian says:

    When will your game be out and how can we buy a copy? Do you plan on releasing it on steam?
    Will there be a demo?

  26. Abnaxis says:

    After typing my “survival mode” comment above, it got me to thinking–what mechanic do you have in place to drive the player forward?

    While not every game has them, pretty much any game that isn’t a sandbox is improved if there is a strong incentive for the player to move forward. It could be a timer, or a driving narrative, or resource management, or a leader-board that tracks time. One of the coolest things in Left 4 Dead is it’s use of the AI director to keep the team moving. In most schmups I’ve played, the drive comes from the screen automatically scrolling over the battlefield, inexorably dragging the player sprite across enemy-infested territory.

    The point is, there’s something to encourage the player to do something beyond inching forward timidly, tackling enemies one at a time in easy combat–often the optimum way to proceed if there is no incentive otherwise, but can be boring as heck. And the devil of it is, “not enough motivation” is a problem that will completely fly under the radar if all of your testers are genre savvy, and automatically jump through the hoops and play the game as intended without that little nudge many other players will need.

    Have you experimented with this at all? What do you have that pushes the good robot deeper into the caverns?

  27. burningdragoon says:

    Re: powerups (and apologies if this has been suggested already). If you were to limit the number of powerups, you could let the play set the order of preference for powerups so you never pick up ones you don’t like when you’re full and will drop the least preferred one if you find one you do like. You can set your preferred loadout whenever you start a level or something.

    OR you can keep the mayhem of powerups cuz that also sounds like fun.

  28. Galad says:

    Re:powerups. At some point you’d have to put a cap on the amount of powerups the player has, so as their spaceship has not become a giant blinking Christmas tree obliterating everything in its path. So a system that looks decent to me would be, allow 2 power-ups. When the player finds a third power up they can press button to replace the first powerup they found, or button to replace the second powerup they found with that third one. After some experimentation they’d know what works best for them

  29. Thomas says:

    Of course, making powerups temporary – but with a long duration (5 minutes-ish, depending on powerup drop frequency) could solve the problem.

    The number of powerups you pick up is still unlimited, but this just means you have occasional spikes in game easiness, rather than the game becoming easier as you accumulate powerups, right up until the time you lose all your powerups and the game becomes punishing again.

  30. Edwin says:

    I create a comment each time I like a post on a website or if I have something to contribute to the discussion.

    Usually it’striggered by the passion displayed in the article I browsed.
    And on this article Project Good Robot 25: Reader Questions
    – Twenty Sided. I was actually excited enough to post
    a thought :-) I actually do have some questions for you if it’s okay.
    Could it be just me or do some of these remarks come across as if they are written by
    brain dead folks? :-P And, if you are posting at additional online
    sites, I’d like to keep up with you. Could you make a list
    all of your community sites like your Facebook page,
    twitter feed, or linkedin profile?

Leave a Reply

Comments are moderated and may not be posted immediately. Required fields are marked *


Thanks for joining the discussion. Be nice, don't post angry, and enjoy yourself. This is supposed to be fun.

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>