Game Review: Superbrothers: Swords & Sworcery EP

Yeah, way late to the party on this one (as usual — I’m quite patient these days when it comes to to getting around to playing games, and I don’t have to be the first kid on the block to play something. I’ve grown immune to hype and appreciate bargain sales.)

Speaking of which, Humble Bundle 5 is out, and as of this posting you have about 7 days left to buy it for $NameYourPrice. I really suggest you do. First, because naming your own price is awesome. Second, because the games are so worth it: Bastion, Amnesia: Dark Descent, Psychonauts, LIMBO, and Superbrothers: Swords & Sworcery EP. [Update: They just announced the addition of Braid, Super Meat Boy, and Lone Survivor to the Bundle!] Thirdly, they’re DRM-free. Fourth, they’re cross-platform, playable on Mac OS X, Windows, and Linux.

Of the five titles in the Bundle, so far I’ve only played Superbrothers: Swords & Sworcery EP, or S:S&S EP as it’s commonly abbreviated. I’d longed to play it since I first heard about it, but considering it was launched as an iPhone game and I do not own an iPhone, that was kindof hard.

The EP release was an enhanced version released for PC/Windows, and I feel it probably made the transition from touchscreen and tilt sensors to traditional PC reasonably well –although since I still have never played the original platform version, it’s hard for me to say. Still, it’s a very enjoyable experience to play it on a PC.

Despite not being all that challenging, I’ve really gotten into Superbrothers’ Swords & Sworcery EP, I guess mainly due to the flavor and vibe of it. While disarmingly crude at first, the minimalist beauty of the pixel art graphics is charming and evocative, providing incredibly vivid mood and atmosphere, the audio effects and music is absolutely excellent (who is Jim Guthrie?!?), and the sense of adventure is there.

It has a bit of the feel of a tabletop RPG come to life. There’s no dice-rolling, no stats and leveling, and very little hack and slash, but something about it reminds me of children making a game out of telling each other quasi-medieval fantasy stories, and figuring out weird puzzles that they’re making up on the spot as they go along. That sense of adventure, and I’ve never had it so full-flavored in a computer program. The anachronistic text narration and “regular guy” voice acting amplifies the effect, perfecting it.

The game does not focus on combat, which is rudimentary yet satisfying, and instead the game seems mostly to be about exploration and puzzle solving. The puzzles, once I got a feel for the first few, have actually been quite easy, so far, but it took me until about 30% completion to actually figure out how to see what I’m supposed to do.

Once I caught on, they became rather fun to solve. The early puzzles were more frustrating than challenging, with lots of staring at the screen and wondering wtf I’m supposed to do, while clicking, tapping, dragging around all over like mad until I finally accidentally do something, then puzzle out the rest of it from there. But as soon as I learned the idioms of the interface and became immersed, I was hooked. From that point, the puzzles still weren’t all that challenging, but were delightful and satisfying to solve anyway for some reason.

The way the story is presented, using variously camera pans and zooms, music, visual cues from the in-game characters gesturing or barking at you, on-screen text, is very well thought out and executed nearly flawlessly. It’s a highly polished indie game and the developers’ artistry is fully realized.

Overall as I played, I felt relaxed and like I was having a pretty good time. The fights gave me a little bit of tension, but only a little bit. There was a certain feeling of dread and pressure, but after dying a few times and realizing that the consequences of doing so weren’t too bad, and got a feel for how the combat system works, I was able to calm down again. The game never punishes you excessively for failure, which makes for a soothing and relaxed play experience. I don’t think I’ve ever played a game where the combat system is both turn based yet fluid and time sensitive, and where patience, anticipation, and timing is more important than reflexes and rhythm.

If you are lucky enough to have enjoyed the 1991 classic Another World [US Title: Out of This World], I found that I had a very similar emotional experience with this game. And that’s a very high compliment.

Game Maker Studio 1.0 Launched

Today YoYoGames announced the launch of Game Maker Studio 1.0. This long-awaited release finally gives Game Maker developers the ability to build games that run natively on Windows, OS X, iOS, Android, and HTML5. I’d heard some time ago that there was a Symbian module in the works as well, but I don’t see any mention of it in their releases — I doubt that it will be missed. Also announced today is that Game Maker HTML5 is no longer a standalone product, and has been folded into Studio.

I participated in the HTML5 beta as well as the Studio beta, and reported a fair number of bugs. While I’m enthusiastic, I think it remains to be seen how successful the new Studio will be — the impression I’ve gotten from my limited work in HTML5 is that the differences of each platform impose constraints on a unified project, and often during the beta I found that stuff that worked in a Windows build didn’t in HTML5. Hopefully that’s all just part of the beta. I definitely like the direction YoYoGames has been headed in, and as long as they execute, it should be a good time to be a Game Maker developer.

The highlights of Studio:

  1. Multi-platform build targeting
  2. Source Control
  3. new built-in Physics features

Game Maker’s proprietary language, GML, is going through some redesign as well, but we probably won’t see the full vision for a time, until Game Maker 9 is released. With Studio 1.0, it seems that YoYoGames has started deprecating certain functions, in order to drop Windows-specific stuff and embrace a more platform-agnostic approach, which should mean that developers won’t have to worry about whether a given instruction makes is supported or makes sense on the OS they’re targeting. Hopefully this will encourage cross-platform application releases and make them the norm rather than the exception.

With the launch, YoYoGames announced pricing, and it’s a little different from what I expected. The base Studio Core (giving you Windows and OS X build capability) is $99. Considering that Game Maker Standard was $40, roughly doubling the price to give you access to OS X seems reasonable.

The HTML5 module is an additional $99. $199 was the original price of HTML5, so for $198 you get Studio with the HTML5 extension. I think a lot of Game Maker users were shocked at the price jump, but when you consider how cool it is to have the capability of distributing your games through the web with no extra plug in or extension needed to run, it’s awfully nice.

The mobile platform modules are another $199 each for OS X and Android. This means the full Studio suite will run a developer almost $600, or 15 times what it costs for Standard. YoYoGames justifies this by saying that these are optional modules for professional developers, and I’m sure it costs them lots of money to develop the runner for these platforms. It’s a bit odd to think that for just $200 you can reach 3 major platforms, but to get another two platforms it triples the price. In any case, the idea seems to be that the ease of selling on the mobile markets makes it worth the cost of the tools, and I’m glad they tiered their pricing rather than force everyone to pay full price all or nothing. Starting out at $99 or $200 is a lot more reasonable, and buying the mobile modules later takes a bit of the sting out of the price. Compared with Unity Pro, which is $1500 for its base, and an additional $400 each for iOS and Android, it’s still quite inexpensive as a professional developer tool.

Facebook IPO

Facebook IPO

I’m neutral on this, I have no skin in the game, and I’m skeptical as to whether the IPO will benefit users (ha!) or simply amplify the rate at which their personal data gets exploited. But it seems to me that financial journalism has succumbed to the attitude that the purpose of a stock IPO is to make everyone lucky enough to buy in filthy rich on Day One, simply by virtue of their being fortunate enough to have the opportunity to buy the stock. That’s an astonishingly bad way to look at IPO’s, and is exactly the attitude that resulted in the first tech bubble back around the turn of the millennium. You’d think by now we’d be smarter than that, but no.

Ludum Dare 23 Rankings are in

Here’s how Bactarium ranked in the Ludum Dare 23 Compo:

Ranking/1072 Category Score (out of 5)
Coolness 56%
#204 Innovation 3.41
#259 Theme 3.34
#431 Mood 2.68
#511 Graphics 2.75
#520 Humor 2.07
#545 Fun 2.62
#562 Overall 2.76
#587 Audio 2.07

Not too bad for my first LD48 entry, though certainly much room for improvement. Considering how happy I was to have been able to complete the game within 48hrs, I’m pretty happy with how it was received. It definitely wasn’t a great game, but it’s not bad, and has potential.

I’ve been working on a rewrite in Game Maker Studio which I hope will address some of the shortcomings that I didn’t have time to address in the compo.

The Early 80’s Arcade Aesthetic

My friend Sam recently asked the internet if there were any books on early arcade game aesthetics. I’m not aware of any books that particularly stand out as being focused on game graphics, so I didn’t have any titles to suggest, although there are starting to be quite a few really good books on the history of the arcade.

To help him out, I brainstormed as much as I could, and since I think this ended up being pretty valuable, I figured I’d turn it into a blog post.

Basically every design principle in the graphics of early 80’s arcade games was governed by the insane limitations of the tiny systems of the day. Memory was SUPER expensive, 16k of RAM was a LOT in the late 70s/early 80s. CPU was 8 or 16 bit and SLOW – 1MHz or so. At the time there often wasn’t a dedicated video processing unit, or even dedicated video memory — everything was handled by the CPU, which often dedicated most of its processing power to simply drawing each frame of video, leaving relatively little processing power left over for handling game logic.

Here’s a list of qualities and factors that fed into creating the early 80’s aesthetic:

  • Portrait aspect ratios. Most of the old games, particularly vertical scrolling shooters, had monitors mounted in the cabinet in Portrait orientation (3:4 aspect ratio, as opposed to 4:3 ratio). Portrait gave vertical shooters more range to fire, and enabled manufacturers to build narrower cabinets, which allowed them to store, ship, and display more units in a given area.
  • Large pixels. The dot-pitch of those old screens was pretty coarse. You might have had a 15-, 17-, or 19-inch screen displaying 320×240 resolution, or even 240×160. Individual pixels were quite apparent, particularly in the late 70’s. Macro lens photos of the screen would reveal visible gaps between pixels. Early home computer monitors were capable of displaying a mere 40 or 80 characters of text, and the screens were tiny — 13″ or smaller.
  • Tiny sprites (usually 16×16 or 32×32 max)
  • Animations typically limited to 2-3 frames, though there were sometimes exceptions. Each frame of animation in a sprite cost valuable storage.
  • Bright colors and pastels. Here’s a great collection of color palettes available to home consoles and computers.
  • Grid-based graphics. Most terrain, characters, etc. were sized to fit within a standard grid size. Terrain, mazes, etc. were generally built out of repeated tiles.
  • No alpha channel. I don’t recall seeing any translucency (colors blending when two sprites overlap) in this era. Any transparency would have been all or nothing, provided by a mask. Before masking techniques became widespread, many early games had the background color drawn into the sprite, resulting in artifacts when two sprites would overlap.
  • Limited color palette. 2N colors to pick from, where N <= 8. So, generally 256 or fewer colors on screen. The most common color depths were 1-bit (B&W) and 8-bit (256-colors), although there were a few notable grayscale games, such as Fire Truck. 8-bit color ruled in the arcade until the 16-bit revolution came to the arcade, around 1986-87 — the golden era (roughly, 1978-1984) of the arcade was exclusively B&W, and 8-bit.Oftentimes, computers of the day had a pre-defined color palette and were further limited by the number of distinct colors they could draw on the screen at any one time, such as out of a total of, say, 4096 possible colors, which were baked in to the hardware and could not be changed, and you can only draw 16 (or 64, or 128) of them on the screen (or, in some cases, up to 4 colors in any one sprite) at any one time. If you want to emulate specific hardware, it’s a good idea to research the capabilities and narrow your color selection to match the authentic palette of the original hardware. These limitations often resulted in workarounds such as dithering (drawing two colored pixels closely together to allow the eye to blend them to a middle value). Here’s a fascinating article about the Commodore 64, describing a technique for getting “secret” colors to emerge from the C64’s limited palette by rapidly switching between two colors in the palette to synthesize a new color. It also meant that smoothing your images with anti-aliasing wasn’t possible, because there weren’t enough available colors to do proper tweening. Jaggy pixels ruled the day. Many home computer games of the era did their graphics in Text Mode, which has its own distinct look.See also: MDA, CGA, EGA, VGA
  • Palette swapped sprites. Old computers used color palettes, or indexed color. Out of a gamut of, say, 64 or 256 or 1024 or 4096 possible colors, a sprite typically could only use, say, 4 or 16 out of the 256 available colors. These four chosen colors were defined by a “palette”, and each color on the palette had an index value used to refer to it. By changing the colors in the palette to different colors, or in other words swapping one palette for another, the indexes in the sprite would be updated to use the new colors. Re-using and re-coloring the sprite, saved on storage space. A palette swap took a bitmap and re-mapped the values in each pixel to a different color from the new palette. This is why Mario is red and Luigi is green, for example. It was also very common to have different power levels of enemies denoted by using palette swaps.
  • Blinking and flashing. Rapidly flashing colors as a cheap, eye-catching form of pseudo-animation.
  • Flicker. If the processor couldn’t handle drawing all of the sprites on the screen in every screen refresh, something had to drop. So a sprite might not draw every screen update if there are too many on the screen, or too many in a horizontal scan line.
  • Abstract, iconified representations of things, and cartoony drawings, as opposed to realistic drawings.
  • Reliance on clichés, tropes, and popular idioms to help make graphics more easily recognizable, and a willingness to extend the idiom in a clever/absurd/zany fashion.
  • Fruit and keys and things are canonical bonus items.
  • Giant head/face, tiny body/limbs. They tried to fit the entire character into a 32×32 square, and most of the detail needed to go into the face/head to make the character recognizable and memorable.
  • High contrast is important for foreground/background.
  • Shigeru Miyamoto once gave an interview where he discussed why the original Donkey Kong sprites for Mario…mario
    • had white skin (the background was black, so they wanted strong contrast),
    • had a mustache (it helped his nose stand out and a mouth and chin were too complicated for the number of pixels left in the region)
    • wore red overalls/blue shirt (the overalls helped with the contrast of his swinging arms, which you otherwise wouldn’t get from a solid colored top.)
    • Wore a hat (his dark hair would have stood out less against a dark background, and presented problems with animation.)

Don’t forget vector!

Notable vector titles of the era:

  • Asteroids was the first hugely successful arcade game that used a vector display. Note the intense glow of the UFO and missile in this image, due to the vector display over-drawing those lines many more times than the refresh rate of a raster scan CRT would have allowed.asteroids_630x[1]
    I’m not sure what the very first use of a vector monitor was in the arcade, maybe Lunar Lander?
  • Battlezone When gamers of the area think about vector games, probably the first two titles they’ll think of are Asteroids and Battlezone.battlezone[1]
  • Qix Actually, Qix used a raster monitor, but it was primarily line based art, so I’m including it anyway for inspiration. Plus, it gives you an idea of how a line art game would look on a low-res raster display of the period.Qixingame[1]
  • Tempest Tempest was the first color vector game, and was a sensation at the time of its release.maxresdefault[1]
  • Space Duel is one of my all time favorite games. It featured innovative 2-player co-op/competitive play, and awesome graphics.Spaceduel[1]
    Note the distinct difference in this photo of an actual vector monitor screen photograph vs. how the game looks when emulated on a modern display:score8055_20140504190722[1]
    spacduel2[1]
  • Star Castle An often overlooked classic, the arcade version Star Castle used a color overlay over a monochrome vector CRT:star_castle_large[1]
    Later cabinets made use of a color vector CRT display, and looked much better: screenshot1[1]
  • Star Wars (really impressive achievement vector graphics, actually — convincing 3D, accurate wireframes of familiar star fighters from the movie, simulated fills, etc.)Star_Wars_Screen[1]
    1181242172192[1]

There might be other notables that I’m forgetting, as well, but these should have you pretty well covered.

Color vector screens were something rare and expensive, most vector games were B/W or monochrome (green or amber). I believe before proper color vector monitors became cheap enough, some vector games may have made use of cellophane overlays attached to the screen which filtered the vector image painted on that part of the screen to make it appear colored.

When you DID have colors, they were very bright colors, almost always primary colors (RGB).

The way the vector monitors worked:

  • There are no pixels (not easy to emulate, but maybe the retina display on the new iPhone/iPad can help make this more convincing?) This meant no aliasing or scaling artifacts.
  • A->B, not scan lines. The cathode beam was drawing from A to B for each line segment, not drawing scan lines from top to bottom.
  • Bright and sharp. As such, a vector display could spend much more time drawing each line segment, far faster refresh rates than the 30Hz that is typical of pre-HDTV raster CRTs. Unlike a raster CRT, there was not a fixed refresh rate; the cathode beams traced over the line segments as quickly as they were able to. This resulted in a very bright, flicker-free vector line (again, not easy to emulate) compared to the brightness of a white pixel on a raster display. There was often some ghosting as the intensely bright phosphor dimmed after the object on the screen moved. This was a hardware artifact, not something programmed in to the graphics routine as a special effect. Vector displays GLOWED and were sharp and gorgeous.
  • More stuff to draw means dimmer lines. This also meant that the more stuff being drawn on the screen at once, the overall brightness of each individual line was diminished, ultimately resulting in visible flicker if too many things were being drawn at once.
  • Even brighter vertices. Where line segments intersected, or at vertices, the beams additively excited the phosphors resulting in an even brighter point at the corner in relation to the brightness of the rest of the line segment. We’re talking REALLY excited phosphors!
  • Geometric shapes and polygons, not curves. Curves would have required far too much computing time to calculate precisely. Curves were always approximated with line segments. Linear functions are way faster than polynomial and trig functions, and the processors of the day didn’t even have dedicated floating point units (FPUs).
  • (Usually?) a single line thickness for all graphics. I can’t think of any vector games where the line thickness varied, but it’s possible there may have been some. Typically the lines were quite thin, like pencil lines.
  • No fills. Everything is a wireframe — maybe a simulated fill by drawing in a bunch of lines in a pattern. Fancier 3D games would occlude line segments that were “behind” the surface of some other object, but a lot of them just let you have a kind of x-ray vision effect where you could see through the wireframe.
  • Black background. You can have any background color you want, as long as it’s black.
  • Favorable to 3D. These properties made 3D games much easier to draw in vector than for raster graphic displays of the time. So a lot of the early 3D experiments were done with vector displays, most notably Battlezone.

Further reading

http makes us all journalists.

Something I did made the paper a year ago, and I just now found out about it:

http://blogs.sfweekly.com/thesnitch/2011/09/anonymous_circulates_diy_press.php

The blog article mis-attributes the quote “http makes us all journalists” to Peter Fein, who I’ve never met or had any dealings with, but I actually came up with the slogan, and the 1.0 design of the press pass. [Update: It turns out that I have met Pete, but it was long after the fact of the BART protests. In fact, without realizing that he was the same person from the article above, I met him and his wife Elizabeth at Notacon9. I’m happy to report that they’re wonderful people.]

After I created the design, and it was put up the noisebridge wiki, I remember at the time a number of journalists took offense to the slogan, completely missing the point of it while being defensive about their college major or profession. I guess it stings when your career is threatened by the emergence of a new medium that the old guard doesn’t understand readily, misses the boat on, and you watch newspaper after newspaper go out of business or get swallowed up by corporate media conglomerates.

I get that Journalism is a serious discipline and has standards, most of which are completely gone from broadcast and publishing these days, but whatever, they’re important standards. Saying “http makes us all journalists” wasn’t meant to insult your diploma, your profession, your Peabody, or your Pulitzer.

The point was that the slogan is directly after a quotation of the full text of the first amendment, which guarantees freedom of the press. The internet, especially http, enables all of us to be our own press. Freedom of the Press isn’t just freedom for Journalists, but for artists and authors and everyone who has a mind to express thoughts with. “With HTTP, All Can Publish” might have been a more accurate slogan, but I came up with the idea in about 10 minutes, and I like the spirit of it, so I’ll stick with it. Frankly, I’d rather there be more agitated journalists in the world, rather than the corporate media shills that have largely supplanted them, while abdicating the Fourth Estate for a comfy paycheck. If you’re a journalist and the slogan pissed you off, good. If it inspired even one person in the general public to take up the mantle and aspire to become a serious journalist, even better.

I created the design when a friend in SF tweeting about the Bay Area Rapid Transit protests, that were happening at the time, said that people who didn’t have press passes were being denied access to the protest area. The protests were in response to a police shooting and killing of an homeless man who was on the prone on the ground at the time he was shot, and not a threat to anyone. That shouldn’t have happened. I felt strongly that the protesters had a right to protest and a right to cover their own actions and publish about it, so I created the press pass. It took maybe a half hour, a couple of rectangles in Illustrator, and I was done. The idea that the right to be present to cover an event should be limited to those who possess a Press pass struck me as an unconstitutional abridgment of rights reserved for all. So I created a Press pass for all.

The version I created didn’t have the photo of the Guy Fawkes wearing person in the ID photo. My idea was to take your own passport photo and put it in there — I measured everything out carefully to be sized correctly, and made the card the size of a ISO spec for an ID card that I found details on the internet.

The image at the right is the symbol for Noisebridge, a SF hackerspace that I’d like to visit someday. I ganked the image from their website and incorporated it into the design, since the friend who got the idea started was affiliated with them, and they were involved to some capacity in organizing the BART protests. I’ve met some cool people from Noisebridge who I consider to be good people: bright, conscientious, inquisitive, concerned.

The reverse of the press pass had the text of the First Amendment and the slogan “http makes us all journalists” which I meant to emphasize the fact that the internet is a truly democratizing force, enabling each and every one of us to communicate with everyone else, reaching people we might never otherwise have known about, and impossible to censor… though, they never do quit trying.

Someone else put the Guy Fawkes image in there, but you could just as well replace it with your own image if you wanted, as I originally intended. The “points system” for doing this or that with the pass to make it more authentic looking was also someone else’s idea, as was the information resources to help people know their rights. Each contributor acted freely of their own accord to contribute their ideas and built off of them without ever talking to each other. It is what you make it. Modify to suit your needs. Do what you want, be responsible for what you do. That’s the power true freedom gives you.

I’m not a member of Anonymous, as I’m not posting this anonymously. Anonymous does some good, some bad, just like anything else. I don’t know anything more about them than what you can read on the internet.

###

More favorable coverage, with an image of the original design:

http://lafiga.firedoglake.com/2011/08/23/http-makes-us-all-journalists/

Ludum Dare 23 postmortem 3

(Part 1 | Part 2)

Making Enemies

Saturday I developed Enemy AI and Food. The first Enemy was actually done Friday, simply a renamed, re-colored (red) variant of Player with a collision event to handle contact with the Player, and the control scheme modified to have the Enemy bacteria follow the nearest Player bacterium, not the mouse.

What resulted from this was actually surprising: (more…)

Ludum Dare 23 postmortem 2

(Read Part 1)

Once I decided that my idea to create a game based on bacteria was both interesting and within my capability, I needed to figure out if it would be technically feasible. I knew that I would be working in Game Maker, because I know it the best and can get results quickly with it.

Choose Your Weapons

I toyed with the idea of (more…)

Ludum Dare 23 postmortem

Is it supposed to be ironic and funny that they call these things post-mortems? What died?

My mind rebelled when they announced the theme Tiny World. There was another theme that I’d hoped would win, because I’d recently had an idea to do a game like that one. But it didn’t.

Friday night I was hanging out (more…)

Bactarium: Tiny Worlds – A Ludum Dare 23 Game

I participated in my first Ludum Dare over the weekend. The theme for Ludum Dare 23 was “Tiny World”.

My game is called Bactarium. The title is a portmanteau of Bacteria and Terrarium. It takes place in a petri dish.

Bactarium by Chris Sanyk - LudumDare 23 "Tiny World"
Bactarium by Chris Sanyk for LudumDare 23 "Tiny World"
Source and win32 .exe build.

Ludum Dare submission page.