Forgot your password?
About this Journal
Niss is a computer program who keeps a journal as she explores virtual worlds and gains new knowledge and abilities.

No, really.
Current Month
 12
3456789
10111213141516
17181920212223
24252627282930
31
Dec. 2nd, 2006 @ 07:14 am Playable Demo: Sailing
Current Mood: sad
Current Music: Zelda - The Wind Waker - Pirates of Dragon Roost Isle OCR
Tags: ,
Download Playable Demo: Sailing



Wow, it's been a long time since I updated this, and far too little's been accomplished. Here at least is the little worldsim, referred to as "Skygold" in my notes (following a color/element theme after Evergreen & Aquablue) but not having a good name.

You control an intrepid triangle (vermillion, ie. reddish thing) that moves around. There's also a ship (brown thing with a "sail") that you can enter and exit. Both can jump, and the ship has cannons. The game world is an infinite archaepelago, and a few targets (little squares) are scattered around the zones immediately around the starting zone.

Controls:
Intrepid Triangle:
-Move: Arrows (8-way)
-Jump: J
-Board Ship: Enter
Ship:
-Change Speed: Up/Down Arrows
-Turn: Hold Left/Right Arrows
-Jump: J; you get stuck on islands, but escape is possible.
-Cannon: X (port), C (starboard); try shooting offscreen and quickly following.
-Exit Ship: Enter; note that this doesn't automatically stop the ship...

The graphics system is rudimentary because I was focused on the "physics" and controls, but there's music (MIDI included, OGG compatible) and sound (WAV). Though little-or-not used here, I've got code for items that can be picked up if you're close; characters with stats; a graphical interface; simple wind (not sure how to do tacking); and randomly-generated tribal traits.

Imagine that this had either a zoomed-in 2D view or a true 3D view; you had stats like energy, with the need to keep fed; and on the islands you'd find NPCs, monsters (switching to a turn-based combat mode?), and caves.
About this Entry
Oct. 29th, 2006 @ 03:37 am Bwoong! Kssh!
Current Mood: amused
Tags:
It's a sign you've found a fun gameplay mechanic when notice you're making sound effects for it. In this case the triangle-ship now gets blocked by islands, but it can jump ("Bwoong!") by giving it a positive vertical speed and applying gravity acceleration and some collision code, with a little shadow effect.

elif event.key == K_k: ## K_k is gonna make you Jump(), Jump()!
self.player.Jump()


And you can spawn cyan circles that start at the ship, move in an arc, and get caught against coastlines. ("Kssh!") Preferably rapid-fire while jumping over an island.
About this Entry
Oct. 25th, 2006 @ 11:55 pm Brainstorming: Limited Conversation System
Current Music: StarTropics - Cave (Arranged)
This is re: the first comment on the last post. Short answer: Yes, I think it'd be playable.

With difficulty I was able to find the game "Noctis," specifically "Noctis IV CE," which is described in this article. Is that the open-ended pro-gen game you're referring to? I (and the article writer) found "Noctis" painfully empty, because there's so little to do and no one to interact with. (Also the graphics are badly dated, not that I'm one to talk.) So, I agree that some content should be saved from game to game so that for instance, characters remember you. But what about characters that are not just saved, but pre-generated? In "Morrowind" for instance, Crassus Curio is someone designed in advance who appears in every player's game in the same place. (In talking with him I'd save, kill him, and load again.) Would you want to have pre-existing characters like that, or have permanent characters but have them all random? A compromise is that by storing the PC in the same format as an NPC, you could swap character files and have your character become an NPC in another player's game.

Re: conversation, The Disney game "Toontown Online" uses a restricted chat system as a form of censorship, allowing free chat only with "Special Friends" like that Congressman or priest you befriended. That "Speed Chat" system looks like this, apparently mostly consisting of emotion displays. That'd be useful with AI characters too since it eliminates the parsing problem, and only rules out types of interaction that the AI doesn't know how to handle anyway.

But how I'd like to do conversation (barring true parsing) is without menus. Instead, say you type everything. The program recognizes phrases like "Hello," and you can also type custom text and annotate it, like this: "Let's go! (Follow me)" The program would learn that the first part means the part in parens (which is a known command), so that in future you can just say "Let's go!" and that becomes an accepted command.

I'd also do conversation outside of a dedicated conversation screen, unlike "Morrowind." The game demo Out From Boneville has conversations such that you can address anyone you're talking with. I like that and would say, you can talk to anyone nearby. Also, speech should be seamless with other actions, so you can talk, pick something up, walk around, build a fire, talk more, then backstab someone and start combat. That seamlessness would make for more complex interaction than the usual interrogation method.

As for making PCs and NPCs indistinguishable in an MMORPG, that might actually be a good idea. I played a demo of "Guild Wars" where you could hire NPC henchmen, and thought that was a good idea, and MMORPGs aren't known for social interaction anyway.
About this Entry
Oct. 25th, 2006 @ 04:24 am Archaepelago
Current Mood: perversely incentivized
Current Music: Zelda - The Wind Waker - Pirates of Dragon Roost Isle OCR
Tags: ,
Islands Of Repetition (old version)
Islands

In a coding trance of 3+ hours this afternoon, I built on yesterday's work... a dummy graphics engine supporting a real-time, gridless, 360-degree-movement worldsim. The part I did today was terrain generation using random numbers. Thanks to the articles here and to some extent here I read about different algorithms for making up terrain, and programmed a few... and then found that the best-looking method was my ad-hoc, "draw a bunch of blobs and add noise and smoothing" approach. Tonight I found that due to some hash-related problems the islands were repeating (see old version), but I think that's dealt with now thanks to some TSA IRC help. I really like the look of these islands, although it'd be better to space them out more and have multi-zone continents sometimes, somehow.

(I also worked on improving the Loebner Prize transcript program AmyRosetta, and on a code AnnaLiza that I suddenly realized is a stupid and useless approach to describing a program.)

Right now you can pilot your triangle using ship-like controls, moving through map zones that are random but the same for each game. With this procedural generation technique you could say to another player, "Check out this thing I found at (42,0)," and they'd see the same random landscape. That approach solves several of the problems involved in using random "dungeons."

This project doesn't have an official name yet. If I keep working on this thing, I'll add some simple physics of gravity and collision to go with the existing rotation and movement and crude wind effect. First application: cannonballs. There are already items and a "take" command. As usual, the "worldsim" is independent of the graphics engine.

The Part I Could Use Advice On )
About this Entry
Oct. 20th, 2006 @ 07:04 am A Little Something Like This
Current Mood: worried
Tags: ,
Non-anthropomorphic description of what happened:
The program was given a piece of data saying:
"X has properties A, B and C. A is a constant. B has a relationship to B' and B''; C has a relationship to C' and C''"
And told:
"Make up a chunk of data, X', such that it keeps anything constant and for any other data, randomly picks a related version of it."

Anthropomorphic version:
Input: "X is a fox with boots. Make up something similar."
Output: "Y is a rabbit with gloves."

In playing around with random content generators, I was just doing random stuff. This is a bit more purposeful, and is a demo I'd had sketched on paper for some time as a way of doing something interesting with my network code. Here, instead of picking data completely at random, it has to look up a category for the existing data and apply that information to build something new but similar. So primitive.

This sort of task is part of creativity, but only half of it. Some fancy random generators like Kurzweil's Cybernetic Poet can produce text like this:
Sashay down the page
through the lioness
nestled in my soul


That's cool, but how often does it do that? It's possible to get that sort of text through sheer randomness, so even though the Poet is more complex than the hundred-monkeys method, what's key to that example having gotten public attention is that Kurzweil selected it as "good." Same with writing: anything I write could be generated by throwing darts at a list of words, so the difference is in my hit rate; why don't I post (many) stories that are gibberish? I think the process is largely due to the ability to judge semi-random output. I might think up a bunch of possibilities for a character or something, then discard almost all of them by sensing how they "fit." The Cybernetic Poet does kind of do that, on a word-by-word level.

Say you want to design a space probe. There are a couple of priorities like having lots of sensors, enough fuel, and some sort of mobility. You could write a program that spins out random combinations, but it starts being useful when it can evaluate each one, saying "Nope, this one's too expensive," then go back and change the parts that don't work, homing in on one of several valid designs. A lot of what Hofstadter's research group did is this same general approach to machine-based creativity.

Similarly, you could write the skeleton of a story by not just picking random items from some lists (though that would technically work, and I might even do it for fun), but by having some way to judge features like a recurring theme, escalating conflict, and resolution. For a while I've had an idea for a simple-graphics game in which you play as Scheherezade, putting down cards representing characters etc., against a Sultan who has a basic ability to tell whether your story is interesting. The best auto-writer I've heard of so far is Brutus, from 1998.
About this Entry
Oct. 17th, 2006 @ 03:39 am Recreational Chemistry
Current Music: MegaMan 2 - The Doctor Named Wily OCR
Tags: ,

Glider Gun, courtesy of Wikipedia

I was wondering about cellular automata, mathematical games like Conway's Game of Life. You can get entities that move and change from an imaginary grid of two colors and very simple rules. But has anyone really done a much more complex version, to see what sorts of structures emerge? I'm told that Greg Egan's Permutation City has something like that and I've heard of some other sci-fi novel like it, but who's really done it?

Some people have done Conway variants, but they're pretty much the same. One stands out: WireWorld, which uses only 4 colors (barely) and even simpler rules than Conway, yet is capable of being used for a digital computer that calculates primes and has human-readable numbers! I suspect that this sort of virtual machine will be a part of future "roguetech" that emerges if it becomes illegal to own a general-purpose computer, one without legal safeguards built in.

Anyway, I had a fun time thinking about more complex virtual physics games. My thinking was this:
Let's Get Physical )
About this Entry
Oct. 5th, 2006 @ 12:35 pm Scoop: Loebner Prize Contest Transcript
Current Music: Alternative Dispute Resolution lecture
Tags: ,
On the Robitron discussion list there's been heated debate about the official Loebner Prize Contest 2006 transcripts. Specifically, Mr. Loebner believes the format provided there is ideal because it includes details like the exact timing of every keypress, so that "Hello" becomes:
J2 011584861190593750 64285874 remote left H
J2 011584861190717687 64285999 remote left e
J2 011584861190875503 64286124 remote left l
J2 011584861200015687 64286296 remote left l
J2 011584861200125000 64286405 remote left o


And that you can download, install and run software to read the contest transcripts in only six steps. Other people pointed out that this format is less than fully legible, which led to reminders of disagreements over certain aspects of the contest format this year.

So, rather than scrape this text against my eyes any longer, I wrote a program that produces something more readable. Here is an unoffical transcript, so far just of the winning AI, "Joan." It's mixed in with the text of a human confederate.

I'll probably do the other transcript files and post those in the same place, along with my hastily-composed and titled program "amyrosetta.py". This at least revolves the debate, I hope, and was really not that hard.

Update: All four are now posted, along with the code. I still have trouble reading these things, what with all the deleting and the simultaneous conversations. This is after making an effort to format the text better and separate out the text by different speakers; check out the originals!
About this Entry
Sep. 17th, 2006 @ 03:08 am Rip It Up, Tear It Down
Current Music: Julien-K - Waking Up (Shadow the Hedgehog) via YouTube
Tags:
About this Entry
Sep. 16th, 2006 @ 04:03 am On a Lonely Beach
Current Music: Tide sounds from Freesound
Tags: ,

Still Life With Blue Spheres, POV-Ray

Isometric 2D tiles ca. June
OpenGL 3D cube landscale ca. a few days ago; uses same landscape data as above
Scurvy ca. tonight; a from-scratch OpenGL landscape using true polygons (triangles) and height-based texture choice. Also the translucent water plane washes up and down. The height data could be loaded from the same file as above, or I could even load from a greyscale bitmap.
Scurvy again; zoomed in with a sprite that's displayed in the right spot but not yet translucent or properly camera-followed.

These were the result of focusing on the graphics engine for a few days. I think I'm going to let these sit for a little while and work on the AI. It's all modular enough that I can do that separately. I could use opinions though. The pure Pygame version looks the nicest so far, but is painfully slow (6 FPS) and can't be rotated. But it works. I would like to have a working graphics engine of some kind for the sake of the main AI testbed, and for the sake of some version of DarkSide. Maybe I should put no further effort into the 3D for now? Same old problem.

Also, I learned enough about XML style sheets today that I can format info on game items, characters etc. for the Web. That is, I can use the same data files for a game and for an online guide to the game showing item stats etc., auto-formatted to look nice and auto-updated so long as it has access to the game's actual files. Thanks to this tutorial, which I ripped off.

Finally, this video is silly.
About this Entry
Sep. 15th, 2006 @ 05:15 pm Why Johnny Can't Code
Tags: , ,
Slashdot posted (twice) references to an article by David Brin on "Why Johnny Can't Code", and I've got to disagree with him on this one.

He complains that his son has been unable to program in BASIC on the home computer, and that while some textbooks still carry little math/logic exercises in BASIC (?!), "nothing even remotely like them can be done with any language other than BASIC." Which is blatantly false. Look, he cites "running an experiment in coin flipping, or making a dot change its position on a screen."
Coin flipping in Python:

from random import randint ## Load a function for picking numbers.
## Flip once by picking a random number, 0 to 1.
n = randint(0,1)
print ("Heads","Tails")[n]
## Do it repeatedly!
tails = 0
for n in range(100):
____if randint(0,1) == 1:
________tails += 1
print "You got "+str( tails )+" tails."

Brin specifically says Python and Perl "don't make this experience accessible to students in the same way" because with BASIC, "You could even do it all yourself, following along on paper, for a few iterations, verifying that the dot on the screen was moving by the sheer power of mathematics, alone." Uh, I would think that even you non-programmers have some idea what each line above does. Ditto with this old Pygame demo. You program line-by-line instead of with some graphical GUI, you work with variables and files, and you're "close to the algorithm," more so than in BASIC. Brin also seems to think that BASIC isn't a "high-level language," and that C++ is. So, he's way off base here, even if he did write Startide Rising on an Apple II. I'd like to see computers prominently offer Python and Pygame for kids, which would require only that the Python folks think to put a shortcut to IDLE on the desktop or something instead of burying it in a subdirectory.

He is, however, right that computers are becoming "consumption" devices rather than tools for creation, and in pointing out that our grandfathers' generation played around with cars and then applied those skills to repairing jeeps and tanks in WWII.

By the way, Brin is also advertising a product called Holocene Chat, which is covered by a very broad patent! backed by strong IP! all your code are belong to us! The thing looks a bit more advanced than Furcadia.

Oh, and given that this is Brin, the real question should be, how do we teach programming to dolphins?

...In C.
About this Entry
Sep. 10th, 2006 @ 05:18 am Leviathan
I know, I'm posting too much. A little late-night idea:

What if you had a Web site where visitors collectively control a single character? With something resembling a Web form or Wiki, they decide what the character thinks about various things and what actions to perform. I write a paragraph or three, and then anyone who wants to graffities up the text making judgments and observations. Then that feedback influences how the character acts in the future.

"Vix walked down the hallway [in a silly mood] and saw a rabbit-man looking around [confused? lost?] holding a book [I wonder which one][I don't care!][I do!]. Overhead the flourescent lights [ugly things] buzzed, and the floor was spotless tile [shiny!][Looks grungy to me]. [I wanna ask him what he's doing!] [I want to say he shouldn't be in this building.]"

You could see each section with or without the commentary. What software format would be suited to this? Wiki has been suggested, but it'd be helpful if you could see the original copy alongside the marked-up version, and if it were obvious what parts were the original text and which parts the commentary. I was thinking comments would be in brackets or italicized (annoying if it has to be done manually), but maybe letting people edit totally inline, changing the original text as much as they want, is OK! Is there a way to auto-display the original alongside the latest revision?

Does this make any sense?

This Wiki RPG thing was suggested too, but while it looks interesting, it's probably not suited for this kind of story. It's a combination of a weird semi-interactive RPG engine and a list of "Major Projects" that are descriptions of RPG settings and rules.

A really neat thing would be to see one group of people controlling one character, and another group a different character, and how they interact.
About this Entry
Sep. 9th, 2006 @ 12:29 am Points of Light
Current Music: Wild Arms - Not Alone In the World OCR
Tags: ,

This is from a successful test of a "scanner" system called Darkly. It keeps track of people and things: noting where they are relative to "me," shifting the entries around to reflect movement, and allowing for a direct link to any sort of data record about each one. (Most of the challenge was in getting the graphical display to work right. Automatic scaling etc..) Where I left off, I was thinking about how to record terrain, because a view of nothing but "there's a person at (4,2,0)" is as barren a view of the world as the picture suggests.

So then I read slysquirrel's story. Now I really think there should be some way of getting access to more information about the world. (Come to think of it, this view also centers everything around a cross... hey, maybe this is that Christian AI thing after all!)

But it seems cumbersome to make a data entry for every single spot of terrain. One option is to store just a little info about each spot, then let some "codelet"-like system make generizations about larger-scale structure like "this area is a hill." Or it could be like the vision system, looking at a height-map or color-map of an area, then referring anything of interest to other systems. There should be something. Even if this is the level of detail in the world itself, the above system doesn't capture it adequately. But what is vision other than a way of turning a complex 3D world (biased towards 2D for humans, I think) into a "chunked" list of entries like "there: wolf, there: castle?"
About this Entry
Sep. 7th, 2006 @ 12:10 pm "I am a prototype of a much larger system."
Current Music: Deus Ex - Opening
Tags: ,
A company called AISeek claims to be working on an AI accelerator chip. I'd heard several proposals for such a thing, answering, "Accelerate what?" This chip looks like it handles some specific low-level, CPU-intensive stuff like the "A*" pathfinding system, which makes sense. The demos (which I can't run) show things like soldiers maneuvering through changing terrain. Neat idea, but it's not the same thing as handling decision-making processes like "which faction should I support?"

There's a paean here to Deus Ex, "The Greatest Game of All Time." I don't know about that, but it was really good in terms of its story, gameplay, and music. Part of the appeal is that you can solve problems in multiple ways and tell the story your own way. I imagined the guards in one level waking up with tranq darts in them and thinking, "They told us he was evil... why didn't he kill me?" It's said you can win without touching a weapon. The article quotes an interesting conversation from the game about surveillance and AI.

See also this article on the ways the environment did and didn't enable new kinds of gameplay in Deus Ex and Morrowind, and maybe this one on how making memorable characters like those in the great Sly Cooper series requires creativity and artistic style, not high polygon counts. But that article's wrong to say "we want stories to be told like movies!" I got sick of Metal Gear Solid 3 because I tried it for around 40 minutes and felt like I'd played for about 10 and watched for 30. The game industry's obsession with imitating Hollywood makes games dull, unimaginative, and absurdly expensive to make.
About this Entry
Aug. 28th, 2006 @ 08:19 pm Solinar
Current Mood: quixotic
Current Music: Final Fantasy VI - Victory!
Tags:
Thanks to the ever-patient Xepher, here is the little demo of character creation. Reload each time for a different character. This one is not just Mad Libs; here it's loading XML templates for "breed"/sex data, plus some internally-coded stuff about jobs and ideas. Then it picks a random breed, sex, and job, looks up stereotypical goals for that job (eg. "archaeologist" wants "knowledge" and "fame"), and mixes those up semi-randomly with some generic ones like "love." It was neat to see this in action one time as it shifted one of the character-in-progress' goals to a higher priority than "survival." It also builds a list of body parts with simple descriptions, including variable-color parts. Only "human," "squirrel" and "fox" are physically defined so far, so other species aren't built quite as you'd expect.

One application of this code was one of the story-writer tests. I was making a joke that certain stories about somebody turning into something are so formulaic they could be written by machine, and the joke got kind of carried away; I'll post it if you want. The "real" story-writer, Racctaur, doesn't use the body descriptions but can build some text like so:

--- Hunger In A Ship ---
He was a male badger shopkeeper. Eckert was in a ship with a deck. He wanted survival. But Eckert faced a lack of food. He searched. Eckert searched.


...Which is, again, not done by stringing together words as with the Novel Blurb Generator, but by making up "beats" of a story and only later turning them into text. Where I left off with that, I was replacing the decision-making system with one more based on the characters, giving them a list of descriptions of objects/characters around them and letting them choose an action...

Which was the strategy of a Toon-making experiment I tried once. The kind of impulsive behavior it should generate would probably work for a cartoon. Say you draw a side-view house with some props and characters, give them conflicting goals, then let them chase each other around a bit. I don't know if you can quantify this sort of thing, but it'd be fun to try. The Toon RPG already does have an Adventure Generator and a Things Falling From the Sky Table.
About this Entry
Aug. 28th, 2006 @ 12:31 am The Coded Conspiracy
Current Music: FreeSound recording of ocean waves
With much difficulty and help from Xepher from Xepher.net, I was able to get Python programs working on the Web, in the sense that you can go to a file using a Web browser and see HTML generated by Python. I put together a basic demo of character creation using my story-writer code, to at least show off instant collections of goals, names, and body parts, but... it doesn't work. The problem is that the largest file, Emerald.py, is about 60KB and the utility I'm running on the server (dos2unix) to change the all-important line breaks, breaks.

So... Here. (Reload for a new story each time.) This is a Python version of my Novel Blurb Generator, slightly better than the JavaScript version here. It's inspired by an unintentionally funny book jacket. No fancy stuff here, basically just Mad Libs.

I have way too many projects to work on, and feel paralyzed by that and [deleted from public view. If you want the rant and know who I am, ask.]

In the meantime I looked into programs that do interactive fiction, and ended up building an interactive version of a fantasy/sci-fi story called "Exchange Program." Description is here and here because the line between storytelling and programming has gotten completely blurred.

Worked on the main AI code again... I feel like I'm afraid of it, because it's complex enough and I've worked so little on it lately that it's just an intimidating, super-complicated infinite time sink where I barely even understand my own attempts at it. Should I be focusing on this, or on a playable version of Shining Sea, or what?!

In the process of doing the story-building stuff, I combined its precursors with some DarkSide code to create "Solinar," a module that describes characters both in terms of raw RPG stats and story-telling information like what they look like, what they want, and what they believe is a good way to solve problems.

Check out MorgueFile and FreeSound for free-license pictures and sounds.
About this Entry
Aug. 22nd, 2006 @ 11:46 pm Skeptic
Current Mood: sick
The magazine Skeptic printed my letter about AI! Ah, it's been too long since I've had something in a Real Print Publication. This is what I wrote and pretty much what they printed, on page 14, complete with awkward wording:

------

As a hardcore rationalist and dabbler in artificial intelligence, I was startled to see Skeptic trying to debunk AI alongside pyramid power and creationism. Though the article gives me pause, it leaves me still unwilling to give up hope. Here's why.

Baby steps. Although no one's yet built HAL or Commander Data, parts of the AI problem have already been tolerably solved. DARPA's 2005 desert race saw multiple cars navigate a 132-mile course without drivers. Software that recognizes faces and speech is for sale. Programs such as Avida, the Creatures games, and the "chatterbots" of the Loebner Prize Contest demonstrate some aspects of learning, memory, conversation, and even evolution. Robots like Sony's Qrio and MIT's Cog and Kismet use vision and control human-like bodies. No barrier exists to combining such technologies into a system that walks, talks, and performs useful tasks independently.

AI is young. The article mentions the Wright brothers, but ignores their significance. We live in the equivalent of the millennia-long period between the legend of Daedalus and the Kitty Hawk flight. How can we dismiss AI after hardly a century since Babbage and Turing? Another lesson is that the airplane had to wait until underlying technologies were developed, such as the internal-combustion engine. Considering how primitive computers were even a few years ago, maybe the last century simply wasn't the Wright time for AI -- and this one is.

A rational worldview. If the human mind is the product of the brain, and the brain is an arrangement of matter obeying physical laws, then theoretically we can understand and duplicate its design based on the six billion existing versions. Of course the task is hard, but there are shortcuts. Douglas Hofstadter suggests we need only copy the brain's large-scale patterns rather than aping every detail, like building an airplane with feathers. The writers at the Singularity Institute predict a "seed AI" that writes much of its own code.

With these and other tricks yet unknown, plus the systems that already exist, I see a young and ambitious field where the article sees premature failure. AI is like a kid playing at the beach, still lacking any understanding of it, but we have reason to believe it will soon grow up.
About this Entry
Aug. 13th, 2006 @ 04:55 pm Story Writing In Progress
One thing in progress is a set of story-writer programs that have just been combined, with some underlying character code that could be useful for other things.

Right now the "Racctaur" program can build characters with a name, race, sex, job, semi-random physical description (eg. eye and fur color), RPG-style stats (using DarkSide code), motivations, a decision-making system, and a little bit of "knowledge." Then it can use them build the skeleton of a scene in English. With some more effort it should be possible to build scenes using the characters' own decision-making.
About this Entry
Aug. 11th, 2006 @ 05:32 pm How It Would Work
Current Music: Eels - Railroad Man
Don't fear technology; fear those who control it. -Grafitti seen in Cambridge, MA

This is actually interesting from an AI standpoint. A proposed "hijack-proof plane" (sure) would involve having passengers "be minutely observed by sensors throughout their flight, recording everything" and automatically detecting suspicious behavior. "We have to show it's not Big Brother watching you, it's Big Brother looking after you."

Yes yes, evil evil evil. But it's also interesting to consider how such a system would work. Most likely it would:
-Track the position of every person in an area (by motion and shape detection)
-Identify them (by retinal pattern, voice, gait, face, fingerprint, RFID)
-Identify their mental state (confused, violent) and goals (find something, kill someone) by comparison with known profiles of body language and behavior. Eg., looking around a lot suggests confusion or wariness, worth watching either way; gaze fixed in one direction can be traced to idenfity what the person is looking at.
-Respond with some sort of behavior.

This is AI! In a way it's similar to the systems I've tried to develop. The main differences are that instead of a single "body" it has only the ability to offer advice -- so it's just a tool rather than an independent virtual creature -- and that it's got a much more omniscient view.

The question is, what kind of behavior? A "dark" version would simply be a government tool, used to find threats to the state and alert the people with guns (only the authorities, of course). The "light" version would use the same technology to give everyone access to the data. Imagine that while wearing fancy "i-glasses" (a term I want popularized), you can actually see the bouncing orange question mark over my head as I drive, offer to help, and instantly see any social contacts/products/etc. I'm looking for. The logical consequence is that we'd also know exactly where the cops and speed traps are, so the same authorities would fight for the privilege of lurking in the shadows while denying it to everyone else. Interesting conflict. As long as networks like this are being built, why not demand that they be used for our own purposes too?

The more I see of these technologies, the more I'm pushed towards Brin's conclusion that univeral monitoring is inevitable and that we must demand that the cameras point both ways. One product that should be developed and mass-produced ASAP, according to this theory, is a video/audio device that automatically uploads footage elsewhere and resists jamming. (Related real tech here and here.) Another would be a Web site that lets you watch your Congressman in real-time, preferably with a button to activate a shock collar.
About this Entry
Aug. 8th, 2006 @ 04:16 pm About Time!
Current Music: Sonic Adventure 2 - Eggman's Theme
OK. Here at long last is the playable "Phase One" demo of DarkSide.

Features:
-Bugs
-Button/menu interface
-Tutorial
-Playable demo of building, movement, and combat
-MIDI music (can use OGG and WAV as well; omitted to save space)
-Non-obvious feature: select your own character portrait by clicking on it on the setup screen

Anyway it's clunky, and does pretty much the same thing as the "JPF Demo" that was text-only, but it's there. Doing this taught me a thing or two about interface design and the way that the status of a graphical program has to flow. What disappoints me are the terrible "production values," details like the fact that buttons don't beep or change when clicked. It doesn't help that that last-minute font problem made the text look wrong (though in hindsight it reminds me that an option for changing the text size should be fairly easy, and a good idea). I think part of my... (Um, LJ's font changed just now. Odd.) Part of my animosity towards DarkSide is the fact that it's supposed to look evil, with all the black and red. I like a "good"-style interface better even though it's done with exactly the same code.

Now what?

Oh, on a different note: 30 million surveillance cameras in America, with research going on into detecting "erratic body movements" and (seen elsewhere) identifying people by gait. Citizen, you look nervous... Yet we're forbidden public access to this technology.
About this Entry
Aug. 7th, 2006 @ 03:02 pm Project Complete: DarkSide Phase One Demo (Not!)
Current Music: Vvvvvooo.
Thanks to Aaron Maupin of the Pygame discussion list, the error was fixed. So, here is the "Phase One" demo of DarkSide...
[pause]
Or here it would be, were Xepher.net not refusing my FTP connection all of a sudden. Come on, world, it's not that bad a demo!
About this Entry