Color

A drawing I did for Mom’s birthday

Here’s a drawing I did shortly after IndieCade East, as a birthday present for Mom. Unlike the images in the game, this drawing was colored by hand, using colored pencil on paper. Even though I haven’t mastered colored pencil and often struggle to get the effect I want, I like the visual texture and this is the look I originally wanted for Gorogoa.

In this image, colored regions are imperfectly filled by pencil strokes that have a grain to them, recording the movement of the hand that drew them and, therefore, the thought process guiding that hand. Colors are layered on top of each other–again imperfectly–and the result is a more complex tone. The physical texture of the paper shows through.

The approach I use for coloring in Photoshop tends to produce rather flat colors, with none of the aforementioned features, unless I expend considerable effort to create internal color variation. I’ve thought about using post-processing effects to mimic colored pencil–or watercolor or what have you–but nothing procedural seems satisfactory, and in any case I don’t really have the time.

So why color on the computer? It’s not necessarily more efficient. No, I use the computer so that I can endlessly change my mind. With colored pencil, there’s no going back. After laying down one color, it’s very difficult to change (I can change colors a little, but I can’t turn purple into yellow for example). Working with physical media I often feel my fingers groping for a keyboard so I can hit “undo,” before I realize with a chill that I don’t have that option.  The need to actually make permanent decisions is disconcerting after working with a computer for so long. My massively layered Photoshop documents are all about avoiding commitment, eliminating any requirement for boldness on my part.

This isn’t necessarily the healthiest thing for me as a visual artist, but I consider it essential for the sake of the game design process. There are so many different, constantly shifting design constraints pushing and pulling on every element in every scene that the visuals need to be able to adjust fluidly.

Still, it’s a good thing from time time to work with purely physical media, just for the reality check.

Tile Madness

While semi-stuck on a design problem, I’ve been obsessively working on decorative tiling patterns (which I intend to use as architectural detailing in the game).

Once I start thinking about these designs I find it very hard to stop. I keep trying to figure them out in my head, which doesn’t really work for the more complex ones, but the shapes won’t stop regrowing and interlacing through my brain when I’m trying to sleep or concentrate on something else. At the risk of (i.e with the definite intention of) sounding overly dramatic, I feel like I’m playing at the outer edges of the vortex of madness.

I can spend a long time staring at wallpaper. My eye can’t help but wander through patterns like these, seduced by apparent meaning and structure, seeing first one shape and then another contradictory shape, trying to separate figure from ground, continuously failing to solve a visual riddle that isn’t even there to be solved.  And then there’s the chill of brushing up against infinity.

I find that these patterns can even escape the 2D plane; if my visual field is filled by a repeating pattern (even something as simple as a chain-link fence), sometimes my brain will screw up the parallax effect, mis-aligning the images from my two eyes (like an old Magic Eye poster, but with no image) so that the surface I’m looking at seems to be at a nonsensical distance, breaking the very structure of 3D space.

Yeah, I should probably get back to that design problem I’m avoiding.

The First Diversion

I’ve added a new section to the site called Diversions. This a place for small experiments and side projects that are games or game-like things, but don’t necessarily have any connection to Gorogoa itself. To be sure, there is the danger that these side projects will steal too much time away from the main project, but I think I can keep that under control. It’s my belief that spending a small percentage of my time on something different will be good for the creative process and help prevent burn-out.

For now, I’ll be adding a series of simple puzzles that were an outgrowth of my drawing-a-day project from last year (I only made it about six months). At the start of each month I would come up with a puzzle idea (these were very basic, at least to start out with) and as I went though the month doing my daily drawings I would include some that were part of the solution.  Anyway, here’s the first puzzle.

Sharp-eyed viewers may note that some of the images made it into the Gorogoa demo, but they shouldn’t read anything into this; it’s just my habit to recycle previous art works when I can get away with it. There are also some mildly autobiographical elements in some of the drawings, which you’re welcome to speculate about.

Em Why Dee

Pictured above are renderings of 3D models I made using Blender in the early days of the Gorogoa project. These were meant to be metallic ornaments worn by…well, it doesn’t matter now because the design concept they represent was subsequently abandoned.

I spent waaay too long making these models (partly because I’m not the most proficient 3D modeller, but that’s not the point). I have a (mostly?) bad habit of diving too deeply too soon into design details like this. The danger in doing so is not only that time may be wasted on material that’s never used, but also that I may become too attached to material that should never be used.

You’ve probably heard the old writer’s adage “Murder your darlings,” or some variant thereof. And honestly, I don’t think I’m too bad at adhering to this adage. I’m often quite willing to discard things I’ve spent a long time working on. In some cases, maybe a little too willing. Sometimes I wonder if I’m verging on the opposite pathology.

I have a pet theory about this (speaking of darlings). I’ve spent my professional career as a coder, and there are few things more satisfying than deleting a chunk of code because it is no longer needed. The more code I can remove while maintaining the same functionality, the more beautiful the result. And maybe this way of thinking has become deeply ingrained in my brain, with generally beneficial effects on my work in other creative media.

Or maybe I’m just fooling myself.

Interaction Diagrams

“Nice game,” you’re probably thinking, “but can it be reduced to dry, boring diagrams?” It sure can!

Three sequential tile interaction diagrams

In these diagrams, rows containing yellow diamonds represent interactions between tiles (i.e. puzzle solutions, roughly speaking). A single row can actually represent multiple interactions that occur in sequence, so four diamonds don’t necessarily mean a single interaction involving four tiles.  A vertical line with no diamond means that the corresponding tile is not involved in the interaction represented by that row.

Rows containing blue squares represent tile states and state changes in-between interactions (e.g. the player may be navigating around within tiles, but tiles are not interacting with each other). A vertical line with no square means that the corresponding tile doesn’t undergo any important state changes at that point in the game.

If a line (coming from above) ends at a yellow diamond, that represents the end of the tile’s life; it has been absorbed through interaction with another tile. If a line begins at a yellow diamond, that’s the beginning of the tile’s life; it has been spawned by another tile. So from these diagrams we can see the lifetimes of different tiles as the game progresses. We can also see if one tile goes a long time without interacting with other tiles (it’s just a long vertical line passing through the diagram) which might be an issue.

Now consider the middle diagram above. There are a couple of rows that have five tiles. Not all five are involved in a single interaction, but they are all present at the same time. This is a potential problem if there are only four grid squares in which to put tiles, and situations like this are what led me to develop shelves.

But even with only four squares available, a five-tile situation isn’t necessarily a game breaker, because tiles can sometimes be stacked. We potentially have a novel situation, one where the player must find a way to stack tiles not (directly) in order to solve a puzzle, but simply in order to make space for another tile. Juggling tiles around like this could even constitute a puzzle in and of itself.

Or it might be a confusing headache. I could have made it possible to stack any tile on any other tile at any time (most of the time with no useful effect) but I chose not to do that because it could lead to tiles being lost and forgotten at the bottom of a pile. Forcing the player to stack tiles temporarily in the course of solving a puzzle could have the same problem.

So will I need to enable shelves or not? Or should I just tweak the design so there can never be more than four tiles at once? We shall see.

 

Tools and Techniques Part 1

This is the first of a series of posts on the software tools and processes used to create Gorogoa. The first thing I’ll cover is how static images are created. The process is straightforward, and I basically developed it through trial and error rather than, say, consulting someone who actually knew what they were doing.

First I draw pictures, using pencil and paper. These pencil drawings consist of outlines and possibly some shading, but no color. I do the coloring on the computer so that I can change colors after the fact, or use the same pencil lines for multiple objects that are different colors.

Step 1: Pencil Drawing

Step 1: Pencil Drawing

I could use other “traditional media” like pen and ink for these drawings, but so far I’ve been sticking to pencil to achieve a consistent visual texture. Another option would be a digital drawing tablet, as some have recommended. I’ve never used one, so I have no sense of how well that would work. For now I enjoy the freedom of being able to draw anywhere with minimal equipment.

Early on I would often model objects in 3D (using Blender), print out renderings of those objects, and draw over the print-outs to get the geometry right. But that process was imperfect, and now most drawings of static objects are done free-hand (as in the example shown).

The next step is to scan in the drawing and run it through a simple process that converts the background color to transparency and does some contrast boosting. I could probably do this in Photoshop, but I have my own tool that does it.

Step 2: Processed Scan

Step 2: Processed Scan
(Gradient indicates transparency)

Then I clean up the drawing in Photoshop, and color it in. Generally I have one Photoshop layer for each colored region (all of which are underneath the layer containing the scan), so that I can go back and change individual colors later. Sometimes I’ll also harden up the lines and/or add shading and highlighting.

Step 3: Color and shade in Photoshop

Step 3: Color and shade in Photoshop

That’s about all there is to it. In the future post I’ll talk about how 3D data is used in the game and how the different forms of animation are done.

Introducing Shelves

I’ve been working on adding a new feature to the game, which I call “shelves.” These are areas to either side of the playing grid where tiles can be placed, either by the system or by the player. Tiles that are placed on a shelf become inactive, i.e. they can’t interact with other tiles. So the shelves are just a place to store tiles when there isn’t room for them on the grid (or the player wants them out of the way for some other reason). The main idea here is to allow more than four tiles to be in play at a given time.

This is not a change I undertake lightly. Simplicity is one of the main virtues of the design, and I don’t like adding visual or conceptual clutter. In general, the constraints imposed by the game’s minimalist construction are healthy for the creative process. But I find that the four tile limit is one constraint too many.  There’s a point in the demo where the player’s progress is arbitrarily blocked, only because allowing them past that point too soon could bring a fifth tile into play. I don’t think this sort of thing is good for the game.

In a sign that I may already be abusing my new-found freedom, one of the puzzle sequences I’m designing could yield as many as eight tiles on the field simultaneously. That may or may not be a good idea, but I want the breathing room to explore those options.

There are other ways I might achieve the same effect. One possibility is to add rows and/or columns to the grid itself. Adding rows would likely force the individual tiles to be smaller, but the standard rectangular aspect ratio of most devices should have room for another column without changing the tile size, so the grid could be 2 x 3. I’m not ruling that out, but I already want more than six tiles.

I’ve also considered doing away with the grid entirely, allowing cards to be placed anywhere on the field as long as they don’t overlap (this is the way jigsaw puzzle assembly interfaces usually work in video games). But that option would represent a big change, and I’d have to give serious thought to its implications.

So for now I’m trying this.

Up and Running

Do I view maintaining a developer blog as a time-sucking chore? I might make that claim in conversation with friends, but the honest truth is that blathering on at great length and in excruciating detail about a project I’m working on is one of the most seductive things in the world. And to think somebody might actually read it. Ah, vanity!