Tuesday, January 21, 2014

Fracking: the Minigame


"Hydraulic fracturing is the fracturing of rock by a pressurized liquid." [http://en.wikipedia.org/wiki/Hydraulic_fracturing]

During November I found myself watching horrifying and bleak videos about a destructive oil extraction process called "fracking" which is threatening communities around the country, contaminating water supplies and soil. 

We as a society/species are living and breathing and dependent on resources, but how far are we willing to go to gather one resource rather than investing in safer/more renewable resource production?

Design

I thought about fracking a bit. What bothers me is not really knowing how bad the environmental effects might be, how much fracking actually contaminates the environment. It seems to be approved with little fanfare or questions, and then a midwest town suddenly discovers that its drinking water is flammable.

I wanted to make a game about how collecting resources can be dangerous. Over a couple months of pondering, I came to the conclusion that my game would be about a "city" that continually shrinks. To keep the city alive, the player would have to quickly tap on several types of resources spawning around the screen. The player could resort to "fracking" a resource to make it worth more, but this would also spoil an area of the screen permanently, such that any resources spawning in that area were now worthless.

Implementation

We don't really know how many resources we need to survive in the real world without destroying our future, we can only guess. But a game is controllable. Setting specific worth of resources, generation times, etc, is how I present my vision, my views. So I decided there should be exactly enough resources to keep the city alive indefinitely.

But testing the prototype, I discovered that with enough resources, a good player would never lose. I needed scarcity of resources; the balance needed to be set against the player-character's survival. By giving the player less than they could live on, I forced fracking to delay the inevitable death of the city.

Additionally, I made contaminated areas slowly shrink, based on my coworker Ian's negative response to their permanence. They were a pointless chokehold to him, which is what I wanted players to realize through lots of play. I worried that by lessening their effects, I was misrepresenting how deadly they might be in the real world. Instead, the game became more compelling. When contamination is permanent, you are being told fracking is evil, rather than learning it. And once you've been told something, there is little value in hearing it again. When it is not so clear, you learn it through experience.

Resolution

As I've grown as a designer, I've become ever more interested in designing games with "replay value". Not in the unpleasant commercial sense, but rather that I don't like a game "telling" me what it's about.  Many of the games I play only once, it feels like I've been given a statement, an answer, by the system[s] of the game. I learn quickly that X is bad and Y is good. Maybe the story or art or music leaves me with questions, but I took all from the mechanics. I'd rather the mechanic also leave me with questions.

By taking player feedback and adjusting only a few numbers this way or that, I was able to make "Fracking" ask questions, instead of stating things explicitly. I find myself replaying it, trying to learn the relative values of fracking, and the alternate, less destructive harvesting mechanic.

I messed with the numerical values of fracking, trying to remove my bias. Fracking now plays an important role in my game. It is dangerous and often helps kill the city, but played cautiously enough it prolongs the city's survival more than without. Making and playing this game has made me consider the concept of fracking in a more pragmatic light. The original game concept that fracking is "evil" has been altered. It is instead a dark gray area. 

Fracking is a dangerous avenue that we are pursuing, but it's not evil. It is only reflective of humanity's ubiquity, our presence encroaching onto every surface and, as with fracking, into every crevice. We grow, we consume, else we die. My little game neglects to represent our growth, instead representing only the shrinking space and resources we have to operate an ever expanding machinery of food and waste and shelter.

I'm still opposed to fracking, primarily because it's not a solution to our bigger problem of oil-dependency. But survival is tough when we don't have the resources to sustain how long and increasingly we've been suckling at mother nature's teat.


-

"Fracking" will be available soon in an update to my game Distractions, available right now for free on iOS.

Monday, July 22, 2013

Lost in Mechanics


It's easy to dislike one's own work, even when it works. And there are many questions about what the heck does it even mean for mechanics to work or to not work. There are things you could easily argue don't work, and yet they might. Is a game bad because it relies too much on luck? What exactly is the goal of your mechanic? Do you want someone to play your game once and be done, or do you want them to have the urge to play it at any moment. The difference between Angry Birds and Trackmania is enormous, when one forces you to deal with a seemingly random set of physics outcomes, while the other gives you precisely what you want, provided you can indeed press at exactly the right moment.

I've been making luck based games lately, and it's really annoying. I didn't want to do this. I've been creating scenarios where things are just balanced enough that the player is at the whims of the random seed generated that playthrough. I've got a boardgame where every player has such an opportunity to be the winner that it ends up being almost luck-based. Give every player a chance to come back to the victory, and you don't know which player will draw that straw.

There has to be a point where you decide that you're just going to move forward with the mechanic, but it's tough when you can't tell if that mechanic is what you wanted it to be. Making a game about choosing paths in life, I don't know what I'm writing anymore.
ufdshidfjskal;
this all means jack diddly.
ooooh joy.
more product that's product that doesn't go anyhwere because I can't fuckin move beyond this weird sophomore slump, right? it's easy to draw goats. it's hard to make something new. or to want to make something new.

I left that game behind, that bathtub game behind because I'm making toys. I can't seem to make a system that's got true meaning mixed with control. so here we go again with that. Should I finish this thing? I think I should, but who really knows anymore. I just have to keep pushing, but for now and I can just draw goats. Goats jumping, hhhere we go! Everyone likes something that they know already. I wish i could make the new mechanics more quickly. I could pinpoint whenwhy it works or not.

It's the curse. games are systems, and I don't know where the entry point for the system is . or how You should be affecting it or if you should have a real say, or if you care about how it looks. you shouldn't care how it looks I think. But that's discounting the power of aesthetic. A system is representative, right? or is it entirely abstracted. Oh boy, Okay, I need to just go not think for a couple hours. And get back tro drawering things in the morning.

Saturday, March 16, 2013

Let love be. Beyond all laws and boundaries.

You can argue there's no goal in life, but I have to respond with love. Or I must try. Those heartbeats of space and time, those pulsing rhythms deep in our minds, that is the yearning to love.

We must yearn to love. Life is a never-ending yearning. The heart should yearn for love as much as it does love.

We hurt each other, we hurt ourselves, in that denial of love.

It's not about acceptance, it's not about tolerance. Love is deeper than tolerance, it's understanding. It's an embrace. Love consumes. Love is all. And where there is love, there is life.

Let love be. Beyond all laws and boundaries. Love is one.

Friday, March 15, 2013


Just now Ian came up and spoke to me over my shoulder as I was drawing Escape Goat 2 art. On my headphones the immensely dramatic climax of M83's song "Wait" was pulsing through my tiny earbuds. I quickly tapped the F8 key on my Macbook to pause the beautiful moment of creation and catharsis and art that someone had created thousands of miles from here, across an ocean. We chatted briefly about the programming he had just done, making it easier to fit more art into our game at less cost to file size. We finished talking and I hit F8 again. The pounding climax returned at full force, as the particles of noise instantaneously resumed from their frozen state, the emotion waiting for me to call. It could have waited forever.

Sunday, August 19, 2012

Game Center Leaderboard Dismissal on iPad vs. iPhone

A random piece of knowledge I send off to you for whom it may help.

I used Cocos2d and Ganbaru Game's Game Center helper to integrate Game Center into Dead End, an iOS game of mine.

However, upon converting the game to Universal, I found two problems.

1. GameCenter wouldn't pop up on iPad.
To resolve this, you have to change the modalPresentationStyle for your leaderboard.  The default does not work on iPad.

So this is my showLeaderboard code, with an added line for iPad/iPhone integration.
- (void)showLeaderboardForCategory:(NSString *)category
{
    if (hasGameCenter)
    {
        GKLeaderboardViewController *leaderboardController = [[GKLeaderboardViewController alloc] init];
        if (leaderboardController != nil)
        {
            myViewController = [[UIViewController alloc] init];
            
            leaderboardController.leaderboardDelegate = self;
            leaderboardController.category = category;
            leaderboardController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;

            if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
                leaderboardController.modalPresentationStyle = UIModalPresentationFullScreen;
            else
                leaderboardController.modalPresentationStyle = UIModalPresentationFormSheet;
            
            [[[[CCDirector sharedDirector] openGLView] windowaddSubview:myViewController.view];
            [myViewController presentModalViewController:leaderboardController animated:YES];
        }
        [leaderboardController release];
    }
}

2. When I was dismissing the leaderboard on iPad, touch controls stopped working.

On iPhone/iPod, the dismissal code looked like:
- (void)leaderboardViewControllerDidFinish:(GKLeaderboardViewController *)viewController
{
    [myViewController dismissModalViewControllerAnimated:YES];
    [myViewController.view.superview removeFromSuperview];//I added this to Ganbaru's code
    [myViewController release];
}

On iPad, however, instead of [myViewController.view.superview removeFromSuperview], it should only be [myViewController.view removeFromSuperview].  I'm not sure why, but it works for me.

Thus, to get leaderboard dismissal to work on both iPhone AND iPad, the full code should be:
[code]
- (void)leaderboardViewControllerDidFinish:(GKLeaderboardViewController *)viewController
{
    [myViewController dismissModalViewControllerAnimated:YES];

    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
        [myViewController.view.superview removeFromSuperview];
    else
        [myViewController.view removeFromSuperview];
    
    [myViewController release];
}

Hope this is useful for someone!

Tuesday, January 24, 2012

Gradients

I work in a youth homeless shelter once a week, and I do it as much for myself as for the kids. These are 18-25 year olds. They are officially adults, but this shelter was started because these poor castaways would otherwise go from foster homes and under-age care one day to rough homeless shelters and rougher streets the next. We consider them adults, but tell me that upon graduating high-school you were ready to go live in a shelter with grizzled 50 year old homeless folk.


There's a gradient to our maturity. Some of us never learn any, others learn too much. So many of these youth are struggling just to get beyond an immature and volatile world that left them in poor health and poor preparation for life. The life they know is beyond me to understand. I've been lucky. There's a gradient of people that are in the shelter. There are youth who are escaping abuse at home, others struggling with drugs, some whose homes were too poor to support them, still others who have never known a real home. There are those who are beating the challenges, those who may beat them, and others who will lose. There are more than a fair share struggling with mental health problems. There are youth I enjoy seeing, others I would have a hard time tolerating, were it my job to maintain order in the shelter.


Far above these struggles, and yet just as important, are high level government decisions, high level business and world market struggles. There are people who want laws to control everything we do. Others want laws to control none of what we do. And still more who see decisions one way over here and another over there. There are decisions about who to hire, who to fire, who to support, who to let down.


Don't mistake life for anything but a gradient. I learned that in art the use of pure black and the use of pure white are rarely desired. Give some texture, throw in some tint of a color. Life is better this way if we accept that our beauty and strength lies in the texture, the variety, and that such variety should be embraced.


And that's why, when we look at our troubles, at our struggles, the solution lies not in changing the individuals, because we will never win that battle, but in changing the rules of how we operate as a society. We need to change the rules that help people, that raise kids. We need to fix how we operate, and accept and embrace variety and diversity. We know that things are never black and white, so we need to keep working on the rules. And we will never finish fixing and refining, because the system always changes. But as long as we look at the system as much and more than we attack individual cases, then we might make progress.


I look at the youth in the shelter, and I know with a fairly heady certainty that we needed to help these kids long ago. We needed to feed some of them better food, we needed to teach others better discipline, we needed to find many of them better parents. But they are going to struggle now because their world's rules were defined and built long ago. There are billions yet to come, why not change the game rather than trying to mess with the pieces?

Thursday, December 22, 2011

A Letter To Barack Obama

I respect you Mr. President. But I am wavering.

Your intellect, the knowledge and awareness you have in regard to so many national issues far exceeds the typical politician. You are not a politician to me. You are someone who is fighting by using facts, who is fighting by using reasoning as your weapon. I love listening to you debate and discuss issues.

You are willing to talk, to compromise, to think in larger terms. Our country is immense, and you stand there to represent millions of different views on millions of different subjects.

When you talk, I listen. When you say something, I think on it.

And when you take a stance, I hear what your beliefs and values are.

When you back down, you lose me. You have the heart so many of us have. I've heard it numerous times in the way you speak. So stop backing down. Stand up and make your point and stick with it. No one is happy with congress, why should you accept them either? You are the voice of us.

I support much of what you have done and what you say you want to do. Take advantage of that and stop compromising. Be what you feel, because I know there's intelligence and respect behind your beliefs.

There is a fight upon us, and your backing down only defers the inevitable clash and makes it worse.