Tuesday, October 7, 2014

Standard Cards, Game #2: Feud

(I don't remember the rules of Game #1, but I think it's somewhere on this blog!)

I spent the weekend at http://tableflip.us/ in San Francisco. Met smart and interesting people and played and learned table top and social games.

Scoundrels is approaching a shippable/kickstarterable state, so I'm starting to get the itch to design a new tabletop game. In that vein, I've always enjoyed designing games within a standard 52-card poker deck, so today I came up with a quick little game.
-

Standard Cards, Game #2: Feud (2-player variant)

Setup:
-Split the deck into suits.
-Take one red and one black suit. Place the King, Queen, and Jack from red in front of the other player and give them the Ace from that suit as well. Do the same for yourself with the black suit.
-Shuffle the remaining number cards from these suits together.
-Split the number cards evenly, and add your Aces to your hand. (You may look at your hand.)

Play:
-Choose one of the cards in your hand and lay it face down in front of you. Your goal is to predict the color of your opponent's card. Play an odd card to predict they will play the opposing color, play an even if you predict they'll play the same color. If you win, your opponent discards their card, if they win, you discard yours. (Play the Ace to predict they will play the same color as you. If wrong, you lose.)
-Ties initiate a Feud. Leave the cards on the table and continue play until there is a tie-breaker. All tying cards are now discarded, and the loser discards their final played card as well, while the winner keeps their final card. Additionally, the loser discards a Royal [see "Royals Rules"]. The Feud is now over and play returns to normal.

End:
-Upon one player losing all their hand cards or their King.

Royals Rules:
-The King is worth 3, Queen is worth 2, and the Jack 1.
-When you lose a Feud, you discard the Royal worth the number of tied battles. E.g. if a Feud ends after 2 ties, the loser discards the Queen. If they don't have the Queen, the player discards their lowest Royal. If a Feud ends with 3 or more ties, the loser's King dies and the game is over.
-The Queen and Jack at any time may be swapped into or out of the hand (except they may not be swapped after both cards of the round are revealed or during a Feud). While in the hand, they may be played like any number card. They cannot defend the King, but they win any battle against an opposing color. They lose against the same color.

-
Hope you enjoy!
-Randy O
@randyzero

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?