dynamic soundtrack

Lacuna Passage - Devlog #48 - The next phase of Lacuna Passage development

This past month has been hectic, but we are finally back with a focus on Lacuna Passage.

Some of you had concerns about TIMEframe being a distraction for us last month so this month we want to talk about all the tangible ways that it has positively impacted our continued development of Lacuna Passage.

Demonstration of the Song Seed Music plugin used in both Lacuna Passage and TIMEframe

First and foremost has been the refinement of our dynamic music system, Song Seed. We have been building Song Seed over several iterations in the last year or so specifically for use in Lacuna Passage. The demo we previewed at PAX East was the first public implementation of our dynamic soundtrack and it worked really well for us, but there was still a lot that needed to be done. We realized a long time ago that this system would be very beneficial for other developers as well, so after PAX East we began working harder on the public version which worked well with the timing of our updated release of TIMEframe. Music is a huge part of TIMEframe so we were able to use it as a real-world test of the system. In fact, in addition to our own implementation in TIMEframe, we have just opened up a beta test of the Song Seed Unity plugin. So if you are a Unity developer interested in helping us improve this tech that will be a big part of Lacuna Passage please let us know (and check out the example video above). Soon after testing we will be releasing the plugin on the Unity Asset Store at a modest price. The proceeds from this will all be funneled straight into Lacuna Passage development as well.

Another benefit of working on TIMEframe that cannot be stressed enough has been learning the ins and outs of Steam integration. Lacuna Passage has always been our priority, but it has also been our first foray into commercial game development. We had no experience with integrating with Steam until now. After working on TIMEframe we now have a much firmer grasp on what that integration requires. Store page setup, game package installation, authentication, achievements, trading cards, cloud saves, DLC… the list goes on and on. We have used TIMEframe as our test bed for these features and this has given us invaluable experience as we now implement many of these features in Lacuna Passage. We are now looking forward to a tentative release date of June 30th for TIMEframe which will give us even more experience in running an active product and managing customer relations. Once again, all the proceeds will directly benefit Lacuna Passage development. (And as a reminder, all Lacuna Passage Kickstarter backers will be receiving a free copy of the game and the original soundtrack).

Last but not least, we have been experimenting with new features that have been added to Unity in versions 4.6 through 5.0. We have not updated Lacuna Passage past 4.6.2, but with our work on TIMEframe we have had a chance to see how these more recent updates might affect Lacuna Passage. The new user interface features in Unity might drastically improve the way that we handle the rendering of the datapad for example. There have also been several performance enhancing changes that could positively impact our open-world memory management. We have been able to evaluate these new features in TIMEframe on a smaller scale without any disruption to our Lacuna Passage project management. It would have taken us orders of magnitude more time to even test these options in Lacuna Passage itself.

These are only a few of the most direct benefits we have experienced while working on TIMEframe, and as we move forward into this next chapter of Lacuna Passage development we feel much more confident in our ability to deliver on our original promises. Game development is not a straight path. There will always be bumps and detours, but we work extremely hard to ensure that every decision we make benefits our ultimate goal of delivering the best Mars exploration narrative experience that we possibly can. Over the next few weeks we will have more regular updates with the art and design of Lacuna Passage.

Lacuna Passage - Devlog #43 - New Terrain Data and Story Flowchart System

Last month we mentioned that we would be switching primarily to TIMEframe development for about a month. Well, soon after we announced that we got some news that required us to switch priorities once again. We are now focused on Lacuna Passage in preparation for an important deadline that we can't talk about just yet. As soon as that deadline is met we will jump straight back to TIMEframe so that we can have that finished and up on Steam, hopefully by the end of March. This is a Lacuna Passage devlog however, so let's get to the stuff you are here to see!

Gathering More Mars Terrain Data

It should be no surprise to you by now that the Martian landscape is a huge focus for us. We have established a base level of detail for the full-scale terrain of the game, but now we are slowly starting to fill in more fine details using patchwork combinations of additional Mars data renders. We recently received a new batch of renders that you can see below.

We actually use a different image format than the above example renders for our heightmaps, but this method helps you to see the details of the terrain better from a top-down perspective.

Story Flowcharts

A big change for us this month is the addition of a new story flowchart system. This might look complicated, but it's actually a huge improvement over our previous method.

A while ago we discussed how we transitioned away from using the Playmaker visual scripting system in favor of using C#. Well, a few areas of development have actually suffered because of that transition. Using a state machine is hugely beneficial for something as complex as a branching storyline, so we have begun using Playmaker again for defining story progress and save points. This visual reference for player progress is much easier for us to manage than a complex series of C# scripts. Of course, most of the execution of story events is happening via code, but state machines are now the driver behind that code. Hopefully this will reduce the amount of time it takes us to add new story content to the game.

New Song Seed Demo Video

We finally have a good video demonstration of how Song Seed will work in both Lacuna Passage and TIMEframe. There's not much to say here that I don't discuss in better detail in the video, so if you are interested in how our dynamic music will work mechanically you can just check out the video above.

If you have any questions this month let us know in the comments!

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!