Creating Sci-Fi Survival Metroidvania Lightyears from Home in Unreal Engine

Autodidactic Studios talked about the creation of the story-based survival metroidvania Lightyears from Home, spoke about the temperature system, and explained why Unreal Engine 5 was chosen for the game. Please introduce yourself and your team. Where did you study? What companies have you worked for? What project have you contributed to?

Denny: My name is Denny Schneidemesser, and I’m a self-taught artist primarily known for orchestral film score music I’ve composed over the years, although I have worked in other fields like games and animation as well. The core team behind my game is a small indie studio called Autodidactic Studios, formed alongside close collaborators Waterflame and pftq. The two of them also are self-taught and similarly do a mix of different fields as well, such as programming, music, and game development. We also have the character artist Glen Yancey with us, with whom I’ve worked closely in the past, and a hard surface artist who goes by the name Vatallus. 

I developed a strong interest in video games and animation at the age of 14, when I discovered a version of Alias Maya PLE on a magazine disk. While I did attend school like most others, I never received any formal training in Maya (or music for that matter) and taught myself in my own time. At the same time, I composed music on the side, and while I intended to go into 3D animation as a career, my hard drive crashed and wiped out a large part of my 3D portfolio. For a long time, I focused only on composing music instead, which occupied most of my early twenties.  My music became most known for various games and animations, such as Stick Wars, Wolfsong, Fox Fires, and Crayon Dragon, and some of my work also ended up being used by companies like Bentley Motors and Netflix.

Glen: Hello! My name is Glen Yancey and I’m the lead character artist for Lightyears from Home. My job consists of making 2D concept art as well as character models and textures for the game. Lightyears is my first major game dev job as a character artist. I graduated from the Digital Animation and Visual Effects School in Orlando, Florida in 2016 and I specialized in modeling/texturing. Personally, I always wanted to work with an indie studio on a story-based game featuring monsters or sci-fi/fantasy characters and I’ve spent years working on personal artwork that expressed this desire. When Denny approached me with the opportunity to work on characters for Lightyears, I felt like the stars had finally aligned! So I’m very grateful to be working on his team doing exactly what I love, and the journey so far has been a dream come true! Once the game gets further along in its development, I will be creating some of the aliens/monsters that the player will face. Currently, I’ve been working on the main hero characters, Sam and Monty.

Waterflame: Hello! I’m Waterflame! I’m also self-taught and have made music for video games as an artist, but like Denny, I also share interests in animation and game development (in fact, I am most known for being involved in flash games on sites like Newgrounds back in the 2000s!). I’ve seen firsthand Lightyears from Home grow from being just the backstory of Denny’s music (also called Lightyears from Home) to becoming a fully explorable game world, and it has been amazing what Denny has accomplished – how it rivals AAA games in graphics and, at least so far, has been mostly done by Denny himself, which makes it all the more impressive. For now, Denny has kept his cards close to his chest, but as the game develops, I look forward to helping him in any way I can. How did you get started with Lightyears from Home? What inspired you? 

Lightyears from Home actually started as a series of very personal musical scores, beginning with the track "A Key to the Past". The ending of that track was eventually expanded into a very emotional piece titled itself “Lightyears from Home” and performed in collaboration with Taryn Harbridge (who has her own following on YouTube as well).

At the time, the track was originally inspired by the idea of an astronaut doing research on a foreign planet while exchanging messages with his wife every evening. The piece revolves around finding consolation in the thought of having someone out there, even on the most lonely days.

Eventually, the story behind Lightyears from Home evolved to one of a father traveling through space in search of his lost daughter, and the pieces came together for me to develop the story into an actual 3D game.  During my composing career, I had a tendency toward music for sci-fi games and found myself drawn to stories about life in faraway galaxies. Some of my biggest inspirations for Lightyears specifically were Firewatch and The Vanishing of Ethan Carter for their story and presentation, as well as The Long Dark and Metroid Prime for their gameplay. Could you tell us about the game’s story? Who is the main hero?

The game’s storyline follows Sam J. Maxwell, who set out to a faraway galaxy on his own to find his lost daughter. He’s an average working-class father who makes a living under the employment of the largest interstellar company. His journey starts on Glacier IV, an ice planet with geothermal activity that had been harvested by an earlier mining crew of the same company he works for. The planet will quickly prove to be hostile due to its freezing temperatures and aggressive wildlife, with little to no signs of any company workers having survived the harsh conditions – that is until Sam runs into Monty, a feline mechanic who holds key information to his daughter’s whereabouts. How and when did you choose Unreal? What made it perfect for your needs? 

I was first torn between choosing Unreal Engine 4 or Lumberyard as the game’s engine and ran a couple of tests in both. What first made Lumberyard attractive was my prior knowledge of CryEngine, which I excessively played around with in the days in which Crysis was popular. I eventually settled for Unreal, however, as it seemed a more reasonable choice due to the engine’s versatility, Epic’s commitment to maintaining it, and lastly, its community of other developers. The latter was especially important as I knew I’d eventually reach a point in time where I needed to assemble a team to work on the game with me. The compatibility with Autodesk Maya also weighed into my decision as transferring assets, character rigs, and animations was very straightforward with it. You recently switched to UE5, right? How smooth was the transition? 

Much smoother than expected, that’s for certain! After reading about how brutal the shift from UE3 to UE4 was back in the day, I was a bit concerned. The upgrade process was quite simple, with our entire project being functional the first time I opened it in the new editor. There were a couple of issues with a few blueprints and shaders not working as intended, but most of these issues were fixed in a timely manner. The two last remaining issues we’re dealing with are replacing the former displacement shaders with the new virtual height mesh, as well as Lumen not affecting strand-based hair. The latter is a feature on the UE5 roadmap, so we’re assuming it will be fixed in a future release. One of the game’s main elements is the hero’s ship as far as I understand. How do you use it as a gameplay element? How important is it?

For now, the ship is primarily just a home base and shelter due to a rough landing on Glacier IV that rendered the ship immobile. However, the story doesn’t end at Glacier IV! Please share some details on the game’s world. What areas does it have? How do you approach the production of different biomes?

The game has an episodic structure, which I figured made more sense for an indie project as this way we can focus on one episode at a time. The first episode will play out on Glacier IV, a planet that mostly consists of vast ice fields with rare geothermal spots that are populated by forests and wildlife. Future episodes will take the player to other planets in the continued search for Maxwell’s daughter, along with the parallel storylines of other side characters.

The first area on the ice planet started with a large plateau with strong geothermal activity. The base of the landscape was done in World Creator and later refined in Unreal. A lot was then built with Megascans, SpeedTree, and the Marketplace assets. I remember spending a lot of time building trees with SpeedTree, but I eventually replaced the majority of them with premade photogrammetry-based assets as the quality of these was undeniably higher. You’ve recently shared a look at your cool temperature system. Could you share some details on it and how it contributes to the gameplay? How does it help you build a better experience?

The temperature system is directly woven into our progression system by first hindering the player from venturing too far out from the starting area. As the player progresses, the environment temperatures get colder and colder, requiring more suit upgrades and better underlying clothing to overcome the freezing climate of Glacier IV. 

The system in itself was inspired by the far more complex temperature system present in the indie game “The Long Dark, in which the temperature also moves gradually and can be affected by various factors. Next to game progression, the system of course acts as a survival element as well, as it will affect the player’s well-being. How do new tools in Unreal like Namite and Lumen help you build an AAA-level of quality experience and save time on production tasks? 

Lightyears from Home was intended to have a strong focus on cinematics, storytelling, and presentation, which is why I originally started developing the game in UE4. While it was an extremely competent engine, there were a lot of lighting and GI-related issues I was struggling with. I think by now it’s safe to say that I’ve tried my hand at pretty much every GI system that was present within the engine, from the discontinued light propagation volumes to middle-ware solutions such as Nvidia’s VXGI, which I remember being very computationally expensive. The last UE4 build of the game utilized screen space GI in combination with scripted GI lights that were keyed to the time of day. 

All of this was removed when we upgraded to UE5 as Lumen was pretty much a solution for all lighting-related issues. With Lumen, it’s not necessary to fake GI with probes or manually placed bounce lights, which speeds up the lighting significantly. It’s a huge upgrade to Unreal’s indirect lighting, which in itself was quite good with its distant field ambient occlusion. But now we can simulate soft, diffuse-looking lighting scenarios without the presence of a primary directional light as the sky itself becomes an all-encompassing emissive light source.

I can’t say too much about Nanite as we’re using it sparingly as of right now. We’ll have to research how it affects the game’s performance a little more before going all-in on it, but so far I’ve been extremely impressed with its LOD handling as there’s virtually no LOD popping with these meshes due to Nanite’s one polygon per pixel nature. You also mentioned using local volumetric effects in environments. Could you elaborate? 

I’m glad you’re asking as achieving this took quite a while! Lightyears has large ponds as geothermal hotspots, where the temperature is significantly warmer than on the rest of the planet. This is due to the plateau area basically being a large volcano with subterranean lava fields. I realized early on that we needed to find a way to better visualize the hotter areas with some form of steam so the player knew they could go there to warm themselves up.

I first started out placing particle emitters all around the ponds, which generated simple smoke to visualize the evaporating water. Large numbers of big alpha particles can, however, get expensive pretty quickly, which is why I eventually had to find a better solution for these effects. I eventually found out that you can incorporate VDB volumes to Unreal Engine and have them share the same volumetric grid that the exponential height fog is using. This makes them quite cheap to render as the effect is also only drawn over a limited distance. After some more experimentation, I decided to use FluidNinja VFX Tools for Unreal, which lets you bake your own volumetric materials. I’d definitely recommend this to anyone who’s curious about creating highly advanced fluid-like effects in Unreal, as it has helped me quite a lot! There’s also a version of the plugin that lets you make your own GPU simulated effects with it, but I haven’t tried out this specific version myself yet. What are your next steps? Where can people follow your progress?

As of right now, we’re still in the process of building the game’s systems and making original assets. We’re a small team with limited resources, so we’re always open to talented developers to help us out with setting up the game’s systems, animation scripting, and other areas.

I posted the first devlog of the game on Youtube a while ago when it was still a solo project. I’m planning on doing another once more of the game’s systems and assets are finalized. You can follow us on Twitter for more frequent updates.

Denny Schneidemesser, Developer of Lightyears from Home

Interview conducted by Arti Burton

This content is brought to you by 80 Level in collaboration with Unreal Engine. We strive to highlight the best stories in the gamedev and art industries. You can read more Unreal Engine interviews with developers here.

Join discussion

Comments 0

    You might also like

    We need your consent

    We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more