It’s alive!

Through the web and database version of mitosis, the development posts and professional content that used to reside here are now in a new location at a brand-new website. The new site, DavidBennettDev now exists as the professional counterpart to this site as I focus more on things like music and games here.

So if you’re looking for my posts on web development, Agile methodologies, coding, and data manipulation, then I encourage you to visit the new site. It’s shiny new from the top down, using Twitter Bootstrap and a bunch of new things that I didn’t care to add here. On the other hand, if you’re looking for my excursions into music, writing, games (of any stripe, be it computer, pen-and-paper, or board), genealogy, maps, and all those things that I find interesting, then you’ve come to the right place.

Coming soon is yet another site, this one focused on my family, my family tree, and things of interest to history and genealogy buffs. Stay tuned for the launch of that site.

Comments off

Epic Adventure and Spear Carriers

While I’m not a hard-core fan of the Halo video game series, I’ve certainly played my fair share of the franchise, read the books and more. While working on Crimson Skies XBox title, we had the privilege of looking at the controller scheme and played quite a bit of multiplayer LAN matches of the first Halo game as a break from the game we were developing (those of us who weren’t playing Battlefield 1942).

As a result, though, there’s a bit of bias in my enjoyment of the Forward Unto Dawn web series that’s prefacing the release of Halo 4. The series follows a group of cadets training to fight the insurrectionists right when the Covenant launches its first attacks. Seen from the eyes of these ordinary people, Orbital Drop Shock Troopers (ODSTs) are regarded with a certain degree of hero worship, but when we’re introduced to the Covenant and the appearance of a Spartan, we see them all in a different light. In particular, the Covenant Elites are rather terrifying and their appearance in the show makes for great drama.

Watching the latest episode got me thinking about Halo and about Massively Multiplayer Games. One of my issues with the latter has always been that there’s only room in a game for so many Master Chiefs and how not everyone can be the hero of an epic story. If the balance between a starting character and an high-level character weren’t so great and the rewards weren’t quite so exponential, it would be far more interesting if different levels of characters shared the same zones of play. Say, for example, some major battle was occurring that swept through a low-level zone. Suddenly, the low-level characters would be fighting the same low-level foes, but instead of grinding on rats, they would suddenly be taking part in an epic struggle directly instead of feeling like all the really important events and fights were happening in another place just out sight. Of course, most MMOs are too static for a situation to unfold in a true story-like fashion where the battle would move on or be resolved and the level disparity means one stray high-level area-affecting ability would result in massive character death, but I’ve always been fascinated by the completely different dynamic that would be displayed.

Part of what resonates and what I see in the Forward Unto Dawn series are the same things in some of my other favorites, among them Anne McCaffrey’s Harper Hall Trilogy where we get to see relatively common people going about their lives and their small heroics against the backdrop of the events of the Dragonriders of Pern series where the heroes there must save the world. Kurt Busiek and Alex Ross took the same basic structure in creating Marvels where the reader gets to see the Marvel Universe from 1939 to 1974 from the point of view of the man on the street instead of from the viewpoint of the superheroes. It’s a different story when one suddenly starts considering the impact of epic events on the people who aren’t superheroic, destined for greatness, or directly involved in saving the world. But they’re no less heroic for the actions they take and the choices they make and, sometimes, all the more satisfying for all of that.

Comments off

Lost in Guangzhou, or The Map is not the Territory

When I was in China last year, I spent most of an afternoon wandering the city of Guangzhou exploring the neighborhood around Yuhu Lake, an area diametrically opposite to my intended destination. I set out from my hotel with a good idea of where I was headed and figured my destination, Yuexiu Park, was so large that there was no way I could miss it. It turns out, I was wrong.

The problems began when I discovered the map I had used to initially orient myself was inadequate for the task of displaying three dimensions. In particular, the area I was headed contained hills, a multi-tier highway, a pedestrian overpass, an elevated railway with a pedestrian underpass, roads running at angles to each other, few visible landmarks, and road signs in Chinese. I’ve since educated myself further on the last point (at least to the extent of knowing Xiaobei Lu translates as Little North Road), but that still would have only helped a little.

As a Westerner, I tend to use Google Maps and it works fine for most places where three-dimensions isn’t an issue. But that lack of dimensionality is a weakness shared with printed tourist maps. At the time, I wish I’d turned to Baidu maps which, while sometimes being hard to read, solve the problem of dimensionality by using an isometric view rotated about forty-five degrees from north. Here’s the Google Map of the area:
Guangzhou - Xiaobei Road with North Ring Road

And here’s the isometric view:
Guangzhou - Xiaobei Road with Yuexiu and Luhu Parks
You can see where, due to the rotation, the Inner Ring Road runs off the map at the top upper left instead of the upper part of the left side. On this map, you can also see the lake at Yuexiu Park on the left and Luhu Lake at the right. Also, the elevated railroad grade on the Google Maps version totally disappears on the isometric view.

Here’s a zoomed-in version of the intersection of Xiaobei Lu and Huanshi Zhong Lu from another isometric map of Guangzhou that shows part of the railway and the pedestrian overpass more clearly:
Guangzhou - Xiaobei Lu and Huan Shi Zhong Lu intersection

Guangzhou railway underpass

Here’s some views of the actual area so you can see how the maps fail to capture the area well. To the left is the railway underpass with an unmarked pedestrian walkway. Also, the pedestrian overpass doesn’t cross the railway. This underpass and a nearby street with sidewalk are the main means of crossing to the north at this point.

Below is the view from the pedestrian overpass that crosses both Xiaobei Lu and Huanshi Zhong Lu. In the upper left, you can also see a portion of the ring road. I believe this view is looking west along Huanshi Zhong Lu towards where it becomes Huanshi Dong Lu (towards the GDTV building and our hotel which is on Huanshi East Road).

Guangzhou pedestrian overpass looking south

As a visual person, it’s much more helpful to have a view from the street when navigating. I get lost much less frequently when I know what an area looks like. As a genealogist, it’s even more helpful since places change over time and one family’s graveyard quickly becomes a stand of trees in a cow pasture. I’ll share some more on navigating in China and finding obscure locations in the United States, as time permits.

Comments off

Site Revisions

After some time running this site under Joomla! with the blog being handled by WordPress, I’ve finally switched over to only use WordPress. Although I like the features of a full-fledged content management system and Joomla! has some great features, it was both a little more heavy-weight than I needed and the maintenance tasks to keep it up-to-date were taking away from other work that I wanted to do. In particular, even though I’m using the excellent Now Reading Reloaded plugin to manage my library (after switching from the original Now Reading plugin), it’s no longer being updated and there are some features that I’d really like it to have. Unfortunately, the way the plugin is architected, I’ve come to conclusion that I’d be better off writing a new plugin, particularly if I wanted a less hacked-together way to store authors as separate entities in their own database table. My library has also grown to a size that I’d like to better be able to paginate results and other things like that.

Meanwhile, I’ve temporarily removed some pages, so if you’ve come looking for them, my apologies. I’ll be adding things back along with more things besides in the coming weeks. If you notice something missing and care to offer constructive feedback, I’d be happy to hear from you!

Comments off

Libraries Matter

The flailing world economy has affected everything, nothing more than the things we take for granted like public parks and libraries. The King County Library System, of which my local library is part, faces chronic budget shortfalls, though they never seem as severe as the woes experienced by Seattle Public Libraries. The rhetoric and reasoning behind cutting back at libraries always seems to focus on the idea that libraries are a luxury or that needs to be run as a business. When we talk about the efficiency of libraries, we miss the point, since libraries are more than the sum of their parts.

Facing even more severe budgetary problems, many libraries in Britain are on the block for closure. For that reason, people like author Philip Pullman are speaking out about the short-sighted nature of the closures. In a recent speech by Mr. Pullman, he said, in part:

“It’s imported the worst excesses of market fundamentalism into the one arena that used to be safe from them, the one part of our public and social life that used to be free of the commercial pressure to win or to lose, to survive or to die, which is the very essence of the religion of the market. Like all fundamentalists who get their clammy hands on the levers of political power, the market fanatics are going to kill off every humane, life-enhancing, generous, imaginative and decent corner of our public life. I think that little by little we’re waking up to the truth about the market fanatics and their creed.”

“And you could go a little further back to the end of the nineteenth century and look at the ideas of “scientific management”, as it was called, the idea of Frederick Taylor that you could get more work out of an employee by splitting up his job into tiny parts and timing how long it took to do each one, and so on – the transformation of human craftsmanship into mechanical mass production.”

He also speaks about the wonders of libraries, their place in society and much more. If you spend time at your local library, you know these things and the importance of libraries and the skilled staff who work in those places. But articulating that defense to someone who sees things only in terms of dollars, who doesn’t think they should be taxed for services they don’t use (a notion that ignores the interconnected nature of society and how funding for schools has an impact on crime rates or how parks affect overall quality of life – intangibles that don’t lend themselves to line items in a budget), is a difficult proposition. The way Mr. Pullman expresses his opposition to the idea that government needs to be run like a business resonates perfectly with my thoughts on the subject.

It was at my local library when I was young that I chanced upon a copy of the script to Monty Python and the Holy Grail, complete with scenes cut for reasons of length. Perhaps not life-changing at that age, but definitely one of the more memorable finds among the cornucopia of offerings that could be found at the Vashon Public Library. And though I use computers all the time and make my living building websites, I still visit the library with my daughter almost every week. Because the internet isn’t a place and a website isn’t a book and a library isn’t a business. A library is something unique and wonderful that can’t be replaced.

Comments off

Populares Et Optimates, A Game Of Rome Part 2

Watching card manipulation by Dan and Dave Buck including those on their site like the demo video of the Akira flourish got me thinking quite a bit about card shuffling. After seeing some of the false shuffles and other manipulations and having read about games where the shuffling algorithm was only pseudo-random, I wanted to make sure that the card shuffling for my game was at least adequate enough to make the game work. If you’re not familiar with Dave and Dan, check out this video advertisement for their set of DVDs over at Theory 11.

Wikipedia has a good article discussing shuffling cards and computer algorithms for shuffling.

An example shuffle algorithm in Javascript would be this implementation of Durstenfeld’s algorithm, a modern version of Fisher-Yates that looks like this:

function array_shuffle (aArray)
{
    var i, j, mTemp;
    for (i = aArray.length; i;) {
        // mTemp, j initialized here for shorter code.
        j = parseInt (Math.random () * i);
        mTemp = aArray [--i];
        aArray [i] = aArray [j];
        aArray [j] = mTemp;
    }
}

For the random number generation, I prefer this, but I haven’t exercised it in order to see if it makes a difference, though seeing parseInt in the above makes me wonder about its presence.

j = 1 + Math.floor(Math.random() * i);

As for the cards in the game, they are represented in the Javascript as objects and can be either people or actions. People cards are members of one or the other faction or a third group of loosely-aligned Romans who may be swayed to one side or the other. They have attributes including the side they belong to, whether their side may be changed, their name and current rank. Action cards represent the cards that are used during play. Actions include ranks and positions that may be assigned to People and events like riots, assassinations, and plagues. Action cards often have negative or side-effects, sometimes costing the player who uses it as much as his opponent. Other cards require votes from the Senate such as Exile or the appointment of Generals.

There are a variety of collections that I’ll refer to as decks. There are two decks of people, one for each player. Event decks include one hand for each player, the drawing deck and the discard deck. Additionally, there may be individual cards in play that belong to no particular deck.

I considered a number of names for the game including Optimates et Populares, but that doesn’t roll off the tongue. The working title that I came up with is Marius and Sulla after the two men who fought together in the Social War and then became bitter enemies. The game centers around the time where partisans identified themselves less with the espoused philosophies each represented and more with the personalities themselves. The short version of the game covers the six years following the Social War (88 BC – 82 BC).

Comments off

SPQR Or Pontifex Maximus, A Game Of Rome Part 1

I’ve decided to create a web-based game set in early Rome. It’s intended to be about the leaders of the time with an emphasis on politics rather than military strategy. I want the latter to happen “off-screen” as it were, but with the option for legions to show up at the gates of Rome when needed to influence political events.

The biggest difficulty was selecting a time period that provided the right amount of variety, particularly political in-fighting and manuevering without too much military action (such as the wars with Carthage). In that regard, the early and late periods of the Republic offered some interesting options, as did the time of the First Triumvirate and the period following the death of Caligula, to name but a few points in the turbulent history of the Romans.

I’m particularly fond of the political manueverings described in Imperium by Robert Harris and in the BBC production of I, Claudius (for which I must confess that I haven’t read the book by Robert Graves). There’s an immediacy to the politics combined with a certain degree of brutality that keeps one from longing overmuch for the good old days. So the more I thought about it, the less Imperial Rome appealed to me and the more I wanted to go back a little further in time. At the same time, Lavinia by Ursula Leguin brings the events of Virgil’s Aeneid to life brilliantly with the interplay between the tribes of the area and the followers of Aeneas.

Out of all the time periods that I think would make for an worthwhile game, the period immediately following the Social War, a crisis point in Roman history, sounded extremely interesting. Sulla’s First Civil War with the struggle between the optimates and populares (and I’m simplifying matters greatly since it wasn’t that black and white) made for some turbulent times with lots of political and military manuevering. Throw in assassinations, exiles, plagues, riots and external threats like Mithridates of Pontus, and you have a good deal of elements to work with.

As they say, plus ça change, plus c’est la même chose. The politics of the Roman Republic and the Roman Empire have much in common with the infighting during the War of the Roses and the gangland warfare of the Roaring Twenties. For that reason, I wanted to capture some of the feel of the Avalon Hill game Kingmaker, minus the board and tediousnous of moving armies around, with the fast-paced play of Family Business, but with a more historical feel and slightly more elaborate mechanics.

Before starting work, I did some research on already existing games that covered both the time period I was interested in with the politics in a card game or simple board game version. I was positive there’d be a plethora of games of all stripes, some very similar to what I had in mind. Surprisingly, the list wasn’t nearly as long as I expected, though I’m sure I missed more than a couple. My short list of games that aren’t strategy games and that otherwise capture some of the elements I was looking for are as follows:

Certainly, some of these games are ones that I’d really like to play, particularly Triumvirate. But before I do that, I’d like to get my game up and running. First up, a paper prototype. Much like website usability testing with paper mockups and wireframes, I plan to make some cards and to try some mechanics so I can see how they play out. I’ll discuss that in my next on this subject.

Comments off

Idioms and Economy of Language

I was talking with a co-worker about my limited facility with Japanese and my interest in improving my facility with that language. During the course of our conversation, she mentioned a fascinating aspect of Japanese for expressing certain idioms or proverbs. That’s were I learned about yoji-jukugo (四字熟語), which are idiomatic expressions made up of four kanji characters. These idioms are written only in kanji only and have no kana between them.

One such example would be the Japanese equivalent of the idiom, “two birds with one stone.” This is rendered as isseki nichou (一石二鳥) (literally, “one stone, two birds”). There are many more yoji-jukugo, many of which have similar versions in English (and many other languages besides).

The Chinese equivalent from which yoji-jukugo originate are called chengyu (成语). The same idiom above has a similar chengyu that translates as, “two birds, one arrow” (yī jiàn shuāng diāo, written 一箭双雕). Another one I like is sān rén chéng hǔ (三人成虎) (literally, “three men make a tiger“), which refers to how a repeated rumor may be erroneously accepted as truth.

There are lots of examples of these idioms including a chengyu of the day. You learn something new every day.

Comments off

Language Impressions

Today I read an interesting perspective on Dutch language, particularly the rather unique ‘ij’ sound in that language. But more than that, it’s a poetic take on the way language seems to feel. (via Snarkmarket)

“There’s something slightly disturbing about the visual scan of the language (I don’t even know what the term is for that: you know when you see a page, or a sign, written in a language and you have an immediate impression of the content of the text? This works also in your native language: look at a page from, like, Dickens, and you can sort of get the Shudder of the Text, or whatever, anyway, what I mean is that some languages, like French, always seem to bear a melismatic philosophy behind the page; German, an authority, Amharic, a crooked delight…) … with Dutch what I get is a sort of childlike pornography: hoog, sneeuwt, poesje, standplaats. But I’m obsessed with it: there’s nothing better than having an old school diagraph still kicking around like an appendix.”

I like the word melismatic in this context, as though the words on the page were the notes and the meaning of the page was the word or melisma. It’s a new one on me even though I subscribe to A.Word.A.Day and occasionally test my vocabulary at FreeRice.

Comments off

What’s the Definition of a Game?

A month ago, I updated my LinkedIn profile to say I was, “…playing and making some games.” I’ve had a few game ideas kicking around and the games I’ve been playing lately have gotten me a bit more motivated to work on my own ideas. My thought was that this small declaration would keep me moving forward and I would actually make some headway on at least one project. As others have noted, ideas are cheap, but seeing a project through to completion is considerably more difficult.

What I hadn’t anticipated was a co-worker asking me what kind of games I was working on. Since my day job is in web development for an HMO, my co-worker was unaware of my background in game design and my continuing interest in doing that kind of work. However, the reason I’m not employed full-time doing game design has more to do with the nature of industry, particularly the crazy hours and my daughter being of an age where she started to think daddy lived in the phone. At the time, people were beginning to take a hard look at some of practices and work environment that went with game development, the most visible being the story of EA Spouse. Just as a case in point, the agency I contracted through gave me vacation time that accrued at a rate of 2 weeks per year based on hours worked. In my first contract, between overtime and the occasional all-nighter, I accrued four weeks of vacation.

So, though I’m not working in the game industry as my day job, I’m still very much interested in games. But my co-worker’s question raised an interesting point: What is the definition of game? Her assumption was that, as a computer guy, I would be turning my energies toward some form of computer game. But even that’s a pretty broad range, given the proliferation of casual games, many of them web-based, alternative reality games, that incorporate many forms of technology including web pages and other technology, and console games, developed on computers despite the hardware being rather specialized.

However, I also play pen-and-paper roleplaying games (Dungeons and Dragons and Ars Magica, among myriad others), I am guilty of having played live-action roleplaying, and I play boardgames, given the opportunity. In fact, about the only thing I don’t play is fantasy football and its real-world team sports analogues.

So, while I’m not planning on creating something like BASEketball any time soon, I’m casting my net considerably wider than trying to develop the next version of Duke Nukem Forever (figuring whatever game I work on still probably has a better chance of seeing the light of day).

Comments off