Its getting harder and harder to find time to write these blogs as the Senior Show grows closer and closer. Its not all bad, Re[mod] is a phenominal game, and working on it has been a rewarding, exciting experience. This past week I worked on Health effects, the rocket boost effect, revising and optimizing some of the other effects, and finalizing the bullet wall impact effect.
Since we’re so close to the end of development I’ve been tasked this week with a fun flashy effect: fireworks! I’ve only been working on it for about an hour but I have some Ideas in mind for how to really elevate the effect.
I’ve missed a couple of blog posts along the way thanks to stuff like, Classes, and GDC getting in the way of my normal posts. But on that note. I WENT TO GDC! It was such a valuable experience for me. I got to meet a ton of really fantastic people, including making a lot of connections to the rest of the VFX sub-community. I also drank, like, a lot? More than I’m used to. I feel like that’s sort of the point of GDC though– a bunch of people who work way to hard and are so incredibly passionate, getting together and nerding out over a lot of drinks. At least that was my experience! I’d specifically like to point out how cool the VFX meet up organized by the RealtimeVFX.com forums on tuesday was.
I worked on more VFX for re[mod] this week, as well as doing some general clean up as development on the project is wrapping up and things are going surprisingly smoothly.
So, I really needed to work on some stuff for my visual effects demo reel before GDC in like, less than two weeks, so along side my normal work as UI Designer and VFX artist for The Firing Squad and re[Mod] I rejigged my schedule a little bit to give me more time to do one of my absolute favorite things to do: Make some cool looking visual effects. This blog I’ll go over the iterative process I had for one of the effects I made
Starting with an idea I had for a “magical black hole bomb” I created a plan for the effect so I had some guidelines for what I was gonna end up doing.
I initially wanted to use two different panning noises to give the build up sphere a lot of detail for cheap, and add to the wispy, ethereal effect I was going for, however, there was this weird seam (you can actually see it extending from the center of the sphere to the right on the texture) that only appeared when I had more than one panning texture on it. So I Had to go back to the drawing board.
I compensated for the less complicated noise, by adding more sub spheres beneath it to give the illusion of more depth of noise. I also added a slight refraction to the sphere, to increase the visual interest of the interior effect, as well as sell the “psychedelic space warping black hole” thing I was trying to go for. I also eventually swapped out the default unreal Sphere for something much more low-poly. I amplified the inverse fresnel effect I was applying to feather the edges to hide the chunkier geometry of the build up sphere.
This was right about when it started to take shape. Even with the totally place holder timing of the whole effect I’m still really pleased with the psycho trip light burst ring that spiral out at the end there.
I really wanted to get the Burst ring to do two things: pan through a gradient of color, and Decay based on a threshold value. I’ll be honest. I still don’t totally understand how the Decay part works (I turned to the RealtimeVFX forums for help on getting that aspect to work), but I was also directed to a really nice tutorial on Gradient Mapping by a friend of mine, and I managed to get that part working without too much trouble.
Panning across the gradient map really gave the helped the rings POP and added some nice visual interest and color complexity to the latter part of the effect. I probably tweaked the colors on the LUTs five hundred times. And even now at the end of the whole thing, I’m Still not entirely sure I’m totally happy with the colors in the final product. If I get some free time I’ll definitely go back and finagle with those values some more.
By this point its almost done. I spent a good chunk of time trying to give the sphere in the center a chaotic, unstable feel, but at this point the whole effect was still too slow. The impact of the explosion part of the effect was finally selling itself well enough to feel like an ‘Explosion’ The shrapnel sparks that I added also really help selling the intensity of the explosion. I still don’t think the explosion feels particularly ‘violent’, but I wanted the effect to be full of soft shapes, like the stuff being affected by the spell is the vapor and fog and light around the spell region.
This is the final effect as it currently stands. I’m really proud overall of most of the techniques and the feel of this effect. It forced me to go out and learn and implement things that I’d been reading up on and the effect is pretty nifty to boot.
So this week I spent most of my time revising HUD elements and then they were implemented, and then I revised them again
One of the big things I’m realizing is that I tend to backload most of my work to later in the sprint cycle. I plan to meet more often with the producer and start having due dates assigned to my tasks within the sprints so that they can be iterated on before next sprint.
This week I’ve been mainly working on particle systems, and revising the work I’ve been doing on the HUD
The rest of what I’m going to be working on this week is more VFX work for the the third person character model, as well as special effects for the weapon parts when they’re on the ground. In addition I’m probably going to be revising my HUD designs based off feedback from the rest of the team.
I LIVE! After 2 and a half weeks of being extraordinarily sick, I’m finally no longer bed ridden, and was able to get some pretty important stuff done this week.
My work on overhauling the HUD is progressing nicely. I’ve plotted out the changes I wish to implement, as well as produced the updated assets for the reticles, and most of the other HUD elements as well. (The ones I plan to do over the rest of the week are the final pass at the Health Bars, the time limit HUD and the capturepoint HUD)
The Core Ideas behind my changes to the HUD has been “give the players more, more useful information.” The first changes I outlined were to the reticle. This week they’ve finally been mostly implemented. The goal is for the player to know what exactly their weapon is made up of without ever needing to actually look at the gun. The reticle changes based of the barrel type. The firing mechanism changes what ammo is being fired from the gun, so the ammo display changes to indicate what payload is being delivered.
I’m also advocating for the removal of the Comparison HUD as its misleading and doesn’t actually convey the radical difference between part types.
The other big thing I did during this past week, was draft up a document outlining a potential change to durability. something that solves, what I think to be one of the major issues of the overall game experience.
See, the initial implementation of durability had each part with its own individual durability, and parts could break independent of each other. It felt very gamey and restrictive, and on top of that it was poorly communicated. I outlined a change defining durability as an overall value of all the durability stats, divided by a penalty for having too many LEGENDARY items on the weapon.
I’m honestly so excited to be back to full health and able to work on this project to the extent I want to. I’m excited to be able to start getting into some of my favorite parts of my job. I get to update weapon VFX and start working on fun shaders to add to the “Neon Cyber punk” Direction that we want to take the art direction.
So you know how last time I posted a rather short brief post where at the end I said I hoped I wasn’t sick next week. Well I spent most of the past 7 days in bed with a fever of 102. So I guess my wish wasn’t granted.
Being stuck in bed is sort of a bummer for morale and makes getting work done rather difficult. Despite my bedridden state I did manage to do at least contribute a little to the team’s work. To that end I played a boatload of single player fps’s and took a bunch of notes on their feedback systems and HUD/UI. Everything from Bioshock Infinite to FEAR to DOOM (2016) and even the newer Wolfenstine games.
On the few days I wasn’t feeling ill and awful I did more immediately and tangibly helpful work, like building an animated prefab for hit indication that the programmers can easily implement into the current HUD system that’s already in the game. It took only a little longer than I expected because I had to get used to SourceTree and the specific conventions this development team has for things like committing and merging and naming. I’m rather proud that I managed to get even that done this week given I was in the hospital TWICE this week. The plan for the rest of the sprint (now that I’m finally starting to feel a little better–thank god) is to finish up the HUD Overview and finish concepting out the updated HUD assets.
The other major thing I did to stay useful to the team was continue to interact and offer opinions, thoughts, and suggestions in the slack channel. The idea behind that was, even if I couldn’t go to the meetings directly because of my sickness, I could at least participate in the online conversations whenever I wasn’t asleep.
Obviously, overall this is a bit of a shaky start to the semester but as long as these meds work, and I heal on up, I’ll be more then able to jump back into my workload and get back on top of things! I just, really hope–knock on wood–that this really is the last of this awful hell illness that I’ve contracted.
A new semester means a new project, and I’ve been taken on as the feedback/ui designer for re[Mod], a competitive first person shooter designed around modular construction of weaponry with a fast paced neon aesthetic.
In my first week I was very sick, but despite that! I started off by detailing a series of tweaks and fixes to their reticle to improve communication of states like, taking damage, and dealing damage to the player.
I also made a few tweaks to the logo, (which you can see in the banner of this post)
And to cap of the week I exported all of the new ui pieces to the damage indicator and hit indicator
Belly Of The Beast, even at the start was a patchwork game. It was over scoped, understaffed, and generally absurd to take on given the team I had assembled. Even from the start I could tell that this project was going to be something, special. I don’t mean to talk about the game in such loose terms but at just about every step of development I was struggling to contain the scope and direction of the game. As the only person with any experience developing for Unreal, and the person with the most programming knowledge, I found myself put in a leadership position I wasn’t wholly accepting of. Actually, for the first half of development if I could point out one thing I could have done to improve the rest of the dev-cycle, it would have been to assume the leadership position much much earlier. My original plan was to split the leadership role with my co-designer, who volunteered to act as producer and project manager. It was two or three weeks in when I realized I would have to take a more hands-on leadership roles, simply because I realized that my co-designer was ill suited to managing and facilitating communication between team members. This of course was on top of my duties as systems designer and lead programmer, meant that I was constantly faced with serious questions about the design and direction of the entire game. I’ve never really been in a position before where I’ve done that. I’ve never been in charge of the end product, I guess you’d call it. It was a fascinating experience. And it let me create one of the coolest, most flawed things I’ve ever made. Flawed, in that its execution was imperfect, but I do still think that the design of Belly Of The Beast has real merit. Its movement mechanics are something that I’m incredibly proud of. A lot of senior games that come out of the Game Studio Cohort suffer from sluggish and generally unrefined movement. I spent a lot of time and energy taking notes on first person shooters that I thought had good movement. I took notes on Borderlands 2’s Gravity; I looked into how Blizzard communicated teleportation. I looked at maybe thirty different first person shooters and took notes on all of them. I wanted there to be this immediacy to everything the player could do. I wanted them to feel powerful. Not just strong, but like the power is bursting out of them. I always intended the game to be a bombastic, intense experience. I don’t really do subtlety, it’s not my thing. Which is good, because video games in general are bad at being subtle. Once I’d gotten the movement squared away I wanted to test different combat styles. I knew I wanted the game to be fast paced, and more centered on position than aim. I also knew that I did not know how to program AI for an FPS. So I looked to Bullet Hell Games for inspiration. For me, as someone who enjoys bullet hells, but is so bad at them they’ve never actually beaten a single one; I thought it might be fun to incorporate what I did like in bullet hells (the feeling of being completely overwhelmed, the precision) with the really solid movement skeleton I had created. Which leads me two my two big things I would change if I were to go back: I would remove the “grenade launcher” and replace it with something that fit the frenetic nature that I intended Combat to be. Something hitscan would have done the job much better than the grenade launcher that I had. I could have added a Z-Target system as well to help players orient themselves in a 3D space. Because the projectiles the player shoots have gravity to them, they require aiming, but since they explode they have to deal tons of damage, so the players end up being able to take out the “hives” the spawn the “bullets” very very easily; meaning that the challenge of avoiding the “bullets” is minimized because the players can just destroy the hives before they have a chance to spawn enough “bullets” to give the player a challenge. Speaking of spawning bullets; that’s the other major thing I would change. I didn’t make a bullet manager, so our game took a huge performance hit when more than a few hives are on screen. That just comes down to being a mostly self taught programmer and not having enough experience to realize that I needed to build one, until it was far too late to actually implement. Overall I really enjoyed working on this project and I intend to revisit it later; but for now. I’m going to enjoy taking a short break from active development.
The biggest, and possibly most bittersweet event this week is our team took a majority vote, and decided against presenting to move forward with development. On the one hand it means, I can finally sort of take a break; but on the other hand it does feel like, we put in all this work, just to not even try to pitch to move forward. Ultimately I understand and Agree with my teammates decision.
Anyway This week I created a rudimentary objective indicator system and implemented basic tutorial dialogs. Since this is essentially the last sprint I doubt I’ll get the chance to go back and refine these systems I’ve implemented in this final stretch. At least, not for a while. This is definitely a project I’d like to come back to and polish up; but it’ll be nice to take a bit of a break. It’s been an all-consuming part of my life for a few too many all-nighters. I’ll be publishing a full postmortem in the coming weeks. As of right now I’m gonna get some much needed sleep