Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411490 Posts in 69371 Topics- by 58428 Members - Latest Member: shelton786

April 24, 2024, 08:03:02 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsManifold Garden
Pages: 1 ... 59 60 [61] 62 63
Print
Author Topic: Manifold Garden  (Read 394878 times)
William Chyr
Level 8
***



View Profile WWW
« Reply #1200 on: May 02, 2018, 07:07:27 PM »

Devlog Update #348 - 05/02/2018



Development update video #11 is now up!

We are currently focusing on audio design. In addition to making the actual sound effects and filters, I also have to make a lot of tools to help us balance and debug audio.



Above is a custom tool I built to enable and disable each sound effect in the game. This is really important if we're trying to tweak the timing and volume level of one specific sound. Even with an action as simple as pressing a button to open a door involves a multitudes of sounds. This tool allows us to disable everything except one, and has been incredibly useful.



Another tool is shown above. This displays every sound that is currently playing in the game. Initially, audio debugging was very frustrating. I'd hear an incorrect sound playing, but would not be able to tell where it was coming from or what it was. With this tool, I can see a list of all the sounds currently playing, which categories they're in, and how many there are.

It's been useful figuring out which sounds are not being called to stop when they're supposed to, or which ones have duplicates.

It also has the bonus feature of filtering out certain sounds, such as water and laser, from being displayed. The reason is that these sounds involve multiple sound emitters for one object, and if each one is printed out, it can take up the entire display


Logged

quantumpotato
Quantum Potato
Level 10
*****



View Profile WWW
« Reply #1201 on: November 17, 2018, 03:21:57 PM »

How's the game coming along?  Cool
Logged

william.equal
Guest
« Reply #1202 on: November 18, 2018, 04:02:35 AM »

Really loving the art style so far!
Logged
William Chyr
Level 8
***



View Profile WWW
« Reply #1203 on: November 29, 2018, 05:47:40 PM »

Devlog Update #349 - 11/29/2018

Like always, last few months have been really busy. Lots of new people have joined the team as we push for the finish line.

Build Automation Process



One of the problems that have come up near this late stage of development is increasing build times. Early on in development, it was pretty easy and fast to make a build as there just wasn't that much content. Now, however, the entire process takes over an hour.

First, we have to create optimized versions of every scene in the game. This is a process that is specific for Manifold Garden. The scenes of the game are rather large, and the version that I edit with contain a lot of scripts and content that are not needed at runtime. So before a scene is used in the game, we create an optimized version of it, with meshes combined, hierarchy reorganized, etc. This process takes at least 15 seconds for each scene, with some taking as long as a few minutes. In total, it usually takes about 40 minutes to regenerate all the optimized scenes. During this process, Unity is unusable.

Once the optimized scenes are generated, we can then make a build. There are roughly 150 scenes in the current game, and on average it takes about 10 minutes to make a build. Like the process of regenerating the scenes, Unity is unusable during this time.

When the build is finally created, I then zip the folder and upload it to itch.io for the playtesters using the itch tool Butler.

So we have these for steps:
1. generate optimized scenes (40 minutes)
2. make a build (10 minutes)
3. zip (5 minutes)
4. upload (5 - 10 minutes, though it's not necessary I stick around)

We're at the stage now where we're uploading builds pretty much daily, with new fixes and updates for the playtesters. The problem with the above sequence is that I have to keep returning to the computer between each step.

We needed some sort of automated build process to streamline this. Luckily for us, Unity gives us a really great feature, it supports Command-Line Arguments.

Using these arguments, we can launch unity using “-executeMethod <Method>” which will run one method for us. Using that in combination with “-batchMode” (this runs unity without any windows opening) lets us execute the necessary steps. Another set of arguments to keep in mind is the license-related commands. If you’re deploying to multiple platforms, you can switch between licenses through just arguments, and re-build after switching.

So, using an .NET 4.5 application, We run unity with a bunch of arguments, which then runs the scene optimization code, then builds the game using unity’s BuildPipeline.BuildPlayer. Then we use .NET’s built-in ZIP management to make a zip file, then run a butler command to upload it to itch.io. We've shifted to doing all the building on a separate machine so we can still work on the game, but the nice thing is we can just set type "build" into a command line and have the rest taken care of.

Debug panel

Debug tools are more and more important as we try to pinpoint and fix up all the bugs. Initially, we'd just have a lot of toggles hooked up to random hotkeys - press K for screenshot, press ] for noclip etc. However, this got really hard to manage after a while. While it's still useful to have hotkeys, it's also not practical to have to memorize what 20 of them do. Additionally, keyboard and mouse isn't always available, only a controller.

We now have a series of debug panels that can be used to load specific levels, toggle on and off different states, as well as specific functions to help us diagnose bugs. We can also show the hierarchy and unity log in the game at runtime.








FMOD Problems

We're using FMOD for the audio in Manifold Garden. While it's a really powerful tool, especially for the interface that it provides for the sound designer, I'm not sure it was the right choice for us.

I mostly chose to work with FMOD because when I was asking around about audio a few years ago, FMOD and Wwise were two names that came up very often. Both were highly recommended, and I think I ended up going with FMOD for their pricing model (basically free for an indie title).

Initially, it was fairly straightforward to get FMOD integrated into the project and to have a sound in the game. However, no one on the team had ever worked with FMOD before. And as the game grew, and the scope of the FMOD project grew, that's when problems started to come up.

For example, there's the concept of voices in FMOD. The idea is that if you have 1000 objects emitting sounds in the game, you don't necessarily need to play all 1000. You could get the same feeling with much fewer sounds. So while you might have 1000 sound events, only 64 are active. Sound events can be set to "steal", so if you have a new sound start to play, it can use one of the voices from another sound, perhaps the quietest one, or the oldest one. However, we didn't really know this and hadn't properly set things up, so in one level that had a lot of waterfalls, about 75% of them just did not make any sound.



We spent a ton of time looking at the water code, and the audio code, and it was only after days of testing that we realized it was any sound after a certain number that didn't play. We then realized the issue was FMOD and not the code.

Another problem we had was the landing sound being slightly delayed. At some point, we noticed this had been happening for a few weeks. It was very slight, but definitely noticeable. You'd land, and then a split second later, you'd hear the sound play. It really took you out of the moment.

Similarly, we looked at the movement code, thinking the physics was off somehow. Finally after a few days, I started going through some old builds, and noticed that the builds a month ago didn't have this problem. I started going through old builds chronologically, one at a time, until I found the one where it started to happen. Since we have the changelist number in the name of the build, I then went to our perforce and reverted the project to each version. Again, no code changes during that time would have caused this.

Finally, we were led back to FMOD. The event for landing had been adjusted and there was a slightly longer track. It didn't seem like it would be a problem, but somehow it caused the sound to be delayed. Our theory is that because the track was longer than a certain length, it resulted in FMOD streaming in the sound.

On top of these problems due to subtleties in how FMOD works, we also had to implement a lot of debug tools in game to handle events, and to be able to turn sounds on and off. We also had to implement our own audio occlusion system, which I'll discuss in more detail in the next update.

We've since fixed many of these issues, and the game is sounding great, but it definitely has not been a stroll through the park.

Ironically, having gone through all this, we're now much more familiar with FMOD and would probably use it again. However, it's definitely not a tool I would recommend jumping blindly into. Unless someone on the team has a lot of experience with it, it might not be worth the additional effort.

Graphics Issues

There are some graphics bugs we're trying to debug. One of the tools we're using lets us disable various effects at runtime.

Here are some cool screenshots that Aaron took:







Bug fixing

Bug fixing, bug fixing, bug fixing.

It honestly seems that is all we do these days. Fortunately we've got an amazing community of testers who've been finding all sorts of obscure bugs. And while it is a bit disheartening to see new ways the game breaks each day, we're really happy to be catching this stuff now and fixing it. The game is definitely much more stable than it was months ago.

Massive shoutout to vtech, cache, and californ1a who've been leading the charge on the bug finding effort. 

Here's just a collection of some of the bugs:

Crack in the geo allowing player to sneak through:


Cube falling slowly for some reason:


Water falling through geo:


Jittery physics:



Ending

Finally, for design, I'm working on the ending. Almost there. Honestly, the hardest part is just finding the time to be able to do design amidst everything else.
Logged

Kyzrati
Level 10
*****



View Profile WWW
« Reply #1204 on: November 29, 2018, 06:13:03 PM »

Really interesting read! Good luck hammering out the rest of those bugs. At least you've got all those nifty tools now, plus great help it looks like :D
Logged

Mark Mayers
Level 10
*****



View Profile WWW
« Reply #1205 on: November 29, 2018, 08:01:47 PM »

Good luck, looking forward to the finished game!
Logged

Desolus Twitter: @DesolusDev Website: http://www.desolus.com DevLog: On TIG!
stick100
Level 0
*


View Profile
« Reply #1206 on: November 30, 2018, 07:39:26 AM »

Looking good, looking forward to your release.
Logged
William Chyr
Level 8
***



View Profile WWW
« Reply #1207 on: December 01, 2018, 08:47:47 PM »

Devlog Update #350 - 12/01/2018



Continued working on the ending today. Didn't get as much done as I would have liked, but progress is progress.

It's good to be back to having a rhythm though. The past few weeks I had to deal with a lot of administrative work and that took up a lot of mental energy. It's good to bel able to just think about design when I sit down in front of the computer.

Got several decent puzzles for the ending. The spacing in each puzzle needs work, but the concept for the puzzle is there.
Logged

sidbarnhoorn
Level 3
***


View Profile WWW
« Reply #1208 on: December 02, 2018, 06:25:12 AM »

Looking forward to this, William! It's looking amazing. Smiley Good luck!
Logged

Siddhartha Barnhoorn
--------------------
Award winning composer

Composed music for the games Antichamber, Out There, The Stanley Parable, Planet Alpha...

Website:
http://www.sidbarnhoorn.com
Bandcamp:
https://siddharthabarnhoorn.bandcamp.com
Twitter:
https://twitter.com/SidBarnhoorn
UnparalleledDev
Level 0
**


Student of the Universe


View Profile WWW
« Reply #1209 on: December 02, 2018, 07:00:00 PM »

the mesmerizing screenshots of this game are essentially stand alone works of art. Gentleman

I've watched your GDC talk. Great stuff man.  Hand Thumbs Up Right

It's cool to see the progress, as well as, what goes on under the hood.

Keep fighting the good fight.
Logged



Unparalleled -
A solo game dev's adventure into an over scoped project.
William Chyr
Level 8
***



View Profile WWW
« Reply #1210 on: December 02, 2018, 08:34:17 PM »

Devlog Update #351 - 12/02/2018


Thanks for the support everyone!

Did some more work on the ending today. There's a few things that will need gameplay programming, but for the most part, the mechanics function quite well.
Logged

William Chyr
Level 8
***



View Profile WWW
« Reply #1211 on: December 03, 2018, 03:25:01 PM »

Devlog Update #352 - 12/03/2018

Recently finished The Power of Habit by Charles Duhigg, and currently reading Deep Work by Carl Newport. Highly recommend both books.

I've been incorporating their methods and techniques into my daily routine and have definitely found myself both more focused and more productive.

Worked on a couple of puzzles for the ending today:



They need to bring together all the mechanics in the game while feeling satisfying, so it's been a bit of a challenge, but I'm happy with the content so far. Aiming to at least get all puzzles done tonight, then start connecting them up.

Logged

William Chyr
Level 8
***



View Profile WWW
« Reply #1212 on: December 04, 2018, 08:24:08 PM »

Devlog Update #353 - 12/04/2018

Continuing to stick the principles and techniques of deep work.

It really has been helpful, and I'm continuing to be productive. Haven't felt this way in a long time.

Making progress with the ending.



Wasn't until I started tracking what I do every day and make an intention to focus did I realize how often the urge to look up something unrelated to my work is. Every 10 minutes or so. In the past, I just succumbed to the urge and so much time was lost without realizing it. Now I'm very intentional in fighting these urges and staying focused.

Logged

Devilkay
Level 2
**

Hi! First game-dev experience!


View Profile
« Reply #1213 on: December 05, 2018, 01:50:08 AM »

the concepts are amazing
Logged
William Chyr
Level 8
***



View Profile WWW
« Reply #1214 on: December 05, 2018, 05:08:33 PM »

Devlog Update #354 - 12/06/2018

Connecting up levels in the ending today. Two deep work sessions so far. Continuing later.

Logged

William Chyr
Level 8
***



View Profile WWW
« Reply #1215 on: December 07, 2018, 12:25:24 AM »

Devlog Update #355 - 12/07/2018

Connected up the ending. It's rough, but it's in. Tomorrow, we will be hooking in the credits sequence.



Logged

William Chyr
Level 8
***



View Profile WWW
« Reply #1216 on: December 07, 2018, 04:20:13 PM »

Devlog Update #356 - 12/07/2018

The credits scene is in. And with that, Manifold Garden is playable from the start screen to the end.

Logged

sidbarnhoorn
Level 3
***


View Profile WWW
« Reply #1217 on: December 08, 2018, 10:31:16 AM »

Gorgeous! What did you end up doing for music btw?  Smiley
Logged

Siddhartha Barnhoorn
--------------------
Award winning composer

Composed music for the games Antichamber, Out There, The Stanley Parable, Planet Alpha...

Website:
http://www.sidbarnhoorn.com
Bandcamp:
https://siddharthabarnhoorn.bandcamp.com
Twitter:
https://twitter.com/SidBarnhoorn
William Chyr
Level 8
***



View Profile WWW
« Reply #1218 on: December 10, 2018, 10:06:27 PM »

Gorgeous! What did you end up doing for music btw?  Smiley

Haven't announced yet, but have been working with a composer for the past few months. It's coming together nicely!
Logged

sidbarnhoorn
Level 3
***


View Profile WWW
« Reply #1219 on: December 11, 2018, 07:58:47 AM »

Awesome! Looking forward to it. Smiley
Logged

Siddhartha Barnhoorn
--------------------
Award winning composer

Composed music for the games Antichamber, Out There, The Stanley Parable, Planet Alpha...

Website:
http://www.sidbarnhoorn.com
Bandcamp:
https://siddharthabarnhoorn.bandcamp.com
Twitter:
https://twitter.com/SidBarnhoorn
Pages: 1 ... 59 60 [61] 62 63
Print
Jump to:  

Theme orange-lt created by panic