This weekend I explored the viability of adding shaders in 2D game art to achieve a more dynamic look when lighting. I focused mostly on the normal map because it seems to have the biggest impact, but also interested in applying specular, opacity, and emission maps as they might be useful as well. The inspiration came from this article. Grégoire's forum post is very informative, and shows the wide range of possibilities by spitting/deferring shading. This post is my not-so-subtle "emulation" of his testing grounds. Albedo, Normal, Specular Maps + Light = Pretty Neat. Separating graphics into a few shader maps yields a drastically different look, and adds a wide range of variable lighting. It even makes basic 2D pixel art look pretty neat. I'm still working on establishing my Blender workflow for creating 3D assets, and the 2D graphics rendered. Similar to keeping sizing and mesh quality consistent, I want to be thoughtful of renders that might be needed later on. So, whether or not I end up using them, it won't hurt to have higher resolution versions, albedo, normal, and other maps in addition to the final image. Step one of this test was to create a scene, then render a baseline sample. Next, I figured out how to render a proper albedo & normal map. I'd like to eventually have a Blender scene or script setup to output all these maps at once. Rendering a specular map eluded me unfortunately. It might be easier than I think, I just seem to get bombarded with texture baking tutorials geared toward 3D artists. The Baseline - This is a typical image that I'd render for use in a 2D isometric game. It's textured & shaded. When combined in game, the lighting always has this top down 3:00PM appearance, and reflective surfaces are frozen in place despite what the lighting or surrounding conditions are. If I combine the two images below correctly, I should end up with something similar to this. Step two is to combine the albedo & normal maps. I didn't want to invest too much time installing and then learning a game engine like Unity or Godot just to test this one image out. So after searching high and low for a lightweight program that would combine these with some simple lighting tools I realized... I could just fake a 2D game engine's lighting right in Blender: Not too shabby for two flat images. Though, the metal doughnut looks like a concrete doughnut. This highlights the importance of a specular map image in this shader combination. Adding these maps makes a world of difference in a 2D game. With the addition of projected shadows, dark scenes take on a whole new life. I imagine wearing shiny plate armor could look drastically different, or areas lit by flickering torch light But, the problem with implementing this in Faldon is that we don't have normal maps. We need them for most everything in game for it to look consistent. There are thousands of frames of art when including all the props, animations, characters, and creatures. I remember we had this problem when we added the alpha channel to the newest game version. Luckily we handled this with a combination of clipping black edges, re-rendering new versions, and adding an alpha by channel in an image editor. Obstacle: No Normal Maps... A possible solution is to generate the normal from the already existing 2D graphics. But, it wont' look nearly as good as those rendered from a 3D engine. And it would require some fine tuning. I found a free tool called Laigter, and tried out some sample Faldon art: This might work. The specular map generation shown at the middle of the video with the wall weapons & shield is a nice touch. This is an example of what the metal doughnut was missing, and how metal reflective surfaces can respond to the environment. These generated normals have limitations and should probably be used to provide the texture, and not the overall geometric shape. The second video below shows why. It tests two separate normals for the same wall piece, the highly geometrical one to the right doesn't generate the correct top, left & right distinction like it should. There might be a workaround, and other tools and software to address this but definitely shows the snags that might occur in a mass normal map generation for an entire game.
0 Comments
An MMO has the potential to get very complicated, very quickly in it's design and content. Recently I was considering some specific aspects of Faldon from a high level in hopes to build upon the game mechanics, or simply learn from ideas/mistakes from the past to utilize on other projects. Starting here, with a limited part of an MMO game... One of my favorite activities in an online game, I’m almost embarrassed to admit... is the farming. When I say farming, I mean the tedious, grindy, time consuming task in a game. Think- mining for ore, chopping wood, fishing, or hunting over and over in hopes of a .001% chance rare item, or just accumulating more imaginary units of meaningless numbers that represent, at the end of the day, absolutely nothing tangible. Sure, there's plenty of other things to do in most online games: socializing, exploring, playing through a storyline, dueling other players, hacking your way through a dungeon solving puzzles for a chest of loot. Each of these with their own unique feeling of achievement or enjoyment. But if you’re like me, sometimes you just want to farm. That is what I'm primarily focus on with this article. The repetitive *click, click, click* work that has no reward in my real life. So, why is it fun in games? A better question would be, why am I drawn to continue doing it? The stark answer is laid bare in this simple game that’s aptly named- Dopamine. We’re wired for it. Life is a complex and unrelenting experience. There's enjoyment in pausing life to simulate an experience. That experience can be enjoyable & meaningful when you perceive progress from your actions in a way that you understand. Faldon in particular, this aspect is not nearly as enjoyable as it could be. Most players would rather set an automated clicking macro, and go about their day than be present. And, I don't blame them. It’s not my intention to overly examine lofty concepts of what makes people tick, but to focus on harvesting & crafting activities within Faldon to determine how to:
Faldon’s harvesting skills need more “steps” in an extended stairway of advancement. That’s a complicated way of saying that it’s very boring to right click on a tree over and over, and only receive a log. Then after a long long time of right clicking the trees your reward is more logs on each click. And, there isn’t that much use or value for these logs in the game. We can extend this stairway of advancement, let’s just call it a ladder. We can create a ladder by introducing more types of logs that require higher skill to obtain (skill increased by performing the skill, naturally). In addition to higher skill, they could also require more advanced tools, and also the ability to survive in the regions where they might be located. Here’s an example of this concept- Imagine Joe Newbie. He enters the new world of Faldon, kills a few snails and saves up for his first hatchet. Next he ventures out into the woods, picks out some nice looking pine trees and gets to chopping. At first this can be fun, because his skill is going up and presumably taking this pine wood back to town for some coin (let’s pretend there’s a game economy). Currently, this example is (mostly) all you can expect from lumberjacking. Now, add another step in the ladder. Imagine Joe has saved up enough coin for a sharper axe, equipped himself with a set of fur armor, and a bow & arrow. Now he can hike further into the woods, up a mountain in search of oak trees. He can stay warm when the snow falls, make quick work of wolves who’d have ripped Joe Newbie to bits, and gain access to the next wood tier... Oak- A more valuable resource required in an increasingly intertwined ecosystem of resources, that are refined & combined into a variety of specialized equipment & consumables. Perhaps this is more detail than necessary to drive the point, but it illustrates a component of satisfaction that can be had in a multiplayer game through recognized milestones of advancement. Something that makes an activity more desirable to engage in, is the chance of an unexpected reward. In an artificial world where there are differing levels of wealth and achievement, it’s more bearable to engage in an activity that you’re behind in if you still have a chance for a nice payout. Think of it this way- If you’re Joe Newbie, why even chop pine? It might be discouraging if other players are out there collecting rare endangered jungle hardwoods in exotic realms. This is where the random prize can help boost the appeal, no matter where you’re at on the ladder. I suggest adding the probability to get a rare prize while harvesting. Each time you’re chopping wood, you’re also playing the lottery. You could find a rare medicinal fern, or magic acorn while lumberjacking. Several different items, with varying chances to get. Each of these items would have some purpose as an ingredient in the crafting ladder to make a consumable or piece of equipment. Of course, the odds might favor a grandmaster lumberjack vs a novice, but this wildcard aspect can help level the playing field. Similar to finding rare woodland items while lumberjacking, you could also find rough gemstones while mining, or rare water themed items while fishing (squids, oysters, a fish that swallowed a ring, etc). Advanced levels of harvesting tools or requirements in other respective skills could exist as well. Consider fishing, you may introduce different lures, crab pots, or baits needed to entice certain fish. To recap.. Harvest skills could benefit from a ladder of advancement. Preferably requiring stacking challenges as you move up the ladder (traveling to different regions, overcoming obstacles & danger, advancing equipment and/or tools, or need co-operation with other players). A probability of receiving an unexpected rare item helps to spice up monotony. Online games are notoriously difficult to balance in any aspect. I won’t pretend for a moment that this is a walk in the park. Implementing a functional player economy is probably chief among the challenges. With that caveat out of the way, I think Faldon's current harvesting and crafting skills can be greatly improved with a couple guiding principles:
Equipment and consumables that are better, naturally would have increased crafting material requirements. This pulls from multiple gathering skill types and from various gathering skill levels. Again keeping with the Lumberjacking theme, below is another sample of an imagined skill advancement tree. Let's look at the “tiers” (low, mid & high) and consider how they could be siloed to make each skill level relevant. By relevant, I mean other players actually wanting what is being harvested. We’ve established Pine as our entry level resource example, a low tier resource on the a lumberjacking skill ladder. This resource could be used for common things like: cooking, making charcoal, simple arrow shafts, or pulping for paper production. It would be necessary to have a higher consumption rate and several uses to continually drive higher demand of these low tier materials. Moving on to the next step. These new resources wouldn’t be used for the previous purposes listed for pine. You might want it to be possible from a game mechanic standpoint. But if implemented correctly, a player wouldn't want to consume them for those purposes. This next level would have potential that the previous one didn’t. Perhaps Oak is required to produce better arrow shafts, or slats of lumber for shields. And Maple can be refined into a sap, or is specifically required to make & repair bows. As a result of being specifically used, harder to obtain, they should also be collected and consumed in smaller amounts. Now, if things are working as intended (chefs cooking, smiths smithing, archers shooting, scribes scribing), then there's always high demand for low tier wood. Furthermore, if high level players are busy collecting rare endangered jungle hardwoods in exotic realms, then they’re not collecting pine. Further pushing the value of low tier. The concept is summarized to: siloing the tiers, driving high consumption/demand at the low tier end, maintaining scarcity and specialized usage as you go up the ladder. Spending time on game "trade skills" such as these aren't for everyone. And, shouldn't be required to play an MMO. However, they can be a very enjoyable aspect of a well rounded game if implemented in a creative way. Some more tangents for consideration...
|
Wu
Archives
October 2020
Categories
|