About SimianLogic (twitter: @SimianLogic)

Entries

 
Ludum Dare 32
 
Ludum Dare 31
 
Ludum Dare 29
 
Ludum Dare 28
 
Ludum Dare 25
 
Ludum Dare 24

SimianLogic's Trophies

SimianLogic's Archive

UI + Gameplay Refinement

Posted by (twitter: @SimianLogic)
Sunday, April 19th, 2015 12:14 am

The main challenge with the digital version of this game seems to be cramming all that information into itty bitty little UI screens. There’s not a whole lot of gameplay yet — just the ability to deal cards out of the deck, trade in for new cards, draw cards, and construct a Jouster. I’m not even checking yet that the cards dragged onto the new jouster are valid plays… So lots to do tomorrow!

  • Create some sort of state management (your turn vs not your turn)
  • Jouster validation (make sure it’s a good combination)
  • Finish laying out all the cards so the art fits nicely.
  • Create the “transform” animation where 3 cards merge into a single jouster.
  • Create the “battle” animation where 2 jousters fight each other.
  • Create tertiary/powerup cards: draw X, +X attack.
  • Finish up the card art and start prettying up the UI.

We also ran a 30-minute play session with the physical cards and came up with a ton of great ideas. Starting hand was upped from 3 to 4. Hand limit upped from 5 to 7. I had the idea to add the Draw 2 and Draw 3 powerups as well as the single-use attack boosters to help topple someone who’s King of the Hill.

We also now have a way to do scoring. Our first try was to get a point at the end of every player’s turn if your Jouster was still king of the hill… but we found that some combinations actually stuck for quite awhile if the draws were going poorly. To address that we (1) added the draw cards which help get you to valid combinations more quickly and (2) changed the scoring so that you get one VP for every ROUND instead of every turn. If your bot is still king of the hill when it comes back to your turn, +1 VP. Woohoo!

Derpy Baby Derp Derp

Derpy Baby Derp Derp

A Wild Artist Appears!

Posted by (twitter: @SimianLogic)
Saturday, April 18th, 2015 4:42 pm
Wheeeeeee

Wheeeeeee

Derp derp derp

Derp derp derp

Puggo Stick

Puggo Stick

Started back up around noon today, which means I’ve now been jamming for ~6 hours on day two. Joining me today is @artguystanley — arting up all 40 of my characters/mounts/weapons. That means no compo for me, but hot damn his stuff looks good.

While he’s been cranking on art, I’ve been working on setting up some basic UI screens and starting to code. I have a basic gameplay screen started and can now start iterating on the rules and turn sequence.

First crack at UI

First crack at UI

Physical Prototype: What Did We Learn?

Posted by (twitter: @SimianLogic)
Saturday, April 18th, 2015 2:42 am

So, that “I’m about to turn into the night” business was a load of crap. I made all 40 cards on some card blanks I had lying around and then started drawing them up until I could make a valid combination. Learned some good stuff!

  • I think the most cards I ever had in hand before being able to make a combo was 6, but that number will need some more fine tuning.
  • Having Speed & Health stats on the mounts is way more confusing than it needs to be — should reduce that to just one power stat.
  • The Weakness/Strength stats on the characters are essential for the paper/rock/scissor balance! Some of them don’t make any sense, but then again I also have a Panda that is strong vs poking and weak against food (SKADOOOOSH).
  • The naive balance seems pretty good! There was a clear loser but all of the scores ended up pretty close. With this few permutations there will definitely be a “killer combo” that nothing else can beat, but I’m starting to get a feel for what makes a “good” combination.

I’ll start working on the actual game rules (hand size, draw frequency, king-of-the-hill, scoring) in the morning!

 

Panda on a Unicycle with a Cardboard Tube

Panda on a Unicycle with a Cardboard Tube

Hang Gliding Dog with a Mop

Hang Gliding Dog with a Mop

 

The Panda Sucks

The Panda Sucks

Animal Jousting Design

Posted by (twitter: @SimianLogic)
Saturday, April 18th, 2015 1:03 am

ANIMAL JOUSTING

HIPPO vs PUG

HIPPO vs PUG

 

Once I had a rough concept (combine a mount + rider + weapon and let them joust), I started working out the specific mechanics of how you combine them. To the Spreadsheet! Below is my weapon model, but I’ve now designed out basic stats for all 3 categories of cards (including some cards that cross over).

MOUNTS

  • can earn 1-3 dice for speed
  • can earn 1-3 dice for health/durability/stability
  • have a size (small/medium/large)

CHARACTERS

  • have a size (small/medium/large) — a character can ride a BIGGER mount, but not a SMALLER mount
  • have a weapon type they’re weak to (-3 dice)
  • have a weapon type they’re strong against (+3 dice)
  • have intelligence, which determines which weapons they can use

WEAPONS

  • have an intelligence requirement (smarter than required is OK)
  • have a damage type (distraction / food / poking)
  • have 1-5 damage dice

Here’s the current weapon model:

DATA DATA DATA

 

 

The core of combat is simple! Given 3 cards, you add up the dice and check your weakness vs your opponent. Roll as many dice as you end up with and compare your scores! Mathematically certain combinations should almost always beat others (Paper/Rock/Scissors), but it should also be possible to construct combinations that have a better chance of beating a specific enemy.

I’m still working on card designs. After starting out portrait, I quickly switched to landscape so that you could stack 3 to form one tall/fat “card.”

First drafts for cards.

First drafts for cards.

Here the design has progressed and I’m working on making the symbols line up visually.

Final card look with stacking symbols.

Final-ish card look with stacking symbols.

 

I may call it a night now that I have a design on paper/spreadsheet! I can get cracking on art/programming in the morning…. but then again, I’ve also got a stack of card blanks lying around and it might be pretty fun to prototype this with the physical cards first (though much harder to re-tune the numbers).

I’m In! Unconventional Weapons

Posted by (twitter: @SimianLogic)
Friday, April 17th, 2015 9:40 pm

Called in some cavalry to help my wife watch the kiddies, which means I get to (mostly) jam!

Tech:

  1. Flash
  2. Flash Builder

That’s probably it!

My first idea was to do some sort of Earthworm Jim / Metroidvania — a beefy guy with a big ass bat with a salt lick wrapped around it and a rock-salt shotgun battling hordes of banana slug alien invaders.

 

IMG_1154

Salt LIck Beatdown

 

I think that would end up being too much art, though, so I started thinking about simpler mechanics. Currently leaning towards some sort of simple card game. Sort of a rummy/trick-tacking jousting game where you combine a “mount” (some innocuous vehicle) with a “knight” (some sort of animal) with a “weapon” (something ridiculous for the animal to hold).

Instead of being argument-based like Superfight or Cards Against Humanity, I’d rather it be rules or dice-based (maybe paper-rock-scissors like Yomi). So given a specific matchup, one outcome should be more likely.

IMG_1155

 

IMG_1157

Some ideas for “mounts”

 

IMG_1156

Some “jousters”

 

I’m in (last minute).

Posted by (twitter: @SimianLogic)
Sunday, December 7th, 2014 6:21 pm

Had a really simple idea last night and decided to get cracking on it ~4 PM (with ~5 hours left). I’ve got it up and working well enough to test the idea, so I think I’m going to submit after all.

Greetings From Loch Ness!

Posted by (twitter: @SimianLogic)
Sunday, April 27th, 2014 2:59 pm

Gameplay systems are mostly in place. Starting to wire up UIs.

TODOs:

  1. need a victory state/screen (we’re thinking we’ll pan back down to the monster)
  2. need to implement circle/triangle collision instead of circle/rect (the sonar view frustums)
  3. need to implement paging on our level complete screen and make a bunch more levels
  4. need to fart around with sound effects and music

 

screen

 

Screen Shot 2014-04-27 at 5.56.35 PM

 

 

boats and monsters living together

Posted by (twitter: @SimianLogic)
Saturday, April 26th, 2014 8:07 pm

Progress is going well. I prototyped my tentacle monster separately from Diana’s boats and AI. Just got those two bits merged while Diana did a rough paint-over over the water to give it a bit more texture. Here’s a rough gif of “gameplay” so far.

Next steps:

  • add tourist humans as targets to eat (maybe also fish?)
  • do collision checking on the tentacle with respect to the sonar/lights

Hopefully we’ll get those in tonight and spend tomorrow working on:

  • game over screen
  • menu/level select
  • sound effects
  • levels

update_3

the monster awakens… and tentacle prototypes

Posted by (twitter: @SimianLogic)
Saturday, April 26th, 2014 3:00 pm

Spent the morning/early afternoon writing some enemy classes with Diana. While she’s been cranking on art variations, I got started on the tentacle prototype. The idea is to have the tentacle track the mouse path fairly closely and retract as you move it down. Still a lot of work to get the tentacle feeling right, but it almost feels game-like at this point.

 

Screen Shot 2014-04-26 at 5.48.22 PMScreen Shot 2014-04-26 at 5.41.15 PM

We’re in! Loch Ness / Lake Monster Puzzle Thing.

Posted by (twitter: @SimianLogic)
Saturday, April 26th, 2014 9:13 am

Even though I just finished a tool for making poker cards, my wife Diana wanted to participate in this Ludum Dare and learn how to use Unity. Last night we brainstormed ideas.

Rejected ideas:

  • you’re a cave dweller lady who can only survive in the sun for a few moments. you have to run out and snatch men and take them back underground to your cave harem
  • there are monsters under your bed and you have to trick them into coming out
  • you’re a washing machine and you steal socks

What we’re going with:

You’re the Loch Ness monster, but not the dinosaur one that everyone thinks you are. Something more tentacle-y. Your goal is to avoid detection by sonar boats and submarines, sneak a tentacle up to the surface, and snatch tourists.

Thinking we’ll do it puzzle-game style, where each level has a set number of tourists to grab and a set number of patrolling enemies.

Photo on 4-26-14 at 11.05 AM

 

This morning so far I’ve gotten her set up on github and Unity and we’re about to start working on the tentacle prototype.

 

Screen Shot 2014-04-26 at 11.00.45 AM

 

Tools:

  • Unity
  • Photoshop for me, Krita for Diana
  • (maybe Flash, thinking we won’t need animation, though)
  • Glyph Designer
  • Texture Packer

 

Free Tool: Poker Card Generator

Posted by (twitter: @SimianLogic)
Monday, April 21st, 2014 11:42 pm

github link
binary link

One of the things I mentioned in my recap post for the last Ludum Dare was that I’d like to build a free/open source tool to automate the annoying task of generating poker card images. This is a very niche tool (I’m not sure it would be useful outside of a game jam, where you’re working on a very limited timeframe) and it’s debatable whether it even fits the spirit of the competition.

I pitched it to Mike first and even he was unsure, suggesting I do this post and put it to the community.

The “make it all yourself” rules are pretty complicated (put in place both to encourage people to get their hands dirty as well as prevent people from grabbing premade art off the net that might be illegal or blow hastily-made art out of the water). Poker cards are weird in that (1) they’ve been around forever (like a chess board) but (2) they’re a pain in the ass to lay out and export.

Pros

  • would save anyone interested in building a poker-style game several hours in the LD format.
  • if someone wanted to make a card-based game, they could theoretically use this tool and no other art programs (though hopefully they’d skin the suits at least)
  • does allow for full skinning (see “dragon cards” in screenshots below)
  • others?

Cons

  • only 4 layout choices, so cards might look very similar across games
    (counter: how many games would even use it?)
    (counter: playing card “look” has been mostly static for a couple hundred years)
  • others?

Open Questions

  • would anyone but me use this tool?
  • does it fit the spirit of the competition? (for jam it wouldn’t matter)
  • others?

Here’s a rough walkthrough on how to use it and what comes out the back end:

1) Choose a Layout, adjust the size of your export images. The box on the right tells you what images you need to provide (and what size).

poker_card_generator_1


2) Choose a font from your system fonts.

poker_card_generator_2


3) Select images for each of your 4 suits.

poker_card_generator_3

 


4) Choose face cards (select either a single J/Q/K, one each for red and black, or a unique image for every face/suit combo)

poker_card_generator_4


5) Export, choose a folder, and you will now have 52 images!

poker_card_generator_5

 


6) For now, I use TexturePacker. If there is sufficient demand, it would be trivial to have the AIR tool export a texture atlas instead of individual images.

poker_card_generator_6

poker fight recap / TODOs

Posted by (twitter: @SimianLogic)
Monday, December 16th, 2013 4:07 pm

submission here

Made Art vs Found Art vs Paid Art

The competition rules say you have to make all the art yourself to get around people grabbing stuff off of Google that may or may not have a license (as well as just to make something entirely in 48 hours). I get why those rules exist, but I feel like they’re missing a few edge cases. I have a (paid) license on the Oryx 16-bit sprite set and LD would be a perfect venue to actually play with those. There’s no murkiness in the license, and the only reason not to allow stuff like that is that I guess people who haven’t paid for them might feel like their art puts them at a disadvantage. I mostly do LD for the design/engineering side, though. I could switch to the JAM, but I like the 48-hour format better.

Re: Card Art — I feel like I spent the whole first day just making the card art. I don’t think public domain poker cards would be violating the spirit of the art rules, as that’s sort of the raw material needed for designing a game on top of the standard 52-card deck. Content generators are allowed, but I didn’t see any for playing cards.

Work Flow

The Futile/Unity workflow is nicer than I thought it would be. For my current iOS projects, I do something like:

compose screens in photoshop -> export individual layers/metadata -> in code, automagically lay out screens based on filenames and metadata (including image layout, text fields, and buttons)

I tweaked my layout scripts as I was going and probably made some choices that need revisiting… but in general the workflow for Unity/Futile became:

compose screens in photoshop -> export to a metadata file + individual sprites -> texturepack as needed / create bitmap fonts as needed -> write code

I wrote a base node (an FContainer) that does most of the metadata processing and import for me. FLabels and FButtons are created where appropriate. The only thing it doesn’t do is add images automatically. Instead I create a set of named positions that I can use to anchor sprites/images. For the purposes of this tiny project, I just decided that all my dynamic text fields would be the same size and only used one BitmapFont… now that I’m not under a time crunch I’d like to

Poker Fight v1.0, v2.0?

I’m not sure if I’ll keep working on the project. It’s tempting to at least finish what I had scoped, but what then? Mobile version? Web version? Desktop downloadable? For simplicity’s sake I only put the player’s cards on screen and simulate the opponent using weighted random poker hands… but it was actually more fun testing with real cards having each player have their own hand (pulls 20 cards out of 52 instead of 10, which gives you more knowledge). Writing an AI for this isn’t all that trivial if we’re optimizing for best poker hand (and do we even want to play against a master statistician?).

Before LD 29

I’d like to take what I’ve learned/built from LD28 and contribute back to save more time for future LD’s… I see two big things to continue work on:

I want to clean up my photoshop export script and make it more Futile-friendly (y-positive, origin in the center, multiple resolutions). To go along with that, I’ll have to clean up my base Futile node (I call it MetadataNode) so that it supports all the new changes and adds some more nice things. Having this class built and ready to go for the next LD will probably save me ~4-5 hours (can just start building UI instead of architecting a UI system before building it).

I want to build a poker card generator (either in Processing.JS or maybe Flash or Adobe Air) that lets you provide the suit icons, faces, and select from 2-3 different layouts… then spits out either a sprite sheet or 52 individual cards at a chosen size. Having this tool would save me ~3-4 hours on future LD entries that are based around poker cards.

post #8: combat (mostly)

Posted by (twitter: @SimianLogic)
Sunday, December 15th, 2013 10:46 am

combat

 

Heading out to lunch and then to the Georgia Aquarium for an hour or two. This screen took me a lot longer than I thought it would, and I still have to tweak the slash strokes (they look better in Unity, but still not great), show the damage for the attack, and tween the health bars down.

Outside of this screen, that still leaves the store, content, and game over screens. Lots to do before 9:00!

post #7: bedtime status update

Posted by (twitter: @SimianLogic)
Sunday, December 15th, 2013 2:00 am

gameplay_2

Spent a bit longer than I thought I would wiring up the character class… but on the upside, I rewrote my Photoshop export script to be more Futile-specific and now I have a really handy base class for bringing in pre-laid out stuff from photoshop templates (including the positioning of things like helmets and shoes). Gonna tuck in now and try not to sleep in too late.

Finished:

  • text fields with orientation support
  • put in the logic for figuring out your finished attack/defense hands (no display for it yet)
  • characters / enemies
  • intro screen (still need to store your best playthroughs for the hall of fame)

Next steps:

  • start battle / attack screen (with health progress bars)
  • you win and you lose screens
  • store + lots of content

It feels like I got a lot done, but I was actually hoping to be a little further. I imagine the battle screen and the win/loss screen will take a couple of hours apiece, so that doesn’t leave a lot of time for store + balance + content.

post #6: 193,536 characters and counting

Posted by (twitter: @SimianLogic)
Saturday, December 14th, 2013 8:30 pm

mosaic

Spent a bit longer than I probably should have putting these combinations together. My character rig has 6 body parts:

  • face (never changes)
  • hat (28 options)
  • head/skin (12 options)
  • torso (8 options)
  • legs (8 options)
  • feet (9 options)

This image represents some of the possible combinations that will come up both as the player character and enemies in the game. I still need to do a variety of swords/bows/shields to fit in the hands, but overall I’m pretty pleased with the results. Without adding weapons yet, there are around ~193K possible enemies (but you only get one that looks like Tim Curry from Legend).

post #5: UI loading + interaction

Posted by (twitter: @SimianLogic)
Saturday, December 14th, 2013 2:46 pm

gameplay_1

A good chunk of today has passed, but the game is somewhat mechanically playable now. For native iOS development, I have a Photoshop script that exports each layer as its own image along with a buttload of metadata for where things are laid out on screen. I’m using the metadata to create a Dictionary of named positions on screen, which lets me do things like spawn a card at the position name “deck” or “dealt_card.” The actual background itself is one big flattend PNG.

Next steps:

  • wire up the text fields in all the correct positions
  • put in the logic for figuring out your finished attack/defense hands
  • add some sort of initiative display to this screen (thinking Final Fantasy style…ish)
  • create a set of janky low-res bodies/heads to use for player/enemy portraits (maybe in the style of Spaceteam)

Next next steps:

  • Intro/Menu screen
  • start battle / maneuver screen (with health progress bars)
  • you win and you lose screens

If I can get all that done today, that’ll leave tomorrow to focus on the economy/content and the store screen.

 

[cache: storing page]