Private Dick

I’m making a game! I will probably never finish it! But I thought I’d start talking about it anyway, to keep my goals straight and get feedback on my ideas as I go.

I’m doing it because Spelunky, one of my favourite games ever, was made by one guy in a program called Game Maker. Obviously it doesn’t follow that “If design/coding/art genius Derek Yu can do it, I can too!” But it does make you realise that game-making programs aren’t just for shitty test games. Since that was pretty much my last remaining excuse for not doing this thing I’ve had a constant urge to do most of my adult life, I started doing it.

My game is about a little dude in a trenchcoat who sorts out – or completely screws up – delicate problems like hostage situations, with a few pseudo-science special abilities. He’s sort of a drunk, asshole Inspector Gadget – hence the working title, Private Dick.

I wanted to see if, with little time, less talent and no experience, I could make a game that would achieve some of the things I’ve always wanted from the games I play. I want a game where:

A gun going off is a big deal. Existing games tend to be divided into ones where guns go off constantly, and ones where guns don’t exist. The latter don’t have enough guns for my tastes, and in the former guns become meaningless. You shot a man in Reno? I shot 384 men 7 times each in Vegas, and I still didn’t complete that game. The reason guns are an exciting element in a thriller is that they can enact sudden, massive, shocking, permanent change. I want to see them play that role in a game.

Failure isn’t terminal. In most games, you do what you’re supposed to or you die and retry. Even if you don’t physically die, failure means a restart. I want a game where life goes on if you fail the mission, and most of the ways you can fail don’t kill you. The story adapts to the outcome of your missions, and death is a rare, shocking, worst-case scenario. I don’t want anyone to have to repeat anything unless it makes no sense to continue. Edit: More on this in the comments.

You can change things in non-destructive ways. You can change them in destructive ones too, but that comes as standard in gaming. I don’t know if I can make anything you could meaningfully call emergent with my resources, but I want to make a game whose levels you can tinker with, reconfigure to your liking, and see those reconfigurations interact with each other – not just with you.

Movement is superhuman, but constrained by physics. I need it to be superhuman because I want getting around to be quick and satisfying, but I want it to be physically coherent. Most games don’t do this: almost all platformers let you move your guy around while he’s in the air, by some unexplained force. I’m not going to do anything fancy with physics in my game, and it’s not going to be primarily about movement the way platformers are, but I want the movement to make physical sense. Anything that doesn’t isn’t convincing to me, and that hurts a game’s feel.


It’s this last thing I’ve been working on so far, a few evenings a week. I’ve nearly got it FYS – Functional, Yet Shit. This is my standard for implimenting a mechanic before moving on – there’s no sense fine tuning or fully animating until I know how it fits in with everything else. Getting movement to that point will put me about 10% of the way to a playable level that includes all the main elements I want in this game. I’ll be surprised if it takes less than six months, sad if it takes more than a year, and amazed if I stick with it that long.

Writing about it here is one way I’m trying to improve its chances of reaching a playable stage. Explaining it to someone else forces me to keep my thinking clear, explaining it to you guys might be a good way to get feedback, and explaining it publicly makes giving up all the more embarrassing. So far I haven’t told you much, but if you’ve ever worked on a game I’d love to hear any general advice.

I’m already ignoring the golden rule: focus on one thing and do it well. I don’t know what I can do well yet, or what’s worth doing well, so I’m roughing out everything that might work and I’ll focus from there.

My plan is to talk more about what I’ve done so far than my future plans, so I’ll write about movement once it’s FYS.

58 Replies to “Private Dick”

  1. Very exciting prospect here. Can’t wait to see what you come up with. One request, please share whatever story you’ve developed if you don’t end up releasing it.

    Also, I don’t know why, but when I first saw the title, I thought it said Private Duck.

  2. Awesome! Very much looking forward to it.

    The one point that I find interesting/troubling is “Failure Isn’t Terminal”.

    This is a discussion people have had plenty of times before (I believe it came up a number of times in the context of Heavy Rain), but gamers really don’t like to fail. I’ve played a number of games where failure was one of the possible, non-game-ending outcomes, and I almost always reload to get the “best” outcome.

    There are two ways to handle this desire to “win” which is sort of built into the gaming experience… One is to make the “best” state ambiguous. Maybe you make a “perfect” outcome impossible, and only allow more or less preferable ones, depending on how the player feels. Bioware does this sometimes, although the best example is probably The Witcher, which combined morally ambiguous choices with a system that did not present the consequences for those choices until several hours later… So if you wanted to change how things went, you’d lose a lot of progress. I like this system, but it doesn’t work for failure/non-failure dichotomies.

    The other solution is to make the failure routes legitimately interesting. Essentially these work as a reward for failure – say, you have to do a really cool mission to make up for your previous failure. I might still try to play the game “perfectly” the first time through, but I will go back and try the other outcomes.

    In any case, good luck!

  3. Tom! I can’t wait to give your game a try. If “focus on one thing and do it well” is the golden rule, then the platinum rule is: test early and test often. As soon as you have something vaguely playable, put it online and get some feedback.

    And then consider what Neil Gaiman once wrote about feedback: if somebody tells you something doesn’t feel right to them, they’re always correct. If somebody tells you exactly what’s wrong and how to fix it, they’re always wrong.

    Oh, and the thing about finishing it? You won’t finish it. Games are never finished, they’re abandoned :D

  4. Good luck! My mistake when trying to make a game was to get too wrapped up in creating art assets/animations etc. keeping it lo-fi and concentrating on the mechanics is definitely the way to go. Hopefully the experimental, hashing-out phase yields some interesting ideas.

  5. Yeah, I’m anticipating a strong desire to retry when the player fails. The current plan is to allow that, just not force it. If you do continue, I don’t want your performance to lock or unlock missions, but to twist your objectives and the odds for any related missions in the future. The ideal would be to engineer a failure spectrum that combines elements from the four games that have a good response range to your performance:

    1. Deus Ex – reacting to your methods. Repeatedly running away from Simons leads to several extra encounters with him further down the line.

    2. Oblivion’s Dark Brotherhood – two-tiered success. There’s an objective, plus an additional stipulation that you’ll get a bonus for fulfilling. Losing the bonus doesn’t feel like failing the mission, but players are free to retry until they get it if they like.

    3. Plants Vs Zombies – two-tiered failure. If a zombie crosses your lawn, you don’t actually lose – it triggers a lawnmower that kills all the zombies in that row. You have to lose twice in the same spot to actually fail the game, yet losing once still feels enough like failure that you genuinely fear it happening.

    4. Hitman – characterising your performance and paying you for it. At the end of a mission, you’re told not just how well you did, but your style. Messier methods are easier but earn less money.

  6. Sounds good if you can pull it off, anyway, as Jonas said you should test it a lot (throw it open to other people to test).

    The story compensating for failure sounds difficult to implement but I’d love to see if it could work. And having a gun as a true game changer, I really hope you get this one done.

  7. I have a sudden desire to play Trilby: The Art of Theft, with a shot of Canabalt between each level.

    Sounds like a great premise with some interesting goals. Know that you are being watching, Mr. Francis.

  8. This is great. This is really, really great. More journalists should make games!

    Don’t despair and don’t give up. I suspect regular blog-updates will help keep the enthusiasm going. The concept is great for a first game. Keep going!

  9. Come to think of it, I think that the Ace Attorney series is the only game series thus far to treat guns the way that you describe here. Obviously guns tend to be important, since you’re always dealing with homicide cases, but usually only as evidence; the shooting is long done by the time the actual game begins. But there are a few instances where people start pulling guns on other people and shit gets tense.

  10. So my ‘elevator clarification question’ would be ‘how is this different from Hitman?’ The mental picture I have so far is a side-scrolling inverse Hitman, going from disorder towards order with pseudoscience investigative verbs in place of items and gadgets. That’s not a criticism – it’d be stupendous – just wondering if it’s accurate.

    A major reason for air manipulation is the psychic jump problem, of course. I assume you’ve considered that before dissing the curly muffin.

  11. I have a concept that I think is unfeasible, but is tantalizing none-the-less, a game that pits you against your own intelligence.

    At a very basic level, each iteration of the game uses your previous input against you.

    It will likely work in one of two ways, it will become impossible, or super easy, either way it will probably happen after just a few iterations. However, if you could prevent this, it would likely be endlessly fascinating.

    One way to get around this might be to use inputs from other players of the game, with a global heuristic for what survives (if you create the most efficient play style, everyone else who plays the game will be competing against you). In essence, non-realtime multiplayer.

    The trouble would be how to implement that.

    I was thinking programmable robots (using a simple visual programming language like Lego Mindstorms) that get successively more inputs as you go through the game (first they are only aware of where your mouse cursor is relative to where they are, but as you progress you can unlock awareness of other obstacles and other robots).

    “Enemy” robots would enter through the opposite end of the obstacle course (your goal) and also respond to where your mouse cursor is on screen and run variations of your previous code.

    The map would never be larger than the computer screen (to prevent scrolling).

    How’s that for a random game creation side note.

  12. If you’re not going to have the ability to move mid-jump, then perhaps some sort of faint trajectory line that changes the longer you hold ‘jump’ for (up to a maximum)? It would give people a slightly better idea of how to implement the jump they want to make, but still leaving in skill and some planning.

  13. I’ve also felt before that game-making programs will never be enough to fufill my game making dreams. I was wrong. You already seem to have a fairly good impression of how difficult it will (still) be, and how your expectations should be low. That’s good. Less of a fall. :)

    My advice: Use every resource you can get your hands on to overcome barriers, particularly the making-stuff-work-with-code one. You’ve mentioned Spelunky already – have you checked out the source code for it that Derek Yu has released? Whenever I’ve tried making a game in a new environment, I’ve found examples to be the best entry point. Seeing how someone else structures their work is often useful; and seeing how they tackle specific common problems is invaluable (making a platformed is a really good choice, given the plethora of available tutorials and examples available).

    Oh, also, don’t keep adding features to your To Do list. You’ll know, deep down, when you have enough things to be worrying about already. Have too many ideas that you haven’t implemented yet (and can’t think how you will), and your morale will plummet. Keep it simple! Be happy!

  14. Fantastic news. I hope you have lots of fun! Do you know what you’re doing for sound yet?

  15. That sounds like a lot to aim for for a first game.

    If getting some satisfying movement working is your first priority at the moment, I think my advice would be to try to create a simple game purely out of your movement mechanic (whatever that is). Then come back and build on that with more features from your grand plan for Private Dick.

    A bit like the development model of Captain Forever, I guess.

  16. I need to go to bed and like a fool I went through my bookmarks just checking for updates to read tommorow. So Tom is making a game well I want to say “It’s about time” because I know it will be awesome. It just will be.

    If you want some advice, as corny as it sounds but “be yourself”, because your judgement in what is and is not good about a game is your strongest asset. It is why many of us read your blog in the first place. So if you just be Tom while you make it, the game will be awesome. Don’t bend to any “it was easier to do this instead” if it compromises your enjoyment, it will show.

    Oh and I am putting my name down for your BETA, if you ever have a BETA I want to test play it :)

  17. As for making partial failure an option that doesn’t require restarting the game. I’d love to see something where there’s delayed feedback on weather you completed a specific task or not. For instance, your current goal is to protect a girl. A guy jumps out and brandishes a gun. You jump him but he still manages to get a shot off that grazes the girl. An ambulance comes and takes her off in “critical” condition, and you aren’t allowed to ride with her. You have to keep playing to find out if she survives or not, at which point, you may not be inclined to go back and reload a way earlier save. In fact, maybe she recovers in the hospital, and is actually safer there, because a mob boss sent out a gang to kill her and they can’t reach her there. So you really can’t tell if what you did was the “right” thing or not, and are forced to just see what happens.

  18. Jonas, Lack: good point. So far I’ve just been testing it myself, constantly, but having Kim play it already highlighted some unintuitive bits. If anyone’s up for messing about with a miserably unfun prototype of a half-built, non-animated mechanic, say so here (and enter your e-mail – only I can see it) and I’ll get some sort of pre-alpha feedback squadron going.

    Chris: I remember Trilby! I love the concept and potential of that game, but it’s so fiddly and hard that I never get anywhere with it. It’s definitely the closest point of comparison in terms of theme and presentation, though, well spotted. I want my game to be a lot more spacious, less intense, more thoughtful and more free-form than that.

    gryffin: Yeah, they play very much like a thriller/drama. My goal, though, is to give guns that kind of significance but still let the player fire one any time he has one.

    Jason: I see Hitman as primarily about social stealth and killing people. Mine won’t feature either primarily. You’re super-human in a way that makes your interactions pretty different to Hitman, and a lot of the challenge is going to be gadget-driven puzzles about getting access to your objective.

    Lack: Yeah, I have something similar in mind. Hopefully with the mechanism I’m using, you’ll usually know where you’re going to hit without being shown, but extra guidance is always good.

    Devenger: I have looked at Spelunky’s source. It’s a little beyond me. I was looking to see how he handled movement and collision, but I couldn’t even find the input response code. I spent a long time trying to use other people’s platformer solutions before I realised they just weren’t useful for what I had in mind, and I needed to code everything from scratch.

    Jaz: nope. I’ve found a Creative Commons library that has some stuff I want, but it’s not comprehensive and I’m going to need a lot.

    roBurky: you’re probably right. My movement system isn’t a big enough deal, and will never be slick enough, to support a game in its own right, but I do intend to get ‘a game’ functional with a few basic interactions after that. Most of the work I have planned is abilities rather than content, so I can make levels for the primitive iterations of it and add more complex ones when the game itself evolves.

    TooNu: Thanks! Noted.

    UberSprode: I definitely want that tension of ‘Ulp, that probably has consequences but I don’t know if they’re good or bad yet.’ In absolutely ideal world, I’d love to have the player shoot a guy and think “Fuck, am I going to get away with that?”

    Wow: there are a lot of comments. Thanks everyone, it is inspiring.

  19. Senor Pentadact,

    Don’t know if this model is at all applicable, but one of my favorite examples of Failure Isn’t Terminal, in a very micro sense, is Burnout Paradise.

    1. Free Roaming around the city, when I miss a jump, I’m almost never tempted to circle around and immediately try it again because I’ve already hurtled so far past it that I’m already coming up on the next cool jump or the next shortcut to explore or whatever. So it’s partly the game having enough momentum to keep the player zooming to the next challenge so fast he doesn’t have time to consider going back. It’s partly that there’s not a big penalty for missing a jump or a shortcut – I’m just disappointed that I didn’t successfully do the cool thing I did but wait here’s another opportunity to get it right this time. So it’s also partly having a game that gives you intrinsic motivations for success – “do this hard thing because it will be fun and you will feel awesome if you succeed” vs. the extrinsic motivation of “do this hard thing or else you don’t get to progress to the next challenge.”

    2. If you’re losing a race, you can say “Screw it,” and activate the Showtime mode, where you purposely wreck and try to earn points by taking out as many other cars with you as possible. It’s a little like Minotaur China Shop that way (another game that makes failure part of the fun).

    3. The crashes are super cool to watch, so the player actually gets a consolation prize for failing. The game is fun even when you’re losing.

    4. The game is not that hard. I might fail this time, but I don’t usually fail over and over and over.

  20. I’d be more than happy to play through any alpha builds you’re experimenting with.

    Also, drop me a line if you ever need any graphical assets. I love drawing/pixelart/animating in my spare time and it’d be cool to put that into use.

  21. Yeah, I’ve sent an email. Anyway, it’ll be interesting to see how the jumping method you mentioned will work.

  22. “But it does make you realise that game-making programs aren’t just for shitty test games.”

    There are some very sophisticated GM games out there, as well as other various game-making IDEs.

    As someone who used GM in a school environment, I would recommend Game Maker specifically to any professor who is trying to teach a game-making class, whether it’s programming-focused or art-focused. GM essentially has an “easy mode” (drag & drop) and an “advanced mode” (a custom scripting language called GML) making it ideal for those who want to hack stuff together without too much of a learning curve as well as those who are more interested in learning proper programming techniques but really want some training wheels.

    Additionally, some of the features added in GM8 have made it a LOT easier for teams to use whereas GM7 had some severe drawbacks for people trying to collaborate on projects.

  23. Let me just say this right now.

    If there will be platforming, give us the ability to control or jumps. The only game I know of that removes air control is old Castlevania games. They don’t have much platforming. When they DO its a complete bitch to do because you can’t control your jumps.

    Also, I think you might be a little to ambitious. Its best to start small.

  24. Again, not privy to the particulars – but if you don’t want a platformer in the first place, does the game need a ubiquitous jump? If it’s just a way to get between storeys, would stairways do the job? Maybe the end-on stairway, allowing very quick fade-out-fade-in transitions.

  25. If there were end-on stairways/doorways with a move-off-plane button, you could ‘hold to lurk in stairway/doorway”. That seems like a good verb!

  26. I’ love to test anything in alpha.

    And i am particularly interested in this idea of “failing but not minding.” Would it be useful with this to not enforce it: starting off hard and expecting failure would be a bad way to do it. Maybe something that cut in after your first failure, so you can pass three midssions, then fail one, and plot X happens so retrying is an option, but not the only one.

  27. If he’s talking about failure being incorporated as a part of the story, I doubt there’ll be many jumping puzzles planned at this stage.

    “I found myself at the bottom of a pit. My god… what had I done?”

  28. Well, I figured platforming would be like “a suspect has run off to the roof, chase him” and failing to jump would have you miss him. And if you miss time your jump, you’d end up falling off the roofs (rooves?) and he’d get away. If you could control your jump, you may be able to save yourself from that.

    Also, you mentioned you were thinking of him being an “asshole inspector Gadget” and unless you are thinking of a diffirent Gadget, then it wouldn’t be unlikely that Private Dick COULD control his jumps, useing some zany machine thing.

    Unless you mean “asshole Inspectir Gadget” in personality alone, not his abilities. In which case no one would realy care about the character, because he’s be a bumbling, drunken pissant who hates people and still solves crimes despite not having much in the terms of skills.

  29. I’d like that; the prospective game is called ‘Private Dick’… It’d actually be Dirk Gently I suppose.

  30. LaZodiac: I don’t know why you’d have trouble catching a dude if you’re super-human and you can jump in a way that’s “quick and satisfying”. Maybe you can leap on top of buildings, anyway. Maybe you have a grappling hook. All will become clear.

    Tom: By the way, I would love to help test your game.

  31. Sounds like a great idea, I’ve been hoping someone would make a proper PI game for a while. I’ve long had a soft spot for Discworld Noir’s clever re-interpretation of the adventure game mechanics to fit that concept.

  32. Absolutely love to help out with looking at an alpha. I’m programming-ignorant, so it’d all be “how it feels” stuff.

  33. almost all platformers let you move your guy around while he’s in the air, by some unexplained force.

    The reason platformers do this is because the initial jump is a binary action. You can’t control how high or far your initial jump is. So instead they let you control it in the air so that you sort of choose how hard your character jumped after the fact. Direction changes don’t make sense but are sort of needed to make up for not being able to choose your trajectory by controlling the initial strength of the jump. Done well (i.e. no radical direction changes) air-controlled jumps might be indistinguishable to an observer from a jump where you obeyed the laws of physics.

    I don’t like the mechanic of holding the jump button to “charge” up a stronger jump because you ought to be able to do a high jump as instantly as a short one, both for realism and good gameplay. I sort of like the way the new Tomb Raider games do it where you jump instantly when the button is pressed, but the longer you hold the button, the longer the jump. But since her jumps are more realistic than a typical platfomer jump, the difference in trajectory is small.

  34. Yeah, I know why games do it, but it’s a solution to a problem I don’t intend to create in the first place. It’s a hangover from an age when binary switches were all we had. That basically broke jumping as a mechanic, and air control was a botched, nonsensical fix that became standard only through necessity. There’s not much point speculating whether the lack of it is going to annoy you in this game, because I haven’t even said what the movement system is yet.

    Thanks to all the volunteers – I’ve noted your e-mail addresses but snipped them from the comments to foil spambots.

  35. Interesting.

    I know you are pretty brilliant when it comes to ideas for games (Honestly, after reading your Just Cause 2 ideas, I wanted to buy the game JUST to see how awesome your implementations would be)

    I’m taking some programming classes right now, but I might try out Gamemaker. I tried it in middile school, back when I first aspired to be a programmer, and got confused (As you would expect) and quit. But maybe if this turns out well, I’ll be able to throw one of my ideas into “orbit”.

    I’ve had a tower defense esque game on my mind since first seeing that L4D didn’t have a “director” mode, where basically you just play as the director, setting up “towers”(ZOMBIES) which try to stop the “waves”(survivors).

    I’m sure the game’s not very big, but my computer only has a few gigs of HDD space left atm, and I want to save what I can for emergency updates if possible, but once I clear some space off (Or get a new Hard Drive) I’ll be sure to send you an email to help test your game. It’d make me feel important =o

  36. If this will be anything like the old “The Detective” I’ll be very interested indeed. That game had lots of personality.

  37. Very cool to see that you’re trying your hand at making a game. I’ll definitely be interested in updates on the process, especially discussions on your design decisions along the way. Best of luck!

  38. I know I’m not a regular poster here, but I’ve always been a reader and I’d definitely like to do some testing.

  39. Sign me up to be Private Dicked in the Alpha.

    I wish I could help in some other way. The only thing I can do is write, the one area you definetly don’t need any help.

  40. Haha yes, I would heartily enjoy “Private Dicking” sometime in the future. Finally, my favorite games writer attempts a game himself! :D

    Frankly I’m interested in the concept of making a gun really impactful. I always thought of that was an interesting concept, but could never figure out how to actually implement it and just NOT include guns at all, except when it was important.

  41. You could try having the gun make a permanent mark on the world. You know, big black streaks where the powder went off, stuff falling from the shock.

  42. I would love to help out with testing or, if you want, with art assets. Sending over an e-mail now.

  43. As a fellow Game Maker newbie: I’ll echo roBurky’s comment in that I would try to nail the feel of the navigation before you implement all the other gameplay elements, even the important ones. If it’s already fun to move around you’re much more motivated to keep working on it…

    Also too many games have interesting macro mechanics but sucky movement.

  44. Another good example for games with a range of acceptable failure outcomes was the very first Wing Commander. Obviously, getting killed ended the game, but failing a mission (e.g. letting the ship you were escorting be destroyed) just moved the game into different branches in future missions, delaying access to fancier fighters and producing depressing cutscenes of the Terrans slowly losing the war; start winning again and you could make it back to a better branch of the tree. This produced a great sense of back and forth. This approach got weaker in the second game and was gone by the third, because everyone in the entire world except me always saved-and-restored the moment they failed a mission.

  45. Well, yes, but thats because Wind Commander is freaking awesome.

    You play as a semi anti heroish Mark Himmel. Its the best space sim ever.

  46. Oh good christ thats the second time on this blog I’ve said Wind Commander instead of Wing Commander. Sorry.

  47. You know, if a gun going off is a big deal, then I’m betting most other signs that would indicate deep shit for one side or another should be as well.
    I mean, a discovered body would be less of one, if you can silence the mook before he alerts the rest, same for a broken window, or the sounds relating to them, as well.
    And as for the superhuman, yet constrained by physics model, that seems like a noble leap (Yes, pun intended) in the right direction. It begs a question, though. Would you be able to kill someone by actually landing on them? Not mario style, where you bounce back up, but say, you hit them, both go down, and hopefully you just silently shattered this poor grunt’s internal clockwork to the point of death/unconciousness?

    On that note, are you catering towards a “Don’t kill” motif, or are you just going for “You can kill, just don’t get caught” or “Don’t attract too much attention.” idea?

  48. Have you released the source code to gunpoint? do you ever plan to? I feel like there is some really useful stuff in there for a starting developer

Comments are closed.