friday night at the office

I probably won't be here too much longer but,

1. Nobody in my rss list makes posts on friday evenings.
2. Actually I'd like to make a graph of when news (or at least posts) are produced throughout the week.
3. Weekend! Yay!

dwarf fortress update

I haven't been playing but I have been following the development blog:

I'm back to combat text, which still involves some retooling of things as the text illuminates further problems, but I'm closer to being done with the combat revision, anyway. I found a lot of things wrong with the groundhog bite today. First, a groundhog ripped a lion in half and bit off a dwarf's arms... and it was using every part of its head (eyes, nose, etc.), not just its teeth, for the biting. After I fixed that up, it was still using its teeth like little needles and piercing brains and so on. I eventually got that sorted out.

I had a dragon fight some lions, and after a little bit of dragonfire and close combat, I ended up with a dragon covered with the gramatically-in-progress "lion melted fat spatter".

I love you Tarn go there so no-one else has to. You take it to the limit and beyond, so that no-one else is burdened by the burning lack of a fully detailed, fully simulated fantasy-mashup pocket universe. Thank you for all you do.

more signs of stress - avoidance and creativity

Today I read the google wave draft protocol spec. It was amazingly concise.

2.4. Operations

Operations are mutations on wavelets. The state of a wavelet is entirely defined by a sequence of operations on that wavelet.

Clients and servers exchange operations in order to communicate modifications to a wavelet. Operations propagate through the system to all clients and servers interested in that wavelet. They each apply the operation to their own copy of the wavelet. The use of operational transformation (OT) guarantees all copies of the wavelet will eventually converge to the same state. In order for the guarantees made by OT to hold, all communication participants must use the same operational transformation and composition algorithms (i.e. all OT implementations must be functionally equivalent).

Reading specs has become a weird kind of guilty pleasure for me... or at least, I never thought I'd enjoy it, but I find that I kinda do. Maybe because it lets me be smug, if only in my own head: "oh yeah if you just read the spec you'd see how they handle that..." And since like nobody reads specs, (because theyr'e written in math,) reading and understanding a spec is a recipe for instant self-esteem!


I also applied for access to the google wave developer sandbox. Because I don't have enough to do with my spare time?

my daily nih - virtual rpg systems

nih - not invented here - a bad habit many engineers (certainly this one!) will cop to; if it was designed by someone else, it's crap and we should build our own.

I've recently been preoccupied with the idea of running a traditional rpg online. I was in one game a few months ago that was a lot of fun before it ran out of steam. We used a traditional forum setup and that worked alright, but there are some things about the way a forum is set up that make it less than optimal. Forums are good about maintaining a timeline, but bad at conveying game information efficiently. Things like maps, side conversations, character attributes, and ancillary characters are at best awkward hacks. That won't stop you from having a good time. Here is a site with a large community of play by forum games.

But to me an online rpg session is more similar to a game than a forum; I'd build it from the ground up around maps, characters, statuses, events, and attributes. Other people have approached this problem before. Here is a chart of some existing virtual battle mats that take a virtual map plus chatroom approach to online RPGs.

The thing is, most of these applications seem to have been designed for the world of 15 years ago. Most of them are downloadable clients, where the GM sets up a server on his local machine and gives his IP to his friends, who run their own native clients and connect to it. This is how online games worked in the 1990s. Nobody does this anymore in real life - games in this decade are centrally hosted. In fact I'd get rid of the native client entirely and use a web client instead. There are so many advantages to the web client! Compatibility, ease of use, accessibility from anywhere (including at work), centralization, and serialization. If your game is hosted on a web server with a database back end, you can have some confidence that you won't lose your campaign history if your GM has a power outage. Most of all, this model forces players to be online concurrently, which is often a deal breaker. There's a reason we're playing online in the firstplace, instead of meeting up at someone's house.

I also don't love the chat paradigm; it's good for letting people talk quickly, but I think there's something to be said for the more considered pace of a forum; players are encouraged to edit and embellish their posts, and the result is a higher quality, more readable and re-readable game.

I want to take the best of both approaches.

Forums are
-centrally hosted - GM needs no special software
-persistent - game data is never lost
-availabie- game can be accessed at any time from anywhere
-higher post quality - rich editors and the ability to edit posts after posting means better prose.
-multi-channel communication - secret threads for certain GM/player purposes.

The multiplayer computer game approach gives us
-built in character concepts
-object status and attributes
-fog of war
-dice rolling and other rpg tropes (initiative, turn order) built into the interface
-rich game appropriate GM controls

The system I would build would focus on creating the timeline of a story. The GM would have full access to edit anything anywhere in the timeline, and can assign out permissions to the other players to edit their own actions in the present and some subset of the past, or larger subsets as appropriate. The maps, the objects with their statuses and attributes, are all a part of the timeline. As you browse through the game log, you see how the map evolved with the actions, and you can see how the characters' attributes change over the course of the session/chapter/game.

The whole thing is stored forever in a database, and accessible from (almost) any browser. Like wikipedia, every edit is stored and is reversible. The default view of the game shows the final state of the timeline (or you can view the edits in strictly linear fashion if you want to see how it looked before someone retconned it.)

Also, sounds similar to google wave.

thanks shai

filed under: Nate hates Eclipse:

So I have had many problems with eclipse breaking and not loading after a lot of use.

I know this problem happens to other people as well.

If you delete

...\ workspace\.metadata\.plugins\org.eclipse.core.resources

And then force sync it (just that folder!)

You should get your eclipse working again, with all your settings in place.


godwin's law meets health care debate

Representative Barney Frank FTW - also, note the crowd's reaction - these are not the angry mobs we have/had heard so much about, though certainly the crazy is in attendance.

winscp - better than putty

If you're frustrated by ssh/putty, use WinSCP instead. I don't think I'll ever go back.

game idea: wind

You are the daughter of the bird god. (For whom I'm going to temporarily borrow your flavor, thanks Tim.) This is a Wii game, mostly a flight simulator. You fly by tilting the controller, you flap your wings by tipping the controller up quickly. Blah blah something's wrong you have to go on a quest, probably involving stolen eggs or something. At the start of the game you don't really know any of this though. You start out in crow(?) form, and as the game progresses you earn more and more bird forms. Also you can see the wind.

Each form has some unique properties, hummingbirds slow down time, sparrows fly through trees, eagles dive and snatch prey, and have enhanced sight, Geese speed up time to travel long distances, penguins swim, ostriches, parrots can talk to people, etc.. All the birds you meet along the way will bow to you.

Flight details are massaged to make sure that your character seems competent: obstacle avoidance is built in to some extent, hawks won't smash into the ground, etc.. Of course if you "die" you just disappear in a puff of magical feathers and reappear as a seagull soaring out of the clouds above where you died. As you progress you gain spiritual strength, which you spend to transform and use other divine tricks, but your physical body must also be maintained by eating and drinking periodically. If you're a good girl we'll eventually let you turn into a terror bird or a velociraptor or a phoenix or roc.

There's a loose story but the game is mostly a sandbox, where you can fly around and find things to do in most directions. We'll use some American Gods tricks and some others to make sure that wherever you go, that's where you need to be. As you progress and solve more problems and earn more forms you learn what your real goal is, but throughout we want to keep the focus on the joy of flight.

game idea: jaguar ninja

You're a ninja in feudal Japan, in say the early 1500s. You're on a boat on a secret mission. You end up (intentionally or not) swept across the Pacific to the Aztec empire. You are captured by a bunch of Aztec cultists and thrown in a pit with a bunch of Jaguars, without your weapons. As the beasts circle you, you go into the stance that is the start of the flowing water unarmed kata. The noonday sun shines directly down onto you. There's a total solar eclipse.

You wake up. You are a jaguar with all the memories and skills of a ninja. Your old clothes are shredded and scattered around the den. There's a little bit of blood. Using a combination of your ninja tricks and jaguar advantages, you scale the pit in the dead of night. Time to complete your mission.

From here the plot might tak you anywhere, probably do some jungle training, some aztec temple cultist hunting, and ultimately sneaking back on the boat to Japan for the second half (?) of the game.

Gameplay: stealth action, ala Assasin's creed, with less stand-up fighting, but more intimidation. A lot of stalking prey, frightening gardeners, revealing yourself at just the right moment, and biting people in the neck. Probably ideal for Xbox 360, you have a growl button, a pounce trigger, a swat/bite trigger, and a climb/freerun button, and a stealth button. Or stealth is your default mode, more likely.

The final missions involve assassinating Japanese nobles inside their home, sneaking along rafters, killing rival ninjas. Important components include managing your prey's fear level, tracking via scent (colored trails ala Twilight Princess), and following your master's teachings in your new form. You never revert to your human form, but you do see your daughter off to a safe and happy life.

What is up

I've been pretty stressed out the past few weeks. We've been trying to buy a duplex in Hawthorne, my car broke down, we've had a rough milestone at work, my driver's license has not arrived, and I had to see a doctor. I've retreated somewhat into some bad habits of eating, thinking, and acting. But overall things are great, and they'll be even better in a few months when it calms down a bit. It's nice to step back, internally, and put your worries in perspective.

Cheers! :-)