Gas station - Props, Polish & Final - 09

Making Of / 09 December 2024

Hey Everyone, 

Now that I have finished the project and posted it to Artstation, I wanted to make one last blog post to wrap up all the work for the project, provide continued breakdowns, and show the scene's progress. 

https://www.artstation.com/artwork/1nBRA3

After the last blog post, I completed much of the final work for the scene, including updates to textures, prop refinement, some new prop work, and general polish work. 

Here is a list of some of the Polish work I did initially. At this stage, I only had a few assets left to complete, so I wanted to tackle some of the more minor issues that were bothering me. I won't show screenshots of all this work as it was many tiny tasks. I will try to show stuff of significance. 

  1. Lighting passes for different times of day 
  2. Update the rounded door at the back 
  3. Update a missing trim on the roof/Fix any holes in the trim meshes 
  4. Do a trim pass on skylights 
  5. Fix broken tree trunk texture/shader 
  6. Balance the base colour texture saturation on the gas pumps 
  7. Fix missing road 
  8. Remove the moss from the floor/booths 
  9. Add terrain soil around the front of the gas station 
  10. Fix holes in the interior roof 
  11. Add a ceramic tile material to the counter interior
  12. Update the barrier assets 
  13. Puddle decals 
  14. Props for the restaurant interior

One of the first updates I wanted to make was to refine the different time-of-day lighting scenarios. I grabbed a bunch of refs in Pure Ref to try and get the different looks I was going for with Stormy, Day, Morning, and Night. I wanted them to feel distinct enough to show that well-balanced textures and good PBR values allow you to change the lighting easily.

I also refined the blends and updated all the shaders for proper tesselation, which, I believe, was introduced in Unreal 5.4. 

The story of the environment is that time has passed, and there has been an alien infection. I wanted to show signs that the human population resisted before the infection took over. 

I originally made the blockouts (that sit behind). These are placed using a spline in the environment, but I just threw them together as quick blockouts in Blender. 

To update these, I used the assets I had made for this project and others: wood planks, tyres, and barbed wire. 

Here are some smaller props for the interior so I can dress the inside of the station nicer. It felt like it was missing these smaller-scale props and some sense that people used to live here. Some stuff like fresh doughnuts don't make a tonne of sense as they probably would have decayed, but I just liked that colour pop. 



Here they are in the interior. 



I also wanted to show the signs of alien infection and had a few ideas. I wanted a primary source of growth, some gross-looking alien sack-type asset with boils. This would act like the base of a tree with alien vines or roots that would grow from the centre point. 



I also wanted the feeling that these vines would reach out and attach to different objects like spider webs. I planned to place many assets in the scene to give that alien invasion an abandoned feel, so I made some tools in Blender's geometry nodes. 

Here is a look at two tools I created; they are in a super early stage. One tool allows the vines to grow out from the base, and the other attaches webbing between objects you select. 




I also did some tests with the Alien assets as blockouts to check how everything would look in the game before committing to finishing the art to check if there were any changes I wanted to make at this stage. 



Once I was happy, I started working on the actual assets. This mainly involved sculpting in Zbrush and finishing with Substance Painter. 





Here is how it looked in-game once these assets were completed. To create the final result, I used the vine meshes on a spline tool to easily manipulate their position in the level, and then I completed passes using the webbing and vine growth tools. 

The vine growth tool created the vines surrounding and wrapping objects in the scene. I exported the meshes from Unreal, ran the tool in Blender, and exported them back into the game. You can see it clearly on the vines on surfaces like walls and pillars. 

For the webbing tool, this creates a smaller geometry that attaches from the floor to objects or between two different objects. The process was the same as above, and you can see it clearly between the pump and pillars or attached from the floor to the diner seating. I also applied a PDO in the shader to fade the edges of these out when they intersect. 

I added a subtle pulsating to the shader to sell the alien boil feel and converted some mega scan water alpha decals to blood to bed it all together. 

The last job for the project was finishing the robot. I started this prop a while back and spent a lot of time on it, but it had become a bit too complex over time, so I wanted to strip it back, using some inspiration from Star Wars to simplify the design. I was not trying to follow the reference for Star Wars, but it shows more of a statement of intent for how detailed to go. 

The original design for the robot included some slightly complex areas, mainly around the head and torso and in some movement areas around wrists, elbows, and feet. 

As I was trying to wrap up this project, I wanted to close those areas and simplify the head and body, making rigging and finishing the robot much more straightforward. 


I completed the design refinements quickly and closed up many of the more open sections. All of this work went well and was quite straightforward. However, something that gave me a little trouble was settling on a design for the head I liked. I tried out some thumbnails in 3D and also did some 3D concepting using SDF modelling. 

I was stuck between a more cylindrical design and something that resembled my original design. I liked how the cylinder read from cameras and a distance, but it felt like I had seen the design a lot before, and it was a bit more generic, so I opted to persevere through the pain of getting it to look right and stick with my original design. 


Here is the final design. It ultimately captured much of my original vision, and I am happy with how it came out. 

Here is the Robot finished and in-game. I also rigged him to match the 3rd person mannequin so I could pose him (as seen sitting on the car) and run around as him in the environment, too, just for fun :) 



Finally, once the last major asset was complete, it took a lot of polishing to get it across the finish line. Here is a list of everything I did. 

  1. Asphalt texture pass
  2. Decal passes for drips on the roof and around damaged areas of trims. 
  3. Prop set dressing for cameras
  4. Some cluttered prop passes for the interior
  5. Wood texture for the interior counter
  6. Add some grass meshes for the front of the gas station building
  7. Add some trims to the shelves on the interior rounded windows
  8. Fix the UV issue on the ceramic tile counter section
  9. Proper camera and lighting passes
  10. Unreal bug fixing and lighting work
  11. Added trims to the shelving in the interior
  12. Made a fridge asset
  13. Fixed the hole between displaced tiles and the counter in the floor
  14. Lighting passes for different TODs
  15. Added props to the fridge
  16. Added a prop pass to the interior to make it feel more cluttered
  17. Refined the cameras for the final shots
  18. Setup render presets for the different aspect ratios
  19. I turned off the backlighting in the shot with the car - artist's feedback
  20. Added lighting tweaks and volumetrics to the Octopus at night - artist feedback
  21. Did a cinematic prop pass for the different cameras to make it look as good as possible
  22. Fixed the lighting bug on the exterior pillars
  23. Scaled up the thickness of the diners' plates - artist feedback
  24. Broke the greeble boxes off the door mesh and used them in the interior - Artist feedback.
  25. Reused the adverts from other props on the inside - Artist feedback
  26. Used some decals to finish the damage on the front of the Gas station
  27. Added the easy fog plugin and did a pass for each TOD
  28. Fixed the straightness of the red vine tentacles - Artist Feedback
  29. I tried experimenting with the Easy Rain plugin and switched back to UDS, which worked better for my needs. 
  30. Added wind to all the assets - focused on trees and foliage for the video and stormy atmosphere
  31. Create the progress gif
  32. Fixed some light bugs on props in the interior for seating PLA
  33. Fixed an issue with the oil not lodding correctly
  34. Fixed stretched blood decals on the interior
  35. Rotated the lights in the interior shots for certain shots to avoid too much bloom and not show the bulbs
  36. Reduced the bloom in the stormy TOD
  37. Re-rendered all shots for the night and the stormy day after tweaks
  38. Video for the stormy TOD and run around at night
  39. Asset breakdown shots
  40. Materials breakdown shots
  41. I tweaked the colour background on the material shots to be more consistent with the rest of the work.

It took a lot of effort to complete the project, but I am thrilled to round off the end of the year with this project finally done. As I mentioned in the original post, it was where I was trying to improve my rendering, storytelling, and propping and find art that interests me both in terms of subject and style.

It's led me to more semi-stylised props, lots of lighting and offline rendering practice, and my love of robots. I plan to continue on this journey with more pieces like this. Just this time, it will likely not be a project that lasts as long. I am glad to have had this project ticking along in the background to learn new skills and software workflows like Unreal 5, Nanite, and Lumen. 

Thank you to everyone who supported me and followed along with the process. I appreciate the many people who gave me feedback across various years in this project and others. 

All the best 
Ben 

Gas station - Prop Pass - 08

Work In Progress / 19 August 2024

Hey Everyone, 

I was out of work for a couple of months, which allowed me to spend some time working on this project. I had a lot of general props to create, so this was a great time to crank these out and focus on finishing the project. 

The first asset I worked on was some vents and aircon units that would go on the top of the gas station. Games like Wolfenstein and Fallout inspired these, and some awesome high poly work was done for these games. 

This is the high-poly work I did for these props. I tried to create an interesting and functional design and shape based on real references. 

Here is a quick pass on the texturing for these

This vent was inspired by one of the designs from Dex Diner in Star Wars. They had a cool-shaped roof vent, but it's very hard to tell the detail as it's only in one shot in the movie. So, I took some artistic license and tried to add detail that matched the look of my vents from above. I even reused a section of the wall vent to better connect these. 



Here is how it matched the building shape in the game. I added metal trim around the edges to fit it properly with the building. I always try to find opportunities to do this to avoid meshes looking jammed together. 


Next, I mostly cranked out a few props that needed making for the Gas station. These were all made for Nanite, so the details are modelled where appropriate. I did a quick Zbrush pass for the cone to bend the plastic to give that used look. 

The oil drum was sculpted and then dynameshed down to form the geo. I added a label on top with a masked alpha to make the edges of the label. 



I modelled the vents on the side with radiators inside to give depth for the ice storage. The ice font was a paid-for font I used in Painter, which saved a lot of time when texturing.

These are all pretty straightforward props. The only noteworthy points are there are quite a few modelled bits, such as screw bolts, hinges and cut-in holes on the signs. As the meshes are all nanite, I can add that extra geo but still keep the models pretty low in detail. I mostly have to think about the texel space these elements take up. My rule is that if something becomes too complex or fussy, uses too much UV space, and is under 10cm in depth, it can sometimes be easy to bake these down to a normal map. Many of these props don't use a normal; if they do, it's more material-level-based. 

I used a combination of scans from the Megascan library and some sculpted meshes for these cardboard boxes. I reused a lot of the geo from the scan but did a clean-up pass to remove crunchy detail on the edges and then retextured them in Painter, so the meshes sat a lot better with all my hand-crafted work. This is a great example of how you can benefit from a tool like Megascans but edit the work to sit better in your art direction. 

I made these two pricing signs. The pricing and signage are created as floating planes or geo on top. 

For these telegraph poles, I made a couple of different modular variants. I also made a Blueprint following a tutorial allowing the cable to snap between two points. This means the poles automatically create the cables and update as you move them around. I also created other cables with gravity and weight in the scene. So, it's quite a versatile tool. 

Next, I wanted to create some cars for the scene. It is a gas station, after all. I didn't want the gas station to be from any particular time period, and I have a mix of models and assets inspired by different eras. The overall style of props I was going for is soft boolean merged shapes and rounded forms. This is mainly applied to the props tied to the gas station itself. The more realistic props still have some more square and sharper shapes. 

I originally tried some older cars from the 50s, namely the Ford Consul, but I found the shapes to be a little too rounded and stylised, and it felt a bit too cartoony for the scene. Ultimately, I settled on the Ford LTD, manufactured between the '60s and '80s. It still has some slight roundedness, but it's much sharper overall. I kept it faithful to the reference but adjusted it based on different designs to create a mix I felt looked good. 

 

Here is the textured version. I also created a mask to allow the vehicle to be colour-tinted. 



I also wanted to create a silhouette variant on the cars so they didn't all look like the same car when I placed them in the scene. I thought I could make a pickup-style version by reusing many of my original car parts. Also, having the colour tinting and the doors and boot being able to open would help give more variants without having to make loads of new cars. 

The pickup was pretty simple. I only modelled a new back section, including the rear fenders, rear window, and tailgate. Everything else was shared from the other vehicle. This created a nice change in silhouette and allowed me to set dress props in the back of the pickup. 

Finally, I worked on the door designs for the Gas station. Again, I took inspiration from many of the shapes in Wolfenstein and Fallout's original high poly work. I wanted these to have a nice, rounded, bevelled look with interesting details while still looking functional. 

The entrance door was supposed to fit the space and conform to the trims underneath. I liked the idea of adding technology on the right-hand side and maybe some more vents or air conditioning above. The same was true for the garage door, except it was just a lot wider. 

I settled on electrical boxes and screens for the tech, plus the air conditioning/vents, as mentioned. Much of this was referenced from real references of similar electrical boxes or switches. I made the entrance door first and then reused many of these components on the garage door. The only unique bits of the garage door are the roller door itself and the vent. 

I also made a quick swinging door for the interior pictured below. 



Here is a shot of some of the assets and details in the game. 

I hope you enjoyed the update

Thanks 
Ben

Gas station - Exterior, terrain and Octopus updates - 07

Work In Progress / 14 August 2024

Hey Everyone, 

After the interior, I worked on some more exterior bits. Starting with windows and trims. 

I first experimented with creating a grimy-looking glass surface. This is a glass Shader with a mask that gives it opacity and roughness variation. As it's mostly in roughness at certain angles, you can see all the way through the glass, and it only tends to be viewable when it catches the light. 

 

Once I was happy with the glass, I created the window modules. These were modular pieces that snapped together to form the windows' shapes.

 

I also created modular trims intended to go on the top, underneath and bottom of the walls to add overall detail to the gas station.  

At this stage, I looked at the gas station and wasn't happy with how the Octopus and gas pumps worked together. So, I decided to try a few ideas and experiment with how it all sat together. 

This was the idea I ended up settling on. Keeping the weight of the Octopus on top and the supporting structure relatively thin to allow for breathing space and balance in the environment. I liked seeing through to the rest of the environment and not blocking the view to the distant mountains too much.

It was based on a Gas station I found online in Slovakia, the Atelier SAD gas station. I just really loved the shapes in this. 

Next, I felt I needed to spend time on the terrain and forecourt sections as they weren't very functional. I started with a new blockout for the forecourt, just working out the positioning of the pumps and the logic of how cars would drive in and out. Figuring out the materials and the different spaces. 

I wanted the landscape and the forecourt to mix a bit with soil and foliage creeping into the asphalt. Making it feel unused and rundown, so I also worked on blending the material and placing some foliage in these areas



I added puddles and dampness to the blend so I could get even more variation. 

I replaced my blockout road texture with a proper texture and added a grunge map and road lines. The road lines are temporary placeholders that I created in Designer. 

After this, I created a few more assets that allowed the forecourt to function. The first was a curbstone trim I could run around the gas station. The actual asphalt floor sits flush with the road, but there is a step between the terrain and the asphalt that I needed to fill. I also wanted to have a modelled drain properly cut in as I started to switch the project fully to Unreal 5. 



Gas stations also have many covers and drains. There are specific-shaped covers that allow people to access the gas pipes and workings underneath. I made the models below to give me a range of different covers I could place across the forecourt. 


As they have depth, I also needed to devise a solution to cut them into the ground. I wanted this to be real-time, though, so I could move the drains around if need be. So, I decided to use mesh distance fields and opacity to create a shape that feeds into the material. This creates a hole in the material, and I can move my drains around quickly. It's essentially a cheap boolean solution. 

I also needed to make a few assets that helped bring all the far-distant terrain stuff together. Barriers and assets that could separate different areas. 


Here are some of those working in the environment. 

Next up was the terrain and distant mountains. I used Gaea to create rocky mountain ranges that I could convert to static meshes to swap out my placeholder mountains. These were Mesa-style ranges with rocks and foliage baked into them to simulate the foreground detail. 

 

I also updated the terrain in the foreground to create some surrounded low rocky outcrops to bed together the near and far detail. Here is how this looked at this stage. I placed the foliage using the procedural foliage volumes, and the material blending came from the masks that Gaea generated. 

Next up was the Octopus. I started by creating a new blockout. I wanted the octopus to feel like one of those giant signs you see. On highways or sometimes shop fronts. Sinclair Gas also has a dinosaur that provides some nice inspiration. As it was large, I wanted to make sure it had construction seams and looked like it was pieced together in parts. 



I created this by splitting it into a head and tentacles. I blocked out the shape in Zbrush for the head using Zspheres. I made a straight tentacle for the tentacles, placed splines where I wanted to position them, and deformed that mesh along the spline. 


I created a proper Zbrush pass for the final model, which I baked down. Still, the head is unique, and the tentacle section is straight. I applied a macro normal map to the model. As this is such a large asset, I used a layered shader to texture it. 

Now, he is textured and finished. Again, he is a bit grimy, which I will tweak later. 

This is how it was all looking at this stage. With all the updates. 

For the next update, I will show a big prop push I did when I was out of work for a few months. 

Thanks 
Ben 

Gas station - Interior work in progress - 06

Work In Progress / 12 August 2024

Hey Everyone, 

I know updating this project has been slow, but I always have multiple projects on the go at once. I am very close to finally being able to call this project complete, and I wanted to post a few blog updates to bring me up to the present. I think I have done about 6/7 other projects in the timespan of this environment, but now it's time to finish this beast. 

Now, the end is in sight. I am currently working on the final couple of assets and polishing the scene as we speak. So, more updates to come! 

The last time I wrote a blog for this, I had just finished redesigning the look of the gas station, mostly shape-wise, as it moved a little bit too far away from my original intent. 

Next, I started fleshing out the interior some more — just getting the structure in there, working on the trim sheet, and a few tiling materials. 

I also made some props, starting with this bar stool. Which was a fun little contained asset. 

I worked on material for the floor, which is a checkered tile. At this stage, I still was going pretty hard on the abandoned theme, so it has moss and a lot of grime (which I change at a later date) 

Before Unreal came along with 5.3/5.4 and its material tesselation, I also experimented a bit with POM and contact shadow solutions to get some depth on the floor, which, considering there is no actual depth, is pretty convincing. I always felt like shadowing was missing from POM, so this helps sell it. 

This was how things were looking at this stage.

I also worked on the walls, doing a pass and adding tiling materials, trim sheet sections and dirt decals. 


I used the same techniques to detail out the roof. I created a base plastic material that I could use to drive the plastic panels on the walls as well. 

Here is a bit more polish on the tiling plastic panels 

and that same material applied in the scene. 

Here is a first pass on the chair for the chairs and tables I have in the interior.

 

I also worked on the booth and lights. Initially, they were pretty grimy and mossy, which I later decided to change. 

Here is a snapshot of some of those assets and materials in the scene. 

Here is a screenshot of the interior as a whole and how it was shaping up at this stage. 

Thanks for checking it out. Keep an eye out; I will post some more updates soon. 

Thanks
Ben 

Eco - Bot Beetle High Poly Shots

Making Of / 25 January 2024

Hey Everyone, 

I just wanted to provide some supporting images of my beetle project that didn't make it to the final Artstation post. They were also used for marketing material for the CGMA website to show the tutorial and class. I am looking forward to teaching everyone in class! 
https://www.cgma.video/

These are mostly shots of the high poly model before I made the nanite mesh, textured, rigged and animated it. 

Enjoy! 

Ben 

Gasstation - Blockout finished and rework 05

Work In Progress / 19 March 2023

It has been a while since I did an update on this project. I picked it up again after a good break away. In that time, I have worked on an Artstation competition, a collab project and another personal project, so I don't feel too much art guilt. 

I won't lie. It's a challenging project, but I am determined to finish this monster. 

This is where we left off...


Since that, I have worked on foliage, grasses and bushes. I posted this as a separate project on Artstation and wrote a few articles detailing my learnings and process. 

After the foliage, I tried to establish different times of day for the scene with a wider 21x9 shot. I knew I wanted to have four different setups. The primary rainy sunset mood from the concept, Sunrise/set golden hour, hot midday sun and either night/overcast style shot. Four shots together seemed to make sense to me for presentation purposes. 

When I returned to it, I started looking at the destruction, trying to imagine what I could do to try and show a more abandoned setting. I wanted to get a damaged roof where it had partially collapsed, breaking down the top into modular pieces and creating a slight tilt to the roof itself. 

From here, I left the project alone and had a break to work on the other projects I mentioned above. I dipped in and out of the project for a while. Often I would have 2 or 3 projects on the go at once, so progress was slow during this period.

When I finally wrapped everything up and returned full-time without distractions, I knew I wanted to rework my gas station style. I wasn't happy with how square everything had become. In my art bible and style guide, I wanted all the props to feel rounded and bevelled, similar to some of the sci-fi designs you see in games like Wolfenstein or Fallout. Those games have always been a visual inspiration for me. I created a fallout-style project in the past. I looked at doing a pass to bevel and round out the shapes similar to those games. Fallout has an excellent gas station called the 'Red rocket' station. 

I also thought it would be cool to implement the octopus into the gas station more. 

Below is the progress once I have fleshed things out a bit more.


At this stage, I also tried different arrangements for the octopus. I got some advice from friends about which designs were working best. I tried the octopus' tentacles forming the support pillars, wrapping around them, or isolated to the top. 

In this version, I had a connected roof which was a bit of a rip-off of the red rocket station; it felt too close to that design, so I decided to split it. The negative space worked better for my design, especially as the octopus on top is pretty heavy. 

I also redid the interior. The interior was initially blocked out as a service shop for the gas station, but I felt the aesthetic was crying out for an old 50's style diner. So here is where I left it previously. I wanted to have it boarded up and overrun by infection. So the robot is inside exploring. 

The theme is still the same. Overrun with infection (although this isn't in the shot yet), except now it will be an old diner instead. Here is the shape of the new blockout for the building 

How the blockout was taking shape at this stage for the inside. I was also inspired by some of the forms inside Dex's diner from Attack of the Clones. 

That wraps up much of the blockout; if you made it this far, thanks for reading. In future posts, I will show some of the progress on the interior creation and outside of the building, which is much closer to completion now. 

The whole scene is much further along than these blockout shots, but I haven't been great at updating the blog. 

Peace out
Ben

Games Artist Robot Beach Trash Article

Making Of / 28 July 2022

Hey Guys,

I wrote an article to share my workflows with my recent collab project - Robot Beach Trash. Had a blast writing the article and figuring out what parts to include. I wanted to teach others about my workflows and experience working in collaboration with Justin. Hopefully, I will have some more info to share on the project soon as well :)

You can find them all here.

https://gamesartist.co.uk/robot-beach-trash/
https://www.artstation.com/artwork/6bgxww
https://twitter.com/GamesArtistUK/
https://www.facebook.com/GamesArtist/
https://www.instagram.com/gamesartistuk/

Mentorships - Experience Points

News / 09 March 2022

Oh Hello, 

Just wanted to let you know that I am now going to be offering one on one mentorships through Experience Points. You can check out my page here if you wanted to see more.

https://www.exp-points.com/environment-art-mentorship-ben-keeling

It will be great to be able to teach all aspects of environment art and very much looking forward to getting to interact with everyone. It's been an amazing journey for me teaching Substance workshops and classes through CGMA and I am really excited to be able to also delve into all aspects of environment art as well.

If you want to know any more details or have any questions just let us know in the comments section below.


Thanks
Ben

Experience Points Podcast

Making Of / 02 November 2021

Hey Guys,

I recently did a podcast discussing the artstation competition with Experience Points. Had a lot of fun chatting with the guys :) 


GDD Podcast

General / 25 March 2021

Hi Everyone, 

Had a blast chatting with Alex on the GDD podcast. Check it out if you can :)


Listen on Spotify ⯈ https://open.spotify.com/show/7spDMpMZJ9dr3Ziu8bRwCA
Listen on SoundCloud ⯈ https://soundcloud.com/gamedevdiscussion
Listen on iTunes ⯈ https://podcasts.apple.com/gb/podcast/game-dev-discussion/id1459400002
Listen on YouTube ⯈ https://www.youtube.com/watch?v=w42pSBbFLv0

Thank you :)