Zones of Thought

I recently finished a book by Vernor Vinge called Children of the Sky. It was the sequel to A Fire Upon The Deep. They are part of a continuing series called the Zones of Thought series, which has overtaken the Known Space (by Larry Niven) series as my favorite series of books.

The series is based on the premise that the galaxy is divided into these so-called “Zones of Thought”. They dictate the level of automation and intelligence physically allowed in that region of space. They are an inherent property of the galaxy, but their boundaries can shift, either slowly over thousands of years or rapidly in “zone storms”. They radiate out from the center of the galaxy.

A map of the Zones of Thought

A map of the Zones of Thought

The zones are as follows:

At the center of the galaxy are the Unthinking Depths. Intelligent thought is impossible, and computers fail. Humans turn into animals.

Beyond the Depths is the Slow Zone. The speed of light is the ultimate cap on speed and hyper-intelligence is impossible. Computers cannot become sentient.

Above the Slow Zone is the Beyond. In the Beyond, faster-than-light travel and communication is possible, and automation becomes much more capable. The Beyond falls into layers; FTL drives increase in capability as you get “higher”. Machines built in the High Beyond will work less efficiently or fail in the Low Beyond. Most of interstellar civilization exists in the Beyond.

The highest Zone is the Transcend. The Transcend is the subject of much study in the Beyond in the field of Religion. This is because the Transcend is populated by hyper-intelligences called Powers that are essentially gods. Products manufactured in the Transcend are often sold to the Beyond, such as anti-gravity fabrics, machinery, etc. Powers sometimes interact with Upper Beyond civilizations by sending “emissary ships”.

A Fire Upon The Deep is based around a malevolent Power that is awakened from an archive in the Low Transcend that is the subject of a human expedition. The Blight, as it is called, proceeds to wipe out local civilization in the High Beyond. Only a single human ship escapes from the “High Lab” in the Low Transcend, and it carries a portion of the archive that, if reunited with the Blight, will destroy it. The Blight recognized this (it had been defeated in a similar way long in the past) and set out to destroy the Countermeasure.

Another human group figures this out and, with some help from another Power that is subsequently murdered (nobody is quite sure how Powers work) by the Blight, escapes the Blight’s invasion and travels to a world at the bottom of the Beyond where the ship carrying Countermeasure has taken refuge. The Blight pursues them, causing havoc in that part of the galaxy.

In the end, Countermeasure uses some strange Transcend technology to harness the system’s star (it actually goes dark for a little) and cause a massive Zone storm that extends the Slow Zone to engulf the world and the Blight (30 light years out from the world) and much of the Beyond in that part of the galaxy. This traps the Blight and the humans in local space, giving the humans a century or more to build up the technology of the civilization on the planet before the Blight builds ramscoops and comes to destroy its nemesis once and for all.

What really interested me about the book was the world the humans become stranded on. It is inhabited by an interesting alien race. Each alien is composed of 4-8 individual “members”, and so they are referred to as packs. Each member is a dog-like animal that communicates with the others using “mind sounds”. This raises some interesting consequences; for one, two packs cannot get extremely close to each other without losing consciousness; it is very hard for packs to work collaborate and thus it is hard for new technology to be made. Their civilization has been stuck in a medieval state for a long time. Packs also live for a very long time. They replace old members either through inbreeding (within their own pack) or by breeding with another pack. The only way for a pack to die is if all of the members die, which pretty much only happens in combat (or sickness). Packs can also split into two or merge. Also, each member contributes different aspects of personality to the pack. This means that packs can be planned, called broodkenning. Essentially, people can be “built”. Of course, when the first four humans land on the planet, all hell breaks loose.

The four humans from the High Lab are a family, with a small boy and a adolescent girl. The two parents are killed in an initial attack launched by the militaristic northern kingdom the humans set down in. A pair of traveling packs see the attack and kidnap the wounded girl, taking her back to a more understanding, peace-loving kingdom (ruled by “Woodcarver”) in the south. The boy is captured by the northern “Flenserists”. He doesn’t realize that they are malicious though, and ends up befriending a pack that was built entirely from puppies (usually such packs become autistic). The two are manipulated by Flenser and start communicating with the human rescue expedition. Woodcarver’s kingdom has a dataset from the girl, and they use it to build cannons and prepare for war with Flenser in the north. However, Flenser has the support of the rescue party (since they don’t know that Flenser is evil). Eventually Woodcarver defeats Flenser in a battle just as the rescue party arrives.

Vernor Vinge always creates interesting aliens. There are others in his series, such as the Spiders in A Deepness in the Sky and the Skroderiders (sentient plants, essentially), who are space traders in A Fire Upon The Deep. I draw a lot of inspiration from his stories, both in character design and plot creation.

Advertisements

RPCreate: The Website

I apologize for the recent set of more technical posts. Then again, I guess I’m not that repentant, since this is going to be of the same breed. I was told that to attract an audience I have to focus on a certain subject; I’d rather that subject be me. Perhaps I’m just going through a technical phase… Next post won’t be technical though, just generally nerdy.

After learning how to use the basics of Google AppEngine, I’m ready to create a full-fledged website for my own purposes. It will be a clever conglomeration of some of the projects I’ve been wanting to do. These are, by name, a wiki, a forum (bulletin board), and a hub site for RPCreate. RPCreate is, of course, my new idea for a Minecraft server. I wrote a post about it not long ago. It needs a strong site to support the community, and I feel like a free forum and free wiki are not enough; not only are they missing a critical piece, the main homepage, but having the services separate and externally hosted also means I can’t implement custom features that would really help with creating a strong community.

The main front page would be largely static, with only occasional major announcements and also portals to the wiki and forum. It could also have feeds from both sites, proving an easy way to check up on the latest activity. The server would also interface with the Minecraft server, allowing server status (online/offline, players, etc) to be displayed in a banner across all the pages (in the wiki, forum, and hub).

Another bonus of consolidating online resources is that the site can have a single user database that works for the wiki AND forum, so you can view recent activity from a single profile page and track karma/helpfulness across the entire community. In addition, it would facilitate the fight against griefers, spammers, and other mischief makers. Banned or misbehaving players could have recent hurtful activity reverted with a single click. In terms of helpful utilities, setting up a system for emailing notification of server events (like steam community groups), or emailing players that haven’t logged onto the server in a while, would be trivial.

A free service like Google AppEngine would suffice, and if I posted banner ads then the revenue could be spent on something like a text notification service or a real domain name. I also like AppEngine because it uses Python to generate the entire response, so you can do whatever you like behind the scenes, unlike PHP. You can even map multiple directories to a single function, or generate dynamic directories. Because of this huge flexibility, I figure a Python-based web application would be the best choice for interfacing with another server, like a Minecraft server. PHP either doesn’t have that kind of capability or it’s too difficult to figure out for a lazy bum like me.

This entire website would also act as a springboard into other web applications I have planned. Once I have this under my belt (because I don’t pretend to be experienced in website creation), I can move on to ambitious, revenue-generating projects. I would talk about them here, but they might get stolen…

Eh, I’ll probably go over them in another post. Stay tuned, and subscribe to my RSS feed, or follow me on Twitter @mattlevonian.

Portal 2 Element-Based Level Generation

This is not going to be a full post. I just wanted to bring to your attention that the Portal 2 team has just recently launched something they are calling the Perpetual Testing Initiative. It essentially allows players to use a simplified in-game editor to create test chambers, and then immediately build and play them. It adds in aesthetics, detailing, and essential level elements completely procedurally.

It is, as I would like to believe, a response to the post I made a while back about Procedural Level Generation, in which I outlined a similar idea. This reinforces my theory that anything brilliant I say will be executed in a year or less by someone else. I’d also like to take this opportunity to point out how brilliant it would be to build more nuclear power plants. Oh wait, I’ve been saying that for years. And they just recently started planning for a new one.

On a side note, I think the entire idea of the Steam Workshop is an excellent idea. Steam has broken PC barriers and surpassed game consoles, but now they’ve really done it with this amazing forum for player-generated content. I’m excited to see how else they will use it in upcoming games.

TF2 Mapping Competition

I recently got back into Source mapping (I made a post about this a while ago). However, the first thing I did was say, “I’m going to find a community that does Half-Life 2 mapping.” Apparently, none of those exist. I guess I should have expected as much from a 4+ year old game. I was depressed for a bit. I though about migrating to another platform, but I’ve been working with Source for a long time and it’s the platform I’m most comfortable with. My ventures into CryEngine 3 and Unreal Development Kit, have been a bust. Maybe a project for another time.

Anyways, I decided to start mapping exclusively for TF2. Turns out, that’s a lot more fun. It’s less work to set up a fun map; more of the work lies in coming up with a good idea. Then you get to enjoy the map simultaneously with your friends, and if your map becomes popular it’s very gratifying to see people on a server playing it and having fun. I needed a platform for my maps though; a way to get them critiqued and then onto a test server. Now, I had tried out TF2 mapping before, but I had self-taught like usual and my maps weren’t very robust (or finished).

So I went on a search for TF2 mapping communities. That’s when I found TF2maps.net. It’s a community of serious mappers that hosts competitions and has servers and regular map testing events. It’s the perfect source of critical analysis and constructive criticism I need. It also helps me feel less alone while mapping, and I know that once I finish the map people will play and analyze it.

That’s one of the reasons I’ve been so busy. In addition to AP week and my Udacity class, I jumped straight into some mapping action over at tf2maps.net. I signed up just as the latest big official content had ended, so I instead decided to enter in a smaller, unofficial contest.

The contest is based around redesigning 2fort; keep the style and feel while creating a gameplay area that can handle a game of 32 player instant respawn. The description in the thread calls it a spiritual successor. Here’s a link to the contest thread: Reimagining the game’s worst map. Here is a link to a download/description page: ctf_teufort.

Anyways, I’ll be doing a lot more of that, so expect some more posts regarding that. I also want to post more videos on YouTube, so I think I’ll make some overview videos for each map I make.

Speaking of which, I fixed my screen two days ago, and filmed it! I’m going to composite the video over the weekend and then post it. In fact, I’ll be doing a lot more editing in the coming months because I’m finally getting the editing job for HDP (which I wrote a post about, too).

That concludes this series of shameless plugs.

Udacity

I was going to write this post a lot earlier, but I’ve had a lot on my plate recently; AP tests are coming up, track is coming to a close which means a slurry of meets, and I’ve been doing a Udacity course. Udacity is a site that offers free online courses in a video-lecture/machine-graded-homework format that allows thousands of people to participate in each course as it’s happening.

logo-udacity-1600-900px_article_landscape_gt_1200_grid

It was created by the professors who taught the Stanford AI online course, which pioneered the format. It was a huge success, so they decided to create a separate organization which offered a variety of these free classes. They also bring in different people to teach the different courses.

For example, the web programming course that I’m taking is talk by one of the cofounders of Reddit, Steve Huffman. The course is quite interesting. Of courses, I taught myself HTML and PHP, but there are holes in my knowledge, both basic and advanced. The course filled some of those in, but it also teaches an area I’ve never worked in before.

The course is mostly about building an app using Google App Engine. For those who don’t know, App Engine runs a Python environment. You upload code and other files which, given a request, generate a response. You can map out various directories to either query code or directly draw HTML or other documents. Within the code, you have to write one or more handler classes which extend the App Engine API. They have functions for GET and POST requests, which then build a response. Google App Engine also has other functionality, such as data storage.

Anyways, posting will get back up to speed after the AP World History test, which marks the end of a lot of my business. Next post will be more TF2, so stay tuned.

%d bloggers like this: