Holodance - jashan
At last! If you have been following the news closely, you saw that I spent a lot of time on V0.9.0b6, with nine builds with incremental bugfixes, polishing, quick fixes, most of them delivered only to the alphadev branch, and some of them going to the beta branch. The last upgrade to the default branch was almost a month ago - so quite a bit has been happening.

Most importantly, I upgraded to Unity 2017.4. If you're wondering why this update has a massive 1.6 GB - that's why! Unity 2017.4 does open up some new possibilities (if you use Oculus and/or Windows MR, this upgrade was a major steps towards native support, even though there is still quite a bit more work to do - to be clear, obviously, Oculus support was possible in much earlier versions of Unity, but the recent versions have seen major improvements to what is supported in native Unity APIs).

Gun Mechanic Polishing and Radial Orb Sources

One thing that was really annoying with the gun mechanic was that due to the orbs coming in from a screen, aiming was unnecessarily challenging. Originally, our orb spawning was designed to be from the extension of a straight line between your chest and the "ideal impact point" and for quite a while, doing the more parallel lines was actually just hacked in. Obviously that old approach is much more suitable for the gun mechanic, so we restored it.

There is a little problem with that: Not all environments even have room for orbs or drones coming from "almost all directions". So there is now a fallback to revert to the orbs coming from a screen or specific object, if necessary.

The way this all works internally is by having different "Grid Styles" and with the non-gun modes (which require a more distant "Grid Style" that cannot be used with the other modes), you can now select 4x3 (that's the default), 4x2 (that's the one we use for Story Mode) and a "tall 4x3" which is useful if you have your feet tracked because it has orbs coming all the way down.

Plus, you can also activate radial mode for all game mechanics (if the environment has enough space - most have, Sci-Fi Attack, Sci-Fi Tunnels, Robots Attack and Full 360 Craze being the exceptions, all conveniently to your right in the selection area).

Here's a video of the radial orb sources:
https://www.youtube.com/watch?v=fAUs6y-KNbI
This is currently all set up in Settings / Style / Themes, which also has an option to disable the laser sight for the guns. This was requested by digitaldocc about six weeks ago, and I originally thought this wasn't even gonna work. Well, I guess this shows I'm not much of a "gun guy": It actually works really well, and I probably won't ever switch the laser sights back on again. Thanks for the request - I have learnt something!

Game Mechanics Preset Settings

Punching orbs is very different from blocking laserbeams with laserblades, and both of these are extremely different from shooting guns. We have a lot of configuration options to adapt to the different mechanics and a few of those, we already automatically set up when you select a different mechanic (you probably noticed, for example, that we switch to other orb theme ... or that sliders and spinners get automatically disabled when activating laserblades or the gun mechanic).

Those automatic settings are now polished. In particular, all the guides are disabled when the laserblade mechanic is activated, and we've increased the time for the orbs when the gun mechanic is active (I even had this set to 8 beats / fourths but that eventually seemed a little too slow ... but try it) ... because, you can still change all settings after you have selected a game mechanic to play with. This whole area will get a lot more love - but one step at a time.

Small Things, Big Difference (I hope)

The audio preview in the Music Library was very annoying, because it cut in and out abruptly. This is much softer now, but still quick. It's still cut off at the end after the 10 second preview time - that's something I'll eventually also fix but it's a little more involved.

One change that you may or may not like is in Story Mode, and related to the work we did on the "Target Grids" (where the orbs have their ideal impact points): This was tilted downwards. Now it's straight. I like it better - but do you, too? Please give feedback (if you play Story Mode at all).

The following one already was in the beta-release notes, but for the sake of completeness:

Bullet Time 360 Pans in Holodance
https://vimeo.com/265579078
Cameras that are fairly close to the player now have an "auto 360 pan" feature that gets triggered when time slows down. This is obviously inspired by Bullet Time in Matrix. We had a much worse version of this before, this is the second iteration ... it won't be the last (eventually, we'll use Cinemachine with paths for a more natural and fluid camera movement).

Full Release Notes - Since Last Beta
  • Story Mode Environments in Free Mode: From a very old prototype, we still had a behavior that at the end of a session, the "dragon" would be moved to 20° up (from the player perspective). In Free Mode, when using any of the Story Mode environments, this had the nasty effect of moving the target grid up at the end of each song. Not anymore.
  • Target Area Styles: We've had several variations in the game for a little while but only implicitly switched between the standard 4x3 and the "far style" for the gun mechanic. Now, we let you select one of three different options in the Theme settings (for punching orbs / laserblades; gun only supports "far", and the others don't support "far", so you can't select far - it is automatically selected when you activate the gun mechanic).
  • Radial Orb Sources are Back: We've had it in the very earliest prototypes but then moved to letting them orbs come from dragon's hands and later eyes, then, in Free Mode, from a rectangular screen. This proved very bad for the gun mechanic - so now, in any environment that has enough space, you can let the orbs come "radially" from the direction where it's also landing. Kind of hard to put in words, just give it a try.
  • Story Mode: Straightened out Target Area. We've had a rather uncomfortable angle for the Target Area in Story Mode (IMHO), straightened this out. This way, instead of the orbs coming roughly towards your solar plexus, the should now come more towards your chest or a little above. Please give feedback on this one! We could easily change it to something in-between.
  • Trippy Tunnels: Fixed tunnels being weird when you rotate your head (this was due to the TunnelFX update, which reverted my fix for this).
  • Story Mode: Probably still due to the Unity 2017.4 upgrade, animations in Level 2 were broken. Fixed.
  • Music Library: The audio preview cut in and out in a super-annoying way. Now it quickly fades in / out, which is much much much better. At last! It still cuts off at the end of the preview after about 10 seconds. So this will get another polishing round but it's already a major improvement, especially if you preview lots of songs.
  • Gun Mechanic: Default BufferAheadQuarters now set to 8 - because having this slow makes a lot more sense ... then back to 4 because 8 seemed a little too long make the arrival time based on orb movement a little difficult for slower songs.
  • Game Mechanics: For the laserblades mechanic, we usually don't want all the guidance but for the gun mechanic, we should have the impact points and the timer style "osu!" is really best. So, now we set everything up for best defaults for each mechanic. Of course, you can still change everything according to your likes once you have selected a mechanic (but this is still scattered across various screens - eventually, we'll do some major consolidation for this).

Release Notes from Second V0.9.0b6 Release on Beta
  • Gun Mechanic: The laser sight can now be switched off in the Theme settings. Default is still on. Funny enough: I like it better without ;-)
  • Simple Gun Orb Theme: While the drone orbs had a really nice "target locked" sprite, the simple "balloon" theme only had a circle that was actually kind of hard to even notice. Now the simple gun orb theme has the same target locked sprite as the drone theme.
  • Environment The Desert: The color grading wasn't behaving properly in this level when flashes, saturation changes or hue shift from Psychedelic Mode were active. Fixed.
  • Loading Screen: Fixed issue that loading texts hadn't shown up.
  • World Position Offset: Change steps for world position offset from 10cm to 5cm because we've had players that needed more fine-grained control. Also increased the maximum offset from 30cm to 40cm. We're conservative with the offset because using a larger offset can give you trouble in Level 3, Story Mode, when the game moves the target area around.

Release Notes from First V0.9.0b6 Release on Beta
  • Streamer Mode: Removed 360 Rotation camera and replaced with a rotation that works on any close camera. This is activated by checking "Time Dilation Rotation" in the Streamer Mode flatscreen UI. (edited)
    Streamer Mode: Made "Switch Cameras on Rhythm" persistent.
  • Gun Mechanic / Drone Orb Theme: The explosions had a fairly annoying distortion that could cause discomfort in VR and didn't really look all that great. Removed.
  • Laserblades (this was in 0.9.0b5): Added soft trails (instead of the ugly sharp ones) and added particle effects which are activated based on the current combo, as well as much improved "impact particles" which are based on the laserblades instead of the orbs
  • Logging (this was in 0.9.0b5): Removed logging of when session were stored - this was just bloating the logfiles.
  • Local Songs: Made configuration for local songs path and osu extra songs more robust against misconfigurations.
  • Themes: Renamed "Easy Mode" to "Style Mode" because this mode lets you focus more on style.
  • Themes: Added description to Time Dilation. Improved descriptions of different game mechanics.
  • Style Settings / Guidance: Fixed issue that Impact Timers dropdown was not made interactable / non-interactable based on Impact Timers checkbox.
  • Configuration Files: Added a file copy in addition to writing the string read from the file. We had a situation where the "copies" were empty with zeros, which should not happen if we directly copy the file. However, also keeping the string may give us useful debug information in cases of failure, so now we keep both.
  • Ported to Unity 2017.4 ... and fixed too many issues to list (but some, I do list).
  • Updated Hx Volumetric Lighting to 1.3.2
  • Removed NAudio from project because we currently don't use it, anyways, and it has dependencies that make builds file in Unity 2017.4.
  • Updated Volumetric Fog & Mist to 9.1
  • Updated Tunnel FX 2 to 1.4.1
  • Updated Relief Terrain Pack to 3.3l
  • Upgraded to Unity 2017.4.1f1 (from 2017.4.0f1)
  • Removed all UnityScript code from project.
  • Updated TextMesh Pro to 1.0.56.2017.3.0b3
  • Updated UniMerge to 1.10.3
  • UI: Fixed very annoying issue that caused the laser pointers to behave really flaky with buttons and dropdown lists (this was introduced with Unity 2017.4, so this only went to alphadev).
  • UI: Fixed even more annoying issue that caused the slider animations to be completely off (this was introduced with Unity 2017.4, so this only went to alphadev). This refers to the UI sliders and range sliders - there's a button to "pull the slider towards you" which makes it much easier to change the values because you don't move the handle at a large distance. Now the animation towards you is perfect, and the animation back is almost perfect.
  • Moved project from Mono Runtime 3.5 to 4.6 (well, see below - we didn't stay with 4.6).
  • Major cleanup / refactoring.
  • Updated Unity Standard Assets: Utility, Prototyping, Particle Systems, Environments, Effects, Characters.
  • Removed all compilation warnings!
  • UI: Fixed issue introduced in earlier version of 0.9.0b6 that caused scrollbars to not react to clicking in the empty area.
  • Fixed issue that controller textures came up all black; this was due to using .NET 4.6, solved by reverting to 3.5 for now.
Holodance - jashan
This is just a small patch, and still only on alphadev and beta but we have made some changes under the hood, and also added changes requested by players:

  • Gun Mechanic: The laser sight can now be switched off in the Theme settings. Default is still on. Funny enough: I like it better without ;-)
  • Simple Gun Orb Theme: While the drone orbs had a really nice "target locked" sprite, the simple "balloon" theme only had a circle that was actually kind of hard to even notice. Now the simple gun orb theme has the same target locked sprite as the drone theme.
  • Environment The Desert: The color grading wasn't behaving properly in this level when flashes, saturation changes or hue shift from Psychedelic Mode were active. Fixed.
  • Loading Screen: Fixed issue that loading texts hadn't shown up.
  • World Position Offset: Change steps for world position offset from 10cm to 5cm because we've had players that needed more fine-grained control. Also increased the maximum offset from 30cm to 40cm. We're conservative with the offset because using a larger offset can give you trouble in Level 3, Story Mode, when the game moves the target area around.

If you haven't opted in to a beta branch before, this guide will be useful: Opting In and Out of Steam Client and Product Betas. You can use either beta or alphadev, those are now in sync (we've had this version on alphadev for about a week, with a few updates already).
Holodance - jashan
The biggest change, and main reason why we will still keep this version on the beta-branch for a few days is that we have ported from Unity 5.6 to Unity 2017.4. The last two weeks, I mostly spent fixing issues due to that update, and trying some new features just to revert due to the trouble they caused.

But 2017.4 does open up quite a few possibilities, so I have no regrets. Also, if you're running on Ryzen architecture, this should fix a pretty nasty performance issue that was due to Unity's particle engine not working well with that architecture. So, you may want to try switching particles back on (if you had them disabled for performance reasons before).

Please try this version, it should not give you any troubles - but if it does, I'd love to hear about it (one issue I have just noticed: the texts during loading are currently not shown ... I have already fixed this a few times, will be easy to fix it again, so don't be concerned about that one)!

If you haven't opted in to a beta branch before, this guide will be useful: Opting In and Out of Steam Client and Product Betas. You can use either beta or alphadev, those are now in sync (we've had this version on alphadev for about a week, with a few updates already).

You may have noticed that we skipped the V0.9.0b5 release notes. Apologies for that. The reason: There really wasn't that much change, so we'll include those here.

Streamer Mode has one major new feature:

Bullet Time 360 Pans in Holodance
https://vimeo.com/265579078
Cameras that are fairly close to the player now have an "auto 360 pan" feature that gets triggered when time slows down. This is obviously inspired by Bullet Time in Matrix. We had a much worse version of this before, this is the second iteration ... it won't be the last (eventually, we'll use Cinemachine with paths for a more natural and fluid camera movement).

Full Release Notes (includes 2 items from 0.9.0b5)
  • Streamer Mode: Removed 360 Rotation camera and replaced with a rotation that works on any close camera. This is activated by checking "Time Dilation Rotation" in the Streamer Mode flatscreen UI. (edited)
    Streamer Mode: Made "Switch Cameras on Rhythm" persistent.
  • Gun Mechanic / Drone Orb Theme: The explosions had a fairly annoying distortion that could cause discomfort in VR and didn't really look all that great. Removed.
  • Laserblades (this was in 0.9.0b5): Added soft trails (instead of the ugly sharp ones) and added particle effects which are activated based on the current combo, as well as much improved "impact particles" which are based on the laserblades instead of the orbs
  • Logging (this was in 0.9.0b5): Removed logging of when session were stored - this was just bloating the logfiles.
  • Local Songs: Made configuration for local songs path and osu extra songs more robust against misconfigurations.
  • Themes: Renamed "Easy Mode" to "Style Mode" because this mode lets you focus more on style.
  • Themes: Added description to Time Dilation. Improved descriptions of different game mechanics.
  • Style Settings / Guidance: Fixed issue that Impact Timers dropdown was not made interactable / non-interactable based on Impact Timers checkbox.
  • Configuration Files: Added a file copy in addition to writing the string read from the file. We had a situation where the "copies" were empty with zeros, which should not happen if we directly copy the file. However, also keeping the string may give us useful debug information in cases of failure, so now we keep both.
  • Ported to Unity 2017.4 ... and fixed too many issues to list (but some, I do list).
  • Updated Hx Volumetric Lighting to 1.3.2
  • Removed NAudio from project because we currently don't use it, anyways, and it has dependencies that make builds file in Unity 2017.4.
  • Updated Volumetric Fog & Mist to 9.1
  • Updated Tunnel FX 2 to 1.4.1
  • Updated Relief Terrain Pack to 3.3l
  • Upgraded to Unity 2017.4.1f1 (from 2017.4.0f1)
  • Removed all UnityScript code from project.
  • Updated TextMesh Pro to 1.0.56.2017.3.0b3
  • Updated UniMerge to 1.10.3
  • UI: Fixed very annoying issue that caused the laser pointers to behave really flaky with buttons and dropdown lists (this was introduced with Unity 2017.4, so this only went to alphadev).
  • UI: Fixed even more annoying issue that caused the slider animations to be completely off (this was introduced with Unity 2017.4, so this only went to alphadev). This refers to the UI sliders and range sliders - there's a button to "pull the slider towards you" which makes it much easier to change the values because you don't move the handle at a large distance. Now the animation towards you is perfect, and the animation back is almost perfect.
  • Moved project from Mono Runtime 3.5 to 4.6 (well, see below - we didn't stay with 4.6).
  • Major cleanup / refactoring.
  • Updated Unity Standard Assets: Utility, Prototyping, Particle Systems, Environments, Effects, Characters.
  • Removed all compilation warnings!
  • UI: Fixed issue introduced in earlier version of 0.9.0b6 that caused scrollbars to not react to clicking in the empty area.
  • Fixed issue that controller textures came up all black; this was due to using .NET 4.6, solved by reverting to 3.5 for now.
Holodance - jashan
Title almost says it all: We have had a few reports about issues with the last b3 update. Unfortunately, I wasn't able to reproduce any of those but I have received some very helpful logfiles and this patch should fix most, if not all of these issues.

While I was at it, I also polished the laserblades a little bit, and added a new 360° camera for Streamer Mode that circles around you. This also auto-activates when Time Dilation and Switch Cams in Rhythm are active and the time slowed down below 80% of normal speed. This feature will probably still get some polishing, I think it's kind of cool but not quite there, yet - but the bugfixes were too important to not push this online ;-)

Full Release Notes
  • SteamVR: OpenVR now supports 64 devices - up until 1.2.2 it was only 16 devices; that caused trouble in some of our code which could cause tracking to break.
  • SteamVR Integration: Made level loading more robust for cases where assigning the skybox failed for some odd reason.
  • Analytics: Improved analytics to gather data on used HMDs and play styles (casual, laserblades, guns and so forth).
  • Laserblades: Improved laserbeam deflection effect.
  • Laserblades: Replaced the ugly handle with a nicer one.
  • Streamer Mode: Added 360° camera that rotates around the player. This is now automatically activated when the player uses "Switch Cameras on Rhythm" and time dilation is active.
  • Psychedelic Mode / Bullet Time: We originally had the term "Time Dilation" for the slow-down at events from Psychedelic Mode. But Time Dilation now refers to the game mechanic where time slows down based on player movement, so the wording in Psychedelic Mode has been changed.
  • Time Dilation: With guns, the time dilation feature didn't really work well because there is usually a lot less movement, so for the gun mechanic, we now use the head speed and hand rotation in addition to just the hand velocity.

Holodance - jashan
Title almost says it all: We have had a few reports about issues with the last b3 update. Unfortunately, I wasn't able to reproduce any of those but I have received some very helpful logfiles and this patch should fix most, if not all of these issues.

While I was at it, I also polished the laserblades a little bit, and added a new 360° camera for Streamer Mode that circles around you. This also auto-activates when Time Dilation and Switch Cams in Rhythm are active and the time slowed down below 80% of normal speed. This feature will probably still get some polishing, I think it's kind of cool but not quite there, yet - but the bugfixes were too important to not push this online ;-)

Full Release Notes
  • SteamVR: OpenVR now supports 64 devices - up until 1.2.2 it was only 16 devices; that caused trouble in some of our code which could cause tracking to break.
  • SteamVR Integration: Made level loading more robust for cases where assigning the skybox failed for some odd reason.
  • Analytics: Improved analytics to gather data on used HMDs and play styles (casual, laserblades, guns and so forth).
  • Laserblades: Improved laserbeam deflection effect.
  • Laserblades: Replaced the ugly handle with a nicer one.
  • Streamer Mode: Added 360° camera that rotates around the player. This is now automatically activated when the player uses "Switch Cameras on Rhythm" and time dilation is active.
  • Psychedelic Mode / Bullet Time: We originally had the term "Time Dilation" for the slow-down at events from Psychedelic Mode. But Time Dilation now refers to the game mechanic where time slows down based on player movement, so the wording in Psychedelic Mode has been changed.
  • Time Dilation: With guns, the time dilation feature didn't really work well because there is usually a lot less movement, so for the gun mechanic, we now use the head speed and hand rotation in addition to just the hand velocity.

Holodance - jashan
We finally have a Windows VR (called "MR" by Microsoft) testing device and ... ooops, sorry, there were some issues. Those are now fixed. I'm very much looking forward to also add native support for Windows VR and Oculus Rift/Touch but we still need to finish up V0.9.0 - but at least, with this release, the worst issues with Oculus Rift/Touch and Windows VR should be fixed.

Full Release Notes
  • Windows VR/MR: Fixed issue with Windows VR controllers not showing up.
  • Logging: Added timestamps to quite a few logging statements to have more timing info in the logfiles. Also added VR SDK, HMD and initial resolution to logfile.
  • SteamVR: Updated to SteamVR Unity Plugin 1.2.3 (most recent version).
  • Windows VR/MR: Fixed laser-pointer direction. This now automatically uses the correct value from SteamVR, so it should also correct issues with any other controllers (Touch, Knuckles, future controllers).
  • SteamVR General: We now synchronize our gameplay models with the controller models. This should improve alignment of catchers, laserblades and guns with all controllers (Vive wands, Oculus Touch, Windows MR controllers) ... but it may also change the alignment a little bit.
In-Between Release Notes
I still fixed a few issues "on-the-fly" in the previous release that didn't go into the official release notes, so here they are, for completeness:
  • SteamVR Integration: Fixed issue with the game not properly working when only a single controller was available (this broke very recently).
  • SteamVR Beta / Steam VR Keyboard: Fixed issue that currently occurred on SteamVR beta where opening the SteamVR Keyboard immediately closed the SteamVR keyboard because you were still pulling the trigger and that triggered hiding the keyboard. The good news: Our keyboard open / close logic is now much more robust and should no longer behave strangely ever. Until the next strange SteamVR oddity comes in. Thanks Valve, we love you!
Holodance - jashan
We finally have a Windows VR (called "MR" by Microsoft) testing device and ... ooops, sorry, there were some issues. Those are now fixed. I'm very much looking forward to also add native support for Windows VR and Oculus Rift/Touch but we still need to finish up V0.9.0 - but at least, with this release, the worst issues with Oculus Rift/Touch and Windows VR should be fixed.

Full Release Notes
  • Windows VR/MR: Fixed issue with Windows VR controllers not showing up.
  • Logging: Added timestamps to quite a few logging statements to have more timing info in the logfiles. Also added VR SDK, HMD and initial resolution to logfile.
  • SteamVR: Updated to SteamVR Unity Plugin 1.2.3 (most recent version).
  • Windows VR/MR: Fixed laser-pointer direction. This now automatically uses the correct value from SteamVR, so it should also correct issues with any other controllers (Touch, Knuckles, future controllers).
  • SteamVR General: We now synchronize our gameplay models with the controller models. This should improve alignment of catchers, laserblades and guns with all controllers (Vive wands, Oculus Touch, Windows MR controllers) ... but it may also change the alignment a little bit.
In-Between Release Notes
I still fixed a few issues "on-the-fly" in the previous release that didn't go into the official release notes, so here they are, for completeness:
  • SteamVR Integration: Fixed issue with the game not properly working when only a single controller was available (this broke very recently).
  • SteamVR Beta / Steam VR Keyboard: Fixed issue that currently occurred on SteamVR beta where opening the SteamVR Keyboard immediately closed the SteamVR keyboard because you were still pulling the trigger and that triggered hiding the keyboard. The good news: Our keyboard open / close logic is now much more robust and should no longer behave strangely ever. Until the next strange SteamVR oddity comes in. Thanks Valve, we love you!
Holodance - jashan
This is mostly a polishing and bugfixing release. If you have a look at the laserblade and gun mechanics, you'll see that they look and work better. If you don't like the laser "zing" in gun mode - you can now use Audio Settings to reduce the volume or completely mute it (by pulling the volume all the way down).

It's also a really important update because for some players, Holodance would get stuck after playing a song in Free Mode. Not cool - but fixed.

Also, with a change that we needed for the gun mechanic, the tutorial in level 1 in Holodance broke and didn't show any orbs. Ouch! I had tested that level but accidentally skipped the tutorial. The song worked and I thought all was good - but the tutorial was severely broken and there was no way to skip out of that. Sorry! Fixed.

I just played about an hour in most of the different environments with both the gun and laserblade mechanics ... and wow, that was fun! I really enjoyed it! Full 360 Craze will soon get a facelift because I think that's a really fun level especially with those new mechanics, but it still looks like thrown together in about an hour (it was originally planned just for internal testing, and yes, I did not spend much time on it).

EDIT: Text Search in the Music Library now works again after a hotfix - but only with SteamVR "non-beta". SteamVR beta changed something that causes clicking the textbox to show and then immediately hide the SteamVR keyboard. I'm working on a solution / workaround. For the time being, please use SteamVR "non-beta" if you use text search in the Music Library.

UPDATE: Ok, workaround / patch for the SteamVR beta keyboard issue is done - now I just need to do a build (takes about 1 1/2 hours) and upload it. Will update this news entry when it's on.

UPDATE: That new version with the fix is online now, on all branches. Please let me know in case you still run into any issues.

Full Release Notes
  • Preparations to port to Unity 2017.3: Updated to Unity 5.6.5p2, removed all warnings. Updated Volumetric Fog & Mist and TunnelFX2 to most recent versions (to fix build errors that occurred at the end of the builds ... after about 2 hours - Unity Technologies, I am not amused :-/ ).
  • Fixed Bug that Holodance would get stuck after song if writing to play list textfile failed, e.g. because no play list textfile path was assigned in Configuration.json. When either of those paths are not assigned, we now log a warning to output_log.txt during startup, and then simply not write PlaySessions.txt and PlayList_date.txt.
  • Gun Mechanic: Added new target lock styles for the drones and the "balloon orbs".
  • Orb Themes: Renamed "Gun Theme Drones" to "Gun Drones" and "Gun Theme Orbs" to "Gun Balloons".
  • Drone Orb Theme: Reduced duration of explosions to make them less distracting.
  • Audio Settings: Added Mixer Setting for Laserguns - that way, you can completely mute that sound, if you don't like it.
  • Story Mode: The tutorial in Level 1 was broken since we added the gun mechanic. Ooops. Someone reported no orbs in Story Mode but that apparently only applied to the tutorial and I missed that when I tested (skipped and didn't try again). Ouch!
  • Gun Mechanic: The colliders of the two gun orb themes (Drones and Balloons) were a little too small, making the whole mechanic just a little too strict and in some ways frustrating when you missed an orb just because the laser pointer was slightly off. The colliders are now a little larger than the actual orbs for a little more tolerance.
  • Laserblades: Turned the laser beams read, and the laserblade turquoise blue - and replaced the kind of ugly and old-school (legacy) particle effect with a proper laserblade line renderer.
  • Gun Mechanic: The laser sight is now red, because that's the common color for laser sights. The laser shooting is still turquoise blue.
  • Gun Mechanic: Made area where things to be shot arrive about 0.5 meters higher. This should prevent those things coming in on floor level in some of the environments. If you are very tall and this causes you trouble - please let us know!
  • Music Library UI: Hopefully fixed the super-annoying issue that the whole thing get stuck somewhere in the middle of its animations.

Hot Patch Release Notes
  • Music Library Full Text Search: Fixed issue that caused text that was typed to not be transmitted to the search.
  • Music Library Full Text Search: Made the "restore super-sampling" workaround more robust. The issue here is that SteamVR reduces super-sampling from the outside, so we need to check for the actual resolution and compensate for that. It's a bit hacky and wasn't reliable before. Now it is. Also, it didn't honor your super-sampling setting before and instead compensated for the default 1.0. Now we keep the resolution resulting from your super-sampling value and adapt according to that. Ideally, you should not see any change in resolution when entering text-search but there may be a framedrop due to super-sampling changing twice, very quickly (one time by SteamVR, making it all blurry, then by Holodance making it all sharp again).
  • Music Library Full Text Search: The "reset" button to reset the text search was only activated when more then two characters were typed. This needs to be active when any characters were typed. Now it is.


EDIT: When first posted, this accidentally had V0.9.0b1 as headline - it's b2, of course ;-)
Holodance - jashan
This is mostly a polishing and bugfixing release. If you have a look at the laserblade and gun mechanics, you'll see that they look and work better. If you don't like the laser "zing" in gun mode - you can now use Audio Settings to reduce the volume or completely mute it (by pulling the volume all the way down).

It's also a really important update because for some players, Holodance would get stuck after playing a song in Free Mode. Not cool - but fixed.

Also, with a change that we needed for the gun mechanic, the tutorial in level 1 in Holodance broke and didn't show any orbs. Ouch! I had tested that level but accidentally skipped the tutorial. The song worked and I thought all was good - but the tutorial was severely broken and there was no way to skip out of that. Sorry! Fixed.

I just played about an hour in most of the different environments with both the gun and laserblade mechanics ... and wow, that was fun! I really enjoyed it! Full 360 Craze will soon get a facelift because I think that's a really fun level especially with those new mechanics, but it still looks like thrown together in about an hour (it was originally planned just for internal testing, and yes, I did not spend much time on it).

EDIT: Text Search in the Music Library now works again after a hotfix - but only with SteamVR "non-beta". SteamVR beta changed something that causes clicking the textbox to show and then immediately hide the SteamVR keyboard. I'm working on a solution / workaround. For the time being, please use SteamVR "non-beta" if you use text search in the Music Library.

UPDATE: Ok, workaround / patch for the SteamVR beta keyboard issue is done - now I just need to do a build (takes about 1 1/2 hours) and upload it. Will update this news entry when it's on.

UPDATE: That new version with the fix is online now, on all branches. Please let me know in case you still run into any issues.

Full Release Notes
  • Preparations to port to Unity 2017.3: Updated to Unity 5.6.5p2, removed all warnings. Updated Volumetric Fog & Mist and TunnelFX2 to most recent versions (to fix build errors that occurred at the end of the builds ... after about 2 hours - Unity Technologies, I am not amused :-/ ).
  • Fixed Bug that Holodance would get stuck after song if writing to play list textfile failed, e.g. because no play list textfile path was assigned in Configuration.json. When either of those paths are not assigned, we now log a warning to output_log.txt during startup, and then simply not write PlaySessions.txt and PlayList_date.txt.
  • Gun Mechanic: Added new target lock styles for the drones and the "balloon orbs".
  • Orb Themes: Renamed "Gun Theme Drones" to "Gun Drones" and "Gun Theme Orbs" to "Gun Balloons".
  • Drone Orb Theme: Reduced duration of explosions to make them less distracting.
  • Audio Settings: Added Mixer Setting for Laserguns - that way, you can completely mute that sound, if you don't like it.
  • Story Mode: The tutorial in Level 1 was broken since we added the gun mechanic. Ooops. Someone reported no orbs in Story Mode but that apparently only applied to the tutorial and I missed that when I tested (skipped and didn't try again). Ouch!
  • Gun Mechanic: The colliders of the two gun orb themes (Drones and Balloons) were a little too small, making the whole mechanic just a little too strict and in some ways frustrating when you missed an orb just because the laser pointer was slightly off. The colliders are now a little larger than the actual orbs for a little more tolerance.
  • Laserblades: Turned the laser beams read, and the laserblade turquoise blue - and replaced the kind of ugly and old-school (legacy) particle effect with a proper laserblade line renderer.
  • Gun Mechanic: The laser sight is now red, because that's the common color for laser sights. The laser shooting is still turquoise blue.
  • Gun Mechanic: Made area where things to be shot arrive about 0.5 meters higher. This should prevent those things coming in on floor level in some of the environments. If you are very tall and this causes you trouble - please let us know!
  • Music Library UI: Hopefully fixed the super-annoying issue that the whole thing get stuck somewhere in the middle of its animations.

Hot Patch Release Notes
  • Music Library Full Text Search: Fixed issue that caused text that was typed to not be transmitted to the search.
  • Music Library Full Text Search: Made the "restore super-sampling" workaround more robust. The issue here is that SteamVR reduces super-sampling from the outside, so we need to check for the actual resolution and compensate for that. It's a bit hacky and wasn't reliable before. Now it is. Also, it didn't honor your super-sampling setting before and instead compensated for the default 1.0. Now we keep the resolution resulting from your super-sampling value and adapt according to that. Ideally, you should not see any change in resolution when entering text-search but there may be a framedrop due to super-sampling changing twice, very quickly (one time by SteamVR, making it all blurry, then by Holodance making it all sharp again).
  • Music Library Full Text Search: The "reset" button to reset the text search was only activated when more then two characters were typed. This needs to be active when any characters were typed. Now it is.


EDIT: When first posted, this accidentally had V0.9.0b1 as headline - it's b2, of course ;-)
Holodance - jashan
Finally, this is the first "beta" of V0.9. What this means is that the main features are there and now it's all about polishing those to get this into V0.9. Some may wonder what this alpha/beta/release stuff is all about in an Early Access title - so to answer that: We use Early Access to be able to test things a lot, and sometimes, what you first get is really just an early prototype. You play it, we play it, we get feedback, we iterate, polish and improve.



The most important thing this new release brings compared to the previous V0.9 alphas is the gun mechanic (we already had a few releases with this on the guns and alphadev branches) but I'd like to take a more broader perspective on V0.9 with these release notes:

Procedural Beatmaps
We love perfectly timed rhythm game maps, and I get really annoyed when gameplay is off-beat, so all along Holodance was all about its native content with music produced specifically for the game, then we added licensed music (some of which we have licensed but not added, yet) and eventually added support for osu! beatmaps.

But there is something really awesome about simply starting playing any song you have in your local music library. Holodance can read files in the formats/containers: mp3, mp4, m4a, ogg, flac, wav, wma, opus. Some of the things we do for procedural / algorithmic beatmapping are also the foundation for our upcoming in-VR beatmap editor, like properly identifying "recordings" of a song, regardless of the encoding or even whether it's in your local library or on YouTube (YouTube support will come later during V0.9.x).

Feedback so far has been quite positive, even though we still need to let you properly select your music base folder. Currently, unless it's your Windows Music library folder, you need to copy'n'paste the path into the field "pathLocalMusic" in: <pathToSteam>\Steam\steamapps\common\Holodance\Configuration.json

You get five difficulties for each song, we're still working on polishing every aspect of this.

Casual Mode
Holodance has been all about precision all along but sometimes, you just want to casually punch orbs to the rhythm. We do, too. In Casual Mode, the orbs are larger, and so are the "catchers". A less obvious thing is that while you get the same time window for "perfect" timing, as long as you catch the orb at all, you don't miss it due to timing. This is to prevent the frustration a few players had when standing too far forward or too far backwards. Finally, Casual Mode automatically has Sliders and Spinners converted to orbs, because those are more advanced mechanics and not everyone enjoys them as much as I do ;-)

One important thing to understand about how we handle these modes: The mechanic setting in Settings / Style / Themes changes the catcher and also sets some defaults for orb theme, timing and converting Sliders / Spinners - but you can still change this according to your preferences.

Here's how it works:



Laserblades
Back in October 2016, I publicly mentioned an upcoming sword-mechanic for Holodance, which, due to our sci-fi theme would obviously be using a laserblade-style representation of the sword. In fact, adding more and different core mechanics to Holodance had been on my mind since October 2015, when I had to turn the catchers into little sword-like tubes due to tracking limitations with the Razer Hydra that I used for some of the early prototypes of Holodance.

One thing I learned when everyone started talking about Beat Saber was that I shouldn't wait with implementing ideas like that. So the laserblades mechanic is now available in Holodance:
https://www.youtube.com/watch?v=6aNjSNJ9RKs
Again, you can select the laserblades in the mechanic settings, and it will set up some defaults, like the laserbeam orb theme - but you can change it, and for example also use the Firestorm orb theme which has fireballs flying at you that you can then deflect with your laserblades. There are two stages to this: Using just a single hand, or, for more advanced gameplay, dual wielding.

... and while I was at it I also added the gun mechanic that I had mentioned in January 2017 and that otherwise had drowned in a long list of todos:

Gun Mechanic
One of the tricky things with the now almost traditional VR rhythm game mechanic where orbs fly at you so you can catch or punch them is that time and space are essentially the same. So when an object moves, the perfect time to catch it is also the perfect location to catch it. It's still a lot of fun - but people that care all about the precision in rhythm games will always miss something with this approach.

So why not give players guns and let them shoot the objects? We use a very fast laser-gun that only works against orbs and drones (I still strongly believe in non-harming and non-violence ;-) ). While working on this I realized that for the fun of it, having a bow and arrow mechanic will also be cool. But that's not in this version, yet, and it obviously requires even much easier beatmaps than the gun mechanic (with the bow and arrow mechanic, since the arrow has a distance to cover at a lower speed, you'll have to shoot it just a little bit before the beat, so it gets crazy difficult).

So, if you want to try this, make sure to select maps below 2.5 in difficulty first. Our procedural beatmapper currently usually creates more difficult maps - we're working on fixing that during this beta-cycle.
https://gaming.youtube.com/watch?v=b2xzPq_4s9o
New Impact Timing Indicators
We have had impact timing indicators all along - but they never really worked that well, so improving them has been on my list for like almost forever. Finally, we have them, and now only do we give you five to choose from now, the original one, one where a circle goes all the way up on both sides, and clockwise and counterclockwise "timer circles" - these now also show the timing phase you are in with colors: Red means you'd miss because it's too offbeat, yellow means you'll catch it but it's offbeat, and finally green means perfect.

These can be selected in the Guidance area under Style, and the preview was also improved:



Time Dilation
We already had "Time Dilation" as part of Psychedelic Mode for a little while - we'll rename that to "Bullet Time", though, because it works very differently: Bullet Time in Psychedelic Mode slows down time around special event orbs, like the 48-combo 4x multiplier, long combos and of course, the full combo. The cool thing about Bullet Time is that it's predictable and you can use it for finishing moves.

The new Time Dilation features works differently: Time now moves based on how fast you move your hands: When you groove naturally with the music while catching orbs, time passes normally - but when you slow your hands down, time slows down with them. If you hold your hands still, time almost completely stops. As you can imagine, this opens up quite a large range of new approaches to how you play our rhythm game. It's all about style.

The Time Dilation mechanic works especially well with our laserblades because while we do track rotational velocity as well for the score bonus, it does not influence time. So you can do some really tricky advanced moves while playing with rhythm and time.
https://gaming.youtube.com/watch?v=lA3rkI3PF0U
And time dilation works in both directions: When you wildly swing your arms, it's like fast-forward. So you can make slow songs more fun this way, too.

Bounce Back Mechanic
We needed this for the gun mechanic because having the objects fly all the way to the players isn't that great. The idea, however, is much older and was about solving the same issue that the gun mechanic now solves much more elegantly: Being strict with timing. For now, we have this as one orb theme.

Give it a try and let us know what you think. If we keep this, it will become part of "precision mode", which is more strict in every aspect of the game, as our "standard" mode.

Player Progression
All of these new mechanics will be part of a new progression system that is based on skills. We already have the accumulated score to unlock environments. That's pure grinding, and we'll fix the loopholes used by cheaters (in case anyone wondered ;-) ). With the mechanics, the idea is that you need to have a minimum skill to have fun with the advanced mechanics. So those will be unlocked based on your skill.

However, it won't be a linear progression because some people may want to get to the gun mechanic as soon as possible, and are not even that interested in the laserblade mechanic. So you will be able to select your own path through the different mechanics. Single / dual will be linear because you can only play easier maps with a single laserblade / single gun, and then, for the more intense one, dual wielding is unlocked.

Streamer Mode
One thing that was super-annoying with Streamer Mode until this version was that not all cameras worked in all environments. That's still the case, but now, cameras that don't work in a specific environment are automatically excluded from the automatic camera switching on the rhythm.

Also, your settings are now saved persistently, so you don't need to set up the times again and again for each session.

That was a lot to cover - the details for this release are actually just a few:

Release Notes for V0.9.0b1
  • Guns: New Gun Mechanic
  • Pause Menu: Moved the "Move World" UI forward so that it is closer to Rotate World / Rotate UI.
  • Target Areas: We can now support different target areas (only in "Free Mode", though). For now, this is only used to internally switch between the distant guns target area and the standard close target area. But this can also be used to activate special areas for feet, so this is a big step forward.
  • Guidance: Changed "Show Impact Points" to "Show Impact Timers" because these points were actually always meant to be "timers" and now will become that in a much more obvious way.
    Guidance: Changed wording - the "Show" was a little redudant. It is no more.
  • Guidance: Added animation for one orb, its impact timer and timing laser.
  • Impact Timers: Previously, impact timers had to be adapted to the size of the orbs - this is now down automatically.
  • Impact Timers: Added osu style impact timer (contracting circles).
    Hit Sounds: Added Explosions Hit Sound Theme.
  • Guns: Added much improved activate / deactivate animations.
  • Guns: Added explosions for drones orb theme.
  • Guns: When using guns, Time Dilation behaves very differently from orbs and laserblades, so we adjusted the relevant curves for more interesting gameplay (having ultraslow time almost all the time isn't really fun).
  • Streamer Mode: Added number of bars before switching Avatar, same as we already have it for the cameras.
  • Streamer Mode: Made settings for the cameras persistent so we don't have to set everything up each time we start the game. You still need to activate Streamer Mode through the flatscreen UI, and also Switch Cams in the Rhythm because if we'd activate that automatically as well, this could cause some troubles.
  • Party Mode: Start Streamer Mode can mess up the UI at the end of a session, so this is now disabled by default.
  • Streamer Mode: Added camera exclusion to environments so that automatically switching cameras does not mess up recordings anymore. Most camera views are available in all environments, and some don't work that well when the main ScoreHUD is active (i.e. Gamer mode in guidance, instead of Zen mode). Especially Sci-Fi Tunnels has been significantly cleaned up because a lot of perspectives didn't work in that one. If you find any perspective in any environment that you feel should not be included - please let us know!
  • Streamer Mode: Reduced field of view of first person camera in Streamer Mode from 80° to 65°. This is still a larger field of view than the regular headset view but it's no longer like almost fisheye view that makes things right in front of you appear kind of small.
  • Orb Themes: Added "bounce back" orb theme. We may move bouncing back into a separate area so that you can play any theme with or without bouncing back. Currently, the gun orb themes are "bounce back", and this new Bounce Back theme. The bounce back logic is a part of "precision mode" which requires much higher precision in gameplay then standard mode. So eventually, we'll have Casual (requires less precision especially in terms of timing), Standard and "Precision Mode" which is much more strict.
  • Impact Timer: Added "Full Circle Up" timing indicator. This is also the new default.
  • Impact Timer: Added color-coding for the time-phases from missed (red), via offbeat (yellow) to perfect (green).
    Drone Orbs: Due to the explosions, the OrbScoreHUD was hardly ever visible with drone orbs - so this has now been moved about a meter closer to the player.
  • Asteroids Environment: This was pretty overexposed. Reduced exposure from 2.28 to 1. This is still a bit brighter than without color grading, but no longer eye-cancer bright.
  • Impact Timers: Added clockwise and counterclockwise impact timer styles.
...