My Other Home

A little over a week ago I signed up for the yearly GameDev.net Four Elements contest. Over the next five-and-a-half months, in my free time, I will attempt to build a trading simulation game based in the Ukraine in the year 1000AD. Updates here have been sparse because I have been posting in my developer’s journal.

If anything significant happens over there, I will provide a link to it here. Otherwise, if you like deeply technical stuff, are interested in Flash and/or game programming or the medieval Black Sea region, feel free to stop in from time to time.

The Long, Slow Days of Summer

hail
The day of our Festival performance, June 3, started out on a less-than-promising note. Waves of hail and rain alternated with beautiful sunshine and 75-degree weather.

pre-festival
While we warmed up for the show we hoped we would get lucky. There was a decent-sized crowd, all told, considering what the weather had been doing all day.

underground-tai-chi
But, our luck did not hold out. we ended up underground in the entrance to the county building, along with a captive audience. So we decided to perform anyway. Unfortunately, after the first tai chi form security closed us down, saying another storm, this one including golfball-sized hail, was on its way in. So we called it a day.

lil-reaper
The next morning I wandered down to festival again, and listened to some music, and took some photos. Tom Otterness has sculptures up all over town, all of which are quite nifty.

kenny-neal
Blues on the Mall kicked off its 2006 season on Wednesday, with Kenny Neal providing the tunes.

cottonwoods
Thursday morning, while I was working from home, the local cottonwoods did their thing.

Summer is no time to spend in front of a computer.

I Am Prime!

Today is my birthday. I am 37 years old. To celebrate, I am working from home today.

The martial arts demo on Saturday was rained out. Very disappointing. I guess I can’t complain too loudly, though; I think this is the first time this has happened. We managed to sneak in a single tai chi form down in the underground entrance to the city center, then security shut us down before the golfball-sized hail hit the city.

Well…Whattayagonnado?

Creating a Sensory Input-Based Monster AI, Part I

As a thought experiment I am putting together a generic artificial intelligence which I can use for bad guys/NPCs in a variety of different games. There are myriad paths I could follow in creating AI, so for right now I am going to concentrate on two inter-related tasks: awareness and morale. In other words, when does X become aware of another entity, and what does X do in response to that awareness?

For the purposes of this essay there will be two entities: a deer and a wolf. I will discuss the reactions of the deer.

The first step is to create a triggering event. In this case, proximity. Using whatever senses are available to it, somehow, at some point as the wolf approaches, the deer becomes aware of it. This could be something like a twig snapping, or movement in shadows, or wolf-smell on the wind. In any case, the first level of this system is Awareness.

Once the deer is aware that Something is out there, the next step is to determine what that thing is. It could be another deer, or a faun, or a human, or the wolf. Without making that determination the deer cannot react appropriately. It might run in terror from the faun, or stand still while the wolf attacks. So the second level of the system is Recognition.

Once the approaching entity is recognized, the deer can take the appropriate action; in this case, run in terror from the wolf. Or if the deer is protecting a faun, move to attack/distract the wolf while the faun flees. This level of the system is Reaction.

So: Awareness to Recognition to Reaction. Think of them as concentric rings centered on the deer. As the wolf enters these rings its proximity triggers different responses. These distances can be displayed as a sequence of numbers; for instance [20/10/5]. [Awareness/Recognition/Reaction].

Awareness will always be the largest number. Without being aware of something, the deer cannot either recognize or react to it.

Either recognition or reaction may be the next largest number, or they may be equal. In any case, neither of them may be larger than the Awareness number, although they may be equal to it.

So: [10/5/10] would be a “legal” description, but [5/10/5] would not.

Using this system a wide variety of behaviors may be put into place with little effort. The following are some examples:

[10/5/2] — Long-range awareness, medium-range recognition, short-range reaction. A semi-tame, slow-moving, not-too-bright animal. A farm cow, for instance. Knows you are there, knows who you are, doesn’t much care.

[10/5/10] — Long-range awareness and reaction, medium-range recognition. Guards at a gate. Something is out there, so immediately set out after it. Once they are close, it may be recognized and perhaps another action performed.

[10/5/1] — Long-range awareness, medium-range recognition, extremely short-range reaction. A bored, disaffected clerk at a store. Knows you are there, knows who/what you are, doesn’t do anything until you actually poke him in the shoulder.

[10/1/10] — Long-range awareness and reaction threshold, contact-range recognition. A rhinoceros during mating season, which charges anything it detects, and only stops when it recognizes “Ooh! That’s a train!”, or something of the like at extremely short range. Basically this is an unthinking reaction to the presence of another entity.

It occurs to me that this could be made less “broad” and more “deep” by changing to a two-level “awareness/reaction” and “recognition/reaction” system. For the purpose of simple- to medium-complexity games I like the three-level approach. In particular playing around with the distance between “recognition” and “reaction”, allowing for simulating different levels of intelligence or bravery, and startle-reactions, such as an enemy suddenly appearing well within the “reaction” threshold, causing a panic reaction; or a particularly slow-witted (think “drunk”) critter standing around gob-smacked while being charged by a bull.

Note that this AI system is for an “initial contact” situation, where another entity is first entering into awareness range, or has been outside of awareness range long enough that the “deer” has forgotten the entity was there. Reactions when actually interacting with another entity will be discussed in an upcoming essay.

Tumbling Down the Walls

This afternoon I took a trip back to the farm to enjoy a picnic and watch our barn get knocked down. After many years of entropy the thing had finally decayed past the point of usefulness, and into the realm of being a danger to those around it.

barn_1
Many years ago adjustments had been made to its structure to allow more storage space, and these adjustments had ultimately weakened the frame.

barn_2
Notice that the whole end of the barn is hanging in space, with nothing but the roof beams preventing it from tumbling down.

barn_3
This is the view from inside, showing how cock-eyed and beat-up the structure is.

barn_4
This beam, and the one it butts into on the left, are the only things holding the barn up at this point.

barn_5
Local demolisher-of-large-buildings Herbie Van Aiken provided the bulldozer and told us it wouldn’t take more than fifteen minutes to bring the thing down.

barn_6
Herbie lined up on the beam he said was the keystone of the structure and, after digging up some sod, gave it a push.

barn_7
I was looking for a position to take some good shots when I heard CRACK and got my camera up just in time to see the barn come down in a huge cloud of dust.

barn_8
The demolition took about five minutes.

barn_9
Another push on the main beam brought down the stubborn remnants.

barn_10
And all this without touching the silo or pump-house which share a foundation with the barn.

barn_11
My brother Kurt exploring the wreckage.

barn_12
And my mother finally has the view to the south she has always wanted.

Educational Spam

I receive about 35 pieces of spam a day, most of which are successfully filtered by the email client at my host provider, Modwest. Occasionally something gets through, usually Russian advertisements for discount electronics.

Got one today, however, which was a little different. The content of the message was as follows:

In a trice without warning the face of nature
grew sullen Black angry mouths, the clouds
swallowed up the sun The air was dense with
suppressed excitement The wind howled through
the long corridors and sobbed and whispered in
the secret recesses

Hmm. Not your average spam message.

A Google of the first line resulted in many many hits, most of which led toward spammed blogs and message boards, or people complaining about getting over-wrought, semi-literate poetry in their in-boxes. Again, nothing unusual there.

I was still intrigued, so I did a Google book search, which was a little more fruitful. Turns out this line is from page 12 of a book called My First Two Thousand Years, by George Sylvester Viereck and Paul Eldridge. It is a fictional autobiography of the Wandering Jew which was originally published in 1928, and is apparently still in print.

So now — although I am sure it was not the original intent of the spammer — I have another book on my reading list.

And I will leave the question of why this particular passage from that particular book found it way into an un-solicited email for another time.

Upcoming Martial Arts Stuff

This year Master Lee’s School of Tai Chi Praying Mantis and Tai Chi Jeung will be performing at the Grand Rapids Festival of the Arts on Saturday, June 3 from 7:00pm to 8:30pm. Pictures of last year’s performance (and others) can be found here on Master Lee’s site.

We have just received word that Midland Open Martial Arts Tournament will not be held this year. This is disappointing but not surprising; the tournament has been growing steadily smaller for the past few years. I imagine that the economy and rising gas prices played a significant role in this decision, considering several schools travel from as far away as Texas and Massachusetts to attend.

Oh, well… maybe next year. On the plus side, this means that I have a free Memorial Day weekend for the first time in about five years. That hasn’t happened in so long that I have no idea what I will do. Maybe spend the whole weekend sleeping on the beach out at Grand Haven.

More details about our Festival performance as the day approaches.

Nature and Such

This afternoon, having nothing better to do, I hied me over to Blandford Nature Center wherein I discovered much nature.

Up until about a year ago one of the main attractions at the Center was a rescued fox. About a year ago the fox passed on, and a new tenant has recently moved in:

bobcat_1

This bobcat is about four years old and was raised as a pet until it became too much for its family (and neighbors) to handle. It is quite fearless around humans and so, out in the wild, would not be able to fend for itself, and would probably have had to survive on a diet of garbage and small yappy dogs.

bobcat_2

I do have to say, though; he is an absolutely beautiful animal.

Since the bobcat was not interested in what I was doing, I wandered around and looked at the other rescued animals. I immediately discovered something else new:

vulture_1

The turkey vultures are expecting. That thing to the lower right of the bird is one of their two eggs. Which just goes to show, everyone is beautiful to someone. Especially in the spring.

Onward and inward. Every inch of the park was teeming with life.

click_beetle_1

Some of the photos just seemed to compose themselves:

leaf

trillium_2

On the way back out of the park one of the attendants was preparing to feed the cat. Like any other cat, he sat at the door and waited impatiently. Once the door was open, he hissed at the attendant and swatted her in the leg.

bobcat_3

Note that this is NOT a small animal. He didn’t use his claws, however, and for his rudeness the attendant squirted him with a water bottle. Now, I have seen this tactic used on house cats with a great deal of success; but a 40 pound bobcat? Who’d’a thunk? Next time I am on safari in Africa and a lion charges me, I am going to squirt it in the face with a water bottle. It should keep me perfectly safe!

I watched the cat eat for a minute, then discovered why it was angry at the center employees:

bobcat_4

Jeez, what a slap in the face.

On the way out of the park I was surprised by one more Piece of Nature™:

garter_snake_1

I guess this one hadn’t learned the “crawl quietly through dead leaves” trick yet.

Impermanence

This past Saturday I visited From the Heart Yoga Center, where the Venerable Thupten Tsondu Tashi of the Gyudmed Monastery was performing a peace blessing. I arrived a few minutes after the start of the ceremony, and sat quietly in a corner until the ceremony ended, at which time Rick introduced me to Tashi, who floored me with this:

“I know you.”

The first thing I thought of was that he remembered me from when I was in India back in February 2001, during the Losar celebration at the Zongkar Choede monastery. Gyudmed is just up the road from Z.C., and many of the Gyudmed monks had come to Z.C. for the Cham dance portion of the ceremony. I don’t recall if we were introduced back then, but it is entirely possible.

It wasn’t until a day later that I remembered that he had been in town a couple of years ago on another tour, and that he and I had attended a gathering at the home of Anisa. He and Anisa had met several years earlier when she was a driver for the North American leg of a tour by a group of Tibetan monks from the Gyudmed and Dzongkar Choede monasteries. When I mentioned that I knew Anisa, Tashi became quite excited and asked that I tell her about the other events which he would be holding throughout the week.

This evening I attended the dismantling of a sand mandala which Tachi had built over the past three days. Monday, Tuesday, and Wednesday, he said. Eight in the morning until five in the afternoon. Twenty-seven hours, by himself, building a two-foot-square mandala by himself, a grain of sand at a time. He finished at 5pm today, and the dismantling began at 5:30.

This particular mandala was the Mandala of Manjusri, the bodhisattva of wisdom, whose symbols are the sword and scroll.

The ceremony began with Tashi explaining the different parts of the mandala; why there are certain colors, why the mandalas have specific number of specific design elements, and why the thing is built out of sand in the first place.

After the questions ended Tashi set out his tools and began a prayer chant which lasted around fifteen minutes.

When the prayer finished Tashi began to very carefully dismantle the mandala by cutting precise lines into the sand with a dorje.

Once the lines were finished and the mandala dismantled, he began to sweep the sand into the center of the mandala, again following a specific pattern, counter-clockwise around the mandala, a section at a time.

When the brushing was complete Tashi offered each of us some of the sand from the mandala to take with us as a blessing. He said that traditionally a little of the sand is sprinkled on the top of someone’s head (around the crown chakra) in order that, when that person dies the sand, which has been blessed by being part of a mandala, helps the spirit to depart to the next world so there is less of a chance of being stuck in this one. It also acts as protection against evil spirits.

Next we moved down to the west bank of the Grand River where Tashi perforned the final steps of the ceremony: casting the sand into a river. This serves multiple purposes: the sand can never again be used in a mandala; the mandala of which it was a part can never be re-created; and the sand itself is an offering to the spirits of the river, and are said to help still angry waters and make for safe journeys. Each of the different colors of the sand represent different gems and precious metals — yellow for gold, white for silver, red for rubies, etc — so this is truly a precious gift.

After a final few minutes of prayer Tashi cast the sand into the river — carefully making sure none of it blew back onto the bank — and washed out the cup from which he had cast the sand. Then he performed a final, short prayer, and the ceremony was over.

The Venerable T.T. Tashi is currently touring the United States in to raise funds for the Buddhist Mind Training School in Mongolia, where children can receive a good education in a safe environment. For information on tour dates and locations, contact Heidi Ragchaa at heidi@ziacreative.com.

Namaste.

Seems like I was here a year ago…

I am currently sitting in Room 429 of Kendall College of Art and Design. Today is the first day of finals week, and the last day of my career as an Adjunct Professor of Web Design. I am in the middle of performing post-mortems on the final grades of my students for the semester. They handed in their final projects last week and I spent the weekend tallying grades and writing critiques. Now I am telling them why they got the grades they got.

The semester ended at the perfect time. Work is ramping up to the point that I no longer have time to duck out for several hours in the middle of the day. I expect this will continue for at least the next four weeks, at which point I will, I think, take a much-deserved and much-needed vacation.

I have been thinking about re-designing this site. Nothing too extravagant; just make it look a little more professional. Despite the fact that I am a fairly hard-core programmer I do have some small sense of aesthetics, and right now the current design bores me.

Now that I have the whole summer ahead of me without the oncoming storm of the next semester as motivation, I find that I really just want to be lazy, sit on my porch, and read and write. I look forward to the days I work from home, sitting outside with my laptop and a tall glass of beer iced tea, watching the world go by.