Lacuna Passage - Devlog #37 - Song Seed, Saving, and Physics

The last few weeks have been very busy for us on the systems-side of development, so let's dive right in.

Song Seed Unity Plugin Progress

We are inching ever closer to the release of our Unity plugin, Song Seed. We did a short introduction video for the plugin in a standalone post a few months backs. Since then we have been hard at work, adding new features, ironing out bugs, and beginning to create the documentation.

Example of Song Seed documentation diagrams

We should be close to doing a beta test for Song Seed, so if any Unity developers are reading this and are interested in helping us test it, please contact us.

Any music loops should work with the system, but our composer for Lacuna Passage, Clark Aboud, is currently working on some custom loops packs specifically designed for Song Seed which will also be available on the Unity Asset Store soon.

Saving and Loading in Lacuna Passage

NOTE: Saves no longer function as described below. We have made save files accessible in a save folder.

Lately we have begun tying our background gameplay systems into a central saving and loading feature that will be fairly unique in Lacuna Passage. To prevent players from manipulating their save data to "cheat" the survival randomization we will be utilizing a save system that deletes your save every time you reload the game. When you quit it will create a new save.

This effectively creates a form of "permanent pause". When you quit the game it's more like you are putting it on pause and when you restart the game it's like resuming it again. You cannot choose when you save or duplicate/copy your save files. Every time you die you will have to start over from the very beginning. If that sounds punishing, don't worry. Dying is a huge part of Lacuna Passage and each time you restart it will be with a new wealth of survival knowledge (in fact, taking notes is strongly encouraged). Each playthrough will be an opportunity for you to improve on your previous run.

Above you can see a very simple demonstration of loading in the player's previous position and rotation. A bunch of other things (including survival stats, time of day, and weather) are also being reloaded in the background. Now that the basics are in place we can extend the saving and loading as we fill the world with more content.

Physics Items

We haven't really touched upon many of the different types of items you will be able to interact with in Lacuna Passage. Obviously we will have things like food items which will need to be collected for survival, but those are small enough to fit in your suit pouches. So what about items that are too large to fit in your suit, but are still small enough to be carried? Well, you will have to carry them... with physics!

As you can see in the images above, a small number of items in the game will need to be physically carried. These items will often be necessary for certain survival challenges so keeping note of their locations around the Foundation Base will be critical. You won't be able to just pull them up from a menu, so don't lose them. I'm sure you can envision a survival scenario that might require the above fire extinguisher. Other examples might include an emergency generator or a power drill.

Also, it's really fun to throw them around :)

If you have any questions about this month's devlog just let us know in the comments!

 

If you're still reading... here's a sneak peak of some more progress on the Greenhouse Spencer has been working on since last month...

Click to enlarge

Make sure to check back for the art devlog post coming on the 15th to see more!

Lacuna Passage - Devlog #36 - Designing the Greenhouse

The last few art devlogs have focused on the development of the Hab.  This week we would like to switch gears and turn your attention to another structure located within Foundation Base, the Greenhouse.

Work in progress for exterior modeling and texturing. Click to enlarge.

The Greenhouse will be connected to both the Habitat and the Laboratory with a pressurized walkway made out of a similar inflated plastic seen here.

Since Mars has less of an atmosphere than Earth, a structure pressurized to Earth’s atmosphere on Mars will attempt to expand outward.  The Greenhouse was designed to be smooth and spherical in shape in order to reduce the number of weak points caused by this expansion on the plastic.  The base of the structure will be buried in a mound of Martian dirt with buttresses along its length for reinforcement.

Inside the Greenhouse there will be plenty of room to walk about and observe the various plantlife used for experimentation.

Work in progress for interior modeling and texturing. Click to enlarge.

There will even be a few areas set up with computers and microscopes where you can learn more about the procedures and results documented by the Hermes crew.

Now that we have the exterior shape essentially complete, we will continue designing the interior with plants, lighting, ventilation, and watering systems.  We also plan on adding a few exterior components for temperature regulation and electrical lines that would be routed through the Greenhouse walls.  There’s still plenty to be done, but the Greenhouse is on its way to becoming a fully-functioning part of Foundation Base.  Check back for more updates on its progress next month.

Lacuna Passage - Devlog #35 - Improvements to our terrain automation

Development is finally reaching the point where we are able to start placing content within our full-scale environment.

Our demo from the Game Developers Conference and the Midwest Game Developers Summit was effectively a test to ensure our tool set for terrain development was sufficient for the much larger scaled terrain that would be in the final game. The demo was approximately 5 square miles of terrain (though only a small part of it featured in the walkthrough) and now we are working with roughly 19 square miles of exploreable terrain for the final game. You can see a comparison below.

Anyone who has worked with terrains in Unity knows that there are dozens of variables and settings to tweak to get things looking just right. Doing all that manually for 16 terrain tiles (as opposed to 4 in the demo terrain) was not an option. In order to scale up our workflow for iterating and improving this larger area we needed to automate as much of the process as possible.

There are plenty of tools on the Unity Asset Store that are built specifically for this purpose, but after evaluating many of them we realized that we needed something more tailored to our setup. So we began working on a custom Unity Editor Window.

To the left you will see a preview of our Full Terrain Manager. This custom editor allows us to update materials, detail textures, heightmaps, colormaps, normalmaps, splatmaps, and detailmaps with the press of a button rather than manually assigning them one at a time for each of our 16 terrain tiles. This cuts a 2+ hour process down to less than 15 minutes. So if you aren't a developer and just want to know what this means for Lacuna Passage, it means we will have more time to make the terrain in the game as stunning as possible.

The next step will be to get our terrain streaming ironed out so that only the terrain tiles that are needed are loaded for the player at their current location. Then we can begin placing some of the other assets we have been working on to make this feel like a truly expansive Mars landscape with the same level of detail and quality you saw in our smaller demo terrain.

 

That's it for today's devlog, but check back in a couple weeks to see another art update from Spencer and his progress on the Foundation base camp Greenhouse.

Lacuna Passage - Devlog #34 - Designing the Hab Part 2

Make sure to check part one of our continuing "Designing the Hab" art preview.

The Hab is designed to serve as the main living area for the Hermes and Heracles crew, so it will be a tightly knit and practical space full of dense detail. This week we want to highlight a couple new areas within the Hab and talk briefly about their design.

The laundry and bathroom unit combine into one compact space that utilizes more of the recessed wall space.  The shower, sink, and toilet are all located up a ladder-like set of stairs and behind the area that houses the washer, dryer, and cabinet space.  Combining these units would be a logical way to reserve less space for plumbing across the Hab.

Next we have the bunk sleeping quarters.  There are six bed spaces divided across the main walkway with a large table.  The table can be used for research, repairing equipment, or anything that requires a little counterspace.  Each bunk is equipped with personal locker space, a sliding isolation door, and even a digital screen with a built in radio.  Eventually there will be photos, letters, and other personal items that decorate each crew members’ bunk.

We are all very satisfied with the direction the Hab is going.  Improvements are being made everyday and we can’t wait to finish adding in all the details that make up this complex living space.  Our next big hurdle in the art for Lacuna Passage will be the Greenhouse - so be sure to check back to catch more on its development in the near future.  As always, feel free to comment below!

Lacuna Passage - Devlog #33 - Designing the Hab

My name is Spencer Owen and I am the lead artist for most of our internal habitats and other mission structures. I will be contributing posts to our devlog over the course of development pertaining to the design and art decisions that are being made. For my first post I am going to go over some of the decisions we have made for the main Habitat that you have seen previewed in previous posts.

The Foundation Base Habitat has come even further this past month.  We have added a few new pieces and are currently in the process of messing with the shaders and textures to achieve a cohesive look throughout the Hab.  The internal volume of this structure is meant to be dense and functional, but also a bit spacious and relaxing for the crew.  We are shooting for a certain realism in the Hab that will allow us to satisfy these restrictions.

Since most spacecraft today are designed for zero gravity, you will often see cargo holds and electronics strapped to every surface of an interior such as this.  Our Hab will need to function on the surface of Mars, meaning we have to design a little differently than the ISS.  We had to look for inspiration in things like campers, RV’s, and trailer homes.  I’ll highlight a few areas and talk about the design decisions.

In the kitchen area the size of the appliances and their position is most important for functionality.  Additional cabinet space for the non-essential equipment is stored above, accessible with a ladder.

In the couch seating area we chose to recess the couch into the wall, revealing the shape of the exterior hull.  This way the couch does not obstruct the main walkway, but instead serves as an alcove for relaxation, with a great view of the Martian surface.

The media center area sits directly across from the couch seating area, allowing the television screens to be used for entertainment, communication, or presentation.  The table serves multiple purposes as well, with adjustable computer stations located nearest the wall.  Radio and media equipment sit within arm’s reach.

Another design goal for us was to highlight the functional areas of the Hab so that the player can immediately recognize them.  In order to do that we will be using a signature orange color in the textures of interactive objects and locations, similar to games like Mirror’s Edge.

Most of all, we want the Hab to feel like a safe place for the player to relax and go over any information they find between EVA’s.  We still have work left to do, but we are really starting to get the atmosphere and design of the Hab’s interior finalized. The design problems we have solved here will carry over into the other internal environments throughout the game.

We will be featuring more of the internal modules of the Habitat over the coming weeks in another blog post. If you have any questions feel free to sound off in the comments!

Continue to part two of our "Designing the Hab" preview.

Lacuna Passage - Devlog #29 - Habitat Interior Designs

Since we posted our last few videos we have made even more progress with the time-of-day systems by adding in clouds and stars which you can see below.

Exaggerated clouds to demonstrate the rim-lighting effect as the sun passes behind the clouds

Exaggerated clouds to demonstrate the rim-lighting effect as the sun passes behind the clouds

Subtle, wispy clouds like you would find on Mars

Subtle, wispy clouds like you would find on Mars

With these systems mostly complete I have now moved on to improve our scripts for controlling inventory and context sensitive object interaction. One of the first steps in doing this has been to make a “tag” system. This will allow us to display information about any object just by looking at them. Below you can see these new tags in their early form.

I’m also very happy to officially announce that we now have a new full-time team member! My brother Spencer (who can be seen in the original Kickstarter pitch video) has joined us as a full-time artist and general assistant for the project.

Spencer and Jeremy (another part-time project volunteer) have been focused these last few weeks on developing the designs for the main habitat, otherwise known as the Hab. Jeremy has been creating a set of modular elements that can be combined like lego pieces and Spencer has been utilizing those modular pieces to rough out several different internal “modules” of the Hab. Below you can see the first three modules we have begun designing. The crew bunks, a bathroom/laundry area, and a couch seating area.

Crew Bunks

Crew Bunks

Bathroom/Laundry

Bathroom/Laundry

Couch Seating

Couch Seating

These are still very early screenshots. There we be lots of detail added in the final designs, especially when we start to apply more textures. With Spencer working on these models full-time we expect lots of progress in the coming weeks.

We are taking a lot of care in designing this habitat not as a sprawling space base out of a science fiction film, but rather a dense, functional living space that would be reasonable for an early mission to Mars. The Hab is one of three planned structures that will make up the Foundation Base Camp. The others are a greenhouse and laboratory, which we will begin building soon.

Lacuna Passage - Devlog #26 - Development Since GDC

After returning from GDC last month we have come back to development with a renewed vigor. I met some great people and attended some great sessions, all of which have inspired the direction we will take from here on out. Today I want to discuss some of our current objectives.

One of our big focuses right now is to polish up our dynamic music system. Over the last several months we have determined that our music solution might be a valuable addition to the Unity Asset Store. The system we have designed solves a unique problem that we think other developers might be able to benefit from (you can see an early version of the system in this devlog video we posted a while back). With the announcement during GDC that FMOD will be free for indie developers with small budgets we were worried that our system might become redundant, but after looking at the pros and cons of using FMOD we are convinced that our system provides a simpler and more streamlined workflow for developers looking to utilize dynamic music stems without the need for an external editor. We will likely charge a small amount for our scripts on the Asset Store to see if we can subsidize part of our development cost with the income.

Some of you may have heard of the game Extrasolar which utilizes a non-real-time photography mechanic. The developers of Extrasolar gave a talk at GDC called “Game Design at 0.0003 FPS” where they detailed some of the specifics of their system and it got me thinking of ways we could benefit from this approach. We obviously still have to maintain a decent frame rate for the exploration elements of Lacuna Passage (which the player can influence by selecting different quality settings), but when the player chooses to take a photo we have some leeway. We can render a higher quality screenshot from a secondary camera with more image effects than the primary game camera at the cost of only an extra half second of rendering time.

These are some examples of non-real-time photos taken from the game Extrasolar. Click to see the full resolution.

These are some examples of non-real-time photos taken from the game Extrasolar. Click to see the full resolution.

For those with high-end gaming rigs, taking a photo will take almost no time at all and the quality will be identical or even slightly better than the quality of their game-view camera. Those with lower-end hardware running on low quality settings will still get the same high-quality photographs just with a slightly longer rendering time (still less than a second). Since we don’t have to worry about rendering multiple frames per second when taking a photo we can create a unified quality for all photos for all players. This is especially useful when we look at our VR implementation. Obviously we can’t take a screenshot of the view straight from the Rift or we get a distorted, double-vision photo. Below you will see what a photo taken from the Rift looks like with our new secondary camera system.

Top image is the view from the Rift cameras. Bottom image is the photo taken from that view. Click to see full resolution.

Top image is the view from the Rift cameras. Bottom image is the photo taken from that view. Click to see full resolution.

We have also been working to improve our asset pipeline so our artists can produce content faster and more efficiently. An important part of this process is our Asset Previewer. Our Asset Previewer is actually a small separate Unity project that contains all of our shaders from the game and some tools for viewing assets that help to ensure that when they are put in the game they will fit with the scale and style of all the other existing assets. This is extremely useful for us since we cannot afford to purchase Unity Pro licenses for all of our artists. They can preview assets with this project in the free version of Unity and I can import them into the main project later.

Recently we added a feature that lets us export animated gifs straight from the Asset Previewer to create seamless turntables of our assets. Between these gifs and other screenshots we can get a great idea of what an asset will look like before we ever need to place it in the game. Here are some examples.

The weeks since GDC have been extremely productive for us and we hope to keep up this pace. If there is anything else you’d like to see about our development just let us know in the comments!