Icesome!

I made another Ludum Dare game teamed up with Anand Friesen. The theme was Beneath the Surface so we made a game where you’re an iceberg and smash ships, called Icesome.

Tagged , , , | Comments Off on Icesome!

Two games

So I made a couple more games.

There’s Candy Crunch
http://rhill.itch.io/candy-crunch
http://gamejolt.com/games/arcade/candy-crunch/21582/

And Spitty Octopus
http://rhill.itch.io/spitty-octopus
http://gamejolt.com/games/arcade/spitty-octopus/22628/

I posted both games to both Gamejolt and Itch.io, I’m still feeling out which I prefer. I made them both is response to game jams put on by Itch.io, the Candy Jam and the Flappy Jam

Tagged , | Comments Off on Two games

Intro to video games for artists

I’ve been thinking a lot of how to get artists into video games.

I think animators are a lot of the way there. There is a certain understanding of movement that an animator has that also helps with video games.

I’ve mentioned Anna Anthropy in a couple posts. She has a book that is the one I’ve seen that seems most written for someone who is an artist but doesn’t assume you know anything about video games.

Some of it might be out of date. When she discusses possible tools you could work with, there’s no mention of Unity which has become pretty promising, so I’ll try to explain here.

Unity is a game development environment. There’s a free version, which limits you from some things the pro version does, but is still very powerful. It lets you output the game as a program for Windows or Mac, or output a file that’s used by the Unity web player. (Which lets people play your game in their web browser, as long as they’ve installed the Unity plugin.)

It will require more technical capability from you than making a Twine game, for example. How much more depends a lot on the mechanics of the game you’re trying to make. It’s easiest when you just go with the flow of what capabilities are already built into the game. If you look at my game Party Business, programming the cake was fairly straightforward, because it relies heavily on the pre-programmed physics of what’s called a RigidBody. Programming the forks was more difficult, since I couldn’t use a pre-programmed element for deciding they are close enough to the cake to attack, or to make them follow the path of the maze. So I could see someone without any programming experience figuring out how to do the former through persistence, but not the latter.

There’s also the 2D vs. 3D issue. Before Unity, I had experience making games in Flash, but they were always 2D games. I still sometimes have trouble wrapping my head around how Unity represents rotations numerically, using what’s called a Quaternion. Unity is capable of making 2D games, like my game Spitty Octopus and if you’re new to this, sticking to 2D is a good way to keep it from being too complex. It also means you can make your game graphics as images instead of dealing with 3D modeling, which is another thing I’ve just barely begun to figure out.

Also once you’ve made a game, how do you get it out there? Two places I like that aren’t mentioned in Anthropy’s book are Itch.io and Gamejolt.

Both sites allow you to post games as Windows or Mac executables, which distinguishes them from some game sites like Newgrounds or Kongregate, which only allow games that can be played in the browser. This would open up what kinds of games you can make and what methods you can use to make them. Itch.io also allows you to sell games through the site, which I think might fit into the zinester mentality. Also when you post something, one option it gives you in the form is you can pick a different noun for it instead of “game,” so you can call it an “interactive artwork” or a “software toy” or whatever you think is a better term if you’ve pushed beyond the limits of what counts as a “game.”

Comments Off on Intro to video games for artists

Sprite Sheet Making

Earlier I posted about the Layers to Sprite Sheet Photoshop script.

I’ll describe the fuller process surrounding that.

A lot of game development environments like to work with animations in the form of sprite sheets. Instead of importing 16 image files, for example, it will import one image file with all the frames of the animation arranged in a 4 by 4 grid. Like this:
lincoln

Actually this is a combination of four animations, each four frame long. In the code for the game, I would define four animations depending on which way the character is walking. In Flashpunk, that looks like this:
//create a sprite sheet
//GraphicsManager.PLAYER is a variable that defines the source image
//it is divided into frames that are 16px wide and 32px tall
//then the result is put into a variable named sprite
sprite = new Spritemap(GraphicsManager.PLAYER, 16, 32);

//define four walking animations
//first is the name of the animation
//second is the frames in the animation, listed inside []
// (picture these 0, 1, 2, 3
// numbers over the 4, 5, 6, 7
// image above 8, 9,10,11
// 12,13,14,15 )
//third is a frame rate
//true is to say this animation loops
sprite.add("leftWalk", [2, 6, 10, 14], 5 / Settings.FRAME_RATE, true);
sprite.add("rightWalk", [1, 5, 9, 13], 5 / Settings.FRAME_RATE, true);
sprite.add("upWalk", [0, 4, 8, 12], 15 / Settings.FRAME_RATE, true);
sprite.add("downWalk", [3, 7, 11, 15], 15 / Settings.FRAME_RATE, true);

//define four non-walking animations
//since they are only one frame long, they will be still
sprite.add("leftStop", [2], 1, true);
sprite.add("rightStop", [1], 1 , true);
sprite.add("upStop", [0], 1, true);
sprite.add("downStop", [3], 1, true);

//play one of the animations
sprite.play("downStop");

The details will vary with different programming languages and development environments, but there will be similar things you need to do.

If you have any animation program that can output .PNG files, output a .PNG sequence with alpha transparency. (If you’re a more physical animator, this might be the tricky part. Depending what you’re trying to do, it might not matter if you have no transparency.)

You can then import any image sequence into Photoshop as layers. I use a script called Load Files Into Stack.

If I’m doing a more pixelated animation, I might rather draw the animation directly in Photoshop. When I did No More Table, I imported video from After Effects in this way, and then rotoscoped them in Photoshop.

Once you’ve got everything as layers like you want, first write down the height and width of your image, then run the Layers to Sprite Sheet script and save a copy of the file.

If importing to Flashpunk, save the resulting sprite sheet as a .PNG file with alpha transparency. In Unity, it can be a .PSD if you’d like to retain layers or other things. Unity is also the only environment I’ve encountered that allows you to set arbitrary rectangles for all the frames, instead of just a grid. DS homebrew will only take 8-bit PNGs which have no alpha channel, so you have to specify a colour that will be transparent. It also only accepts dimensions that are powers of two, like 16, 32, 64, 128, 256. Other things like GameMaker and Flixel will also take sprite sheets.

Comments Off on Sprite Sheet Making

Big I Made This

Apparently it’s been a long time since I did an I Made This post, so a couple things to catch up on.

I made a game called Party Business in Unity as part of a Party-themed contest.

I updated Slimy Things Did Crawl to be a little better at explaining how to play it.

I made some videos that I posted on Vimeo.

First, The Perspective Myth

Then, Bad Apples:

I think you’re mostly caught up.

Tagged , , | Comments Off on Big I Made This

Zinesters vs the World

I’ve been reading some Anna Anthropy and a “zinesters vs. formalists” and “what is a game?” stuff about her work and Proteus and Dear Esther, etc. etc. and decided to try to articulate my thoughts on it.

I had a post earlier where I linked to a list of criteriological types for analyzing games. I’ll repeat them here:

  1. game affordances
  2. space
  3. graphical qualities
  4. sounds
  5. challenge to manual skill
  6. cognitive challenge

Nobody who has thought this through or has ever played a text adventure is going to make graphics and sounds a crucial part of the definition of a game.

When Ralph Koster said dys4ia was something that could be made in Powerpoint, I think he was focusing on criteria 1, 5 and 6. In an unrelated post he said, Narrative is not a game mechanic he says “The core of a game is a problem to solve.” A problem to solve is synonymous with a challenge to overcome. Whether it’s a manual or cognitive challenge, he sees the challenge of a game as central to what makes a game a game.

Anna Anthropy in responding to this said:

by his definition, a game is a puzzle to be unraveled. it is a system to be understood. an enemy to be defeated. a country to be conquered. but DYSPHORIA is none of those things. what it IS, i need to believe, is a relatable human experience. and what a game actually is is A GAME IS AN EXPERIENCE CREATED BY RULES”

If you haven’t played dys4ia, go play it. I’m inclined to side with Anna on this one. I’m not entirely unsympathetic to Koster’s criteria. In his Narrative article he applies this not to small personal games, but to big-budget games like Batman: Arkham City. It’s kind of the equivalent of an early film enthusiast arguing that just filming a stage play isn’t cinematic if you aren’t making use of anything that is unique to film.

But I’d argue that Anna did use elements unique to games. I’ll use one example from dys4ia to show what I mean. In Level 3 – Hormonal Bullshit, you can navigate sensitive nipples through a maze of pointy objects. Whether you succeed or fail, the game continues to the next scene. (I guess Koster would require the maze navigation be a problem the player must solve in order for it to qualify as a game.) Then in Level 4 – It Gets Better, the game returns to the same scenario, but the nipples smash their way through, showing they are no longer so sensitive.

By repeating the same scene with changed mechanics, Anthropy uses the mechanics in an expressive way. Or to put it in her terms, a change in rules leads the player to experience the change in sensitivity.

In Ian Bogost’s Persuasive Games, he calls this procedural rhetoric, and it isn’t something you get from a Powerpoint presentation.

Tagged , | Comments Off on Zinesters vs the World

Strange Days New Years

If you want to watch Strange Days for New Years Eve because you are a weirdo, start it at 9:44 PM and the timing of the New Years countdown in the movie will coincide with the countdown in real life.

Comments Off on Strange Days New Years

Implied comparisons in visualization

One blog I follow is WTF Visualizations and all these examples I’ve acquired from there. I think they demonstrate a common thread of people failing to fully consider what comparisons are implied by their chart.

What I mean is, suppose you have a series of numbers, like 8, 10, 20, and you represent that as a 4cm bar, 5cm bar, and 10 cm bar. You’ve translated the raw numbers into a measurement, in this case the length of the bars. You can’t lose sight of the fact that doing this implies you can visually compare the magnitude of 8, 10, and 20. If they aren’t numbers that can or should be compared, maybe there is no value in presenting them visually. And there is also sometimes an implied comparison to what could be the maximum number.

First up is this one showing, which demonstrates it especially because Francis Gagnon tried out an alternate method of displaying the data. The original is on the left, his modification is on the right:
Glass Ceiling Chart Comparison

So this is an example of what I’m looking at, because the biggest change he makes is he changes the scale so the implied maximum is 100%. Whatever the maximum of your graph is, there’s an implied comparison to that maximum. There are many cases where you can’t help but choose the maximum of your graph arbitrarily, but in this case, since the numbers are percentages, 100% is a non-arbitrary choice.

He later tried one more redesign, where he set the implied maximum at 50% instead of 100%. Because it’s a percentage, I can see how you could think of 100% as the obvious maximum. But 50% makes a lot of sense in this context, since 50% would be the point where you have equal numbers of male and female CEOs.
Glass ceiling redesign Voila
He also re-oriented the bar chart. You may miss it at first glance, but the one chart uses data from Fortune 500 companies and the other uses data from “durable goods manufacturing” so directly comparing the two might not make sense.

The point I made about implied comparisons applies here, as well:
tumblr_mx6rfcSzGR1sgh0voo1_1280[1]

In something like this, the use of graphics just becomes meaningless decoration. Ask yourself what are we supposed to be comparing? Are we supposed to compare the three numbers? But they are all on different scales; the 6 billion curve is not 6 times the length of the 1 billion curve, and the 2 million curve isn’t 1/500th the length. And comparing “number of videos added everyday” to “unique visitors every month” to “hours of videos” doesn’t seem very useful. Are we supposed to compare to their implied maximums? The maximums seem chosen arbitrarily; would 7 billion be the absolute maximum number of hours people could watch in a month? According to these stats the number of internet users in 2012 was about 2.4 billion. It seems to me that would be a non-arbitrary maximum you could apply to “unique visitors” but instead that curve uses an implied maximum of about 1.8 billion. So yes, these curves don’t appear to do serve any purpose other than decoration.

Next up, this one is sort of a radial graph:
facebook_most_popular_wide-23b218216cf5b4b98308f51ee85c1c12ee9a141f-s6-c30[1]

I’ll leave aside the issues of 1) the “spikes” are scaled in both width and length, so it’s ambiguous whether you’re supposed to compare area or length or what, and 2) the spiky ends don’t have any semantic meaning and would further make such comparisons imprecise. Because what’s the point of a precise comparison when there’s really no point to the comparison in the first place? The numbers on the radial shapes are a ranking. When you’re ranking something, you’ve essentially removed the actual measured values.

If they had retained some measured value, such as the number of posts mentioning Pope Francis, the election, and so on, then you could visualize whether Pope Francis beat the election by a small fraction or more than double, or what. By reducing it to just ranking, without any magnitude to compare, essentially this visualization is only telling us which number come first.

And last, I’m kind of repeating the earlier Youtube thing:
Tractor Speeds imply a top speed
But at least comparing the top reverse speed and top forward speed sort of makes sense. They are both speeds, both measured in MPH, but then they ruin that by having the two displays using different scales. The implied maximum forward speed is 10.4 MPH, but the implied maximum reverse speed is 8.5 MPH. (Determined by using selection tools and the Photoshop histogram to compare areas.)

So again, they’re treating visualization as just decoration. I suppose I don’t hate decoration as an end in itself, but trying to use the aesthetics of visualization without any consideration to what it means is somewhat analogous to getting Chinese characters tattooed on you without considering that for many people this is an actual language and not just pretty pictures.

Tagged , | Comments Off on Implied comparisons in visualization

Jo Walton on SF reading protocols

My earlier post about Science Fiction and explanation I think dovetails with this Jo Walton article about SF reading protocols.

Bolding is mine, where I think she’s making a similar claim to what I was.

Having a world unfold in one’s head is the fundamental SF experience. It’s a lot of what I read for. Delany has a long passage about how your brain expands while reading the sentence “The red sun is high, the blue low”—how it fills in doubled purple shadows on the planet of a binary star. I think it goes beyond that, beyond the physical into the delight of reading about people who come from other societies and have different expectations.

She argues that SF readers develop an SF reading skillset that enables them to enjoy SF. This neatly parallels the David Bordwell article I had earlier tied into my theories, How to Watch an Art Movie:

Of course most films’ intrinsic norms match what we can call extrinsic norms–those codified by the tradition. Hollywood films frequently simply follow the conventions of genre, structure, style, and theme that have flourished for a long time. What the art film does, I think, is what ambitious Hollywood films try to do: It tries to freshen up its intrinsic norms. But it does this according to broader principles of the art-film tradition. In other words, an individual device might seem strange, even unique to this or that movie, but the function it fulfills is familiar to us from our knowledge of the tradition’s conventions. We figure out the device because we assume it has a familiar function.

Tagged | Comments Off on Jo Walton on SF reading protocols

Glitchy Flash Hoemstra

So I made a Homestar glitchy flash cartoon using Swfmill and R.

Swfmill converts swf into xml and back, and R randomizes:

  • Color
  • SoundStreamBlock
  • TextEntry
  • PlaceObject2

I will further examine and see what is worth swapping around.

Admittedly, this has limited use, since Swfmill often doesn’t work properly on Actionscript 3 projects, so I have to track down stuff I know is 5+ years old, like old Homestar cartoons.

Tagged , | Comments Off on Glitchy Flash Hoemstra