Gunpoint is a creative stealth puzzle game that lets you rewire its levels to trick people. | ||
|
I’m going to stop estimating it. I’m always wrong, as you’ll have noticed, and however much I forewarn you about that, I hate having to change the ETA again and again. It feels like I’m artificially creating a constant stream of bad news for you guys, about a project that’s going incredibly well, is fun to do, and that I’m making quickly and efficiently. This is even dumber than it sounds. The single biggest advantage of being completely indie is that you have no external influences dictating how and when the game gets made. Even you guys aren’t particularly pressuring me: whenever I do announce a delay, the comments are calm and wise: Fair enough / Take your time / Do it right. But I don’t believe you. I work in fear of an imaginary community in my head, one that’s always on the verge of losing patience with me and interest in the game. I took a week off work recently to work on Gunpoint full time, working 6am to midnight most days, and getting a crazy amount done. But the first time something took longer than I’d scheduled for, I panicked. It soured everything. I felt stressed, disillusioned about the virtue of what I was adding, and it got harder to focus. I started to get that feeling I sometimes had when I started on Gunpoint: “What if it turns out I’m just not smart enough to do this?” The ETA was actually damaging the game, and that was the last straw for ETAs. Estimating how long something will take to code is like estimating how long it’ll take to crack a combination padlock. If it’s the first code I try? No time at all. If it’s none of the first 999? It’s going to take a while. You don’t know how long unless you know which attempt will succeed, and if you knew that the problem would already be solved. My only objectives are to make an exciting game, and make it efficiently – using testing feedback to focus on what it really needs, and re-evaluating what I’m working on, how long it’s taking, and whether it’s the best use of that time. I got that part down fairly early on, and it’s part of what makes Gunpoint fun to work on: I can see it rapidly getting better in both my own playtests and other people’s feedback. I’m just going to stop adding arbitrary pressures to that cycle. Thanks to everyone who’s been so cool about it so far. I’ll still be blogging a lot about the process and progress here, and if you like, I can just e-mail you when it’s out. | ||
Nikolaj: "An idea I won’t talk about yet, because I’ll cut it if it doesn’t work or is going to take too long. It’s targeted very specifically at people finding the game too short or too easy." Level editor? =)
| ||||
|
Last week I added two new gadgets to Gunpoint and added test levels for eight of them, to give you a custom-built space to try them out and learn how they work. At the same time, coincidentally, John finished the level art for the labs of the company who make these things. I wanted them to have functional-but-trendy offices above ground, and straight up supervillain labs beneath. The stuff he’s actually produced is way cooler than I’d imagined. Click this for big: There’s loads more to this tileset than shown here, too – you could make a massive level where each floor has its own colour motif, like some of the offices in Mirror’s Edge. I like any time the art for our game naturally makes me mention Mirror’s Edge. Long story short, I’m now trying to find excuses to set more levels in labs. By the way, I’ve started properly updating the Gunpoint Facebook page the same way I do with the Twitter account, so follow whichever you prefer up in the top right if you want to keep tabs on it. | ||
David: Now, I hate to be -that guy- but do you know when you may be releasing another build?
| ||||
|
UNITED KINGDOM – April 1, 2012 - Intense creative re-focussing has led Gunpoint to be re-invented as a 3rd person cover shooter. “We’re going to make a lot more money this way”, says morally bankrupt CEO. (Full credit to our artist John Roberts for this startling change in direction)
(This was an April Fools) | ||
Noblaum: Wow. Imagine if they ruined Deus Ex by doing this... oh wait.
| ||||
|
Gunpoint’s current save system is rough, but functional if you know how to use it. The game autosaves every ten seconds, and when you die, a message pops up telling you to press L to load the latest one, O to load the one before, or R to start the mission completely. It’s just placeholder, but it’s close to what I want: you should never have to repeat a chunk of progress you’re happy with, only the bit you actually screwed up. But watching people play at GDC revealed a weird problem. Many people would get a long way through the level, die, and restart it completely. If they want to do that it’s fine, of course, but some of them seemed pretty frustrated. I’d tell them, “You can just press L and it’ll put you back much closer to where you were,” and they’d say “Ah!” and use that from then on. Obtuse hotkeys are not how the final system will work, of course, but here’s why it’s weird: the message that tells you to press L to load the last autosave is the same one that tells you to press R to restart. If these players hadn’t seen that, how did they know to press R to restart the level? I discovered they knew the key, they just didn’t know what it would do. Last save? When was that? I’m not gonna hit a button that might take me back three levels. I could have an on-screen notification every time it saves – maybe a big sign that says “Saving content – please don’t turn off your PC, because apparently there’s some kind of epidemic of people randomly doing that in the middle of a game.” Much as I love patronising bullshit, Gunpoint saves a lot – any notification would be a constant distraction. I already knew what I wanted, I just hadn’t built it yet: a small menu showing the last few autosaves and how old they are: I wanted that just because it’s nice, but the GDC problem made it an actual priority. Hurray! It gets tricky when you think about where to store that data. If you store it as a variable in-game, then how does the game know which one is the most recent when you start it up again? It won’t have that data until it loads one of the autosaves, and each of them thought they were the latest one when they saved. I tried messing around with renaming savegames so the latest one always had the same name, but it got awkward fast. So did the times themselves. Even seemingly simple systems get complicated to think about and test when you’re dealing with savegames, because loading a savegame is essentially time travel. You’re going back in time, then creating a new parallel timeline from there. I was handling it, keeping it all straight in my head, until this happened: Minus what. What. I had a savegame created 47 seconds in the future. I tried loading it. It was the past – about 15 seconds in the past. And now it claimed the last two autosaves were made at the same time. I ended up drawing a pen and paper diagram that started to look like the plot of Primer in an attempt to understand how repeated and overlapping backward time travel could create a paradox like this. It couldn’t. Sure enough, I eventually found a bug in Game Maker’s time-keeping code that causes the number of seconds since the game started to occasionally reset. I made my own clock, but that behaved strangely for savegames too. It’s just super hard to keep track of time when the player is time-travelling, and the filenames he’s creating and loading can mean different things in different contexts. The system I settled on picks a new filename for each successive save, so it’s easy for both the code and me to see which one is newest at any given time. And if it has trouble figuring out the save times, it can just look at the numbers – if the save interval is 10 seconds and this one’s 2 saves ago, it’s 20 seconds plus the time since the last autosave. The last change it needed was one I didn’t expect to have to make. I’d had this great idea, throughout all these systems, to avoid Groundhog Death: the problem where an autosave happens just before you die, so when you load it you instantly re-die. It’s less of a problem with multiple autosaves anyway, but I thought I had a clever way to avoid it completely. The game would save every 5 seconds, but assume the most recent save was ‘bad’. Only once the player has survived more than five seconds since the last autosave does it become a valid one to load. So with a 10 second save interval, the latest autosave will still be 10-15 seconds ago, but it’s guaranteed to be at least 5 seconds before you died. Once the rest of the issues were ironed out, I discovered this system sucks. It’s possible, and actually pretty common, to load a point in your game when you did survive beyond five seconds, but you didn’t this time. Maybe you had a guy at gunpoint, or were in the middle of a tense situation, and when it loads you’re disoriented and screw it up. My instinct as a gamer is not to think “This save sucks, take me further back!” It’s “Let’s go again, I can do this!” But now that we’ve time-travelled, that savegame is the latest one. And the latest one is always left off the load menu to be sure it’s not gonna screw you. Instead, you feel extremely screwed. You deleted my savegame? The one I just loaded? I get one chance at this, with no knowledge of what I’m getting into, and then you take it away? Fuck you, Tom Francis. You are a shitty, shitty designer. So I backed out of that: now you can load any save you like, and I give you three just to make sure you’re not screwed in all of them. You can even hammer the ’1′ key to repeatedly retry the same tricky situation if you want to. Saves are tiny, take no time to create, and load instantly too. I’ve noticed that Gunpoint’s incredibly sudden, sometimes shocking deaths are often a positive thing – a lot of players at GDC would laugh when they got shot. So I never want that buzz to be dampened by the pain of having to repeat stuff you don’t want to, or being screwed by the save system. | ||
LongShad: I think - best use save-triggers in safe areas, like in "Stealth Bastard".
When player enter in safe-trigger (they place level-designer) - game is saving and safe-trigger destroying (saving run once). | ||||
|
I’m giving a talk at GDC! It’s part of the Indie Soapbox Session at 16.30 on Tuesday, in Room 2003, West Hall, 2nd Floor. Ten of us will give five minute talks, and mine is called: How To Explain Your Game To An AssholeIt’s aimed at anyone who makes or writes about games they need to explain. Also, you can play Gunpoint at GDC! All the IGF finalists are playable in the IGF Pavilion on the main show floor, Wednesday to Friday. You can play Gunpoint there any time during show hours, and if you’d like me to talk you through it or ask me anything, these are the best times: Wednesday: 10:00-11:00 12:00-14:00 15:00-17:00
| ||
turtle: and his hair.
| ||||
|
I drew up a more specific and honest to-do list at the weekend, and realised Gunpoint is going to be done later than July. I’ve also set up a mailing list called Just Tell Me When Gunpoint Is Out. If you sign up, you’ll get two e-mails now, to confirm it’s your address, and one when the game is released. Thanks to all who suggested this, I haven’t seen many games do it without wanting to spam you in the meantime, but it’s a great idea for both of us. Here’s an incredibly misleading shot of a story sequence I got working last weekend: At this point, you might wonder why I even bother to guess when Gunpoint will be done. Plenty of developers have a “When it’s done” policy, which always makes me want to say “I know, I was asking when that will be.” What they really mean, of course, is “We have no idea when it will be done,” a position I have a newfound sympathy for. But it’s still annoying. It still feels like secrecy. You’re the developer! You must know more than we do about when it’s likely to be. We’re not asking for a contract, we just want an idea. For Gunpoint, I can give you an idea! I can even tell you what’s left to do, how long I think it’ll take, and how much free time I have to do it in. Between now and the start of August, I have about 38 free days – i.e. most weekends. And if this to-do list is comprehensive, I have about 39 days work left to do on Gunpoint. This calculation assumes I’ll get nothing done in the evenings, that nothing will run massively over or under its estimated time, that I’ll be free every weekend and that there’ll be no business stuff to take care of. None of these things are true, but they might all cancel each other out. Scripted sequence test – doneMade a scripted scene last weekend, and it looks great. These are no harder than I thought they’d be, so the other few should be relatively smooth sailing. Rating system – 1 dayGiving you feedback on impressive aspects of your performance on a mission. I have a sense this is going to add a lot, so it’s high priority. Laptop data – 1 dayHow you read the data you steal from laptops, which are optional objectives in each mission. Dynamic music working – 1 dayI have Ryan Ike’s multi-layered music mostly working, but it vanishes if you load a savegame and it doesn’t support a few more tricks we want to try. It needs a proper system. Actual script – GDC Plane JourneyYes, I’m going to write the whole game on the plane. It’ll be fine. New gadgets and devices – 2 daysThis probably sounds like feature bloat, but some really strong patterns are emerging in feedback. One gadget people find almost completely useless, and I have an easy idea to redesign that. And another idea I can easily add will build on your ability to manipulate guards, which is one of the most common key positives people list. A couple of simple new devices (crosslinkable electronics) are needed to support more puzzle ideas, which’ll help with the next step. Gadget Tutorials – 2 daysIt’s really hard to train a gadget without knowing what level the player will be playing after they first buy it. I have a dynamic prioritised system in there that queues up all the info you don’t have yet and trains it at the earliest chance. It’s not working. Everyone’s still baffled. So I’m gonna make little controlled test environments for you to try a new gadget before you take it into the field, if you want to. Make worst levels good – 4 daysMan I really hate some of the levels right now. Not worth redesigning them until I’m a) less burnt out on level design, and b) have these new elements in. [Classified] – 4 daysAn idea I won’t talk about yet, because I’ll cut it if it doesn’t work or is going to take too long. It’s targeted very specifically at people finding the game too short or too easy. Final art integration – 4 daysThere are still a few more tile sets, animations and backgrounds to come from John and Fabian – putting those in takes time, and that’s something I’ve failed to account for in the past. Scripted sequences – 2 daysOnly two or three of these to do, and I know how to do them now. Conversation and shop interface tweaks – 2 daysI’d like to make all the menus look better and make conversations feel nicer to navigate. It’s all a bit amateur hour right now. Guard dialogue – 2 daysI want guards to have speech bubbles to articulate what they’re doing sometimes, particularly when a gunshot goes off. If one of them fired it, the police aren’t summoned – there’s a reason for that and I want it to be clear. There’s also a lot of fun to be had with this in less critical situations, so if it’s easy, I will. Esc menu – 2 daysMostly a basic options menu, but I also want a plot recap on there and will need to figure out how the mission skip option works. More sounds – 1 daySo much more to do here, and it’s going to add so much to the feel of the game. Luckily it’s generally very quick to find a good sound and put it in. Tweaks/performance – 4 daysSo many tiny usability tweaks need making, controls need revising, mechanics need altering. Bug fixing – 4 daysHaha, 4 days? Here’s where the game will slip again. [Classified] – 2 days[Classified] – 3 days[Classified] – 2 daysMore things I won’t talk about in case they don’t work out. In terms of knowing when to stop, my rule is that anything I add to my to-do list has to be more efficient than the last thing I got done. It has to be likely to add more fun to the game and take less development time. If I’m always getting more efficient, any delay is worth it. At the point of diminishing returns, I’ll lock it down, polish it up and release it. | ||
Pentadact: It's not, but that's an idea I come back to every now and then to check if it's feasible yet. The difficulty is that Gunpoint is quite puzzle-driven, and the challenge of creating obstacles that are interesting but not impossible is one I don't have a formula for yet. I could have it piece together hand-built puzzles, but then the randomisation element wouldn't keep it fresh.
| ||||
|
I get to go to GDC for the first time this year, to cover it, give a talk, demo my game, and lose an award! I thought I might need some classy-ass business cards to give to all the classy-ass people I’m sure to meet there, so I did these via Moo.com. Details are on the back, on the same scene in Crosslink mode. From what I understand of business, the quality of your card stock and matte laminate are the primary traits by which companies attract a mate, and beyond that your actual work has little bearing. | ||
MUZBOZ: Those are some mega sweet business cards. Wow. :)
| ||||
|
Update: build sent out 15/02/12, thanks to everyone who signed up. You can still sign up to put yourself down for future test builds. I’m almost ready to send out a new test version of Gunpoint to anyone who’s around and able to give me some brief feedback. There’s no selection process, just sign up on the mailing list here and you’ll get it in the next day or two: Also, Gunpoint was just previewed on BoingBoing! Brian Easton played an early build and seemed to really dig it! Solutions to puzzles can be as elegant or kludgy as you need them to be. That’s a lot of the appeal of Gunpoint; there’s rarely a single solution and you are free to do things your way.
Link. | ||
Carson: Hi I just read the update part and i was just wondering when this was updated??!? Because i want to know if i missed it or i should be receiving it soon??!? Please Help
| ||||













