Website

Please visit www.kyncreations.com for more official info on my projects!

Sunday, June 5, 2022

A Quick Thought On Camera Controls

Over the years, a standard has emerged for how a player controls a camera in a 3D game. How the camera frames the player's perspective is crucial to both interfacing, and for providing information. 

Most camera-in-the-sky games (city-builders, RTS, strategy, etc.) use either the middle-mouse, or right-mouse button click-and-hold style to orbit, and edge-scrolling, or the keyboard arrow keys to pan. 

Since the left-click is almost universally used for primary actions (mostly selection), the right-click is designated for opening context menus or setting target positions. Mouse-wheel scrolling typically controls camera zoom, or, less obviously, camera forward position.

The importance of the distinction between right- and middle-mouse click-and-drag cannot be overstated. Many laptops do not have an obvious middle-mouse button at all. To zoom, you'd use a 'gesture' (usually multiple fingers moving up or down on the pad) emulate scrolling. So, if you want a "gaming" laptop, you'll almost always end up also using a mouse to play those types of games.

For consoles, you also don't have a mouse, but you do have controllers, which have thumbsticks, buttons, and triggers. You just don't get the fine control that a mouse provides. That's the biggest reason RTS and city-building games were never entirely popular on consoles: players don't have the ability to quickly select, pan, and designate targets with controllers.

Any time a game strays from what is now the standard for orbit-style camera controls, I find it difficult to adapt. For instance, let's say a game uses the left-mouse click-and-drag for controlling camera orbit. I may go from attempting to select something to completely changing my perspective all of the sudden. Similarly true for a game that might attempt to have both a left click-and-drag for selecting multiple objects and, say, a shift-button-and-drag mouse for controlling camera orbit.

Some finely edited games take out these kinds of camera controls entirely. Some of them only let you pan, and maybe have one or two levels of zoom. Others have orbit controls, but then limit the arc to only allow a limited change of perspective. Others still limit the orbit to only happen on one axis; a kind world rotation.

Regardless of how designers and developers implement camera controls, I do feel it is important to point out the ubiquity of the keyboard-and-mouse setup. Fewer moving parts may be cheaper to mass-produce, but the resolution of control one gets from moving a mouse across a flat surface is going to be really difficult to beat.

Thursday, March 11, 2021

Cross-Server Layering in World of Warcraft

I'd like to describe a social dynamic that is created from a series of design choices made by the World of Warcraft team. But first, some context.

To me, World of Warcraft (WoW) has always been one of this generation's greatest social experiments. While it wasn't the first, nor the last popular MMORPG, WoW created an interesting social dynamic out of a fantasy narrative. Players could choose which server they played on, so that they might ensure they were playing on the same server as their friends. Guilds allowed players to come together on those servers - even if they weren't already friends. 

Player guilds are represented by visual items: tabards that have their own slot on the character and show on top of any chest armor; and the name of the guild appeared below the player's name (which itself appears above the player's character). So the players had factions, or tribes within the game. Tribes are one of the most basic aspects of the human social dynamic.

One of the main mechanics of the game is questing. Questing usually involved killing enemies or finding certain items. This came with problems, especially on high-population servers. Players would either kill enemies too quickly to form a meaningful group, or only one player or group would get credit for the kill and then run off. Enemy respawns meant waiting for a timer that itself was not in any way dynamic. Quests that did not involve killing had similar issues, where an item would be picked up, disappear, and then players would need to wait for it to respawn. Even grouping up would not solve the issue.

Then something happened. The developers decided to implement a server mechanic called layering. What this did was spread people out so that, while it was still possible to run into people in the same layer, it cut down on the preponderance of players overlapping each other on quests, and to some extent, allowed players a bit more time to group up.

Overall, assigning quest credit is a difficult dynamic to solve for, as there are many edge cases that require effective finesse. I'd rather not get bogged down in the details, and focus a bit more on the effects of what layering did to the player experience in WoW.

Before, without layering, all the players on a server could see and interact with each other at any time. There were dungeons (actual 'instances') but those were gated - the group you were in when you passed through the gate is the group you'd have in the dungeon. Outside of dungeons, if there were too many people in one area, you'd be placed in a fresh layer, often times basically by yourself (at least geographically). It kind of killed the atmosphere, in exchange for a less competitive questing environment.

And then it got worse. Layering became a cross-server dynamic. In order to put back some of that atmosphere, areas or quests intended for larger groups or just more people saw players from other servers added in. To denote that the player was from another server, a tag, "(*)" was placed at the end of their name. While interactions with players from other servers were more or less the same, the chances of you seeing those players ever again were slim to none.

Diagram on layering: https://i.redd.it/xpz3z1ly1dy21.png
Developer Interview: https://www.youtube.com/watch?v=jYuUD0o-Nz8

Object permanence is definitely a crucial part of gaming, especially for players in online games. Because digital objects can be spawned and despawned at will, with little to no context, creating even the likeness of object permanence is a demanding goal. Having other players appear and disappear without reason can absolutely destroy a person's sense of immersion or enjoyment in any game. 

I don't think cross-contaminating the server populations was a good move. Either you have dedicated servers/realms for players or you don't. Many games simply assign players into regions (US/Europe/Asia), because that's what the server hosting companies do. I would speculate that even with layering, as long as it was within the same server, the social dynamic within the game would have been preserved. In other words, allowing players to interact between populations of different servers effectively voided meaningful social interaction within the game. If I know I'm likely never going to see someone again, I may not treat them the same. I'll still show respect and cooperate with them, but I may refrain from befriending them, or integrating either way into a social group.

In conclusion, design choices such as server/layer assignment have huge overarching implications for the player. The game as a whole changes in broad strokes as a result. I find many similar online experiences equally hollow because of a lack of object permanence. 

Say what you will about that, but those ideas are typically difficult to describe, categorize, and prove, without dutiful, costly testing.

Saturday, June 27, 2020

Invididual Wealth

One idea keeps occurring in many of the discussions I have about modern society: wealth disparity. Highly industrial and technological nations often have the benefit of automation, food security, and good healthcare. Long life and limitations to how citizens can contribute or produce create questions about a person's purpose. What do they do? How to they pay for goods and services, food and shelter?

When large institutions and corporations manage all the collective money, individuals in those 'clubs' are often provided access to lavish lifestyles and seemingly infinite wealth. People on the outside, however, are left with next to nothing; a system of oppression, poverty, and helplessness. An unfortunate side effect of capitalism is that it creates a two class system - those with all the wealth and those with none of it. And of course, those with all the wealth manage both resources and influence. Policies are made by those at the top, and largely ignore how it effects large chunks of the population. Laws and regulations tend to ignore those at the top entirely, via loopholes or outright inability to prosecute. Wealthy individuals are untouchable in the eyes of words on paper; mortality, however, remains constant.

We seem to forget that wealthy individuals are simple, fragile human beings just like everyone else. Sure, some people might be smarter, or taller, or faster, or better public speakers, but in the end, we all suffer, we all feel the same emotions, and we all bleed the same. What makes one person worth so much more than everyone else? They can speak on TV? They were lucky enough to grow up in the right family? They had the tremendous opportunity to trick people out of their money for something that had little or no value?

Why do we, as human beings, allow individuals to have so much more than everyone else?

Objective facts show that one person does not need more wealth than what is acceptable. But how much is acceptable? What are those objective facts?

I'd like to explore what those might be. In reality, I'm limited by the amount of time I can put into this, so I'll try to summarize and ask questions where further exploration is needed.

First, let's assign an individual human being a monetary value. Insurance (you know, betting against a company that something will happen - a form of gambling) allows us to access data that places monetary value on human life. In short, at the time of this writing, the value of human life in America hovers around $10 million or about $128,000 per year.¹

That gives us a good baseline for what our minimum and maximum should be. For practical purposes, I'm going to assign a humanist minimum at the poverty threshold, because I believe that all human beings have the inherent right to survival. $12,800 - one-tenth of the total value, or about $1 million over their whole life.² From that, it's easy to extrapolate the maximum value to be $1.28 million per year, or $100 million for their lifetime.

That's it. $100 million is the most an individual should have for their whole life. That value also assumes extremely valuable contribution(s), such as quality leadership or meritorious innovation. So why do we allow individuals to accumulate billions?

The finer details become grayed when you consider the valuations of resources and capital and otherwise non-tangible goods, not to mention corporate holdings. Part of the problem today is that we tend to accredit stock valuation when determining an individual's wealth, never mind the fact that stocks aren't real - they only demarcate an emotional value. What happens when the stock market crashes and many/most company's values go back to zero? What happens when a corporation and its products are no longer relevant? Supposedly, market forces and capitalism should more or less handle these events without outside intervention. But that's not happening, at least not as quickly as it needs to.

The next pertinent question is, how do we balance the current situation? The wealthy have already been allowed to consolidate wealth, so how do we convince them to reinvest in the world they occupy?

The obvious answer is climate change. There won't be a world to live in, reasonably, without direct and massive efforts towards reigning in our impact on nature. Refocusing on sustainability instead of growth. Putting millions of people to work on conservation efforts would be an easy way for a wealthy individual or a powerful corporation to reinvest in communities.

Decentralizing food production (massive land grant programs in fostering new small farms) could invert the trend of people moving to city centers and creating wealth drains. In most cases, a minimum supplemental income could foster a massive re-balancing of wealth from rich to poor, while simultaneously reinvigorating small towns. The point is, there's so much that the wealthy could do - that's the point, they have the resources - they should be the ones asking what they can do for us.

Then, maybe, if the responsible adults realize they can facilitate the change that will make the world better, we can all decide to limit the wealth individuals can have, and perhaps even have control over (i.e. limit corporate wealth). Why is it just a few dozen people get to decide what to do with hundreds of thousands of people's worth of resources?

Why can't we utilize the technology and data we now possess to automatically elect representatives for every neighborhood?