Monday, 27 October 2014

On Human Laziness, False Limitations, And How Wordsing Is Hard.

I promised myself not to talk about GamerGate, and, actually, I'm a little lucky here, because this is something that has a wider implication than just that constant back-and-forth arguing. Let's begin our discussion of how Words Are Hard with a statement nobody reading this is going to like:

You Are All Lazy About Word Usage.

Oh dear, that's not a strong start, is it? Let's examine why. First word: "You". Not me, even though I can be just as lazy as the worst of you in the right conditions. "All". There isn't actually a problem with this, but many people will consider it a gross generalisation, until I explain a bit further. Many people won't get that far, because reading is also hard. But it's a start. Let's rejig that.

You Are All Lazy About Word Usage, And So Am I.

On the face of it, that at least appears better. But it really isn't, because it gives the impression that "I" am an afterthought. I am less important, in the context of this subject, than you are. And so somebody is going to take offense. While we're at it, people will take offense at the word "Lazy", even though it's technically true. It's not true at all times of the day, it's not true in all situations, but as a general statement (which it is), it's true. We all expend the minimum amount of effort, on average, to say what we want to say to our satisfaction. Key phrase there. Okay, one more go, and then we'll skip along to a demonstration of how easy it is to slip up.

Humanity, As A Whole, Is Lazy About Word Usage.

Much better. Everyone's included now, and... Wait, you don't want to be included? You think you aren't, or at least, your batting average is higher than everyone else's? Oh dear, I've offended someone because they think a generalisation, however true, doesn't apply to them. Oh dear, oh dear, oh dear.

Well, let's talk about why, even if this is the case, you can't actually demonstrate it. Firstly, you'd have to have a comprehensive documentation of everything you've said, written, and thought. Yes, thought, because you think words before you say them, and sometimes, what you think and what you say isn't the same thing. What you say may have similar goals to what you think... But it might equally betray what you're actually thinking, over what you say. Then you'd have to exhaustively analyse the whole thing, and... Oh, wait, we've reached a situation where, seemingly, I can't prove you wrong, and you can't prove me right.

Except I said nothing about "all the time". I spoke about quantity of people, not a quantity of time. I even took pains to let you know that it isn't true all the time. In some cases, it isn't even true for much of the time. But you don't have to believe me that they're rare cases. Because you see it every day. In a job interview, where you were told you'd worded something so it was a yes or no answer (apparently, a bad thing in salesmanship). In a research paper, where you used the wrong definition of a word (My most recent one there was "Agency". Turns out grammatical agency and gender politics agency are ever so slightly different.) Even in a conversation. Let me show you two examples of that to bring my point across.

In a German oral exam (the one where you speak, not the one where they examine your mouth for how german it is, or a mouth examination in germany... See how easy it can be to confuse?), I made a mistake that apparently even many Germans make, to great amusement. Instead of "Ich schlafe im mein hosen" (I sleep in my trousers), I said "Ich schlafe mit mein hosen" (I sleep with my trousers). One word, and I'm now forever associated with sexual deviancy in the mind of the native German speaker who examined me. Good times!

Here's another one, and more germane to a situation that's been on my mind (and the mind of many gamers recently)... "I'm laughing with you" and "I'm laughing at you." What's wrong with the second sentence? Well, if you're even vaguely educated in English, you'll know that the first is inclusive: You're sharing the joke. But the second is exclusive: You're laughing, but they aren't, or shouldn't be. One word. One.

Now, here's where it gets fun. Single words, used often enough, can be interpreted in a negative way. Let's use some common GamerGate examples to illustrate my point. Let's start with "fallacy"

Such an innocent sounding word, it trips off the tongue, and, if you say it just right, makes you think of dicks. But homophones are an entirely different problem, let's concentrate on why using "fallacy" a lot might get you into trouble in the current GG debate.

A fallacy is a flawed argument, pure and simple. But it's what's called a loaded word, because it also has connotations in debate. Some phrases that instantly come to mind when someone uses fallacy are "You are arguing in bad faith" (because hey, that's often what a fallacy is used for), "You don't know how to argue" (because I have to tell you what fallacy you're using), and "I want to demonstrate that I am educated (whether I am or not) to argue from a position of superiority"... No shit, that instantly comes to mind whenever someone uses specialist terms like fallacy. And, in a very real grammatical sense, it is a specialist term. It belongs to a field of expertise that you may or may not possess, namely Logic. If you don't believe me that Logic is a specialist skill, try and use it on people who don't have it. And I apologise in advance for any friends you will lose for doing so.

There are other loaded terms, of course, and the language you use gives away your thoughts on how you really see things, even if you don't intend it that way. "revolt", "war", "us" and "them". When you label a person, you're deliberately not acknowledging them as a person, but an idea (Good example: A drunk on the square, yelling at the "Fookin' Paki!" who, presumably, offended him. This actually happened, and I can tell you, that there are folks from China... Folks from Turkey and Cyprus... Folks from Mumbai... But, funnily enough, nobody from Pakistan around here. Yes, I know, it's a dehumanising insult for people from India, but it was directed at the Turks, in this case... Go figure.)

To continue, though, when you think of things in terms of "war", you aren't doing this from a viewpoint of discussion. And nobody wants to discuss with someone who isn't prepared to discuss, but rather wants to stab you or shoot you very, very dead. When you think of things in terms of a "revolt", you're instantly associating yourself, in your mind, with your own ideal of what a revolt is. The most common one I (and others) got when asking what particular revolt they were thinking of was the French Revolution, which, as an ideal, was about freedom. However, the French Revolution has an entirely different connotation for anyone who actually researched it, namely, that the leaders of said revolution were, themselves, mostly given to Madame Guillotine, one of the few true victors of the French Revolution.

So yes, humans are lazy about words, and it hurts them, and others around them. How do we combat this? Well, there isn't really an ideal solution. We could limit what words people say! Ah, we tried that, and people cried foul. For, it must be said, very good reasons, because many of the folks who had that idea didn't want rather inconvenient words like "Freedom" or "Slaves" to be bandied about, because that caused dangerous ideas.

We can educate people not to use those words! Ah, that would require effort, and it's not just words that humanity's quite lazy about. For example, a couple I was talking to, long ago, were arguing about the events of their bedtime rompings. The man in the argument, unsurprisingly, was rather put out that she defecated on his member while it was being inserted into her rectum. The woman, on the other hand, immediately rejoindered that she'd done so because she didn't want him in her rectum in the first place. The man was lazy because he hadn't established a safeword (a good practice in general, folks), and, more importantly, hadn't asked how his paramour felt about things being shoved in her bottom for pleasure. The woman, on the other hand, was lazy for exactly the same reasons. I'd like to add that neither of them could be bothered to not discuss this in the hearing of someone who might turn round and mention how they really didn't want to hear this. And I am not, in fact, being lazy here, but deliberately shocking to make a point, because I definitely wanted to shock you into reading how lazy they both were. Every solution except stopping and thinking before you act (not, in and of itself, an ideal solution in life or death, instant reaction situations, but an argument on the internet, or a conversation about ethics in journalism, or even whether that boy/girl/androgyne/thing from Delta Upsilon really wants you to carry on asking them for their phone number is somewhere you can apply it) seems not to work really well.

So, with that little demonstration out of the way, let me point out that, before you turn around and tell someone they're a liar, or using a fallacy, or whatever the hell you're going to say (even in rebuttal to this article), don't be lazy. Stop, think... Look around. I know it's hard work, but you'll be rewarded with more knowledge, and less likelihood that people will stop listening to you.

Oh wait, I offended you all from word 1, and so you aren't listening to this post. Whoops. Oh, here's one final piece of laziness. Those false limitations? Think for yourself what situations you might have where you think you're limited in what you say and how you say it, but you actually aren't... Like, say, the internet.

EDIT: Folks... Well, one person so far has stated that this is "tone policing". I'd like folks to think about that phrase. Yes, it's shitty to tell someone to not be angry at each other, but is that what I'm saying? Be very careful before you answer... Because, as I noted, I'm sometimes lazy with words, and I may not have gotten the real message across that it's not what you say that's important... It's why you're saying it, and whether what you're saying is true.

EDIT 2: Here's a really good example of needing to think, to research, before you do something you'll regret.


This was posted just a short while before this edit (name has been removed because I don't wanna be a dick beyond pointing something out). The first half is quite correct. The second half, however, ignores that -gamy has a meaning already deeply entrenched. Monogamy sound familiar? Polygamy? Yes, that's right. Misogamy: A hatred of marriages/relationships. And that could have been avoided if someone thought "Hey, maybe we shouldn't be appropriating classical languages to make new terms without understanding how they're constructed!"

Thursday, 16 October 2014

How Not To Have A Civil Discussion.

I've talked before about the whole GamerGate mess, and am currently planning a call for de-escalation. This is my case for it, and, at its core, it's really quite simple: If you have genuine concerns, Twitter is not the place to do it. If you don't want to support harassment (in general, I'm not going to say one "side" or the other is dicking the other over more, because that misses the bloody point), Twitter isn't working for that. Let's explain why.

The origin of the GamerGate hashtag is only tangenitally relevant to our discussion here. What is more important here is what it has become. Now, let's take a quick screenshot of a portion of the hashtag's current output, shall we? This is a highly frustrating thing to do on TweetDeck, by the way, because unlike Twitter's frontend, TweetDeck refreshes constantly, giving you a true impression of how thick and fast stuff is being posted.


Huh. So, GamerGate is currently, for those who don't know, a hodgepodge, and nothing demonstrates it quite like a selection of the tweets currently on the tag. Look at this. GamerGate is ostensibly meant to be focused on ethics in journalism, and we have, in that set of tweets, someone having a common misunderstanding (It's not the "sexy" most critics object to, it's the objectification, the idea of "Women as furniture/tools" that causes problems.), someone using #GamerGate to post an open letter (that appears to be "on message"), and someone who, quite frankly, is beginning to get what I'm aiming at, although, like many, he's still stuck on the gender-war part of things, and not the flaw underlying the hashtag.


Here, we have several different agendas. Including, er... anti-gamergate sentiments, which is sort of the opposing view, is it not? So let's talk about momentum for a second. Momentum is seen as the main reason to stick to using a hashtag for a movement, because the tweets are short, punchy, and it supposedly means you can all blitz along in a single direction, overwhelming opposition as you go.

Except that isn't happening, for a simple reason. Anybody can post on a hashtag. I did that earlier today, in fact. 


What's even more interesting is that the statement I made isn't even true. I've never even tried an aubergine. So there you have it, a nice, simple demonstration of the most fatal flaw of basing your movement around a hashtag. Anyone can post anything. It's been around 35 minutes at the time of this sentence, and not a single person has noticed I've introduced useless noise into the supposedly clear signal of GamerGate.

So what's ended up happening is that you have folks tweeting anti-gg sentiment (in many different forms, whether they're anti the 8chan involvement, anti the misogyny, anti journalistic ethics, or just anti everything and wanting a fight about it), and that momentum is... Not actually a single force. In fact, it never has been. From almost the beginning, people added that hashtag on the end of their rebuttals, and all you get from looking at the hashtag in tweetdeck as it goes by is... An endless blur of words. Words that contradict each other a lot of the time.

So, in order to make sense of things, folks go elsewhere. They go to mass media, they go looking for information elsewhere. And much of the media, looking for a simple story, have gone for what they perceive as the biggest problem: The harassing elements. The anger, and the fear, and the hate.


This person isn't necessarily one of the people who send death threats and hate speech to people like Brianna Wu, John Walker, or any of the folks involved in this, pro or anti. They hold an opinion I personally disagree with (and are making a generalisation, to boot, which is just sloppy thinking.) But there's no guarantee this person is actively endorsing or participating in hate crimes.


This person probably isn't sending death threats either. He's angry, just like the pro-gg example I gave above, and saying things he may well regret... But that's all.

Ah, but I say that's all, when this is the very core of the problem.

What do "anti-gg SJWs" want? They want better representation of women in video games, and for female developers to not have such a raw deal in developement, and a host of other things that can be summed up as getting the industry to grow and deal with genuine concerns.

What do "pro-gg Gaters" want? They want to answer some questions like whether patreon funding ought to be disclosed, whether review copies are a matter for disclosure, and whether there are conflicts of interest in the industry, and how can we resolve them? This, too, can be summed up as getting the industry to grow and dealing with genuine concerns.

So, here's the main thrust of my argument: This has, through the alchemy of the internet, become something else. And no, before you say it isn't, there are people who have come directly to me with issues about patreons, and asking why reviews are political and objective (And they were pretty satisfied with my answer that this is because you can't actually remove politics and opinion from a review, because lots of things are politics, and even saying "I like this game" is a subjective opinion.) There are people who've come to me with concerns about objectifying women, and I agree with them. There are folks with concerns about employment in the industry, about review copies, about patreon, kickstarter, Early access... And I'll let you in on two little secrets.

First, for the most part, even though many of those folks post on twitter under #GamerGate... We were perfectly able to have a civil discussion. Secondly, that's because they're just folks, same as us. Brianna Wu is a normal human being. Erik Kain is a normal human being. Boogie2988 is a normal human being. So is MundaneMatt. They have opinions, sometimes those opinions differ from ours, and sometimes they do things that count as "getting angry" or "being hateful"

So... The majority of folks are normal... human... beings. This doesn't sound like an epiphany until you realise that a lot of the language in the tweets isn't referring to those normal human beings. It's all about whether you support a fucking hashtag. What's more, a hashtag that anyone can post anything, anything at all in.

And this is where we come to the crux of things. I'd like to propose a different pigeon-holing. And pigeon-holing it is, it's what we human beings do. But you'll like this one, I think...

There are three factions in GamerGate. Just three.

Folks - Folks have concerns, and opinions. They are angry, and concerned. They want the second group, the Industry Folks, to address those concerns. Some of those folks are feminist. Some of those folks don't understand some parts of the other Folks' and Industry Folks' points of view. These two groups need to stop with this hashtag business, Industry Folks need to open up forums and moderate (explaining clearly what they're moderating, and why), and both these groups need to be concerned with the third group.

The third group are Hate Criminals. These are the only clear winners right now, because anger, and fear, and hatred serve them well. Every time you tell a normal person who uses the GamerGate hashtag they're a misogynistic fucktard? They laugh. Every time you tell a normal person who doesn't use the hashtag they're a man-hating ice bitch? They laugh. Which brings us to another reason Twitter's no good for calm and civil discussion (although some of us, myself included, have managed... But not without a lot of work...)

Twitter's current rules mean you have to be directly involved to report a hate crime  . That, in layman's terms, means you have to be the victim, or you have to be the Hate Criminal. And, forgive me for stating the obvious, but the Hate Criminal isn't going to report themselves. The victim isn't always going to report either. And, when the victim lives in fear and doesn't report, the Hate Criminal laughs again. 

(FACTCHECK EDIT: There is an option for not being directly involved, but being offended. Use that... But the rest still stands.)

So here's my call for de-escalation. It's really simple, let's start with the Industry Folks end of things.

Industry Folks, you need to show everyone there's a place for civil discussion that isn't a bloody hashtag. You need to be really obvious about it, and you need to keep at it. Yes, you'll need to moderate your forums, make sure that haters get banned, and preferably reported to the proper authorities. You'll also need to clearly state that's what's going to happen.

Folks, you need to stop thinking of this in terms of hashtags and "sides". Once you've done that, you'll quickly find out which other folks are angry right now (don't get angry back, just back off quietly, let them calm down. If both of you folks get angry, then the hate wins.) You need to be able to agree to disagree, to explain clearly to each other (yes, I know some of you don't words good, but that's what sitting back, organising your thoughts, and writing things down to help your own thinking is for.)

Both of you, however, need to concentrate on that third group. Because that third group doesn't want the industry to grow. It doesn't want calm and civil discussion. It doesn't want to understand, like many of you do. All they want is hate. Do you want hate? I don't want hate. I find hate utterly useless, because it makes you make mistakes, it makes you over-react, it makes you stupid.

We can't discuss until the hate is dealt with. We can't grow until the hate is dealt with.

Stepping off the soapbox now, although I may try and reiterate this message elsewhere. I'm not going to bang your heads together to make you stop arguing, because you're better than that, I think. I don't even care whether you prove me wrong. But for now, know that this is my stance on claims that "we have it worse than the other side"

I don't give a fuck, because I consider it more important that this is happening on any "side" you care to name. I am not pro or anti gamergate. I'm just anti-hate, and pro-calm discussion.

EDIT: Here's a little numbercrunching by NewsWeek. For all the claims of "anti-harassment" and "ethics in journalism", that sure looks like a major off-message focus to me!

Tuesday, 14 October 2014

Spare A Thought For Normal Folks.

So, for the past few months, I've been embroiled, in various ways, in the hot-mess on the internet that is GamerGate. For those who don't know, I chatted with fellow Let's Player Skippy Granola about the whole phenomenon a while back, and we put our thoughts on Tindeck (Part 1 , Part 2 )

Neither of us truly believe that the majority of folks are harassers, misogynists, and doxxers (doxxing, as an aside, is the releasing of someone's private stuff all over the internet, usually to allow other harassers easy access, or to shame the individual in some fashion. It ain't cool, and is definitely illegal), although we have both, at times, gotten angry at folks for joining the hashtag... We go a little into why we feel the hashtag (and twitter) don't work for social movements in the chat, but to sum up: Anyone can use a hashtag. Harassers and asshats on both sides, people with genuine concerns, and people trying to address those concerns. And it's about those last two groups that I want to talk about, because, regardless of the history of the tag, there are folks trying to discuss.

I've reached out to a few of those folks in a variety of ways (Why didn't I reach out to lots, do more? More on that later), from attempting to clarify, to attempting to show proof they ask for, to just talking and trying to find common ground. And two things that sound obvious, but are actually very important, come up nearly every time.

People are angry. People are scared.

People are angry for a variety of reasons. The harassers are angry because, as much as they are causing fear, they are also being exposed, one by one, and organised groups of such harassers are slowly being dragged into the light. The reviewers are angry because people appear to be blaming and attacking them. The readers are angry because they feel like they're being lumped in with the harassers, while often being harassed themselves, simply for taking a stance.

The harassers are scared for the same reason they're angry. The reviewers are scared because they feel it's a case of "Damned if you do, damned if you don't", and because harassers are trying to shout them down. The readers are scared because they feel they are being disenfranchised by all these articles saying "Nope, GamerGate be harassers, and anyone who tweets on the hashtag, yo!"... And, obviously, because they themselves are being harassed by extremists on both sides.

[EDIT: I'm simplifying a lot, but you get the basic picture, I hope.]

One thing that also comes up, time and time again, is that reviewers and developers are somehow... Better than normal folk. Bigger. Giants in the earth, that sort of thing. And while it's understandable (We want to put those who are good at speaking out, at creating, on a pedestal), it's also untrue. I actively reviewed for two years, and in all that time, I was, respectively, in a cottage in the middle of West Wales renting from family, and a bedsit in West Wales renting from an agency. I've mostly done voluntary work, one or two film extra bits, but mostly I'm an unemployed joe trying to make it in the world, same as you, dear reader (*laughs* the trying to make it in the world bit specifically, just to clarify!). That's why I didn't speak to hundreds of people, just a few... Because I'm human, just like you, and there's only so many hours in the day I *can* spend talking shop and discussing such things... Just like you only have so much time to do so a day.

And both of these things tie into one common thread: We are all just folks. We are trying to make sense of our world, we are trying to find belonging, we are trying to make our world better (Yes, even the harassers, although their definition of "better" is definitely one I disagree with... On both "sides".)

So I'm not going to get on my high horse and say I'm better than you. I'm not going to tell you you're wrong, or right. All I'm going to say is that, whether you feel the people using the GamerGate hashtag are wrong or right, whether you feel they're supporting harassers or being attacked, they are people, just like you. They have the same spectrum of good and bad as the rest of the world, the same spectrum of intelligence and capacity for "getting it" as the rest of the world... And you can, if you find those good people, explore other options without name-calling, find other places to discuss that aren't inundated with hate speech. You can send mails to twitter, asking for change. You can help your fellows who are being harassed find help, you can give them support.

But please, keep it in mind when you get angry at what Fish or Wu or Kain or Sarkeesian, or whoever the hell is getting angry/saying something you don't like, that they are normal folks like you, with all that implies. And keep in mind that responding to anger with anger, as much as it can make you briefly feel better, isn't going to help your peace of mind, or to help de-escalate this and promote actual, constructive discussion.

Okay, okay, my ankles are starting to ache from this rickety soapbox, I'll step down now... I hope these words helped you. Oh, and Twitter? Please help ensure that folks can feel you're a safe and cool space for folks to hang out, it's not what you started as, but it sure as hell is something you need.

Saturday, 23 August 2014

Ludum Dare 30 Part 3: Things I'm Wishing I Had...

I can't actually say morale is low at Chez Durbin, because, despite some things that are going to be annoying as hell to sort out, we're on track for a simple game, at the least. So let's talk about wishful thinking. Both in the sense of "If wishes were fishes, we'd never starve", and "Gee, Wouldn't it be nice if..."

First off, the cutting. Any Ludum Dare involves some cutting, and this was no exception. I started with a high-falutin' idea (which, on reflection, wasn't workable in the scope of the 48H, and hard to handle writing wise outside), which, in the first twelve hours, was cut down to a shootmans game. This, in turn, was cut down, because I am no quick spriter (nor, when I don't sketch beforehand, am I very good at it), and so shootmans, in turn, got cut.

Right now, though, I have something I can show, although it won't be pretty, and will be kludgy as hell. The game is simple: Duder McMann has entered the Winchester Mystery House in search of food, but the trapped and vengeful ghosts of ex-Winchester customers want him to stay awhile... stay forever. So, here's the current state of things.

I Have

  1. Duder McMann and Ghost(s). Neither can handle wall-sliding very well currently.
  2. A set of wall tiles. I need at least 1 more to fit the theme even vaguely.
  3. A background that becomes slightly less eye-searing every time I look at it, and will also need to be added to.
I Don't Have
  1. The aforementioned wall tiles, spare backgrounds, and floors. Those aren't too bad.
  2. A set of rooms, and a script to teleport between them under certain circumstances.
  3. That wall-sliding script implemented yet.
  4. Any AI for the Ghosts (2 basic AI planned)
  5. A menu.
  6. A title splash.
  7. Rebindable keys.
  8. Food icons.
  9. A GUI.
  10. A thing that I want to add, hopefully tomorrow. It's an easter egg.
  11. Any audio.
Of these things, I can probably mostly skip the GUI. A life counter, a food counter, done. The Audio, similarly, I can mostly skip. A simple tune, a couple of noises, and that'll do. I knew, coming into it, that my game wasn't going to be great. A title splash is fairly simple, and the basic AI code and wall-sliding potentially aren't too bad. Rebindable keys is going to be a slight pain, the tiles aren't too problematic. Although placing them is proving to be a pain in the ass, I should have found something for that.

Hey, I fixed the ti-AHHHHHHHHHHHHHHHHH!

But, while GMS has saved me some time in terms of basic tiling (If I change the snap, it should, theoretically, make the tiling easier), there are certain quirks of the way it handles things that I've found I'm not overly fond of. The previously discussed lack of wall-sliding. The way it handles directional sprites (or rather... doesn't really... Seriously, YoYo, this is a thing that happens in nearly every game ever, even simple platformers and shooters.)

Basically, what I'm saying is, I definitely won't have time for polish, but it will at least sort of work. Not actually bad. Not great, slightly worse than I was expecting to do. But not. Actually. Bad.

Happyface!

Ludum Dare 30 Part 3: On The Quirks of Gamemaker Studio and Isometric Walls.

Gamemaker Studio is, I've found, pretty cool to work with. But like any program, it's going to have finicky moments, and being rusty at coding/scripting doesn't help. So let's talk a little about that. Right now, it's been almost 12 hours, I have a plan (which I've cut), I've had a sleep, and I'm on my way to coding the darn thing properly.

Which leads to the first obstacle, and something I've done that's bloody stupid, for me. I've gone for an Ultima style isometric movement. And it ain't steps. What problems does that create? Well, I'm still only moving in eight directions, that's fine, and that was easily coded round with just the basic event handling that GMS is good at (and I fondly remember from my Games Factory days back in school.) But collision, and how you handle butting your head into a wall, is another matter entirely. That requires some scripting, and I've got to write this stuff down to make sure I've got it right. Also, y'know, test it...

Duder McMann in... The Dimension of I'm Getting Used To That Pattern Now...

In any case, what I have right now is that if you hit a wall, you just stop. Dead stop. You can't move along the wall, you can't move into the wall, and only half of that is what I want. But there isn't a way to do that with basic event handling. You can bounce, or you can stop, those are your choices. So something has to be done, and it can only be done in script. I just checked that, to be certain.

So the key to any program thing is what, precisely and logically, do you want to happen? In this particular case, I want the following to get checked, in order:

  1. Is there a collision between my dude and the wall?
  2. If so, am I holding a diagonal (IE - up-left, up-right in the case of a wall I bumped into from the bottom.)?
  3. If I'm holding a diagonal, keep me moving horizontally, but not vertically (or vice versa, in the case of a side collision)
But how in blue blazes do we do that, eh? Well, here's where it gets fun. See, to check whether I'm holding a diagonal, I could either make eight separate checks for a combination of two keypresses (UP AND LEFT, for example), or... I could check which side the collision is, and if it's with a wall, I could say "am I holding up? good. Am I not holding left or right?"

...Bet that didn't make sense, did it? But in a programming sense, yes, it does. Because if we were to check for up, and then left or right at the same time, if we pressed either, it would act as if we pressed all three at the same time. If you check for left, then right, you're adding unnecessary steps. Come to think of it, I haven't tested what happens when you hold up and down, or left and right, both at the same time.

...Cool, it did exactly what I expected it to do (the relative position changes cancelled each other out, as they should.) Don't expect a program to do what you expect it to do if you wrote it. Always check. Anyways... If you check things a little differently, you can cut between eight and sixteen direction checks down to four.

  1. Okay, I'm hitting something. Am I still moving in the direction of the wall? (1)
  2. Yes, I am. Is the keyboard telling the PC that left and right aren't being held down? (2)
  3. Ah, okay, it isn't. Is it moving left or right? (3, 4)
  4. If it's moving left, move me left while not letting me move up. If it's moving right, move me right without letting me move up. Simple!
It's still kludgy, because collision checks are a thing GMS is always looking for, and it checks every wall each time (afaik), but for now, it'll serve my purposes.

This, ladies and gentlefolks, is just one of the many mini dilemmas you face when your scripting is somewhat rusty (I'm not going to call it programming), and you need more than what simple tools will provide. Speaking of, I still haven't checked out how to rebind keys... :D

POST SCRIPTUM: For some reason, Duder McMann (my generic name for a protagonist) is having a little trouble standing facing down-right. The moment I hit right, he faces away... I suspect cutting even more might be an idea if I want to make this by sunday evening... Time to change the concept some more.

Duder McMann, in the pose you'll never see unless you move diagonally down-right.

Friday, 22 August 2014

Ludum Dare 30 Part 2.5: On Atmosphere, and Hatred of Eyeballs.

It's actually kind of important to talk about the atmosphere of Ludum Dare, because a lot of folks have entirely the wrong idea about developing, and indeed, about the LD itself. 48 hours. 48 gruelling, rage-against-the-machine hours, in which -

Yeah, about that. I just made two new potential buddies, with probably more to follow. I'm happier than I have been all damn week, and the #LD48 Hashtag has been filled with messages of support and carmaraderie, people joking, laughing. I can almost guarantee it won't stay silent for the entire weekend.

Men, women, black, white... Nobody gives a hoot, because if you're up for making a game with Ludum Dare, people will welcome you with open arms, and, believe you me, that's a factor that holds everyone's spirits up.

...Okay, make that three new potential mates. And at the time of this sentence (time is fluid here in blogland), we haven't even started yet.

It's also made me really chatty... Hehe.

PROGRESS REPORT: I have incredibly shitty placeholders for a set of walls and the movable character, basic movement, collision, and interaction (little of which is shown in the screenshot below.) I also have the rough outline of how it's going to go (it's going to have a short narrative, and doors will be involved.)


Unless you are a god at assets, your first game will involve a screen much like this one, where you might feel discouraged by the sheer amount of hate you have given your own eyeballs. But keep in mind, this is just a first step. A lot of what you do at this stage will be in writing, and basic rules coding.

Tomorrow night, I should hopefully have something decent to show folks.

Ludum Dare 30 Part 2: On the Start, Ideas, Flaws, and OMG NOTCH

Idea generation, reduction, and iteration. These are three important steps for Ludum Dare, because they're how every project ideally works: You have an idea, and then you build on it, step by step. So let's actually talk about what may have gone wrong or right with this beginning process, and whether I've done these things or not. Iteration, we'll save for another time, because it's something you do over the whole damn process.

The Idea Step

Basically, you want to maximise the time you're actually spending coding, creating assets (placeholder or no), and generally actually working on your game. So this step, by necessity, is kind of a short one. I'm not gonna give a number for how long you should be at this (because this is my first LD, and I am, as noted, no expert), but my personal ballpark figure is "If you're at this step for more than 4 hours, something's gone awry."

So let's examine the process a bit...

The Idea Sprang Fully Formed From My Brow

Unlikely, but if something like that genuinely happens? Count yourself lucky, write it down, and use the time you wanted to allocate to ideas either generating other ideas that might be better, or as extra time for step 2, reduction. Either way, yayyyyyy!

Ideas, How Do They F*&!ing Work?

Well, ideas can come from a lot of places. From other sources, from thoughts you have... There are processes that you can use to generate ideas, including keeping fragments of older ideas to bounce off of, doodling randomly/mentally idling until something sticks, or the one I'm quite fond of, the Idea Cloud. I'll explain how it works now.

Yes, my handwriting is godawful. My all-caps ain't much better either.

Okay, here's my Idea Cloud, as written on a £1 sketchpad I've never actually used for sketching. You can see here my thoughts are mainly along the lines of other dimensions, but I'd like to draw your attention to the mention of The Winchester Mystery House (aka The Winchester Mansion). I'm going for a subversion of that basic idea with the game. We'll see if it's too ambitious soon enough.

But it's the stream of thought that matters here, and an idea cloud represents that. All those smaller words around the big theme? Those are ideas. I didn't try to organise too many of them, but it led me to my theme in under ten minutes (I had time, before the Jam, to write a template of this post beforehand, saving me further time.)

The trick, basically, is to channel the consciousness toward something that you think will work. Now for the next bit.

Reducing the Problems

Your idea is great. My idea is at least theoretically workable. But the ancient Engineer's maxim applies in Ludum Dare like no other: Keep It Simple, Stupid. Let's say your idea involves a guy, who lives in this living breathing city, and he can't be seen or heard by people one day, and he can change their emotions to make them do things, and-

STOP. This example is the very idea I proposed to a friend a while back, and he quite rightly told me, as a first project, even as a project for a single experienced dev, this is going to be trouble. It involves a city, for christ's sake. Even a few blocks of a city involves at least a thousand individuals, and you're meant to affect even a hundredth of those folks in contextual, unique ways? Geddoudahere!

Now that you have an idea, it's time to put limitations on it. And not limitations in the sense that you're taking away things you can do, but adding rules, but in the sense that you are literally slicing bits of the concept so it'll fit. It'll feel like butchery, it won't be a grand vision... But dear god, it'll be something you can actually make in 48 hours. While we're on the subject...

I AIN'T GONNA SLEEP!!!

Hah. It's do-able, believe you me, it's do-able. I made 72 hours more than once, but believe you me, I was pretty squirrely by the end of it. 48 hours is actually much less of a proposition. But if you don't at least nap, your work is going to suffer. You'll make dumb mistakes, which introduce bugs, which you then have to spend time fixing. Take breaks, this isn't about "Who's the best at karoshi" (remember that series? Boy, that was a riot!), it's about managing your time efficiently, and improving your practice by introducing limits. Unless, y'know, you enjoy that sort of thing, then go hog wild. Another environmental factor?

OMG, IT'S [INSERT FAMOUS DEV HERE]!!!

Doesn't matter. Seriously, while this has stopped me before, two years of reviewing has led me to quite confidently say "It doesn't actually matter." Why? Because they're people, and, like any people, they're going to have hassles, mistakes, bugs, setbacks, and, if they're doing the no-sleep thing too, the occasional period where they'll zonk out and suddenly say "ARG FUCK, TEN HOURS? AAAAAHHHHHHH!"

I've said it just a few short paragraphs ago, I'll say it again. It isn't about prizes (are there any? I forget, and don't actually care that much...), it isn't about who's who (although friendships made at Jams and during the dev process are a nice addition), it's about improving your practices, your game. I just saw Michael Hitchens, a name I'm sure I've seen in the SA GameDev thread at some point, and my reaction?

"Oh, cool, look forward to seeing what they make!"

Before I get back to creating placeholders and scripting (I touched this post up in my first ten minute break), let's talk about my own personal flaws with practices. Well, the ones I'm aware of right now.

Accepting I'm No Angel

Procrastination. There's a good one. I procrastinate, mainly because there are many cool and shiny things for me to do and play with, it's easy to distract myself. This blog, for example. If I'd written two thirds of this entry in the middle of LD30, I'd have wasted half a damn hour, at least. Sounds bad, but assuming I write more than 6 of these (same length) during the compo, that's 3 hours for sure, and that's 3 hours I could have spent polishing my game till it spangles like a figure skater's leotard.

Frustration. Like any human being, I get pissed off when things don't go my way. This can happen with what I later see as perfectly serviceable ideas, because fuckdammit, they're not coming out of my brain onto the computer magically like I want them to!!! This is where iteration comes in, by the way. Start real small, work up. That way, you won't get so pissy when it isn't automatically working, because you expect it to. Let's see how well I hold up with that in the next twelve hours or so.

There are other flaws, I'm sure, but those two are probably the biggest blocks, and ones I'm determined to get past. One thing's for sure, I've been hype since I woke up, and since depression is a problem for me, that's ultra cool!