Tuesday, February 9, 2010

Unity Games XVI

How can 15 hours of games be wrong!? Especially when I got to play a bunch of games that I hadn't played before and they all were enjoyable. I'm really glad there are people willing to organize such an event. Here's my thoughts on the games I played through the day.

Endeavor - A resource balancing game that requires you to keep things balanced to avoid falling behind. The game is moderately long, taking an hour or two. I really liked how you had to balance your resources and weigh the worth of getting what you want versus giving your opponents the next thing you expose. While not my top pick of the day it's on my list of games that I want to own.

Saint Petersburg - A relatively simple game with some nice subtleties. Cards are flipped up that players buy, but only a maximum of eight cards can be shown at a time. So if people don't take the cards showing, the next round will have less cards flipped over for it. In general, the cards get you money or victory points. You need the money to buy the cards, but the victory points win you the game. Apparently there are a couple cards in the base version that aren't very well balanced that are fixed in the expansion. Regardless I really liked this game.

Ad Astar - Each player has a set of action cards that vary only slightly. Beginning with the starting player each player places one of their action cards on any of the available spots that dictate the order the cards are played in. Then the cards are turned over in order and players take the action of the card. There's an advantage to playing your own card, but, generally, you can take action on another player's card. In addition to this there are planets that provide resources or alien artifacts that you need to send a ship to explore. My first impression wasn't really favorable for this game. There's a lot going on, but it seems like a lot of randomness which sapped the fun of it from me. I'd be willing to give it another try and I suspect it will get better as I learn to better guess what other people would want. I'm just not sure that this would ever break it into the games that I want to own.

Smallworld - This game reminded me of a light version of Civilization. You take control of a race, conquer spaces on the board, and get points. Each race has a bonus and a random enhancement. As people start fighting for spaces you'll start losing people and reach a point where you can't do anything more with your race and you'll need to go into decline. The turn you go into decline you can't do anything but score points. The next turn you'll get your new race and start all over. I thought this was a decent game, but while in general I like the shorter games I think this is a case where I'd rather just play Civilization. Not that I'd object to this game, but it seemed there were some near useless race/enhancement combos and some really powerful ones (can you say Ghoul/Spirit).

Finca - A simple game to learn and a quick play, but a neat mechanism for messing with the other players. You're trying to deliver fruit to various areas of an island. You get fruit by moving your three farmers around a windmill of 12 fans. Each fan has the picture of a type of fruit. The trick with moving is that you move your farmer a number of spaces equal to the number of farmers on the space you're leaving (self included). Then you collect a number of fruit from the space you land on equal to the number of farmers there (again, self included). I really enjoyed this game and while still not my top for the day, it's one I'd like to own.

Tobago - And finally we come to my favorite game of the day. The goals is to collect the most gold. You get gold by raising the treasures (there are four at a time) that are hidden on the island. Each turn you may move your vehicle or play a card that narrows where the treasure is (things like, not in the largest forest or next to a palm tree). When there is just one place the treasure can be once a player reaches that spot they may raise the treasure. Players are dealt treasure cards equal to the number of clue cards they placed for it, plus one for the player raising the treasure, plus one unknown. The players may look at the treasure cards, but then they put together and shuffled. The top one is flip and players may decide to take it or not starting with the player raising the treasure and followed by the player who played each clue card in reverse order of how they were played. (If this isn't clear, trust me that the rules do a better job and make it clear.) Additionally after each treasure is raised, amulets appear on the island (wash up on shore) in predetermined areas that change after each raising. Amulets help allow you do extra things and you definitely want them (though you have to move to get them and not play a clue card). I found this to be a fairly quick game, with a neat mechanic and some great parts. Definitely on my list to buy and currently at the top!

Hell Rail - It was 11 pm and I was looking for another game. Someone walked up with this, so I figured what the heck. This is a pretty silly game where you're picking up train cars of sinners and dropping them of at different levels of hell. At each level there's a special power that you can use that will either benefit you or hinder the other players. While I've played various rail games, like EuroRails, and enjoyed them this didn't really match up. Not on my list to buy and not really on my list to play again.

LDAP Paging

This struggle came up because I was trying to generically handle paging for either a relational database or LDAP repository, since the end user can choose either type to store their information.

Databases have several ways of handling paging, both within the query itself or, if it supports scrollable cursors, specifying the position of the cursor in the result set and getting a page of data from there.

I figured there must be something similar for LDAP repositories. Sadly, no. The closest in functionality was an RFC proposal for Virtual List Views. It wasn't accepted and while some Java API was developed for it in the JNDI booster back released for Java 1.4, I've been unable to find any updates for Java 5.

What there is something called Simple Paged Results (RFC 2696). The way it works is you specify the size of your page and the server will give you that many records and a cookie that you must pass in on future requests. You can't change the cookie, which means you're limited to only going forward. This seems a bit annoying when compared to database paging and I just figured there must be something that was equivalent.

Finally I started thinking about what I was using it for and why I would need bi-directional paging. The plan was to use this paging to get thousands to tens of thousands of records at a time. If there was a need to display small pages (like for a UI screen, then I'd let it worry about making smaller pages. The only reason I can see for needing to page backwards would be for a user at a UI screen.

How likely is it that someone is going to want (let alone need) to go through tens of thousands of entries and be able to page backwards? Something, tells me having a limit on the number of requests returned is just fine for the UI. For anything needing to get all of the data there's still the Simple Paged Results that will work just fine.

Glad I stopped fixating on the differences between RDB and LDAP paging and thinking about how it was going to be used...