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 Adams......you 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?

I can't resist

the atheist apocalypse

interface writer's manifesto

I like what this guy has to say about interfaces... Programmers need to work harder so that users don't have to. User requests are what computers are for!


There is so much work to be done, all around us.

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
-maps
-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.


Shai

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! :-)

very no

I just can't believe someone would design it this way on purpose. This is a one line task.
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = null;
try {
docBuilder = docBuilderFactory.newDocumentBuilder();
} catch (ParserConfigurationException e) {
e.printStackTrace();
}

Document doc = null;
try {
doc = docBuilder.parse (new File(fileName));
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
Seriously? DocumentBuilderFactory.newInstance()?

more "the family" news

http://www.talkingpointsmemo.com/archives/2009/07/c_street_on_the_skidz.php

And today we have news of yet another C Streeter falling off the fidelity wagon.

Now it's the turn of former Rep. Chip Pickering (R) or Mississippi, who appeared to be in line to grab Trent Lott's Senate seat and was allegedly offered the gig by Gov. Haley Barbour (his office denied this to TPMmuckraker), but decided instead to leave Congress altogether.

Pickering and his wife divorced soon afterward and now she is suing the novelistically named Elizabeth Creekmore-Byrd for "alienation of affection," i.e., for stealing her husband. What's more, according to legal papers filed by Leisha Pickering, some of the "wrongful conduct" between Pickering and Creekmore-Byrd (I guess that's what they call it down there?) took place at ... you guessed, the C Street group home up on Capitol Hill.

I mean, I don't know about their politics. But these dudes know how to party. I don't see how you get around that.

my contribution to wikipedia

http://en.wikipedia.org/w/index.php?title=Juan_Méndez&diff=302536030&oldid=298996974

* Juan Mendez, alleged inventor of the [[burrito]], Ciudad Juárez, Mexico (circa 1910)

wait no really

self-serious downloadable board games
http://interformic.com/ishexes.html

Unfortunately, 3mm is too thick for the Ellison, and 2mm is too thin for InterSpace hex tiles. So you will need to cut 216 hexes (42 cuts of 6 hexes each) from 2mm foam and glue hexes together in pairs to produce 108 4mm hex bases.

InterSpace hex tiles TM demand that you manufacture them from the highest quality materials. Do not attempt to use inferior materials or processes.

my god it's full of stars

People are great. The internet is great. I wanted to put these links here, most of them are board game / evil geniuses related.

print on demand custom board games
pre-cut hex tiles
more game parts
custom steel rule dies
scrapbooking is a real hobby!
OMG Chart!

and the quote of the day:

craft robo paper cutterCraftRobo might be Japanese. Seems to be listed on overseas shops more than USA ones. , www.craft-robo.net for UK, www.craftrobo.jp in Japanese

epic wtf

I'm just gonna quote the whole post.

Ensign's Weirdest Moment

Yes, I know that's pretty bold billing given the recent news out about Sen. Ensign (R-NV). But beyond all the salacious detail there's a picture emerging of the man -- who, remember, is a high-profile senator and had been considered a serious presidential candidate -- that combines deeply manipulative traits with an almost childlike approach to those in authority around him.

Ensign is a member of something called the C Street group, which is part of a highly secretive religious outfit called 'The Family'. It's a combo religious fellowship and Capitol Hill group home where a number of Republican members of Congress live. And it's run by a guy named Doug Coe. (Because the comedy never stops, remember that Gov. Sanford too is a member of the C Street group/Family.) In one of the more surreal episodes in this whole drama, while folks from 'The Family', including Sen. Coburn (R-OK), were trying to get Ensign to end his relationship with the girlfriend and write her and her husband a big check.

So Ensign agrees to do this. But the members of his fellowship had so little trust he could follow through that they had him write out a letter to the mistress that he was ending the relationship and then drove him to the local Fedex office to make sure he actually dropped the letter in the box. So he does that. But then after he shakes them loos he calls the mistress to tell her his friends made him write the letter and to ignore it.

It makes having his parents pay the couple off sound far less out of character.

And this was a man who was going to run for president.

I heard a piece on 'The Family' and this Doug Coe character a while back on NPR. They're pretty good conspiracy theory fodder; one of their key beliefs is that greatness is not a matter of morality or faith, it is a matter of being chosen by Jesus Christ. I'm probably misrepresenting them, but...meh!

heh

It's still kindof neat that I get paid a lot of money mostly to know what the hell people are talking about.

incentive engineering

I've read (I don't remember where, and I'm paraphrasing) that there's a belief that's arisen since progress was invented, some few hundred years ago, that humanity's natural habitat has not yet been invented. That is, that the ideal environment for human beings does not yet exist, but that we are designing and building it as we move forward through history, and especially with the advance of science and engineering.

Of course as an engineer I find this very compelling... I love the idea that my work is part of a larger human project to understand ourselves and our universe.

This concept leads us right into the field of incentive engineering, which I think of as the intersection of politics, religion, and game design: how do you write the rules of a system in order to encourage certain behaviors?

It's surprisingly difficult to balance a multiplayer game and keep it fun for everyone. There are always hackers or griefers or exploiters, and they are amazingly good at getting around your rules. The best games try to set up incentives against this kind of behavior, or at least try to shield the bulk of their user-base from the most abusive behavior.

Civil society uses an escalating ladder of social pressure, laws, police, and prison to keep things from getting too broken. There's a lot of negative-punishment in that list, and once you're on the punishment track it can be difficult to get off of it. Taking a cue from modern game design, perhaps there's a more positive-reinforcement way of looking at the problem.