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.
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 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.
A programming project where I set out to make a gigantic and complex world from simple data.
C++ is a wonderful language for making horrible code.
A video Let's Play series I collaborated on from 2009 to 2017.
Overused Words in Game Titles
I scoured the Steam database to figure out what words were the most commonly used in game titles.
The Brilliance of Mass Effect
What is "Domino Worldbuilding" and how did it help to make Mass Effect one of the most interesting settings in modern RPGs?
51 thoughts on “Project Good Robot #32: A Group Effort”
Vids, please. We want vids :-(
Even some unedited 10-second clips would be nice. Especially of those spiders; I hear they look good in motion. :P
Third for this. Id love some vids.
Here you go,a video:
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.
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
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.
I’m pretty sure one of the stipulations was that Shamus could write about the process during development.
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.
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.
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.
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. ;-)
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.
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.
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.
Please tell me that Arvind’s new interface is full of pinecones.
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.
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.
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.
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.
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.
Can you squeeze a Wolf3D dream sequence in there anywhere?
Yeheheheeeessss! Glad to see this series back!
Same here! Already excited for the upcoming posts on the game :)
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.
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
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.
Hey Mr. Shamus, don’t mind my thread hijacking here…
When did you add the cool new Share on Facebook/Twitter/Reddit buttons?
I’ll have a whole post on that this Sunday.
Is that also what’s up with the embedded youtube videos?
Weird, I could have sworn in the past he said he didn’t want a facebook button because it sticks a tracking cookie in every computer that visits the page. Maybe I’m thinking of someone else?
Possibly was someone else – I found this from 2011:
but the main takeaways seem to be:
-Tracking is not as insidious as we might think
-There are only-slightly-fiddly ways around it
-Really goes without saying, but: under no circumstances should one call Shamus a ‘sellout’… :D
I don’t have a Facebook account myself, but if Zuckerberg wants to know how often I visit this blog he can knock himself out. I don’t Reddit either, but I’m happy to tweet 20Sided links at the single spambot which follows me on Twitter… XD
Ditto. As long as Facebook and Google are collecting info on me, I want them to weigh this blog heavily when considering what I might be interested in because Shamus hits a large cross section of what I like.
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.
Your suggestions have been considered, and rejected. Instead we’re gonna do the opposite of all those things.
That made me chuckle.
How would doing the opposite of two things which are already polar opposites work?
Keep things the same?
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…
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.
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?
I’d like to volunteer to do the movie (Good Robot: Extinction Level Entity)
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.
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.
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.
Hey, I’m interested in that sort of thing, and also technically a person!
IT’S ALIENS: COLONIAL MARINES ALL OVER AGAIN!!
I would also be interested, so that’s already enough of us to count as people. (Technically. Which is the best kind of nically.)
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.
We’re thinking about a mode like that, but at the moment we don’t know the final shape it will take.
Yay! Good Robot update! Programming and design posts are always very interesting to me.
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.
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.
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="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>