WEEKLY NARRATIVE
I did a whole bunch of things this week! I'm starting to feel super comfortable with my ability to produce visual effects quickly, and every day the game's potential to look cool grows. As a team we're moving past the slow start of implementation and hypothetical design and getting to spend more and more time on implementing levels. That means in-game spaces to decorate and light, and mechanics to spruce up!
I had also resolved last week to commit to getting assets and effects in the game for good, after spending a while developing my graphics skills without focusing on anything Rememberant. I started by getting the ripple-pancake xray effect into the game, _and_ adding a targeting circle to show the player where the xray will appear on a wall, while the hold the button down to place it. I wanted to make the expansion of the xray to feel as satisfying as possible. I made the targeting circle a slowly swirling starry spiral. The glowing dots move excitedly inward in anticipation of the xray ripple pancake inflating into the wall like a balloon. Next step: add some sounds. Stay tuned.
Next up after that was to texture and decorate the new levels. Up until only one of our artists had been able to spend time on UV-ing and texturing the levels, and they'd been stuck for almost all of that time just UV-ing the level geometry due to how complex the levels were. I decided it was about time I helped!
Until now I hadn't realized how helpful our plans to flat/gradient shade all of our objects were, but once I started Uv-ing -- When everything looks amazing with a gradient along its whole self, one planar project is enough to UV almost anything. The usually complicated process takes just a minute. I managed to get our Desk, Gurney Table, Overhead Fluorescent Light, and CRTMonitor assets into the game with textures in the time it normally takes to do just one.
And on that note:
When you're stuck doing things the usual way, building a game with gradient textures is a little less efficient than it should be. In order to test colors together, try out gradients on an object, and adjust those based on lighting, a texturer would have to go into photoshop, draw a custom gradient with colors they're partially guessing, save the file to the folder in unity, find that texture again in unity and fix its import settings, make a new material and add that gradient texture, and then find the object and attach the new material to the object.
But no more. I made a shader that takes a gradient in greyscale as a texture for the object. You pick two colors, and it will Lerp between them based on the the grayscale value of that input.
With just one input gradient, you can make every possible gradient using any colors you want. This week I textured around eight objects in twenty minutes using one greyscale texture, and without leaving unity! We're about to speed up asset generation in a very big way.
Here's another thing I did:
Back in the Week 2 or so, I implemented a lighting trick that the developers of Abzu dubbed portal cards in their GDC talk about the graphics of the game. It's a method for highlighting dark areas, and creating specific areas of controlled lighting without handling clumsy unity lights. They work by overlaying color based on the depth texture of the renderer. Instead of casting light upon objects in the scene, it approximates the depth of the scene and draws a convincing but totally fake volumetric fog. (I'm still learning about real volumetric lighting).
This week it occurred to me to apply an alpha mask to the billboard the creates the portal card's light-fog. This makes it possible to cut a specific shape for the light to fill in the air, resulting in a gpu-time-cheap and easy to implement volumetric light that doesn't necessarily emit light. (Not emitting light but looking like a light means we can decorate a level with twenty fluorescent lights without blinding the player!)
You can use it for light shafts, too. (Yes i know this is indoors. I only have hallways available at the moment of looking for a screenshot for this.)
The last thing I did this week was a little bit of flavor I'd wanted for a long time, back at this project's conception:
Our game is filled with humanoid heartbeat monitors and CRT screens, and supposedly in a coma-dream! This was a necessary fix.
I'd been learning to rig unconventional things for a few different projects and realized when modeling the monitor that the rig was this simple:
Odds are high that I'll be doing this with more objects than these.
CONTENT WITH HOURS
- 5 hr xray target particle
- 5 hr uving and texturing
- 1 hr making a slick configurable gradient shader
- 4 hr populating dash tut
- 2hr debugging the scene that got scaled very, very wrong
- 2hr rigging, scripting, and placing the monitors
- 2hr meeting
WORKFLOW EXAMPLES
See above?
POSITIVE OUTCOMES
- Things are beginning to look good. The feeling good is coming along too, of course.
- We accomplished a few things this week in addition to my quick gradient shader that are going to help us move much, much faster in the future. Here come the asseeeeetts
NEGATIVE OUTCOMES
- We've still got a lot to work on with control and with level design before this game can feel smooth and fun. I have a feeling it's the most challenging part of this whole thing and I'm hoping to get a chance to help the level designers.







No comments:
Post a Comment