Brian Crick

Fun with Windows

I’ve recently started reading two new blogs: indie game news, and official Windows 8 design stuff.

It updates rather infrequently, but in many ways, I find the Windows 8 blog more interesting than the games one. More to the point, I find UI design & programming more interesting than game design & programming.

I suppose this says a lot about me, even though it’s already been said: I’d rather work on apps than games. Not that I find game design unworthy of my time in an absolute sense; it’s just a sort of consolation prize in some respects.

Still, I’ve managed to get Tinselfly back at a reasonable trickle, and have even been working on my board game a bit.

With the way work-work has been going, I’m clearly not going to have something ready to submit to this year’s Independent Games Festival. (I’m not at all stressy about that, but that’s another post.)

However, I’ve recently discovered Windows Gadgets, those little things like clocks and news feeds that sit on your desktop.

I don’t generally use my desktop. I get grumpy if there are more than a couple files on it at any given time (which, for the record, there are now).

Also, I don’t generally use the two monitors I’ve got. When I do, it’s great, but generally, I just use the nice big external one. So I put a few gadgets on my usually-empty laptop monitor in the hopes that they’ll help with my productivity somewhat.

The first thing I did was add a couple of image slide shows. The Pictures folder on my computer consists mostly of random things I’ve grabbed off the web; anything I find interesting, I save locally. But I hardly ever open my Pictures folder to look at this stuff. So now a couple random selections of mine are always visible, and it’s interesting to look at the combinations of things that come up and think about how they might fit together. Good for brainstorming design ideas.

The second thing I added was a simple countdown tool. I was posting countdowns to the Festival on this blog here, and while that was cool and motivating as long as I was looking at my own blog, I kinda forgot about it easily. So I’ve got something right on my own desktop now.

Furthermore, I’ve decided to use it in a more granular way than I was using the Festival countdown; here you can see I’ve given myself five days to get random-map generation working for Tinselfly. I like deadlines. I’m much more productive with a deadline.

I’ll probably also add more countdowns — you can do that — for more long term goals like a playable adventure mode and a release candidate date too.

So.

With any luck, I’ll be posting a new Tinselfly build sometime in the next five days. 🙂

Sanity Check

Sometime in the next month or two, Marie will be taking a trip to London. I’ve been a little stressy about this. I tend to become easily confused when Marie isn’t around. She sort of grounds me in the present; when she’s away, I have a tendency to forget that the last 15 years of my Marie-filled life ever happened.

I have been known to invent memories about having let down my friends in horrible, horrible ways while Marie is out. I have been known to be mostly unable to function because I’m feeling so horrible about these horrible things I didn’t actually do.

But this is all pretty laughable compared to the problems of my mother in law, who’s sitting in my living room right now. She’s a paranoid schizophrenic, who’s not on any medication.

Evil medical students are trying to perform experiments on her. Andrew Lloyd Webber stole all her ideas. Random people are trying to beat her up in her sleep.

It must be awful to live in the world she lives in. I wish I could show her around my world, which is really quite a happy place the vast majority of the time, but I can’t do that.

I suppose it’s good, every now and then, to be reminded that sanity is not a given for all of us, and to be grateful for how sane I am most all of the time.

And I can now stop being all whiny about what will happen to me while Marie is away.

Learning to Walk

Still horribly busy with work-work.

But while I’m waiting for a giant database restore and a giant software install to finish, I thought I’d babble about this, my first foray into absurdly long work weeks.

Now, I know, for some of you, this is nothing remarkable; my impression is that I’m lucky to have been working as a programmer as long as I have and not have had to put in hours like this yet. But this is new to me, so have some rambling thoughts on the subject.

I’m finding it useful to compare this to running. It’s nice and concrete and physical.

Just as I can decide to sprint instead of walk, I’ve trained myself to sort of mentally sprint on command. I will think more clearly, solve problems more quickly, type faster; I will be less likely to lose track of what I’m doing.

It’s a rush.

And just like sprinting, this is not sustainable and will kill my pace in the long run. I will even forget to breathe sometimes. If I start off my day like this, I’ll be a zombie by the afternoon.

So I have to be careful, not just about how many hours I’m working, but how I’m working when I’m sitting at the computer. Which means slowing down a bit.

Until recently, I didn’t really know how to slow down. It’s like I’m sprinting, and when I get tired I just fall over and take a nap. Walking was a skill I didn’t have. Until recently, I didn’t know how to code while tired. When I needed a break, I did something that was different from coding like doodling or playing on the piano.

But I’ve recently learned that — gasp — there’s such a thing as taking a break to write different code. The same way there’s such a thing as moving when not sprinting. To approach the whole act of coding in a different, more deliberate sort of way.

This programming book I’ve been reading has been immensely helpful. Without going into too much technical detail, it’s a sort of cookbook filled with common recipes you can use over and over again, so that programming becomes not so much about brain-hurting problem solving and more about calmly looking for an appropriate looking recipe card. Figuring out which recipe I should be using for any given problem and then following the directions there is something I can do while kind of fried. And I’ll feel refreshed afterwards.

I need to learn more ways to code that require less thinking.

Rose Colored Apples

Played Apples to Apples, among other games, with some friends last night. I hadn’t played said party game in quite some time and had been missing it. In addition to being great fun, it got me thinking about the way we perceive each other.

If you haven’t played the game, it goes like this: there are two kinds of cards, nouns and adjectives. Each player has a hand of noun cards. The players take turns being the Judge. The Judge flips over an adjective card at random and shows it to the other players. The other players then pick noun cards from their hand that they think the Judge will think is described by the adjective. The Judge shuffles all the submitted noun cards, lays them out on the table, and picks the one they think is best. Whoever played the winning noun card gets a point, and keeps the adjective card in front of them as a way of keeping score.

This is all totally subjective. If I were the Judge and flipped over the adjective scary, people could throw out Ben Stiller or they could throw out Going to the Dentist, and neither of these answers is intrinsically more right than the other. It’s all about my subjective opinion. Given those two options, I’d choose Ben Stiller as the scarier of the two and whoever threw that card out would get the word scary placed in their score pile.

We like to joke that the adjectives in your score pile are somehow descriptive of you as a person. I had radiant, fuzzy and playful in front of me by game’s end. Those seemed to fit me, just as the player next to me seemed to think that the words like hostile in front of him somehow were appropriate to him.

Now, you can chalk all this up to seeing patterns where there are none; people are good at that. But I actually suspect there’s more to it than that. This is a game about knowing other people. And for each of us, ‘knowing’ can mean something different. As for me, when I’m getting to know someone, I find myself focusing on things they sort of find innocently beautiful, or fun, or tasty. I’m less likely to care — and, more importantly, know — what a friend of mine finds scary, or violent, or sexy, or thought provoking. So I’m going to be better at collecting certain kinds of adjectives than others. I don’t know or particularly care what my friends’ political opinions are, so i’m going to have a hard time throwing out the right card for an adjective like corrupt. And this, this not caring about certain adjectives, does without question define me as person.

Sometimes, I’ve been listening to friends describe people I didn’t know, and their choices of what details to include baffled me. This person is good at games. This other person is very passionate. This person is attractive. I would never describe a person using those terms; I simply don’t care, or notice things like that. But other people do, and that’s part of what makes them different as people than me.

So to the extent that other people will focus on different things than me when trying to define themselves and others, I suspect that they will, in fact, tend to collect noticeably different kinds of adjective cards than I will.

And, that’s kind of fascinating, and I suppose that’s another reason to love Apples to Apples, which is already one of my favorite games.

Puzzle Pieces

Work is amazingly busy right now, but I wanted to take a break to talk about collages.

So I had this freelance client who wanted a brochure done, full of artwork he’s selling. And on the cover of the brochure, he wanted a collage of 12 of his favorite images.

And I thought to myself, yikes, this is going to be tough.

I had to fit all these differently sized images together in such a way that:

  • There is no whitespace between the images.
  • The images do not overlap.
  • The images should retain their original proportions as closely as possible, with a minimum of cropping.
  • The silhouette of the whole composition has to be a smooth rectangle with set proportions that the client wanted, so that a sidebar with informational text would fit nicely beside the collage.

I really didn’t know how to begin. I figured it would be like putting a Tangram together, finding that one, perfect combination of puzzle pieces that would yield a perfect square in the end.

I rather dislike those kinds of puzzles. You’re just guessing. If your guess is wrong, you haven’t made much progress; you just have to guess again and rearrange your pieces.

I started by just randomly sticking images together, and rearranging them, and resizing everything, and got very frustrated.

I started to wonder if if solution existed at all. I mean, really, what are the odds, given a random set of rectangles, that you’d be able to find an arrangement of them that would fit my constraints? They’re totally random. If I gave you a random set of pieces from multiple, different-sized Tangram sets, what are the odds that you’d be able to arrange them all into a square? Pretty slim.

But really, it wasn’t that hard once I figured out that this problem wasn’t nearly as complex as I thought it was.

Given any number of arbitrarily sized and proportioned images, you can proportionally scale them and put them all touching in a row so that their heights are all the same, like a & c below. Or you can put them in a column with all their widths the same, like b, d & e. And the result is another smooth rectangle.

Similarly, you can take any number of image columns or rows, and you can scale them and put them side by side or in vertical stacks and get another rectangular arrangement of images.

And you just keep doing this until you run out of images.

If you don’t like what you’ve got, it’s easy enough to start over. And the images don’t overlap, they retain their original proportions, and you end up with a smooth rectangular collage, and you’re guaranteed to be able to do this with any set of images.

So much for randomness.

Copyright © 2017 Brian Crick.