Monday, February 25, 2013

Character Screen, Park, and more

The first major feature I implemented was the Character Select screen. Back in an early build of Felinity, eating the food bowl gave the entire party +1 to all stats, and that was fine as the party was only 1. But with the story rewrite to have Tandy and LilKitty be a duo earlier on, fixing up this functionality came up.

Just a normal dialog, but helps establish that someone gets it, and not everyone.
Very similar to the normal Character screen.
Namely it allows previewing stats before you give your character the buff.

The character select screen can be used for any number of things, and will just send a bitmask to the script state for any further actions to interpret. Namely the "IncreaseStat" command which increases the stat of all party members set in the script state.

On the Debugging side of things, I added the GID Stack. Basically to find out a bunch of info about any place clicked on the map while playing to help debug, or add features:

2013-02-25 00:42:52.027 Felinity[29818:10403] tilelocation : 18.000000,5.000000
2013-02-25 00:42:52.028 Felinity[29818:10403] Wpeep: LilKitty
2013-02-25 00:42:52.028 Felinity[29818:10403] GID Stack
2013-02-25 00:42:52.029 Felinity[29818:10403] triggers: 0
2013-02-25 00:42:52.030 Felinity[29818:10403] collision: 0
2013-02-25 00:42:52.031 Felinity[29818:10403] roof: 0
2013-02-25 00:42:52.031 Felinity[29818:10403] notroof2: 0
2013-02-25 00:42:52.032 Felinity[29818:10403] notroof: 0
2013-02-25 00:42:52.033 Felinity[29818:10403] objects: 0
2013-02-25 00:42:52.034 Felinity[29818:10403] terrain2: 0
2013-02-25 00:42:52.034 Felinity[29818:10403] terrain1: 69

Another useful debugging feature added was turning on the collision layer:
Helps visualize in game various walking paths etc.
Next up, I added "party" to the map loading. This allows maps to be aware of a "party" of characters to follow the main character around. This was sorely needed, because trying to "setup" a map with scripts to follow the main character was not gonna work when I had multiple entry/exit points. And with this, I just define the party, and everything auto-follows correctly.

Rats only included for testing purposes. They were promptly ate by Tandy and LilKitty after this photoshoot.
A subtle, but "big" feature that was added was smarter moving using the touch / click method of movement. User feedback deemed the boundaries of movement (using the mouse) to be unresponsive when clicking on areas that were not walkable on. They were deemed too unforgiving sometimes. So now clicking on a "unmovable spot" will be a smarter about moving you to where you probably intended to go. Should work great on the ipad when you're fat-fingering around.

And one more thing. I've been working on The Park. In the uDevGames version of Felinity, this was actually part of the Alley map, but I wanted to make this much bigger, and be its own little area. It's still very much a work in progress, but I'm liking how it's shaping up.


  1. Awesome work Skyhawk! I just started Cocos2d and learning a lot from you source code that was released before.

    Is there a later version of the source available for the new features?