Projects




Search
Navigation
Archives
Thursday
Jul212016

Game Development - Spar Redux Part 2

Things I Learned from Version 3.0
There certainly feels like there is more thinking involved. When you start getting closer to the Chi Level and have multiple options to play, you'll start trying to play the lowest card possible without going over since it will force the other player to waste one of their high cards (if they have one) or take the hit (you get a point).

An issue I'm facing is that it's still the best strategy to play the highest cards available as long as the Chi Level is low enough.

Version 4.0 (v105)
I was considering changing the amount of Chi Level, but I don't think that'd effectively fix the issue since you'd still have opportunities to use the "high card strategy" until you get to (Chi Level - Highest Value Card + 1).

I'm thinking of changing Chi Level's purpose a little bit. Players can basically play ANY card that they want. However, if you play a card that's less than the current card in play, then you take the difference and subtract it from the Chi Level. So if the current card in play is a 5 and you play a 3, then you take 2 from the Chi Level. Whoever makes the Chi Level reach 0 or below will take a hit.

They still have to play pairs if Double Fist has been enabled.

This doesn't completely solve the "always play high cards" strategy, but it certainly provides more opportunities for a player to counter if they don't have a high card to play. The definition of a "bad hand" is less unbalanced.

Another thing I may try is that instead of a global Chi Level, each player has one. Whenever you have to play a card that's less than the current value, the difference is applied to your Chi Level. If your Chi Level hits 0, then you take the hit and the opponent scores the point and everything resets. I'd probably need to keep that Chi Level low though. Like a 7.

Things I Learned from V4.0
I couldn't figure out why someone would decide to lower the Chi Level vs discarding cards. In the case where a player didn't take a hit for lowering the Chi Level, why wouldn't a player just always do that when the opponent played a high card? In the case of taking a hit by either lowering the Chi Level or discarding cards, why would a player ever discard cards? It almost felt like a positive since they likely only got to that situation because they didn't have high cards to begin with.

Version 5.0 (v106)
I'm thinking of removing the Discard ability altogether. Players always play a card or pairs. Anytime a player plays a card that's lower than the current card in play, they take the hit, they discard card(s), and the Chi Level is lowered. For thematic purposes, I'm going to rename "Chi Level" to something like "World Integrity". You know how in Dragonball Z or the Superman reboot where they basically destroy the world because their fighting is so powerful? That's what that is supposed to be. Keep fighting until the world explodes. When the world explodes you tally up your points.

I'm also putting back in the 1 card being the only card higher than the 7.

Does this curb the playing the highest card strategy? Maybe the points score from a hit is equal to the difference. So if the player plays a 7 and the opponent plays a 5, the player scores 2 points and the Level Integrity suffers 2 points of damage.


Version 5.0b (v106)
Scratch that. The game is tacking on "innovative rules" to tackle the issues I'm seeing with the game.

- There is no real risk playing high cards as your strategy because not only is there a higher chance of it being successful, you still get to draw another card after you play it. While that card may not be the same, you still have a chance to replenish your high card with another.
- A player who has to pass has now communicated that they can't beat the card that was just played. The opponent now knows they can keep playing cards of that value to score points and the player has no real opportunity to fix that. Having the player draw new cards when they get hit (i.e. pass) can help this somewhat, but the opponent is also drawing cards every time they play one. Again, this isn't a 1:1 relation, but risk is mitigated for the opponent once the weakness of the player is exposed. The same applies the other way around.
- I still think having the cards keep their value (i.e. a 7 really is better than a 5) is important. I just want it to have some kind of averse affect so you can't bulldoze another player with a high card strategy.

Then it makes me ask the question:
- How do you encourage a player to even want to play low cards? They're just trash cards that take up space in your hand.

That's when I thought about games I enjoy like Uno and Deuces. The point of those games is to get rid of all of your cards to win. Perhaps this would fix some of the issues I see.

Old rules I'm keeping:
- Players are given 5 cards for their hand.
- Players can only play a card if it's equal to or higher than the current card in play.
- A 1 is the only card that can beat a 7 (or whatever the highest card is).
- Double Fist rules still apply.

New rules:
- A player does not draw a new card after they play a valid one.
- A player only draws a card if they pass and cannot play a valid card. That's their turn.
- A player scores a point if they discard all of their cards.


Now to code this up!
Tuesday
Jul192016

Game Development - Spar Redux

The development of Spar has been really good for me in different aspects. It's allowed me to practice coding something with a rudimentary AI and it's ultimately allowed me to test my game over and over again to find flaws in the design.

Spar is a head-to-head card game inspired by the fast countering-your-counter fighting sequences in martial arts films. I wanted a game that would take less than five minutes to play.

Version 1.0
The most basic break down of the game is players play cards from their hands that are equal to or greater than the current card in play. There's a little bit of nuance in that the lowest valued card (1) is the only card that can defeat the highest valued card (5).

Players are also allowed to play pairs only if it is the same value as the current card in play. Then players would be forced to play pairs equal to or greater than the current pair in play.

If you couldn't play a valid card, you'd take damage equal to the card in play. Damage was randomly discarding cards from your hand. The opponent would then score a point. If there were no longer any cards to draw from the deck, the game would be over. The player with the highest number of points wins.

Things I Learned
After 100 games or so, many of which were played while doing bug hunting and implementing features, I learned a few things about the design of the game. Some were good. Some were not so good.

- The game really was under five minutes. That was good.
- The game ended a little too quickly. With a hand size of 5 and only 5 of each card, the draw deck sat at 15 cards. You'd burn through that very quickly.
- There was no better strategy than just playing the highest card all the time or pairs when you could. This bothered me.

Version 2.0
Because of I have the code in place, I'm able to make tweaks to the game rules and test them almost immediately. This is such a wonderful feeling. It doesn't validate the "fun" of my game, but it certainly allows me fast ways to iterate on the design to try new things to make it more fun.

Some things I'm trying in new versions of the game:

- Adding a higher limit to the cards in the deck (seven instead of five)
- Players only discard a single card when a valid card can't be played (or two if against a pair)
- Edit the distribution of cards (4 of everything, 5 of everything, fewer of the high cards, etc.) I'm still running into the issue where simply playing the highest valued card is the best strategy. I need to consider a way to address this where the value of the cards themselves don't hold the power, but rather the context from which you play the cards (like in En Garde -- a 5 isn't necessarily better than a 3, it depends where the players are on the board).

What I Learned from Version 2.0
It plays better having more cards in value range, but it still suffers from "let me just play the highest card all the time". With an equal distribution of 4 cards each, the 7 only has 6 and 7 cards that can beat it out of the 28 in the deck. You're really just better off playing those all the time.

Variety issue felt fixed somewhat, but the high card issue not.

Version 3.0
Taking a cue from En Garde, I thought it would be good to add another environmental element that doesn't necessarily remove the "value" of a card like in En Garde, but plays against another constraint that needs to be considered. I wanted to curb the strategy of always playing the highest card.

The "Chi Limit" is the amount of energy that be played in sum before the players are naturally repelled from each other and the hand is reset. So if the Chi Limit is 21, then every card played goes toward this limit. Once it reaches 21 or over, the hand is reset. So simply playing high cards all the time will have you reach the limit sooner and reset the opportunity to actually score a point.

But also playing smart, such as playing a 6 to reach 20, will force the player to either take the hit or force them to burn through a 7 for no reason.
Sunday
Jul102016

Game Development - Single Pack

I was working on a really short interactive game experience that mimicked the thrill of purchasing a pack of cards in hopes of pulling an insert. After doing some art and coding some of the “showDialogue” interactions, I realized all I was doing we redoing a worse version of Renpy.

Anyway. It was nice to work on something at least!

Play my Games: Itch.io
Wednesday
Jul062016

Neil and Carl: Double Dash

I drew this for my good friend's birthday.

Buy Mario Kart Stuff: Amazon.com
Buy Cosmos Stuff: Amazon.com
Monday
Jun272016

Whole Grain Nutrient Paste

Just some fan art I submitted to the recent gallery show for Broken Age. It wasn't accepted, but that's how the cookie crumbles.

Buy Broken Age Stuff: Amazon.com
Monday
Jun272016

Game Development: Totally Miscellaneous Update

I was laying in bed yesterday and I thought to myself, "I really need to code something." I haven't done any game development of any kind for weeks. I decided to clean up the game template that I use with all of the new things that I've updated and started to use or not use.
I was also able to work on the vector illustration of the arcade cabinet I'll be using for my next game. Even before the cabinet art I think it looks pretty okay. The plan is to usher me back into casual game development by creating games that harken back to the old, old arcade days.

Feels good to get something done creatively.
Tuesday
Jun142016

Random Stage Select - The Guy, Stupid Idiot, and More!

Also opened up the new site: Random Stage Select to surface all these drawings.
Friday
Jun032016

Becky Lynch and Ryu

Becky Lynch and Ryu. Both amazing ass kickers.

Buy WWE Stuff: amazon.com
Thursday
Jun022016

WWE SODOR

Made a small WWE trailer for my son's train set. I imagine what they're moving in that trailer is all of Xavier Wood's video game stuff and white leather pants for Seth Rollins.

Buy WWE Stuff: Amazon.com
Thursday
Jun022016

Game Poetry

I need to come up with a better name.