Project Good Robot #32: A Group Effort

By Shamus
on Jul 1, 2015
Filed under:
Good Robot

When I was working on this project all by my lonesome, things were pretty simple. The feature list was “whatever I felt like putting in” and the release date was “whenever it gets done”. That’s great when you’re programming to entertain yourself and turning it into blog posts to entertain others. But when Pyrodactyl joined, I think the team had some kind of (perfectly reasonable) expectation that we should have a plan, and that plan should include shipping the game in our lifetime.

So the first few weeks of serious work on Good Robot have been a transition from a one-man-hobby project to a six-person commercial enterprise.

Arvind is the other dedicated programmer on the project, and he’s taken over working on the interface and managing the people.

Imagine you get a new job. There are two parts to the job. The first part is that you need to hang around on the beach, stroll the boardwalk, and maybe take a swim in the ocean once in a while. The other half of the job requires you to be locked in a room with an angry Gilbert Gottfried while he rants about conspiracy theories and pelts you with pinecones. Granted: This is a strange job. But I think the vast majority of people would agree that one half of this job is a lot nicer than the other. And your enjoyment of being on the beach is tempered by the knowledge that every hour you spend on the boardwalk is another hour in a small room with Gilbert Gottfried.

Then a new guy joins up to help, and the two of you can divide up the labor any way you like. It turns out he hates the beach, doesn’t want to go anywhere near a boardwalk, and he’s not a fan of the ocean in general. On the other hand, he loves Gilbert Gottfried’s voice, he finds conspiracy theories just fascinating, and he actually enjoys a good pinecone-to-the-face now and again.

When I see the score this close to 2^16-1, I wonder if there’s some sort of bug. Nope. This was just random chance.

That’s pretty much what it was like for me when Arvind took over the drudgery of working on the interface. Arvind likes working on interfaces, and I’d rather be hit with pinecones.

The other big shift is with the art style. Previously, I sort of locked everything down to make it idiot-proof. Color B would be be a darker version of color A, several of the various light sources all drew from the same color value, and everything was blocky and pixelated to hide my artistic sins. That was really handy when I was doing a one-man-band approach to game development, since I’d made it so that basically any input would generate something tolerable. But then Mikk wanted to upgrade things from “passable” to “nice” and found everything was interconnected. It’s like the face sliders in the Fallout: New Vegas character creator, where moving one slider would change the values of three other sliders. That’s actually really annoying if you know what you’re doing.

So we’ve gone back and forth, with Mikk gradually asking for more and more freedom as he runs into various dependencies and limits.

In the early stages of the project, I designed several different weapons for the robots, several different types of AI behavior, several different types of animated bodies, and a bunch of different ways to control the frequency, duration, timing, and intensity of their firing patterns. The result is that nobody really knows what sort of robots you can make, what they can do, or which combinations of behaviors will be fun and interesting. So Ross has been experimenting with different enemy types and seeing what works.

The spiders are much more interesting when you see them in motion. They look sort of derpy here.

The team agreed with my assessment that the game just wasn’t interesting enough. The problem was that everyone had a different idea on the best way to fix that. Get rid of the leveling system. Make the leveling system deeper. Get rid of the story. Add more story. Add more different kinds of weapons. Simplify the weapons. Permadeath. Add scoring, with combo meters and score multipliers. Give the player the ability to select different characters, like in Spelunky. Make levels non-linear. Borderlands-style “goal coaches” who suggest things to do via voice messages. Get rid of the energy system.

All of these ideas can lead to a good game, but a lot of them suggest different types of game and many of them are mutually exclusive. It’s not that we don’t know how to make the game better, it’s that the possibility space is too enormous and we don’t have a great way of narrowing it down.

The good news is that the core mechanics work. This game is about flying around, blasting robots, and watching them tumble to the ground and explode, and that much feels good. So the process is roughly:

  • Haggle over what features we think will be good.
  • Over the course of a few weeks, the feature takes shape in our heads and winds up in the design document.
  • Lock the feature down and code it.

It’s kind of multi-layered, so that while we’re coding feature C, we’re putting B in the design document and haggling over A.

The aim is to have the game roughly feature-complete by September. Is that reasonable? I have no idea. I’ve never worked on a project like this. Just looking at my current job list, September looks easy. But this is a videogame, not productivity software, and making a game is more than just ticking off a list of features.

It’s not that I can point to any single job and say, “That one is going to take ages!” It’s that there are lots of nebulously defined question marks, and through the years I’ve learned that question marks usually have really big challenges lurking behind them. Not always, mind you. But often enough that I’m afraid of them.

My next big challenge is changing the way levels are generated. I’ll cover that in the next post.

Enjoyed this post? Please share!


20201151 comments. It's getting crowded in here.

From the Archives:

  1. Bruno M. Torres says:

    Vids, please. We want vids :-(

  2. Ranneko says:

    Glad to see more posts about Good Robot going up. Really interested in learning more about the process of taking a one person project and moving into this larger small team realm.

  3. Ilseroth says:

    Been waitin for this post for a while now. I have always loved your game dev work and you working with a team was really curious to me.

    While this entry was a bit short on actual gameplay additions, it is cool to hear there is no shortage of ideas on how to improve the game as a whole.

    Looking forward to further entries <3

  4. James Bennett says:

    I was assuming that once you teamed up with Pyrodactyl to release this game that we wouldn’t hear about it on the blog until it was ready to be shipped. I’m glad to see that I was wrong. I’m looking forward to reading more about this game as it’s developed.

    Also, I totally relate to being suspicious about question marks. I hate giving time estimates for tasks unless I have a clear idea of what needs to be done and I have general a plan for how I’m going to do it.

  5. Rick says:

    Thanks for the update, I look forward to hearing more about various gameplay design decisions as well as any coding writeups you do as well.

  6. Zak McKracken says:

    Yay for good robot!

    And the one thing I always envy Shamus for is that he gets to decide on whast to work (or not) every day, no deadlines or angry bosses/customers, just go wherever fancy takes you.
    It is my dream to one day be able to work like this, while still doing the things I like doing and am competent at.

  7. Trix2000 says:

    I find it rather suspicious that, the day after I binge and re-read the Good Robot posts on a random whim, Shamus follows up with another one.

    HE’S WATCHING ME.

  8. HiEv says:

    Well, I may be crazy, but why not have multiple modes? For example, “Zen” which is simple leveling and weapons with infinite lives. “Campaign” which has a story mode and limited lives. “Hardcore” which has medium leveling and/or weapons plus permadeath. And “Master” with complex leveling and/or weapons and limited lives. And perhaps you have to complete “Campaign” or “Hardcore” to unlock “Master” and/or “Zen”? Might get some more replay with unlockable modes like that, and people can always pick the one that clicks with them once they’re unlocked.

    As far as different characters goes, perhaps you can find things while playing that unlock different character types or features for your next playthrough? There’s a game called “Magicite” that got a lot of replay out of finding/unlocking different character types and items you could equip your character with on your next run through the series of dungeons. For example, the game keeps a record of your total count of Xs ever killed, and killing enough Xs unlocks feature Y. You might want to consider a system like that.

    This kind of stuff rewards the player for playing, and gives them a reason to play more, to try out the new stuff they won and to win more stuff. It’s like a slot machine that keeps paying off bit by bit, which keeps them coming back for more.

    Anyways, just a few other thoughts to throw on the pile. ;-)

    • Muspel says:

      Probably because designing and tuning multiple gameplay modes that are significantly different takes commensurately longer, and can dilute the team’s focus, which results in each individual mode being lackluster.

      • MadTinkerer says:

        Plants vs. Zombies originally took three years to make. According to a postmortem, they could have shipped it in two, but they needed an extra year for everything in the Mini-Games, Puzzle, and Survival menus, and to make the Zen Garden more interesting. And that’s a game where you place non-moving turrets to fight enemies that move in straight lines.

        Team Fortress 2 shipped with just two game modes, Capture the Intel (flag), and Capture Points. And technically a third, Territory Control, which everyone now ignores for reasons that soon become obvious if you ever play a TC map. Bomb Escort didn’t show up for more than a year later. King of the Hill several years later. No hats, no custom weapons, no building redeployment, no magic, no robots, no crates.

        Minecraft just plain sucked for the first several months it was available, then it was merely okay for a few months before jumping from okay to mind-blowing over the course of a couple months and a few updates. It didn’t have survival to begin with, and survival was single-player only at first. But it turned out that unlike creative mode, survival was actually the “killer app” that Minecraft needed. And then Adventure Mode, as Notch originally thought the main game of Minecraft would be, never happened. (Confusingly, what we now call survival mode was called adventure mode for a while, because Notch wanted what we consider survival gameplay to be a base for something more RPG-ish. But that never happened.)

        It takes a lot of time and effort to make a base game on which to build. It takes almost as much time and effort just to make one game mode that is entertaining. It takes a ton of effort to make a multi-mode framework on which to have the tools to have multiple game modes, which is why so few games do that, and fewer still at launch.

    • Xeorm says:

      Different modes mean more work, in an exponential scale. It’s easy to think that you’re not adding on much because it’s only a different mode, but it does mean that any change made for one mode must be tested in all modes, and adjusted accordingly. What works for one mode doesn’t work for other modes, and so on.

      You could keep changes locked down to each mode, but then you’re again just making more work. Much better probably to nail down one mode of what you’re working on for the major gameplay. Allowing for some slight rule changes near the end is workable, but shouldn’t be the focus, assuming he can get enough gameplay out of his work.

      More modes is there when you have enough game for more than one thing, but can’t fit it all into one bit. And it doesn’t look like he has that problem, but more not enough game for even one mode.

  9. Dt3r says:

    Please tell me that Arvind’s new interface is full of pinecones.

  10. Da Mage says:

    I remember when I had to turn my hobby programming into a research project. Took me 2 weeks in order to separate out and re-structure it all so that it made sense from a project management point of view. You just seem to take so many shortcuts when working by yourself.

    Now that the project is complete, I can easily look up any section of the code as it is all structured sensibly and fully commented. Feel really good to pick up code and just ‘know’ where anything you need to change is.

  11. Diego says:

    I understand the difficulty in adding more layers to a game. There are infinite paths to follow. I guess a way to eliminate possibilities is to look at the core gameplay and use that to eliminate those that don’t enhance the core gameplay in any way. If the score system ultimately improves my blasting-robots-and-watching-them-explode experience, then it gets the green light. But this is only useful to narrow down the list. A game can always benefit from features that have nothing to do with the core mechanics, like those detective mode bits in Arkham games. It could be a feature that simply adds a nice break from doing the same things. One could call these features pacing mechanisms. A little breathing time from an action game, or a bit of adrenaline rush in a puzzle game etc.

    • Syal says:

      Simple starting point: what similar games have been popular, what was the most memorable thing about them, and does this game have something like that?

      Judging solely from Daemian’s trailer, I (still) think the problem is they’re being too procedural with the level design. Even Roguelikes need some setpieces. I didn’t see any hazards that weren’t enemies; get some environmental hazards in there!

      Also, think about taking the Rogue Legacy leveling approach maybe? Or the Binding of Isaac one. Or a combination of the two; I could see a system where you collect money or scrap or whatnot, and you can either use it to buy upgrades for your next robot, or use it to permanently upgrade the available starting upgrades (make them stronger or cheaper). Then you can find free upgrade parts during the run, but any upgrades a robot has die with the robot.

      • Wide And Nerdy says:

        To add to that, while I like the color schemes of the two levels I see screenshots of here, I hope the corresponding levels are short. Particularly for the green, I don’t want to spend an hour trying to beat an all green level (maybe look for healthier natural shades of green mixed with shafts of sun-like yellow?). Ironic that this was designed by the champion hater of Fallout 3. ;)

        EDIT: Actually, I’m giving it a second look and the greens are not so sickly.

      • Blue_Pie_Ninja says:

        This. This is a game I would play over and over if it was like that.

        I also believe that putting combos and score multipliers would work well too, as getting a massive multiplier for smart-bomb chain kills would be awesome (on a side-note, maybe an achievement for that as well?). The only problem I see with that would be with the procedural-ness of the game could end up meaning it would be hard to get different ratings so a leaderboard wouldn’t really go well, and each play-through of the game could end up being different score-wise quite radically.

  12. Liam O'Hagan says:

    Can you squeeze a Wolf3D dream sequence in there anywhere?

  13. Paul Spooner says:

    Yeheheheeeessss! Glad to see this series back!

  14. Neko says:

    Yay. I wish you all the best with this project – it gives me hope that someday I may be able to make one of my random pet project ideas into something tangible and finished.

  15. Kian says:

    Just wanted to thank you for the update on Good Robot. Your programming posts are always a great motivator for me to stop browsing the net and get working on my own hobby projects :)

    I enjoy working on them, but damn if it isn’t hard to decide what to do next when you don’t have a plan :P Sure, I could be responsible and plan ahead, but planning is boring and design is hard. Throwing code at the wall and seeing what sticks is a lot more fun :D

  16. V8_Ninja says:

    On the issue of the game being interesting;

    The way I see it, the most, “Interesting,” games use both mechanical engagement and player motivation in equal or differing quantities. For example, Spelunky has high mechanical engagement (fast-paced gameplay with reactive game objects in randomized levels) and low player motivation (unlocking new characters and finding secrets). Another example; The Last of Us, which has low mechanical engagement (commonplace cover-based shooting and triple-A crafting) but has high player motivation (foreshadowed set pieces and a way-better-than-average story). In order for Good Robot to become interesting, it would have to, at the very least, cater towards one of those two, ‘traits’ of interesting games.

  17. Sam says:

    Hey Mr. Shamus, don’t mind my thread hijacking here…

    When did you add the cool new Share on Facebook/Twitter/Reddit buttons?

  18. NoneCallMeTim says:

    Here are some helpful feature suggestions:

    -I think there should be more robots
    -I think the interface should be flashier to make it look cool
    -I think there should be fewer robots
    -I think the interface should be calming to avoid distractions
    -I think there should be multiplayer
    -I think there should be cutscenes to tell the story
    -I think it should be single player only
    -I think there should be no cutscenes

    Seriously though. Glad to hear you are able to focus on the bits you enjoy.

    Also, when you are talking about how you originally set up the game code, now other people are using it to expand upon your original vision, I take this as a cautionary tale about thinking about the scope of a project to determine the details.

  19. Piflik says:

    Always remember: the first 80% of game development takes 80% of the time, the last 20% of development takes the other 80% of the time…

  20. Sabrdance (MatthewH) says:

    I’m curious to see how the game comes together. And looking forward to the release with a modicum of excitement. Thexter and Sylpheed were my favorite games growing up, and I still play Sylpheed today. Good Robot looks like the much prettier and slightly more ADHD love child of those games.

  21. Shamus, don’t stray to far way from the original idea of the game.

    There’s always Good Robot II in the future that you could experiment with by changing the gameplay.

    Will there be a soundtrack album release of the music?

    Also if Good Robot I is a hit will there be a kickstarter for Good Robot II ?

    Is Shamus Young now part of Pyrodactyl “Studios” ?

    Will Good Robot I have it’s own stall at PAX?

    Is Pixar making the game trailer?

    Now that you are a big AAA developer, are you now going to hang out with Carmack on a regular basis?

    Will the Spoiler Warning cast wipe away a tear as they see Shamus ride into developer land?

    When is the Good Robot movie coming out?

    How many different Good Robot figurines will there be? People have big desks and shelves that need to be filled.

    Good Robot plushies? Good Robot pillows and bedcovers.

    Good Robot desktop wallpapers, mobile ringtones, avatars.

    Did Disney call yet about buying the IP?

  22. Retsam says:

    Don’t worry about the September deadline, you can always release it for a week, discover it’s horribly buggy, then just pull it from the store for another 6 months.

  23. RCN says:

    Hmmm… I hope the new artist has dredged his hands to make sure there is more feedback when you shoot the bad robots. Rewatching the trailer it still seems like there’s very little feedback from the robots when they are hit, especially when your shots start piercing them right through, and there’s not enough feedback when they are killed, mostly going blank isn’t enough to know they’re not a threat anymore when there’s lasers flying everywhere.

    Particle effects of pieces and bits being blown would probably help with the former while some more extreme feedback should be used for the later (explosions are very passé, but maybe if there was a flash in their eyes when they shut down, similar to the after-image in an old Cathode Ray Tube screen when you turn it off).

    Also, there really needs to be more differentiating the Good Robot’s shots from the Bad Robot’s ones. It seemed to get particularly confusing with the ricochetting shots power-up.

  24. Arvind says:

    Worth mentioning: the trailer and the screenshots represent work in progress. Almost nothing in the final game will look exactly the same as these, whether its interface or enemies or levels.

    We’ll try to make video updates but it’s a very small team so any time making videos is time not spent on the game. But videos keep people engaged so we’ll figure something out.

    I’ll write a post about how the team is organized and stuff if people are interested in that sort of thing.

    • Lachlan the Mad says:

      Hey, I’m interested in that sort of thing, and also technically a person!

    • MichaelGC says:

      Almost nothing in the final game will look exactly the same

      IT’S ALIENS: COLONIAL MARINES ALL OVER AGAIN!!

      Ahem. :D

      I would also be interested, so that’s already enough of us to count as people. (Technically. Which is the best kind of nically.)

  25. pdk1359 says:

    I have a question, probably stupid, but you can’t learn if you don’t ask.
    So, is there any intention/discussion regarding an endless mode or some such where there is no ‘win’ state that drags you away from the awesome music and splody robots?
    I’m kind of imagining a techno-shooter version of Flur. Endless world, cool music, no real penalty for death and no real goal, but effects/threats ramp up as you wander. I have seriously wasted ~40 to 50 hours on this damn game.
    Thank you for your consideration.

  26. Cuthalion says:

    Yay! Good Robot update! Programming and design posts are always very interesting to me.

  27. OboboboTheNerd says:

    It’s been a while since I’ve read your posts on this: Is there a advantage to skillful play in the number of points you earn? Something like a combo meter which decreases if you get hit or over time could be good to keep the action going and encourage replaying for higher and higher scores. If you added a leader-board at the same time for viewing times and scores, that could get people to replay it a lot just to get higher and higher scores.

    Then again, you guys have probably already thought of this and haven’t decided if that’s the direction you want to go with it. Hope it helps, regardless.

  28. Kdansky says:

    As we found out painfully when playtesting Auro (Dinofarm games), it takes a lot more than just talking about features and deciding. Without prototyping and actually playing, you can’t really tell what works and what does not, especially when you can’t cover up your mechanical weakness with well-paid actors (like in Last of Us) or impressive set-pieces.

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="http://en.wikipedia.org/wiki/Darth_Vader">Darth Vader</a> on Wikipedia!

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