Saturday, January 28, 2017

Mob variations.
I've thought a lot about different kinds of mobs as I've played various RPGs over the years. I hate when every enemy is basically the same. So, here are some variations.

Shield & Ax Gunts – Standard mooks. These are humanoids of large or medium size carrying a simple wooden shield and a hand-axe and equipped with light armor. When approaching an enemy they rush forward slightly and shield-bash as they enter combat, pushing past allies of other types. They do get shield-wall benefits and will try to align their shields to maximize these.
Pike Grunts – Standard mooks. These are humanoids of large or medium size carrying a boar spear and equipped with light armor. If directly confronted, or separated from the enemy by up to two ranks of allies (since the spear has reach), they attack and defend with the spear. They cannot fight effectively at short range because the butt of the spear is blocked by allies to the rear.
Spear & Shield Warriors – Improved mooks. These are humanoids of large or medium size carrying a short-spear and a shield, with 3 javelins on their backs, and equipped with light-medium armor. If directly confronted, or separated from the enemy by a single rank of allies (since the spear has reach), they fight with short spear and block attacks with the shield. If they are unable to reach an opponent but are within javelin range, they will switch the short-spear to their shield hand (held behind the shield) and then throw their javelins in quick succession to briefly increase the group’s rate of DPS output, then switch back to fighting with spear and shield.
Axe Berserkers – Dangerous enemy humanoids of medium or large size with poleaxes and protected by light armor. Once they are close and have a clear line of movement to their enemies, they rush forward with a powerful charging blow that has a strong ability to knock back and stun their opponents and can often break shield-walls. Though they are relatively easy to destroy, they have moderately high ordinary damage and can often one-shot players if they get a good critical hit with their poleaxe so fighting them is never a casual affair.
Knights – Strong enemy humanoids of medium to large size from well-organized and well-equipped enemy factions. These are armed with a longsword (a.k.a. bastard sword) and equipped with strong armor, while also carring a shield on their back. Once reduced to ⅔ health they will switch to using the longsword 1-handed while blocking with the shield. In groups, the knights that switch will tank while their fellows continue to attack at high rates of DPS by wielding their longswords two-handed. Because of this tactic, and because knights do usually fight in groups, focusing on taking down individual knights is not the optimum strategy for dealing with them. Rather it is better to attack each knight in turn until they switch to using their shields to reduce their damage before focusing them down.
Acolytes – humanoids of medium to large size from well-organized enemy factions that are moderately effective fighting with shield and mace, and light armor, but if unable to reach their opponents in combat they switch to producing a healing aura which functions as an area-of-effect heal-over-time spell. This can make all enemies they are grouped with far more effective, especially the heavily defended Knights.

Wednesday, January 25, 2017

On Good and Evil, Order and Chaos

The axis of moral conflict I envision is Law vs. Chaos. I don't see Chaos as a cool way to say "evil." There is evil stuff in the world I envision - mortal, divine, and demonic alike. Chaos isn't that. Chaos is freedom, or anarchy. Chaos is a loose coalition of individual hunters and subsistence farmers who band together when threatened - or who go hack up their neighbors in the other end of the valley if they encroach on what they consider their hunting grounds. Everyone thinks the guy who split the head of a kid from the other village with an ax is a bad person, but at least he isn't trying to be king.

The lawful side of that is easier to explain because our modern culture is so organized and mostly law-abiding.  Most of us think we are good. We think a banker that forecloses on the house of an old person with a revere mortgage over a minor billing error is evil, but we don't lynch him. When we see a video by some workers dumping chemicals illegally we may be appalled but we don't stage a crusade to find the dump site and put a stop to it. We routinely tolerate evil in the name of order. This is not exceptional, it has been the way orderly civilizations have worked throughout history. Hell, most medieval nations were Lawful Evil by the definitions of social alignments in D&D, though we routinely whitewash the way we think about them.

I don't think the alignment system is an effective way to describe characters. Real people are more complex than simple alignments. Good characters are more complex than a simple alignment too. I made this in reaction to people trying to pigeon-hole characters in Game of Throne into D&D alignments:


However, the alignment system is mechanically useful on a number of levels. I don't envision a system where individual characters have alignments. I do envision social factions which have alignments though, and individuals can through their actions develop positive or negative reputation with different factions. I don't envision factions ever fighting over their alignments as such. If they have goals that are in conflict, they might fight. But if their goals happen to align, Lawful Good and Chaotic Evil factions would certainly work together, at least temporarily.


Saturday, January 21, 2017

This is a high-poly character I got as far as texturing. 
I learned a lot from this because there are some minor aspects of the face that don't render well, especially around the eyes and nose. I was really proud of the results I got using the normal map to get good leather and skin texture though. I also liked that I was able to avoid issues where the textures on the nose and chin of a model gets stretch out by wrapping the skin around the model (vanilla Skyrim faces, for example). To keep this from happening I first unwrapped the skin from the face, then scaled the regions of the UV map representing the faces at the tip of the nose up slightly, then enlarged the region being scaled up by a ring of faces and repeated this until the faces representing the nose of the skin were larger relative to the faces they would be mapped to than the rest of the face, and moreso closer to the tip. This meant that there was more detail from the skin over each face at the tip of the nose and chin than elsewhere, so when the engine finished stretching the skin over the face, it didn't look stretched.

A horror creature I created that doesn't quite fit most fantasy settings (though I think it might be a good way of encouraging players to be afraid of deep water) is this thing that I think of as the sum of all nightmares. I had an idea that something was creepier if it seemed like its last common ancestor with humans would have been farther away on our evolutionary family tree. Spiders. Centipedes. Squids. You get the idea. This took that to an extreme. It is symmetrical from top to bottom, as well as from left to right, with the top legs simply curved down to touch the floor. It is also almost symmetrical from back to front. 

It would swim by beating its legs and tail rhythmically against the water. If fully realized in a game, it could also walk in a spider-like fashion as shown in this picture, and could climb vertical tunnels smaller than the diameter of its legs by pushing its legs against the walls of the shaft in all directions. I made an animated version that walked and attacked but didn't notice until it was too late that one of the vertexes of a leg hadn't been weighted properly when I rigged it so it was left behind as the creature moved, and haven't got around to fixing it since it isn't a high priority. 

Thursday, January 19, 2017

Procedural Dungeon Map Prototypes

These are some pictures of previous prototypes of maps, characters, and pieces of game content that I've developed over the last few years working on this part time.

This procedural dungeon prototype was a simple survival-horror game I created to experiment with procedural dungeon building, animation, and lighting. It uses a screen edge flash to show damage, because I find HUDs reduce immersion for me, so I'm trying to design a game that doesn't need artificial depictions of the game status to be fun and fully playable. I'll still provide the option for those that prefer a number though.

My distaste for HUDs started when playing Guild Wars 2 which was such a beautiful game I just wanted to turn off the HUD and immerse myself in the world. I died a lot that way, and even the screen-edge flash was part of the HUD so I couldn't use the screen flash to know when I was dying while turning off the rest of the HUD.

Our goal for procedural generation is to build dungeons in three ways - content specifically created by developers for a specific dungeon and either placed in a particular spot or a randomly selected spot in the dungeon (the latter to improve replayability), content created for any dungeon but specifically arranged for the dungeon in question, and content created for any dungeon and randomly arranged. To focus as directly as possible on the content that is specific to a particular dungeon, procedural arrangement of content gives a balance between our creativity the need to prioritize the focus of our efforts.

As a survival horror-themed game, this prototype took the concept of "dungeon" rather literally. It needs more assets to fill out the dungeon so it feels more lived-in, rather than just lights and dungeon equipment. All of this can be added procedurally using the same system used to add the dungeon furniture in locations that are appropriate to the layout of each dungeon room.
Another prototype based on on earlier version of that procedural dungeon builder is this one, although I hadn't animated the creature in this one. There was only one floor height in this version, and stairs as goals in each level to go up and down to other levels hadn't yet been built.

Both of these procedural dungeons need additional assets added to fill out the dungeon and make it seem like more of a lived-in space, which is a fairly simple process extending the process to drop the lights and torture equipment shown above into the dungeon but with additional art assets.



Sunday, January 15, 2017

Alvaon is a world bringing together backstory and world-building elements I've been creating for two and a half decades, along with procedural mapping technology to fill in the spaces between the key locations and story elements. This will allow the creation of a world that feels big because it is physically huge, but where the player can easily focus on the interesting parts instead of being bogged down by travel. This will be implemented through a system of unlockable fly-points to create a balance between narrative direction and agency within logical bounds. Also, the development time will be able to be prioritized based on the importance of each experience within the game. rather than much of that time being spent creating the roads and hallways that connect those experiences.

When finished, a player could run from point A to point B as is so common in traditional RPGs, but hopefully they won't. The world will be too big for that to be a fun way to play. The current prototype terrain map shown below generates a map that will take about half an hour for the player to run from the starting location to the farthest visible land feature, and that is expected to be perhaps 1/10th of the way across the game map. Sure, there will be some stuff filled in procedurally if the player goes out there, but the key locations will be linked by fly-points and fast flying mounted travel is intended to be the norm.


To get an idea how this is constructed, the picture below shows the regions with differing levels of detail. Each region is 100 faces by 100 faces, composed of a 10x10 grid of 10x10 planes. Each level adds additional detail on top of the display of the level below to create an extensive terrain that isn't hopelessly resource intensive. The picture above only shows the outer 3 areas because I only am using placeholder art for the closer textures so they are ugly. The forest art isn't a final version but it is a much better approximation. One of the key things I needed to know is how distant forests would look. I grew up in the woods so I'm picky about vistas of distant forested hills.
The picture below shows how that it all fits together using the grid texture.

Next steps are to make the high-detail region move with the player which is about halfway implemented, to make the higher-detail regions blend better with the lower-detail regions which should be simple, and to add splat-mapping of textures, and to stitch the tiles together so there aren't obviously sharp-edged lighting around their boundaries.