All posts

Games

Game development

Stories

Happiness

Personal

Music

TV

Film

TOM FRANCIS
REGRETS THIS ALREADY

Hello! I'm Tom. I designed a game called Gunpoint, about rewiring things and punching people, and now I'm working on a new one called Heat Signature, about sneaking aboard randomly generated spaceships. Here's some more info on all the games I've worked on, here's the podcast I do, here are the videos I make on YouTube, here are some of the articles I wrote for PC Gamer, and here are two short stories I wrote for the Machine of Death collections.

Theme

By me. Uses Adaptive Images by Matt Wilcox.

Heat Signature Talk

Showing Heat Signature At Fantastic Arcade And EGX

Projects

What I’m Working On And What I’ve Done

Murder, She Wrote

The Formula For An Episode Of Murder, She Wrote

Heat Signature Wide 2

Heat Signature Needs An Artist And A Composer

Heat Signature Floorplans Header

Improving Heat Signature’s Randomly Generated Ships, Inside And Out

Gunpoint Steam Workshop

Gunpoint Patch: New Engine, Steam Workshop, And More

Distance Header

Distance: A Visual Short Story For The Space Cowboy Game Jam

The Magic Circle

Raising An Army Of Flying Dogs In The Magic Circle

Floating Point Blog Launch

Floating Point Is Out! And Free! On Steam! Watch A Trailer!

Floating Sine

Drawing With Gravity In Floating Point

Fault

What’s Your Fault?

Hoplite banner

The Randomised Tactical Elegance Of Hoplite

Gone Point

Here I Am Being Interviewed By Steve Gaynor For Tone Control

Heat Signature Thumbnail

Heat Signature: A Game About Sneaking Aboard Randomly Generated Spaceships

GRappling Hook Thumbnail

The Grappling Hook Game, Dev Log 6: The Accomplice

Alien Swarm Heroics

A Story Of Heroism In Alien Swarm

FTL Story

One Desperate Battle In FTL

Spelunky Banner

To Hell And Back In Spelunky

Game vs story graph

Games Vs Story 2

Gunpoint Breakdown

Gunpoint Development Breakdown

Max Payne 3

Five Things I Learned About Game Criticism In Nine Years At PC Gamer

This is how you die

My Short Story For The Second Machine Of Death Collection

Clouds

Not Being An Asshole In An Argument

Skyrim Diary - Frostmere

Playing Skyrim With Nothing But Illusion

Mainstream Games

How Mainstream Games Butchered Themselves, And Why It’s My Fault

A-Rock-and-a-Hard-Place-Trio-Jan

A Short Script For An Animated 60s Heist Movie

Dark Messiah

The Magical Logic Of Dark Messiah’s Boot

Arguing

Arguing On The Internet

Stealth Games

Why Are Stealth Games Cool?

Violence

E3’s Violence Overload, Versus Gaming’s Usual Violence Overload

Suspicious Manifesto

The Suspicious Developments manifesto

GDC

GDC Talk: How To Explain Your Game To An Asshole

Crosslink

Listening To Your Sound Effects For Gunpoint

Happiness

Understanding Your Brain

What Makes Games Good

What Makes Games Good

Seat Quest

A Story Of Plane Seats And Class

Beneath Suspicion

Avoiding Suspicion At The US Embassy

Open Worlds

An Idea For A Better Open World Game

Level Up

A Different Way To Level Up

BioShock Ending

How I Would Have Ended BioShock

Meet the Spy

My Script For A Team Fortress 2 Short About The Spy

Team Fortress 2

Team Fortress 2 Unlockable Weapon Ideas

Football Manager

Don’t Make Me Play Football Manager

EVE Assassins

EVE’s Assassins And The Kill That Shocked A Galaxy

GalCiv 2

My Galactic Civilizations 2 War Diary

Gnome

I Played Through Episode Two Holding A Goddamn Gnome

Machine of Death

My Short Story For The Machine Of Death Collection

AOL

A Woman’s Life In Search Queries

Second Life

First Night, Second Life

SWAT 4

SWAT 4: The Movie Script

Fresh Fox

My browser had been acting weird since I tried – and uninstalled – Tab Mix Plus in the hope of solving an age old irritation with Firefox. I open everything in new tabs, and Javascript links wake up in this new existence with no clue to where they came from or what they were supposed to do. It didn’t work, and it made a lot of other things not work, so I started from scratch. Which really makes you realise the Firefox add-ons you can’t function without.

add ons

Adblock Plus
I was kind of amazed when I reinstalled Firefox once, and was shown a recommended add-ons window with this at number one. It’s not like the dark days when the original Adblock had to be manually supplimented with an external filterset for it to eliminate anything you didn’t specifically ask it to. These days this, the recommended add-on to the recommended browser for your PC, comes with a default evolving set of filters that rip out the ads that pay for the sites you use.

It’s unequivocally website piracy, and if it actually did become widespread, the internet would stop. There’d be nothing left. Just James, I guess, Wikipedia and Twitter. Those might have ads too, I wouldn’t know, I’ve been using Adblock a lot longer than them.

Still, until it’s illegal, I’m using it. I’m virtually a communist, I think advertising is fundamentally morally wrong and would be banned in any healthy society. Luckily, in mine, it is!

Greasemonkey
This does nothing in itself, but lets you install scripts that apply only to certain websites, and redesign them to your tastes. I use this almost solely to fuck with YouTube – the star script here adds a slick little Download button below every YouTube video, giving direct hard links to the source files for the clip in a variety of resolutions and formats.

Image Zoom
All the browsers are pretty good at dealing with images larger than your screen, but a more common problem is ones that are too small. Image Zoom lets you click both mouse buttons to blow an image up to the biggest it will go in the current window. Particularly good for animated GIFs.

InFormEnter
The only thing more useful than Adblock. You type some commonly needed stuff like your username, e-mail address, real address, maybe your low-security password, and in any form you can hit a key and select one of them from a list. I got to a point in my life when if I had to fill out my details on one more fucking sign-up form, I was going to prise my Tab key out with a screwdriver and try to cut my wrists with it. InformEnter was the alternative.

Intelligent Middle Clickums
Stupid name for an updated version of an outdated extension to solve my original problem: open Javascript links in a new tab in a way that actually fucking opens them in an actual new tab. It doesn’t work for everything, but it also doesn’t break your whole goddamn browser.

Mycroft Project
Not listed above since it’s not an add-on, but a search engine. You know you can set the search box in the top right to search different sites, like Wikipedia? Well, one of the sites you can set it to search is a site of sites to search with the search box you’re searching in. I use masses of these, and I’m thinking of new ones – like Play.com or Metacritic – all the time. Mycroft’s a place where users have rolled their own custom search engines for sites like that.

No Quicktime Plugin
I don’t know about you, but the only thing I want the built-in Quicktime plugin opening is the puzzle box from Hellraiser. But by default, Firefox won’t even give you the option to download dozens of different filetypes, assuming you’ll want to force them into a horribly stretched and barely functioning proprietary Apple product instead. I used to set all these manually to ‘save to disk’, but I’ve just discovered you can click the Plugins tab in the shot above, and disable it altogether.

Chlorus: I'd recommend noscript. Its a bit of a hassle sometimes, but it does wonders for getting rid of annoying Flash movies. Also reduces your security risk surface by disabling plugins like Flash and Java that have poor track records.

TychoCelchuuu: Opera's the only Firefox plugin I use. It runs independently too so I don't even need to install Firefox.

Jason L: I have an enormous wad of installed extensions, but off the top of my head I probably wouldn't want to live without:

TabMixPlus, DownThemAll - basically come with FF out of the box
ImgLikeOpera: I don't even have AdBlock installed, I just surf imageless by default. You'd be surprised how liberating it is. Want an image? Ctrl-rightclick, bam! Want to light up a page? Alt-M. I'm actually dreaming of learning XUL to add the inverse of one of ILO's modes, so I could load just the ads on sites I support. I'm serious, it turns out most images are bullshit.
NoScript: As per Chlorus, it just eliminates so very many annoyances. You do get the occasional mess where a storefront redirects to another site that throws errors and takes a bit of tracing to enable, but on the whole it's a positive thing.
FlashBlock: Finishes the job on annoying Flash, but mainly this is here to make Flash games and Youtube videos only start playing when I want to see them, not when the tab loads.
InFormEnter: Right on.
TreeStyleTabs: Lets you put open tabs in folders and subfolders which can be collapsed. Essentially the next metalevel of tabbed browsing. Especially nice (though in my case dangerously addictive) as a sidebar.
Multiple Tab Handler: The obvious complement to TreeStyle.
Nightly Tester Tools: Solely to override compatibility on extensions that are version-abandoned but still work fine.
Linkification: Linkifies cations.
Download Status Bar: I can manage all my routine downloads from a compact, elegant menu instead of a temperamental separate window? I think I will.

It's actually a funny coincidence that you should start another Firefox party tonight, as it's just tonight that I'm taking another shot at finding a sane Firefox browsing history manager. It's hard to search through all the people spewing a million ways to delete the history. Does anyone know a good total History Manager replacement that I can use to go back in time, see when I visited pages and reopen some of them? I don't see anyone even trying. Am I the only person who thinks it's straitjacket-pissing INSANE for a 'history' manager to remove an address from the history while forcing the user's focus to travel back with it from the selected point in time to the top of the history, every single time an address gets clicked? How about not counting pages as 'visited' anew if they're loaded from a saved session, despite having to reload the data from the server and reflecting any data changes?

Jaz: Disabling flash and java? How do you play webgames, like I do lots and lots and lots?

Jason L: Sites like Kongregate get permanent whitelists in my NoScript and with Flashblock, Flash content is replaced by a box with a play symbol. Click on the box, the game/video loads like normal and away you go.

Anonymous: "I think advertising is fundamentally morally wrong and would be banned in any healthy society."

How... what? I can't...

...What?

Anonymous: Sorry to have to post two comments, but I don't think I really made my point in that last one. I'm expressing the fact that I don't understand how that idea makes any sense at all, and also justifies stealing bandwidth from every site that you visit.

So, yeah. Hopefully that clears things up.

Iain Cheyne: Rather than use the search box, I prefer using smart keywords..
I haven't tried InFormEnter, but Sxipper is excellent.

Phydaux: I've been looking for something like Intelligent Middle Clickums my whole internet browsing life. An addon that electrocutes the web designer who uses javascript as navigation would be good too.

Jaz: Advertising is pretty sneaky, I think. If we're talking about something traditional, like a big old coca cola billboard, it's an attempt to get you to go "oooh, I could go for that" when you were quite happy beforehand. More generally, it's an attempt to have coca cola be the cola just because it's everywhere.

In some countries, adverts for junk food and candy bars are banned during ad breaks for children's tv.

I don't use ad blockers because I have a fascination with marketing and that sort of thing. I'd prefer to see all the ways companies are trying to get my attention and have little discussions with friends about how effective they are.

FlashBlock sounds good though.

Chrissam: I use Chrome. I hate Firefox. Opera is alrite but comes with too much stuff.

CaptainHairy: Instead of Mycroft, I set up my URL bar to default search to Yubnub (http://yubnub.org) which already has a vast array of search commands and other such things that users have written.

If ever I need to search a site I want to look through, I just need to type "ls " and Yubnub tells me what commands are already available for that site. For example, searching Ebay.co.uk is ebuk , or more exotically, to convert, say, £120 into dollars, you'd type "xe -from USD -to GBP -amount 120".

It's probably the first thing I change when I get a fresh browser to work with, and the most annoying thing about using someone else's browser, and realising that 'gim' isn't going to take me to Google Image.

DoctorDisaster: Firebug is absolutely the coolest add-on ever. I also have download statusbar and undo closed tabs on every computer I use.

Slamhound: I don't know why, but ever since I upgraded to a new PC (and the fresh OS install that entails) AdBlock has been useless. Completely and utterly useless.

Nothing I've been able to do has actually allowed it to block freakin' ads and popups. Okay, once ads have loaded on a page I can manually set ABP to block those particular ads in future, but only the individual ads that I tell it to block. Since then I've been gimping along.

It would actually be nice to get ABP to work though.

Obscure: FireGestures is absolutely the best add-on that I have. I'm pretty sure Opera comes pre-packed with something similar to it, but Firefox lacks it innately.

More or less, it lets you do stuff by right-click-and-dragging. Want to go to the next tab? Up-right. Re-open that tab you just accidentally closed? Right-left. Reload the page? Up-down. Want to view a tab's entire history? Right_click-scroll_up.

Also, it lets you make your own combinations. Want to come here in just a few waves of the mouse? Bind the site to UDR, LUR, LDL, or whatever else you want. I'm literally lost without it.

radomaj: NoScript: No.
I don't what sites those dudes use, but I never had a problem with "annoying JavaScript". What also happened, is that I had to whitelist so many times, that whatever I got out of it, I lost it in time spent to do it.

Download Status Bar: Yes. So much. That is something I always installed when I used Firefox. Turns out it's in Chrome out of the box. You could try Chrome, if only for a day.

"Rather than use the search box, I prefer using smart keywords.." and " Instead of Mycroft, I set up my URL bar to default search to Yubnub (http://yubnub.org) which already has a vast array of search commands and other such things that users have written."

Smart keywords, you have to set up. Yubnub, you don't have to set up, but you have got to remember the keywords. Chrome does setting up automatically. Peraphrasing CaptainHairy
For example, searching Ebay.co.uk is "e" or "eb" or "eba" (depending on how it ranks in the most visited sites beginning with those letters) in the "omnibar" and then TAB. More exotically, to convert, say, £120 into dollars, you'd type "£120 to USD", because when you don't use a keyword, it uses Google and it does currency conversion out of the box.

"Firebug is absolutely the coolest add-on ever." Yes! No Chrome version makes me sad.
"I also have download statusbar and undo closed tabs on every computer I use." Isn't the second one already built into Firefox? I also heard it as a selling point for TabMixPlus. What is up with that?

I used mouse gestures for quite some time (2-3 years?), but when I started spending most of my time on the Internets talking with people I realized that if I have one hand on the keyboard, keyboard shortcuts are faster. The only time I think of gestures is when I surf one handed (eating?), but that happens rarely.

Tom Francis: Anon: at worst, ads are man-made mental viruses engineered by expert psychologists to force their way into your consciousness without your consent. At best, they're an inertial force making it harder for new products and ideas to take off and easier for established companies to find success with new products and ideas regardless of their merit. They're a way of translating money into success that's independent of the product's quality.

Obviously most of what I love on the internet is supported by ads - I'm not saying hit a button and stop it all. But if the net and economy in general had evolved without ads as an option, we'd have an even more amazing landscape of ideas.

Some ads genuinely disturb me, and I'm not someone who can easily expunge unwanted images from his brain, so I block them. Are you similarly 'stealing bandwidth' if you let the ads load but don't look at them? If you look but don't click? If you click but don't buy? Ads aren't a fee, they're a statistical gamble that revolves around consumer choice.

Jason L:

Are you similarly 'stealing bandwidth' if you let the ads load but don't look at them? If you look but don't click? If you click but don't buy?
In at least one case, no. Viewers of RPS have been directly and unequivocally told - by Alec Meer, I think - that some of their advertisers pay purely on a per-presentation basis. It seems like an insane policy to me, but in that actual real-world situation loading or not loading an image leads directly to a content creator getting paid or not getting paid money.

Jaz: @Jason L

Ah, but in that case, allowing an ad to load will satisfy the criteria of the per-presentation payment model, but it won't generate any sales for the company. Some ads pay per click, and the next logical extreme would be paying RPS a cut of every sale that originated from their site. Ewwwwww.

Jason L:

Ah, but in that case, allowing an ad to load will satisfy the criteria of the per-presentation payment model, but it won't generate any sales for the company.

...satisfying Tom's hypothetical of an advertisement as 'a statistical gamble that revolves around consumer choice'. If you want to start a new line of argument out in the next ring of 'please support our sponsors', fine, but AdBlock does not click ads or purchase products. The advertiser is not an actor in this argument.

I'm not making a moral judgment here; as implied above, I'm effectively adblocking virtually everything with possibly mitigating circumstances. The question of adblocking as a whole is uselessly complicated but remarkably uninteresting. All I'm saying is that the original proposition of 'bandwidth theft' was wholly confined to the interaction between the viewer's browser and the website and in at least one real situation Tom's slippery-slope argument doesn't fly.

Jaz?: What's confusing me here is this:

"...satisfying Tom's hypothetical of an advertisement as 'a statistical gamble that revolves around consumer choice'."

That was the point I was making, actually. I'm not sure what you thought I was trying to say.

If you allow the image to load but don't look at it or click on it (or buy the product), you're making the statistical gamble a little less reliable or profitable for the company leasing the adspace. Blocking the ad prevents the money from going into the RPS account, but if you show the ad but don't look at it or click on it (or buy the product), you're making the statistical gamble a little less reliable or profitable for the company leasing the adspace.

An adblocker allows someone who doesn't like advertising or ever click on ads to remove the niggle of flashing Battlefield Heroes banners from their gaming websites. The ad provider might feel justified in withholding payment from the site, or they might find some crazy way to force ads past the adblocker, but it doesn't change that they're never getting a return on their advertising dollar from that user.

Jason L: So here's the timeline as I see it: 1. 'Anon' states that blocking ad presentations - the quid - while viewing a site's content - the quo - via AdBlock is 'stealing bandwidth'. (Not 'freeloading', not 'betraying the implicit social compact surrounding ad-based business models', 'stealing bandwidth'. While I may be focusing too precisely, I view that wording as significant. See below if you're a spod like me.) 2. Tom replies with a slippery-slope/reductio ad absurdum that that accusation is invalid because its logical extension is a moral requirement to click ads or buy products when you don't want to. 3. I point out that this does not hold in the case of per-presentation pay models, that these models do exist in the world, and therefore that the reductio ad absurdum does not hold universally and it is possible for the accusation of bandwidth theft to be valid.

Now, apparently my earlier argument skipped too many steps. Let us expand in excruciating anal-retentiveness on the verbiage I'm following: 'stealing bandwidth'. Who pays for bandwidth? In practically all cases, the site owner and only the site owner. Even in the ideal case with no revenue from merchandise sales, commissions, partnerships, subscriptions, donations etc., an advertising spend cannot reasonably involve the advertiser as an agent in any use of AdBlock: First, because barring the extremely rare case of an outright single sponsorship, any single advertiser pays only for an indeterminate and fluctuating fraction of the bandwidth bill for the site, and second, because any given credit paid by the advertiser can go to other costs of the site, such as food and/or beer for content creators. The chain of causality is severed in both directions.

Thus, it is not sensible to invoke the advertiser as an agent. The advertiser is relevant only in that the advertising model determines whether we're in a situation in which a reader can choose to exchange an increased cost to the other party - the marginal (economic sense) cost of pushing the page from a server plus zero ad payment - for a benefit to him or herself - site content - through use of AdBlock. This is reasonably treatable as theft - taking a benefit at a direct marginal cost to the other party - rather than piracy, taking a benefit at zero marginal to the other party. Outside a per-presentation model the ethical question of AdBlock usage does indeed degenerate from theft to piracy, so I applaud Tom's initial careful distinction. Again, I'm only addressing his reply to the case of 'bandwidth theft', which I feel was overly general. I fully acknowledge that in the wider case of AdBlock site piracy, it is theoretically possible not only to cause no marginal cost by blocking ads but for a dedicated nonconsumer to do less harm to a content producer's bottom line by blocking an ad than by viewing it. That wider arena is where Tom's reductio applies, where your arguments are taking place, and where it is reasonable to treat the advertiser as an actor (who chooses to participate in a statistical gamble). That arena is different not only in degree from any possible case of bandwidth theft, but also in kind. In some cases that actually exist, turning on AdBlock is an act of bandwidth theft. That's all I'm sayin'.

Tom Francis: Jason: Fair point.
Jaz: Also a good point.

'Stealing bandwidth' is presumably wrong because if everyone did it, ad-supported sites couldn't survive. The alternative, in my case, is to let the ads load but never click on them. If everyone did that, ad-supported sites still couldn't survive.

It's possible to structure a site so that if the ads don't load, the page doesn't either. Most ad-supported sites don't do it because they don't want to restrict their content that way. Those that do, I'm happy to avoid.

Tom Francis: By the way, Doctor Disaster: What do you use Firebug for? I read up on what it does, generally, but I'm interested in what sites you modify and why.

Jason L: Shit, I forgot to add on - one possibly interesting facet that just now occurred to me is that in the world of print magazines like PCG, per-presentation is virtually the only advertising model.

Jason L: Just for the sake of philosophy:

'Stealing bandwidth' is presumably wrong because if everyone did it, ad-supported sites couldn't survive. The alternative, in my case, is to let the ads load but never click on them. If everyone did that, ad-supported sites still couldn't survive.

This may also be true, but no. It's probably due a flaw in my understanding of Kant, but I do not find the Categorical Imperative convincing because it's so trivial to locate a situation in which failure to lie would be monstrous or impossible. Bandwidth theft is wrong in a way content piracy is not for the much more proximate, primate reason that one involves doing known or knowable harm to a person - and probably, given remotely normal reading habits, a person that you like.

Tom Francis: If you don't fall back on universalisability - and I don't either, in my personal ethics - it's even easier to defend. Unless my single pageview pushed them past their monthly bandwidth allowance, I haven't done them any harm. I've declined to benefit them in a minute way, because the cost to me is greater than the profit to them.

Conceivably if there's a site out there with a per-impression ad deal and a per-megabyte bandwidth deal, I will cost them more than they intend the average visitor to. I still don't think that's theft. Sites don't currently require you to accept an agreement about viewing ads in exchange for the content. The contract is between them and the advertiser, not them and the customer. An ad-supported model is a free model with a way of making money added on, and is fundamentally different from a sales model with 'looking at an ad' in place of 'paying some money'.

EthZee: Can I suggest an addon which does nothing practical, but which is entertaining?

Mozilla FireSomething - https://addons.mozilla.org/en-US/firefox/addon/31

It changes the window name from Mozilla Firefox into a randomly-generated (from a user-modifiable list) of root words. You could have Mozilla WaterPig, or Cyberdyne HyperMollusc, or +5 GigaCarp, or whatever.

No useful purpose except deliberate silliness. It's fun.

EthZee: EDIT: Ah, scratch that. It's for an older version of Firefox. Shame!

DoctorDisaster: @Pentadact: I got started with Firebug because I'm a graphic designer, and I do a lot of work on the web. Firebug is the fastest, most reliable way to road-test design ideas. Also, it eliminates a lot of annoying errors like CSS hierarchy problems — if the new rule will be superseded by an existing one, it crosses it out and shows you what the problem is. It's also great for collaborations: if you need to show a coworker something, it only takes a second, and if a collaborator screws something up it makes it really quick and easy to find out what's wrong.

I got so used to changing properties on the fly in my own designs, that now I do it during normal browsing. I use it to correct actual bugs, like cropped or distorted content or broken links, or just dumb design decisions, like crappy text/background contrast or font choice. It's also handy for making crap disappear, since we've mentioned stealing bandwidth; a few pay/registration walls cover the content with a big demanding div just begging for the "display:none;"hammer.

Jason L: When you mentioned it before, DD, you said Firebug won't store your edits for future visits. Has that changed?

This article finally got me to put Stylish on again. I will never see another Youtube comment on my home computer. I'm so happy.

Dr. Disaster: Jason: no, it's definitely not intended as a filtering tool. Using it for browsing is just something I do because I'm a dork and it's easy.

Gunpoint problem? Check for a solution or tell us about it on the Windows, Mac or Linux forum as appropriate!

For questions about what tools I used and when things are out and what platforms they're coming to, see here.

URLs get turned into links automatically. You can use <i>HTML</i> but not [b]forum[/b] code. If your comment doesn't show up, e-mail me - the spam filter's just detained it for questioning.