Search This Blog
Wednesday, February 20, 2008
Friday, February 15, 2008
Random Fact of the Day
The Japanese particle 'wa' (は) it typically called the topic particle. It indicates a topic, and then subsequent sentences refer to that topic in some way (the topic may be the subject, object, or some other case in the following sentences).
However, that is not the true meaning of the particle. What it actually is is an emphasis particle - it emphasizes some word or phrase. It's only by convention that it's come to be used to indicate the topic, and at times it's also used for other things.
So really, it's like "War! What is it good for?"
However, that is not the true meaning of the particle. What it actually is is an emphasis particle - it emphasizes some word or phrase. It's only by convention that it's come to be used to indicate the topic, and at times it's also used for other things.
So really, it's like "War! What is it good for?"
Wednesday, February 13, 2008
Conjecture & Reality
A bit ago I posted some of my own hypotheses about SBC/Yahoo! DSL BitTorrent behavior, and how their "network management" system (as Comcast likes to call it) might work. Now, in the FCC's current investigation of Comcast's network management, Comcast has finally given (some) details of how their system actually works.
The actual filing is available, and Ars Technica has a brief summary and discussion of the filing (I haven't read most of the filing myself, yet; only the Ars Technica commentary).
The actual filing is available, and Ars Technica has a brief summary and discussion of the filing (I haven't read most of the filing myself, yet; only the Ars Technica commentary).
& Artificial Intelligence Class
So, the spring semester has begun. In fact, the spring semester is about 22% over already. It looks like I'm going to have to do term paper and/or project in each of my four classes - advanced game programming, graphics programming, artificial intelligence, and software engineering. This post deals specifically with the prospect of the AI term project. On the first day of class, I'd already come up with two abstract ideas to do (ideas for topics, but not specific projects), and two concrete ones, of varying sizes. I'll mention some about each of them. All of them have basic requirements of at least practical use, smartass value, or fun coding them (some have more than one of these).
The most practical project would be something related to E Terra. This was one of the general ideas that I didn't have a specific project in mind. The E Terra macro-AI (e.g. computer players) is going to be an absolute bitch to write, given the fundamental differences between E Terra and other strategy games. In terms of search space, it's like comparing Go to Checkers - there are simply too many possibilities to consider all of them, given the broad control of the race E Terra permits. Long term plans need to be developed, and then modified in reaction to actions of other players. Much more attention must be paid to what the enemy is doing, because the time it takes to counter something novel another player does is much longer than in traditional real-time strategy games; there's no bouncing back after the reaver drop, so to speak.
However, while the macro-AI is by far the most difficult, there are lots of micro-AIs that need to be written, as well - small (and relatively easy) self-contained tasks that form the building blocks of play. While these are more manageable, the question remains as to whether there's a single micro-AI that is complex enough to be used as a term project. Some specific micro-AIs that will be required:
- Pathfinding. Units must be able to find the most desirable path from one place to another, based on the knowledge of what's in between those two points.
- Threat assessment. A unit or a group of units has just discovered a group of enemy units. Can it overpower the enemy group? Can it outrun the group? Should it attack the group? Should it run away to safety (e.g. its nest, where presumably many other units will be)? Can it/should it try to lure the enemy group to a stronger group of allies and then fight?
- Combat. Selection of special abilities to use and when.
- Idling. Should the unit eat some food while it's busy doing nothing? Wander around randomly? Go to sleep?
Next is something related to linguistics, a member of the 'fun' category. Plenty of things to choose from, though specific ideas that are manageable aren't readily apparent. Unfortunately, it's unlikely that I'd be able to do something with practical use alone, in an undergraduate course, in the time permitted.
Next is something I'm somewhat attracted to of non-negligible practical value as well as significant smartass value: a simple file format cracker. A program where you give it several different examples of some file format, and it determines the file format structure as best it can. Obviously there would be significant limits to what any such AI could accomplish without true intelligence; e.g. it might be able to tell you the data types of values as well as what they seem to be (flags, file offsets, sizes, counts, "random" data, etc.), but it wouldn't be able to tell you the meaning of most values; similarly, it would have absolutely no way to crack encrypted or compressed structures (though, for that matter, even a skilled reverse-engineer wouldn't be able to do that, either, if they only had a hex editor).
This would be based on my assessment of my own thought processes while reverse-engineering file formats (especially the Mega Man Anniversary Edition and Guild Wars archive formats, which I reverse-engineered using nothing but a hex editor). Most of the stuff is pretty basic: looking for telltale clues about the location and format of fields, determining the stride of arrays, and then using statistical analysis and heuristics to guess what individual fields are.
Finally, something with extreme smartass value, which I think would also be highly amusing to develop: a dating/relationship simulator. While only the most extreme of nerds play such games outside Japan (and, in fact, most people outside Japan have never even heard of them), this genre of video game is spectacularly popular in Japan (possibly the most popular). Some examples of anime that are based on dating sim games (as far as I know): Clannad (currently airing), ef ~ A Tale of Memories (download), and Kanon (download).
I've considered writing a story made for a dating sim before, for the reason that I bet I could do irreparable harm to the genre. Not to mention the fact that it's been done so many times that it provides a real challenge for a writer (along with the school comedy genre of anime, which I'm also considering trying my hand at). Of course such a project here would focus on the AI portion - the simulation of emotions and thought processes of love interests - rather than any type of specific storyline.
The most practical project would be something related to E Terra. This was one of the general ideas that I didn't have a specific project in mind. The E Terra macro-AI (e.g. computer players) is going to be an absolute bitch to write, given the fundamental differences between E Terra and other strategy games. In terms of search space, it's like comparing Go to Checkers - there are simply too many possibilities to consider all of them, given the broad control of the race E Terra permits. Long term plans need to be developed, and then modified in reaction to actions of other players. Much more attention must be paid to what the enemy is doing, because the time it takes to counter something novel another player does is much longer than in traditional real-time strategy games; there's no bouncing back after the reaver drop, so to speak.
However, while the macro-AI is by far the most difficult, there are lots of micro-AIs that need to be written, as well - small (and relatively easy) self-contained tasks that form the building blocks of play. While these are more manageable, the question remains as to whether there's a single micro-AI that is complex enough to be used as a term project. Some specific micro-AIs that will be required:
- Pathfinding. Units must be able to find the most desirable path from one place to another, based on the knowledge of what's in between those two points.
- Threat assessment. A unit or a group of units has just discovered a group of enemy units. Can it overpower the enemy group? Can it outrun the group? Should it attack the group? Should it run away to safety (e.g. its nest, where presumably many other units will be)? Can it/should it try to lure the enemy group to a stronger group of allies and then fight?
- Combat. Selection of special abilities to use and when.
- Idling. Should the unit eat some food while it's busy doing nothing? Wander around randomly? Go to sleep?
Next is something related to linguistics, a member of the 'fun' category. Plenty of things to choose from, though specific ideas that are manageable aren't readily apparent. Unfortunately, it's unlikely that I'd be able to do something with practical use alone, in an undergraduate course, in the time permitted.
Next is something I'm somewhat attracted to of non-negligible practical value as well as significant smartass value: a simple file format cracker. A program where you give it several different examples of some file format, and it determines the file format structure as best it can. Obviously there would be significant limits to what any such AI could accomplish without true intelligence; e.g. it might be able to tell you the data types of values as well as what they seem to be (flags, file offsets, sizes, counts, "random" data, etc.), but it wouldn't be able to tell you the meaning of most values; similarly, it would have absolutely no way to crack encrypted or compressed structures (though, for that matter, even a skilled reverse-engineer wouldn't be able to do that, either, if they only had a hex editor).
This would be based on my assessment of my own thought processes while reverse-engineering file formats (especially the Mega Man Anniversary Edition and Guild Wars archive formats, which I reverse-engineered using nothing but a hex editor). Most of the stuff is pretty basic: looking for telltale clues about the location and format of fields, determining the stride of arrays, and then using statistical analysis and heuristics to guess what individual fields are.
Finally, something with extreme smartass value, which I think would also be highly amusing to develop: a dating/relationship simulator. While only the most extreme of nerds play such games outside Japan (and, in fact, most people outside Japan have never even heard of them), this genre of video game is spectacularly popular in Japan (possibly the most popular). Some examples of anime that are based on dating sim games (as far as I know): Clannad (currently airing), ef ~ A Tale of Memories (download), and Kanon (download).
I've considered writing a story made for a dating sim before, for the reason that I bet I could do irreparable harm to the genre. Not to mention the fact that it's been done so many times that it provides a real challenge for a writer (along with the school comedy genre of anime, which I'm also considering trying my hand at). Of course such a project here would focus on the AI portion - the simulation of emotions and thought processes of love interests - rather than any type of specific storyline.
Tuesday, February 12, 2008
Public Service Announcement
It looks like the rumors about Geneon USA going out of business are true. Geneon USA is, among other things, an importer/translator of anime and music CDs from Japan. It also happens to be the only label that has (legally) brought any of the work of Yuki Kajiura, one of my favorite composers, to America (although as I prefer to pay the authors for music I like, I wish they'd brought more of it...).
Thus, Geneon going out of business means that these soundtracks will not be available anymore, which is bad. I already see at least two soundtracks that are no longer carried by Amazon.com, and several others that are down to 5 or less in stock. So, if you're looking to buy some good music, now is your last chance.
Here's a list of the Kajiura CDs by Geneon, ranked roughly by how good they are, with links to them on Amazon (if Amazon is out of them, you might be able to find some from other stores; but you're on your own for that - just make sure the ISBN number matches these here), along with some samples:
Madlax OST 1
Nowhere
The Story Begins
To Find Your Flower
Madlax OST 2
Fall on You
People Are People
Bank on Me
Noir OST 1
Romance
Salva Nos
Noir OST 2
Le Grand Retour
Indio
Elemental Gelade
Beauty and the Beast
The Bond - Reverie Metherlence
Wings
Fiction
Fiction
Vanity
Le Portrait de Petite Cossette
Moonflower
In a Beautiful Morning of May
Undertow
Aquarian Age: Sign for Evolution
Thus, Geneon going out of business means that these soundtracks will not be available anymore, which is bad. I already see at least two soundtracks that are no longer carried by Amazon.com, and several others that are down to 5 or less in stock. So, if you're looking to buy some good music, now is your last chance.
Here's a list of the Kajiura CDs by Geneon, ranked roughly by how good they are, with links to them on Amazon (if Amazon is out of them, you might be able to find some from other stores; but you're on your own for that - just make sure the ISBN number matches these here), along with some samples:
Madlax OST 1
Nowhere
The Story Begins
To Find Your Flower
Madlax OST 2
Fall on You
People Are People
Bank on Me
Noir OST 1
Romance
Salva Nos
Noir OST 2
Le Grand Retour
Indio
Elemental Gelade
Beauty and the Beast
The Bond - Reverie Metherlence
Wings
Fiction
Fiction
Vanity
Le Portrait de Petite Cossette
Moonflower
In a Beautiful Morning of May
Undertow
Aquarian Age: Sign for Evolution
Saturday, February 09, 2008
Mother Load!
So, while procrastinating harder than usual today, I happened across something very interesting (at least to me). While my grandpa hasn't written much about the Trique language in general (his papers have been more about specific aspects of Trique, especially those relating to his primary field of study - analysis of discourse), I've finally managed to find someone who has. All things considered, it shouldn't be a surprise that my grandpa and she are well acquainted, and have collaborated a great deal in the past; though that's somewhat beside the point.
The bottom line is that she has written a number of articles (scroll down to the On Trique section) and other things about Trique grammar (although hers is Copala Trique - a sibling of Chicahuaxtla Trique, which my grandpa studied and my Trique Bible is in). Most notably, she has written an entire manual on the grammar of Copala, which I'm just starting to read, and a Copala Trique dictionary. A number of her works are available online, including the manual and dictionary themselves.
Unfortunately, almost all of her works available for download are in Spanish. This ended up providing a surprisingly small obstacle for me, however. When I tried to read the grammar manual, I found that I was able to make out the Spanish quite well. Between the Spanish I remember and the fact that much of it is linguistic jargon (making it fairly easy to deduce the meaning of unknown words from context), I've been able to understand almost all of it that I've looked at so far. It would be incredibly ironic if I ended up buying one language and getting a second one free.
So far, I can see a few differences between the two. Copala Trique seems to like to delete some consonants that Chicahuaxtla Trique has, has fewer vowels, and I've heard Chicahuaxtla Trique has the most complex tone system of any Trique language. I also readily noticed some pronouns and number markers don't appear to be related between the two languages. It also seems like Copala Trique has gender-specific third-person pronouns that Chicahuaxtla Trique lacks, although I need to do more study to make sure (I haven't seen any that appear to be gender-specific in this Bible, but I can hardly be considered an expert on the topic).
In other tangentially related news, exactly one week ago somebody by the moniker G.broadwell started to add some limited details about phonology, morphology, and syntax to the Wikipedia article on Trique. As well, this blog is #5 on Google for "Trique", #4 for "Trique grammar". Finally, it appears that the Trique indians now have a web site (Triqui is a well-known alternate spelling), although it's in Spanish; isn't technology awesome?
The bottom line is that she has written a number of articles (scroll down to the On Trique section) and other things about Trique grammar (although hers is Copala Trique - a sibling of Chicahuaxtla Trique, which my grandpa studied and my Trique Bible is in). Most notably, she has written an entire manual on the grammar of Copala, which I'm just starting to read, and a Copala Trique dictionary. A number of her works are available online, including the manual and dictionary themselves.
Unfortunately, almost all of her works available for download are in Spanish. This ended up providing a surprisingly small obstacle for me, however. When I tried to read the grammar manual, I found that I was able to make out the Spanish quite well. Between the Spanish I remember and the fact that much of it is linguistic jargon (making it fairly easy to deduce the meaning of unknown words from context), I've been able to understand almost all of it that I've looked at so far. It would be incredibly ironic if I ended up buying one language and getting a second one free.
So far, I can see a few differences between the two. Copala Trique seems to like to delete some consonants that Chicahuaxtla Trique has, has fewer vowels, and I've heard Chicahuaxtla Trique has the most complex tone system of any Trique language. I also readily noticed some pronouns and number markers don't appear to be related between the two languages. It also seems like Copala Trique has gender-specific third-person pronouns that Chicahuaxtla Trique lacks, although I need to do more study to make sure (I haven't seen any that appear to be gender-specific in this Bible, but I can hardly be considered an expert on the topic).
In other tangentially related news, exactly one week ago somebody by the moniker G.broadwell started to add some limited details about phonology, morphology, and syntax to the Wikipedia article on Trique. As well, this blog is #5 on Google for "Trique", #4 for "Trique grammar". Finally, it appears that the Trique indians now have a web site (Triqui is a well-known alternate spelling), although it's in Spanish; isn't technology awesome?
Thursday, February 07, 2008
On the Name of Q
Last summer, I started a new character in World of Warcraft. As the character I'd played before that was a Draenei (the new Alliance race added in Burning Crusade), I decided to make a Blood Elf (the new Horde race in Burning Crusade). A mage, to be specific, as killing things by the dozen is awesome.
I generally put some care into creation of characters in such games. Sometimes I'll create characters derived from my stories. And even if there is no character in my stories appropriate for a character class, I usually try to come up with an appropriate name and some coherent theme for the character. Sometimes these original characters even find their way into my stories... (one even became the main character of a series)
So, after I'd come up with a suitable theme for the character, I had to come up with an appropriate name. While I usually just pick names for how they sound, in this case I decided to modify some of the first thoughts I had (based purely on sound) so as to give it an appropriate meaning.
The name I ultimately decided on was Pyruvega Narovire. The first name was originally based on sound, and is a mish-mash of languages. 'pyru' is derived from the Greek word for 'fire', and 'vega' means, roughly, evil sorcerer. After getting the most important part of the name (the first name) done, I felt a bit more free with the last name, and decided to use Quenya based on meaning (though the partial rhyming of the two names was not a coincidence). Here, 'naro' means 'of flame', and 'vire' means 'rose'.
So, fast forward a few months. After I got back from Kansas after last summer, I went to download some new anime series. A couple of them that I wanted were only available through IRC distribution bots. As I hadn't used IRC in a couple years, I really didn't have any nickname that I was using. For some reason I decided that I would translate 'Pyruvega Narovire' into Japanese.
For those not familiar with Japanese, the Japanese language is something of a mess. It's a mixture of true Japanese words and many words that were borrowed from Chinese (and more recently English, though English words mostly relate to technology). Worse, the Japanese usually learn both the Japanese pronunciation(s) as well as the Chinese pronunciation(s) for words present in both languages. The reason for this is that there are many cases where the Chinese pronunciation of a Japanese word is used; one example of this is in names.
Names in Japanese consist of some pronunciation encoded as a series of characters (usually kanji borrowed from Chinese, but sometimes Japanese hiragana). In names, all pronunciations of the words/kanji are fair game, and it's not unusual to see some kanji of the same name pronounced as in Japanese, while others are pronounced as in Chinese (from what I've seen, Japanese first names have an average of two kanji). This allows Japanese names to be very poetic, as there are often a large number of ways to write a given name, each with different kanji (thus meaning different things). Even worse for Japanese-as-a-second-language people, there are many ways to pronounce a set of kanji, and often only tradition will tell you which is correct (though if it's a name I made, tradition won't help you, either).
So, I had two tasks: to pick a set of kanji for my name, and to pick a pronunciation for that name. The kanji were relatively easy to figure out, though I also did some picking of pronunciation at the same time. The kanji I chose were 炎 (flame) 魔 (witch) 火 (fire) 野薔薇 (wild rose).
As the first name was a mish-mash of languages unrelated to Quenya (the "true" language, we could assume), I thought it would be best to use Chinese ("foreign" words in Japnaese) pronunciations for the kanji in it; this made the first name Enma (炎魔). As the last name was pure Quenya, I decided to use pure Japanese, making the name Hinobara (火野薔薇). Of course, the Japanese (as well as many other east Asian societies) write their family name before their given name, but never mind that.
For trivia value, both Enma (many different spellings) and Hinobara (日野原) are real Japanese names, though they are both family names, and they use different kanji than I used. Enma is, however, also the way the name Emma is transcribed into katakana (エンマ).
On a tangentially related note, one misspelling I accidentally used at one point ('Inma Hinobara') is an anagram for "I am a ban rhino", which was awesome.
I generally put some care into creation of characters in such games. Sometimes I'll create characters derived from my stories. And even if there is no character in my stories appropriate for a character class, I usually try to come up with an appropriate name and some coherent theme for the character. Sometimes these original characters even find their way into my stories... (one even became the main character of a series)
So, after I'd come up with a suitable theme for the character, I had to come up with an appropriate name. While I usually just pick names for how they sound, in this case I decided to modify some of the first thoughts I had (based purely on sound) so as to give it an appropriate meaning.
The name I ultimately decided on was Pyruvega Narovire. The first name was originally based on sound, and is a mish-mash of languages. 'pyru' is derived from the Greek word for 'fire', and 'vega' means, roughly, evil sorcerer. After getting the most important part of the name (the first name) done, I felt a bit more free with the last name, and decided to use Quenya based on meaning (though the partial rhyming of the two names was not a coincidence). Here, 'naro' means 'of flame', and 'vire' means 'rose'.
So, fast forward a few months. After I got back from Kansas after last summer, I went to download some new anime series. A couple of them that I wanted were only available through IRC distribution bots. As I hadn't used IRC in a couple years, I really didn't have any nickname that I was using. For some reason I decided that I would translate 'Pyruvega Narovire' into Japanese.
For those not familiar with Japanese, the Japanese language is something of a mess. It's a mixture of true Japanese words and many words that were borrowed from Chinese (and more recently English, though English words mostly relate to technology). Worse, the Japanese usually learn both the Japanese pronunciation(s) as well as the Chinese pronunciation(s) for words present in both languages. The reason for this is that there are many cases where the Chinese pronunciation of a Japanese word is used; one example of this is in names.
Names in Japanese consist of some pronunciation encoded as a series of characters (usually kanji borrowed from Chinese, but sometimes Japanese hiragana). In names, all pronunciations of the words/kanji are fair game, and it's not unusual to see some kanji of the same name pronounced as in Japanese, while others are pronounced as in Chinese (from what I've seen, Japanese first names have an average of two kanji). This allows Japanese names to be very poetic, as there are often a large number of ways to write a given name, each with different kanji (thus meaning different things). Even worse for Japanese-as-a-second-language people, there are many ways to pronounce a set of kanji, and often only tradition will tell you which is correct (though if it's a name I made, tradition won't help you, either).
So, I had two tasks: to pick a set of kanji for my name, and to pick a pronunciation for that name. The kanji were relatively easy to figure out, though I also did some picking of pronunciation at the same time. The kanji I chose were 炎 (flame) 魔 (witch) 火 (fire) 野薔薇 (wild rose).
As the first name was a mish-mash of languages unrelated to Quenya (the "true" language, we could assume), I thought it would be best to use Chinese ("foreign" words in Japnaese) pronunciations for the kanji in it; this made the first name Enma (炎魔). As the last name was pure Quenya, I decided to use pure Japanese, making the name Hinobara (火野薔薇). Of course, the Japanese (as well as many other east Asian societies) write their family name before their given name, but never mind that.
For trivia value, both Enma (many different spellings) and Hinobara (日野原) are real Japanese names, though they are both family names, and they use different kanji than I used. Enma is, however, also the way the name Emma is transcribed into katakana (エンマ).
On a tangentially related note, one misspelling I accidentally used at one point ('Inma Hinobara') is an anagram for "I am a ban rhino", which was awesome.
Subscribe to:
Posts (Atom)