Chipmunk
I didn’t really like that I was implementing my own collision detection and physics when so many other people were doing the same, and doing a better and faster job. Behaviors were always the main thing Zyps brought to the table, and yet I wasn’t getting to spend much time on them.
Chipmunk might someday fix that - it’s a 2D physics engine. You create a Body and place it into a Space (sound familiar?) and Chipmunk takes care of the interactions. If I create a Behavior that simply positions the GameObject and assigns its Vector as the Chipmunk Body tells it to, I should be set.
I’m not going to make it a Zyps dependency, though, nor am I even sure that ChipmunkBehavior will find its way into the main library. ProximityCondition should fulfill the needs of the simplest games, and I’ll probably point those who need something more robust in the direction of Chipmunk (or another physics engine).
Read more...Ker-squueeeeee-thumpthumpthump...
So evidently, about 3% of the fish species out there have mating calls. I don’t mean dolphins or whales, I mean fish, and I don’t mean pheromones released in the water, I mean actual sound.
Fish Sounds - Ocean Life - New York Times
The above article has a video interview and some audio clips; this is some really alien, bizarre stuff. They grind their own bones against each other, fart bubbles, and some even have structures akin to vocal cords.
Read more...I didn't know that!
I really need to re-read Chapter 22 of Programming Ruby, because there’s all kinds of gory Ruby details that didn’t stick the first time…
A statement may have an optional rescue modifier followed by another statement (and by extension another rescue modifier, and so on). The rescue modifier takes no exception parameter and rescues StandardError and its children. If an exception is raised to the left of a rescue modifier, the statement on the left is abandoned, and the value of the overall line is the value of the statement on the right.
values = [ "1", "2.3", /pattern/ ]
result = values.map {|v| Integer(v) rescue Float(v) rescue String(v) }
result # [1, 2.3, "(?mix:pattern)"]
Amen, kitteh.
see more crazy cat pics
(Actually, I was spared from today’s dronefest. Next one’s Thursday, though.)
Read more...Rock Band has “Won’t Get Fooled Again”?! Holy crap. We really need to finish tour mode.
Pick up my guitar and play Just like yesterday Then I'll get on my knees and pray We don't get fooled again
Remember my earlier rant about karaoke song quality? Definitely doesn’t apply to Harmonix. In fact, now that I know just how hard it is to get the rights to these songs and get the lyrics and timings right, I appreciate them a lot more.
(I’m also appreciating The Who more.)
Read more...