Developer postOriginal post (opens in a new tab)

Holodance V0.8.0a2 (on alpha-branch): Major Update for Clubbing Level; New ScoreHUD; Startup Time Much Faster

This version is currently only available on the alpha-branch because 0.8.0 will actually be a bigger release and this version didn't get much testing and does have known bugs ... but still ... I'd try it because I think it's pretty awesome. So let's start with instructions for those who haven't opted in to an alpha on Steam, yet: Opting In and Out of Steam Client and Product Betas

So ... I think the most important thing is actually that this version has a significantly improved startup time. Obviously I was aware that our startup time was a problem and I had an idea what was causing that but fixing it would have been a major refactoring, so I worked on other features first. Yesterday, I stumbled over a little message in the logfile and realized that the problem actually had nothing to do with what I was thinking - and was much easier to fix. So that's done.

Actually, I am working on a major UI upgrade but a few days ago, Hrishi sent me an updated version of the clubbing level he's working on, so I integrated his work back into the main project and while I was at it ... well ... honestly, I really got carried away. That clubbing level is really dear to me and I think it's starting to get fairly trippy now. If you can't try it yourself (you should!), at least have a look at the video I just uploaded:

Holodance V0.8.0 Alpha 2: Clubbing Environment, Muzzy - Draining Atlantic

I have also posted this to Reddit, so if you want to discuss the video, go there: Reddit: Holodance V0.8.0a2: Updated Clubbing Environment - Gameplay

I was tired, so I didn't play that well but I really wanted to finish that video.

Another thing you see there is the new ScoreHUD. That one is actually based on the one we used in the earliest prototypes. But it got an upgrade and is now based on the new UI style we're using. It also has a progressbar for Sliders. This had been in there all along - but we never did that for the "story-mode ScoreHUD". Oh well ;-)

There's more ... some of those items aren't really visible in the game, yet, because they were more laying the foundation for the UI update, but I'll post the complete list anyways:

  • Fixed issue with Spinners that sometimes lost "contact" with the active controller.
  • Our Clubbing bonus level has had a major update. We're slowly moving out of the prototype phase with this one. Give it try!
  • We now have a rough version of a "lightshow designer" that we can use in the Unity editor to control the lighting in the clubbing level (or any other levels where we add this). Eventually, we'll give this in your hands so you can design your own light shows.
  • The clubbing level now has effects based on the current combo / multiplier ... and it will be the "default" for free mode. But just for a short time until we finally have a proper environment selection for free mode (should be in for the full 0.8.0 release)
  • The clubbing environment now uses a loop from Sovve - Rising, which is the song we will be using for Level 4 of story mode. So this is kind of a little teaser for what's coming in story mode.
  • Now keeping each camera in "Switch Cameras (Auto)" for 4 bars instead of 1. Eventually, we'll let you set up a different number of bars for each camera you have active in this mode. Plus you'll also be able to switch cams on every beat by pressing the grip buttons.
  • Fixed camera locations to work properly with clubbing level (two cams were very badly positioned). Eventually, we'll also have cameras in the environments that are set up perfectly for the environment.
  • Fixed an issue that could cause camera switching to go one bar off. When a given song has reliable BPM and section-start data, this is now fairly reliable and should always switch at moments that make musical / rhythmic sense.
  • Updated SteamVR Unity Plugin to most current version (V1.2.1)
  • Updated Unity's Postprocessing effects to the most current version from GitHub. One important fix in there is that they have reduced the amount of shader variants from 9216 to 6912. This should speed up start up time a tiny bit. There's another change coming that should reduce startup time much more than this but keeping this up-to-date is just general house-keeping.
  • Updated to the most current beta of PlayWay Water 2. This should fix issues when porting to Unity 5.5 / 5.6, so this is part of making Holodance work on Linux (we need to move to Unity 5.6 to be able to create a working Linux build; there are a lot more things we need to do, so don't hold your breath, yet, but we do have Linux support fairly high on the roadmap.
  • Fixed the location of the status messages (multiplier gained / lost, track / level unlocked). These still had the location from the very earliest prototypes which was about 12 meters in front of the player, using the rotation of the headset at the point in time when the messages was generated. Neat idea but simply didn't work too well and should have been fixed ages ago. Now those messages appear slightly below the curved target area, in a decent distance for reading with having to look too far away from the orbs and at the same time also not obstructing the view to the orbs. Only problem with this location may be that it's hard to read those messages when there are a lot of orbs and they are not transparent, or intense particle effects.
  • Fixed color of font in loading screen (this still doesn't quite match the color of the font in the logo; will work on it more ;-) ).
  • Fixed color of the ocean in Level 1.
  • Activated SIMD for Water which should significantly increase performance in Level 1.
  • Fixed issue where water did not appear at all in the 970 and 980 quality settings (Level 1).
  • Updated Particles Playground to 3.1; this should also significantly reduce hiccups due to garbage collection and increase overall performance.
  • Created a new ScoreHUD based on our original prototype ScoreHUD but using the new UI-style. This will be used for the neutral level, as well as SciFi and Clubbing bonus levels.
  • Started performance optimization: Removed allocations from ScoreHUD texts.
  • Added digit separators for scores in ScoreHUD, so instead of showing 3142314, we now show 3,142,314. We don't have this anywhere else, yet, only in the ScoreHUD, but will eventually use it everywhere.
  • Made alpha fade for ScoreHUD not only more correct but also significantly more efficient and much simpler.
  • Turned down volume of the sound that is played when the controllers go into "catcher-state". That sound had been a little annoying.
  • Sometimes ScoreHUDs got "stuck" when cancelling a session. This should be fixed now.
  • Added a workaround for a super-annoying Unity-bug: When clicking a button, or doing quite a few other things, Unity "selects" the widgets, resulting in the hover state being stuck (because in Unity, mouser over and select is the same thing). I believe this is now fixed for all cases where it occurred, by rewriting some of the code Unity delivers to more ... well ... more correct.
  • Our UI Sliders and Range-Sliders now have a button that you can use to pull the Slider towards you for much easier editing. You can also move the Slider back to the main UI. We are not using this new version of the Slider everywhere, yet, but will eventually replace all Sliders with this new one.
  • We can now move full screens from VR to the flatscreen UI and back.
  • Improved how beatmaps are looked up in the cache. This should work totally robust now. We first use the beatmapHash, which should always work - except we didn't store the beatmapHash in the cache in earlier versions of Holodance, so some favorites and entries in "Last Played" will not have that information. In that case, we fall back to the beatmap file name, which should be unique and a fairly reliable fallback. It probably always ends there. If for some weird reason, the lookup via name fails, we still try beatmapSetId and beatmapId. In most cases, this is the least reliable approach because quite a few beatmaps don't have this information stored in their metadata. But we keep in just in case.