Sunday, April 6, 2014
Got it. Maybe a bit radical this one, but highly elegant. Depending on implementation, perhaps even highly futuristic! Not so far from what my own conception of the future would be. This solution was strongly implied by my initial discussion of the crew mechanic, but has not been formalized until today.
Low vs. High Detail: Separating Labor and Thought
The fundamental trick that we will play here to solve everything is that we will treat living entities as being split into two categories: high level-of-detail and low level-of-detail. Low-LOD entities are those that will be performing labor, while high-LOD entities are those that are performing thought and management. As I will explain, this split not only solves our problems, but it also has a number of positive ramifications. In many ways, this split will very naturally mirror the split that already exists in the game between objects (instantiated, full-detail) and items (low-detail, abstract information only). All-around, to me it's the most natural thing ever and I should have seen it from the beginning
To explain how this will work, consider LT to be like a multiplayer RTS. Were that the case, you would have a concept of your units, as well as a concept of the other players. You might use your resources to build new units, which can fight, mine, spread creep, etc Are your units alive? Sure. But your control over them is direct. You tell them to move, they move. You tell them to attack, they attack. They do so because they are 'low-detail' living entities. They might do some pathfinding and obstacle avoidance, they might try to dodge enemy fire, they may even try to automatically use abilities and weaponry as effectively as possible. But are they going to go rogue? No. Do you pretty much know how they're going to behave? Yep.
Now look at the other players. Similarly to you, they have units. They have resources. Can you control them directly? No. But might you be able to work with them to accomplish something? Sure. You say "hey, I'll pay you 1000 gold to make sure I get from A to B safely." If they accept, you don't know exactly what they'll do. You can't grab their units and control them as you can your own, yet you know that the other player is going to work to protect you. You see their units escorting you. You know that if a threat presents itself, they will respond appropriately to deal with it. They are a high-detail entity, making their own choices and managing their own units, and when you work with them, you are working on a goal-oriented (equivalently, job-oriented) basis, unlike when you work with your own units, wherein you are working on an action-oriented basis.
This is exactly the distinction that we will make in LT. We will view the world as being inhabited by low-detail personnel - let's call them, for the sake of the devlog, workers, and high-detail personnel - let's call them players. Your ship is staffed with workers. You have workers in your research lab, grinding out new technologies. Workers may control your turrets. But when you accept a mission, it is coming from a fellow player. If you want precise control over your fleet, you hire/buy workers. If you want someone else to help you make something happen, but you don't want to acquire and control the assets yourself, you hire other players (aka NPCs, despite the confusing terminology ).
Exactly how it should have been all along, right?
The True Nature of Workers
The exact nature of workers is, in my mind, an open question. I have no desire to get into ethical issues with my game design decisions, but being able to throw around and generally send workers to their deaths when and how you please does beg the question "are they human?" Part of the point of a worker is that, once under your control, it does as you desire. It does not have a high-level thinking process that would allow it to reject your orders in favor of some other course of action. What if we considered the low-LOD lifeforms to all be advanced robots / androids / whatever? Maybe even partial clones? You see, we could get creative here to help explain and further characterize the thinker-worker separation
To me, it doesn't even seem like a stretch that, in the distant future, the ratio of 'humans' to artificial laborors would be quite low. As we become better and better at creating machines that perform a specific role more capably than our own bodies allow us to, it seems perfectly natural that the place of the human would be more and more as the place of a thinker, managing large amounts of non-thinking workers that are actually carrying out the labor.
Obviously, one of the nice things that would come with artificial workers is that we can safely consider trading them as goods (with one-time costs), without any kind of moral dilemma "Hey did you see those Combat Pilot XLZ-600 droids on sale at Gartson? They're so cheap right now!" "Yeah man, I got a few of those myself. They're crazy good pilots, but sometimes a little overly-aggressive..." Indeed, we could think of workers as having attributes just like other items! And not even just raw capability, but perhaps 'personality' attributes as well. I won't even delve too deeply here, as the possibilities might make one's head explode
Performance Impact: That's a Lot of Activity!
By treating personnel at two different levels of detail, it almost goes without saying that we relieve ourselves of a lot of the computational cost of AI. But I'll say it anyway, since it's important Management is the most expensive part of the AI, because it requires advanced analysis of the local economy, consideration of asset allocation and the value of various tasks, etc. It's much more computational than, say, plotting a course for Alderaan (and even doing that ain't like dusting crops, boy.) By allowing a many-to-one mapping between workers and players, we create a universe that's capable of supporting vastly more large-scale activity!!
Skill Increase
Now, we've spoken of skill before in the initial introduction to crew mechanics. Even if the workers are artificial lifeforms, there's no reason to believe that they wouldn't be able to improve based on experience. In fact, if we consider workers as artificial (hence, trading them is morally-acceptable), we open up the door for an entirely new (and a bit strange) profession: training. Imagine setting up large-scale tasks for the sole purpose of training the machines involved, then selling them at a profit once they've acquired a high level of skill. Neat. Strange. Unlike any job you've seen in a traditional game? Probably
PC-NPC Symmetry, Player-Worker Asymmetry
Under this model, you can see that PC-NPC symmetry is fully-preserved. Players are all equal in their capacities. This is because we have moved the asymmetry into the worker-player split. Players are not equivalent to workers in their capacities. This is a question that was actually brought up when crew mechanics were first introduced: "can the player become a crew member aboard an NPC ship?" A very interesting question. Despite the argument that ensued, my intention had always been 'no,' but one would be hard-pressed to defend that position...until, that is, we introduce the worker-player split. Players do not become crew members for other players, so there is no need to introduce all of the extra game mechanics that it would entail (and thank goodness, because I think we're quite close to feature saturation for LT 1.0 ).
Faction Membership?
Ok, so clearly we now have a concept of belonging to a faction, but that's only as an asset. As a player, you will never belong to another player in the same way that a worker might. So what of faction membership? What of players who want to give their support and be a part of the larger plans of another player? Well, don't worry, the theory is moving along here, but it's not finished yet. Needless to say it will exist. Faction membership is still a concept and still different altogether from being contracted to perform a job or from being owned as an asset. It has not been forgotten!
---
Whew. That's quite a bit. Probably lots of other stuff to say that I haven't managed to remember but...I think I covered the basics.
These dev logs are absolutely out of control, eh??
PS ~ What? Did I just ninja 4 weekly summaries?
Post
Mon Apr 07, 2014 12:55 pm
#1
Week of April 6, 2014
“Whether you think you can, or you think you can't--you're right.” ~ Henry Ford