Holodance cover
Holodance screenshot
Genre: Music, Sport, Indie

Holodance

Holodance V__LAZERS! Something fun on the "lazers" branch: Laserblades

First of all: If you haven't opted in to another branch before, this guide will be useful: Opting In and Out of Steam Client and Product Betas. If you want to try this current build, simply pick the "lazers" branch.

And here's what you'll get:
https://gaming.youtube.com/watch?v=6aNjSNJ9RKs
I have also posted this to Reddit

Back in October 2016, and again in January 2017, I mentioned an upcoming "sword-mechanic" for Holodance here on our Steam Community Forums. The idea is to have a progression in mechanics to give you more variety to play with. We already have environments that you can unlock with a "grinding progression" (your accumulated score). This one, however, is unlocked based on your skill (not on that lazers branch - that's for testing and only has laserblades ;-) ). The full deal is sword & shield, dual wield and eventually, laser-guns. And instead of making this a linear progression, we'll have a kind of "skill-tree", so you can decide in which order the additional mechanics are added.

I had even played with a sword-mechanic much earlier in 2015, while still working with Razer Hydra (primarily as a workaround for the tiny tracking area at that time - but it was easy to see how much fun this would eventually be), and a sword-based mechanic was also suggested to me here on Reddit in 2015 when I posted one of the earliest prototypes. It really clicked, however, when I saw Lightblade VR, a really nice little "practice game". With that, and what I already had in Holodance, it was kind of obvious where this should be going - long before last weekend.

One really tricky thing in game development is prioritizing which item to implement when. Usually, there's a kind of natural order to it, inherent to the development process: First, polish the core mechanics. Then, add skill-tracking. Then add new gameplay mechanics which are based on that skill. Also, make sure to answer feature requests from your players when they fit with the direction you're going. It happens that we are just finishing skill-tracking and procedural beatmapping.

And then came Beat Saber.

Awesome polished game, amazing video! Kudos to the developers, they are doing a great job with this and I'll definitely spend some time playing their game because I think it will be a lot of fun. I'm super happy that this took off the way it did because this will help VR gain more adoption, so that's good for all VR developers.

But as I had seen with Audioshield, even when you show a mechanic much earlier and even get a little bit of press coverage as we did in 2015, most people will think that the game they first heard of was the game that "invented" some mechanic (which in this case now will obviously be Beat Saber because everyone saw it). Not necessarily the game that actually did or was the first actual playable game ... especially when it's nothing but a few mentions in forum postings.

So I decided to get this ready to play with and put it into your hands. Speeding things up a little, like in Speed of Link ;-)

Even though we use a similar weapon, the mechanic we have in Holodance is quite different from Beat Saber. It's the defensive art: Lasers shooting at you that you need to block. As you can see in the video, depending on the beatmap you play, this can be fairly easy, or near impossible. We have a pretty good difficulty metric in Holodance now that will help find fitting matches ;-)

We will have slicing, too, but that's for Spinners, which are kind of rare - and those things are big, and you'll get a chance to slice through it several times (in fact, the more slices, the higher the score - this may even be easier for people to immediately get than how Spinners are spun). Sliders and spinners are not done, yet - but as mentioned above, you can already play what you see in the video, today.

Guns and actual dancing will arrive a little later (as usual, as options for those who enjoy those mechanics ;-) ).

Holodance V0.9.0a6: The Secret Update

Sorry, can't say more about this, yet.

Experimental stuffz ;-)

We'll have an official announcement next week.

But please let us know in case this breaks anything for you.

Holodance V0.8.12: The Unusual Update

After a few days off between the years I'm back in full-development mode. Most of the time, I'm currently working on another little surprise and quite a bit of the foundation work for that is even already in this build, almost completely invisible (you will find it, if you look for it ... but it won't work, yet ;-) ).

Unfortunately, there was one very annoying issue that slipped by me: When you used the library from your local osu! installation, scrolling the lists was extremely slow, causing a very disorienting framedrop-party. Apologies for that!

So that's fixed in this release. Unfortunately, after doing and uploading the build, I noticed that "time dilation is now interrupted" caused a new bug that could time sometimes to get stuck half way back into normal time. I already have this fixed - but doing a build takes about an hour, and it's already past midnight ... so ... the build is running but I'll publish that fix tomorrow. EDIT: That update is now released ;-)

The Music Library not working was a really severe issue that I felt I need to fix as soon as possible. Time getting stuck can easily be worked around by simply switching off Time Dilation. Besides, that specific bug can only happen when you miss two orbs while time dilation is active ... so ... the choice wasn't too hard.

Still, this is kind of an unusual update, so that's the name of it.

Initial (Hotfix) Release



  • Hotfix for Psychedelic Mode: Time Dilation was on by default, because the main checkbox for Time Dilation was ignored. Not anymore.
  • Music Library: Difficulties could be wrong for beatmaps from osu! installation or local songs folder. These difficulties should now also always be correct (also when they were not ranked).
  • Psychedelic Mode: Time Dilation is now interrupted when an orb is missed while time is dilated.
  • Sci-Fi Tunnels: Fixed broken floor material.
  • Music Library: Fixed issue that caused major performance issues and cover art not showing up when using only "Library from local osu! Installation"


Second V0.8.12 Build (release 12 hours later)



  • Psychedelic Mode: Fixed wording - no longer use "Dream Time", use "Bullet Time" instead.
  • Psychedelic Mode: Fixed issue that breaking Bullet Time by missing an orb could result in time staying a little slow.
  • Music Library: Fixed issue where favorites and recently played would show difficulty = 0.00

Christmas Present for You: Holodance V0.8.11 Psychedelic Mode

EDIT (2017-12-28, 11:24 CET): We just posted a quick fix because in the original version, Time Dilation was on by default instead of being opt-in with Psychedelic Mode, and also, it didn't properly react to the main checkbox for switching it off (which was why it was on by default in first place). But that issue is fortunately fixed now - apologies for any confusion this may have caused.

Most of the time I work on fixing bugs and polishing existing features ... but sometimes, I need to take a little break and do something completely different. And since it's (still, kind of) Christmas, I want to make this new thing I just built a Christmas present for all of you:



For the full experience, you need to play the game - but here's a nice session with a song that fits this mode really well in my opinion:

https://gaming.youtube.com/watch?v=RRFe73Q7rCQ
So, this is obviously "opt-in", so to activate this mode, enter the settings (either pause by pressing and holding the menu button for a second, or enter Game Settings through the Music Library), there "Style" and then you already see "Psychedelic Settings":



Be careful with the strobe effect ... that one can be very intense!

Full Release Notes



  • Psychedelic Mode: Added strobe lights and saturation / hue shift color effects, as well as Time Dilation based on gameplay (available in all environments)!
  • Streamlined Settings UI: We've had Gameplay, Themes and Avatars as buttons squeezed into the "Style Settings". Instead, we now have a "Style Menu" which has buttons for Guidance (previously "Style Settings"), Gameplay, Themes, Avatars ... and something new.
  • Avatar System: Loading the Avatars takes quite a little while, and most of the time, people are not using them, so that loading time really is wasted. Instead, we now have a "Load Avatars" buttons in the Avatar System screen, and the Avatars are only loaded when you click that button. Also, you can select for each Avatar whether you want to load it, or not.
  • Mixed Reality: Volumetric Fog in Retro Clubbing wasn't rendered correctly in Mixed Reality. This should be fixed now.


Holodance V0.8.10: Major Music Library Update

So here's a bigger Music Library update just before Christmas. In case this breaks anything for you - please let us know and know that you can always use the previous branch to access the previous version.

When using the full osu! library, this version should work much more reliably than the previous one, and we have a new difficulty metric that I'm hoping to get feedback on because over time, this will become a very important part of the game. For example, we will have a skill based leaderboard in addition to the "grind your way to the top" accumulated score leaderboard. The way I currently plan to do this is simply take the difficulty of the most difficult map that you have full-combo'd. So that will be a value between 0 and 10 and define your skill level.

Also, we'll have more abstract skill levels that will map to filter settings so that you can easily find maps and progress through maps that match your current capabilities.

Finally, we also lighted up Zero Distraction a little to make it look more like its original version.

As always, please let us know how this works for you and in case you run into any issues.

Full Release Notes



  • Music Library: Changed order in area Quick Access from "quick and simple" to "more involved", so Random is now first, then Favorites, then Recently Played, then Recently Added.
  • Music Library: Put proper instructions into "Music Library Info" that explain how the Music Library works.
  • Music Library: Redesigned how caching works. Previously, when multiple beatmaps were being cached, they would run in parallel, slowing each other down. Now, the most recently selected is always cached next (possibly after one that is currently in the process of being cached). That way, you'll usually have the beatmap you want to play cached much more quickly than before, especially when having browsed intensely before.
  • Avatar System: All Avatars were already start in the startup scene which caused the main startup to take very long. This has now been moved to the appropriate scene so that loading progress shows correctly which operation takes how long.
  • Music Library: Finally fixed bug that had the progress for loading song still open after the song was already played.
  • Music Library: Fixed issue with Unicode characters that made them have a mostly transparent rectangle around them when viewed from a distance. Also made the font atlas textures much smaller for quicker loading.
  • Music Library: Fixed a few issues and added additional criteria to calculate beatmap difficulties based on actual difficulty in Holodance.
  • Music Library: Improved progress while settings things up. Usually, you won't see this because it happens in the background on game start, before entering a Free Mode environment. But if you are quick enough, or your library is large enough, you may see this.
  • Music Library: Significantly improved caching of beatmaps. This is now much more reliable and faster than before.
  • Music Library: We now have two separate states for when Quick Access can be used (as soon as Favorites and Last Played have been loaded), and when Browse Music is available (when filtering has been completed). This should prevent trouble when clicking things wildly while filters are being refreshed.
  • Music Library: Added Tempo range filter. This lets you define a BPM-range in which the maps you want to see in Browse Music and Random must fall.
  • Music Library: Fixed issue that filters were not properly updated when changing the range sliders.
  • Music Library: Created a new metric for difficulty based on values relevant to the difficulty in VR. We may still need to balance this a little.
  • Music Library: Fixed minimum ranges for difficulty, tempi and duration. Difficulty can now be just a range of one (e.g. 3-4, or 3.5-4.5), and tempi can now be within a range of 30 (e.g. 60-90). Durations already had a minimum range of 30.
  • Music Library: Beatmap details now show the date of the first time you full combo'd this map.
  • Music Library: When you have caught 90% of a map, the map details now show an orange checkmark. If you have full combo'd a map, it shows a green checkmark.
  • Startup: Fixed a rather nasty bug during initial loading that caused the loading screen to be ended while the initialization was actually still taking place.
  • Music Library: Beatmaps now also show the full combo status in lists so that it's really easy to get an overview of where you are with which map.
  • Music Library: Added missing sections - Browse Music now also has Tempi and Durations and is only missing Beatmappers. Quick Access now has Recently Added.
  • Music Library: Added some new stats that may or may not always work, like best and current leaderboard rank.
  • Zero Distraction: Lighted things up a little.

Holodance V0.8.9: Full Unicode Support in Music Library

So here's another fairly small, and yet fairly big release: We have just added support for Unicode in artist names and song titles. This version also makes using Unicode the default. But if you don't like that, you can change it in the Music Library settings (click the gear-symbol in the Music Library, and you'll see where this is done: Native Artist Names and Song Titles).

SteamVR introduced a few strange issues recently, at least with the beta, and this version fixes or works around some of those. Like, when you activate the SteamVR keyboard by "clicking" into the text search, currently in SteamVR beta, the resolution goes down quite a bit. I have noticed that my workaround may not be perfectly reliable, so you may have to exit and re-enter text editing to get the Music Library non-blurry in that state - but at least you can make it happen ;-)

One more fairly big change with this one: The order of items in the top level of the Music Library is now exactly inverse from before. This may take a little while to get used to but I feel this is much better now because we go from the quickest and most specific search (text based search) to "Quick Access", and then to "Browse Music" which is very broad and usually the slowest way to start playing. In the next release, we'll probably do something similar in Quick Access because really, "Random" is the fastest way, so it should be on top there.

Full List of Changes



  • Music Library: Changed order of main entry points - Free Search is now first, then Quick Access, then Browse Music. This order is based on the "easiness" of each step.
  • Music Library: Added a font texture with all characters of all artist names and song titles. Now, activating "Native Artist Names and Song Titles" should work well.
  • Music Library: Fixed issue where folding/unfolding Browse Music and Quick Access when entering text in the free search text field got confused when using the "Done" button on the keyboard. This now works reliably, regardless of how the keyboard is hidden.
  • Music Library: Fixed issue where pointing at a list while a song is being loaded, and keeping pointing at the list when the UI is hidden would cause the list to react to scrolling events even when no laser pointer was pointing at it, until the game was restarted.
  • Gameplay: Fixed issue where haptic feedback could happen for wrong controller while following a Slider.
  • Pause / SteamVR Dashboard: Fixed issues related to pausing the game and opening the SteamVR dashboard. Holodance now also goes back into grayscale mode when going into the SteamVR dashboard (we've had this effect in the early days but then removed it because grayscale made the UI look terrible, and using two cameras, one for UI, one for the rest to have both was terrible on performance). Part of this was also fixing the issue that going into the SteamVR Dashboard while playing would not let you pause again.
  • Worked around a bug in the current SteamVR beta, together with SteamVR Unity Plugin 1.2.2 (the current version) that caused the events on opening the SteamVR Dashboard to not be sent at all.
  • Worked around a nasty behavior of SteamVR (probably beta) where it changes reduces super-sampling when we open the keyboard, causing a really blurry image while browsing via the search.

Holodance V0.8.8: Improved Audio Previews and added Image Previews

This is both, a very minor and yet very major release: V0.8.7 was just a few days ago, so there wasn't even that much time to implement new things - but this release brings two major improvements to the Music Library and marks the first of several polishing releases that are coming to make the Music Library a really awesome browsing experience.

Browsing





As you can see, we now have little preview images for songs and beatmaps, and also artists (for artists, we simply use the first image we find for that artist). Finally, you can browse more "visually".

What you cannot see in those animated gifs is that we also did some major work on how audio previews work: Instead of having to wait for a really long time in many cases, audio preview is now really fast, and also starts immediately when you select a song (instead of when you select a beatmap). One caveat: The only way to make it this fast was to use small and short audio snippets that are optimized for the previews - so you can't listen to the whole song in the preview anymore.

Filters



We've had filters all along - this is just to show you a nice little feature we have with the sliders: When you click on the button where the current value of the slider is shown, you get the slider right in front of you, which makes controlling them much easier. I also noticed a new bug while recording this: Changing the slider values should immediately update the results. Currently, it doesn't. I'll work on fixing that for the next release.



Random



This is another showcase for one of my favorite features in the new Music Library: By selecting random, you can let Holodance pick a beatmap for you. Together with the improved audio preview, you can now very quickly find one you like, and then play it.



Full Release Notes



  • Fixed issue where Avatar skin was transparent in Retro Clubbing environment.
  • Music Library: Added quick audio previews to all ranked osu! beatmaps in the Music Library. No more waiting for the beatmap to be cached!
  • Music Library: Added image previews for artists, songs and beatmaps.
  • Music Library: Starting audio preview now already when a song was selected.
  • Music Library: Moved mute audio preview button to navigation arrows because we now also have previews when a song is selected (and it may be that the beatmap UI is not even visible, yet)
  • Music Library: Moved the Play button to the center and made it much bigger.
  • Music Library: Artists that only have one song now skip a level, so you don't have to select the artist just to then select that one song. We currently don't have this for songs that only have one beatmap because that would break things.
  • Music Library: Moved paging buttons to center top/bottom of the lists. This gives the scrollbar a little more room and also made it possible to make these buttons a little larger and easier to reach.
  • General UI: Fixed an issue where disabling a fadein/out canvas too early would result in that thing still showing when being re-enabled.
  • Cleaned up project (a little), reduced build-size from 9.3GB to 8.9GB.
  • Fixed issue where dragon fist and high five hand would appear on feet, when Vive Trackers were attached to feet

Holodance V0.8.7: Music Library extended, Major Work on Streamer Mode and Mixed Reality

So this release was primarily driven by an event we've had in Berlin about a week ago, at the Conrad Drone Champions League. We once again met a lot of great people, created a lot of video footage and showed the new song for upcoming Level 10 to the public for the very first time. The actual Level 10 from Story Mode currently isn't that great, so we've had players play it in Sci-Fi Tunnels which is also a really fitting environment for this dubstep-like track. Here's a video that also shows Mixed Reality mixed with our new Avatar System:
https://www.youtube.com/watch?v=ttKEzy6hBhc
Speaking of the new Avatar system: This version has one known issue when you use the Avatar system in the Retro Clubbing level. Skin might disappear. I'm hoping to have a fix for that in the next version. We have also added one more Avatar, called Azeroid, who does not show much skin ;-)

So, most of the changes we have in this release are related to Streamer Mode, Mixed Reality and Party Mode. One interesting thing to note about this: When you use Party Mode, we now have tight integration with OBS.

But, there are also two really important changes to the Music Library: First, we have a lot more songs in there now (almost 12K and almost 60K beatmaps), and we now also have the statistical data about the beatmaps stored in the meta-data. This is the foundation for a much improved difficulty ranking that will land in one of the next releases.

We also cleaned up the level selection area for Free Mode quite a bit, I hope this won't confuse anyone but I think once you got used to the new layout, you'll agree that this is much better than before.

If you want to review Holodance, talk to us ... we have just added a feature to this release that makes this a lot easier than it was before.

Holodance V0.8.6: Polishing and Bugfixing

We updated some of those bugs silently during the last few days, working with some of you to find and fix issues - thanks again to everyone who sent emails, posted to the forums or asked on Discord.

If you run into levels not loading (some players could not get into level 3, in particular), please try the new option to disable warming up shaders: This is on the flatscreen UI, click button "Show Extra Settings", then it's the first checkbox, top right of the screen, called "No Shader Prewarming". Default is unchecked, so usually shader prewarming is enabled.

Apparently, under certain circumstances the loading process gets stuck there (after otherwise successfully loading the level, and no obvious error). The worst side-effect you might encounter by enabling this option (and disabling prewarming that way) are a few framedrops right after loading the level, which is obviously not great but by far not as bad an issue as the game getting stuck during loading.

Another issue that was encountered that was actually outside of Holodance to be fixed is that apparently, some super-eager Virus-scanners move parts of games downloaded through Steam into a separate folder. The symptom: You start the game, Steam tells you its loading but stops without ever starting the game after about a minute.

There's a thread about this issue here on Steam:
Windows 10 | Steam games not launching problem

Then ... I did this 20 minute session playing with all the configuration options and settings, which can also be used as a tutorial (if you watch this directly on Vimeo or YouTube, you'll find a table of contents with links that let you jump directly to all the different sections). One thing I noticed is that we have an amazing amount of configuration options which let you do some pretty crazy things. I also saw some bugs. Those are now all fixed.

https://www.youtube.com/watch?v=kOL7MZtTqUE

Detailed Changes



  • Level Loading: Added option to disable shader prewarming as this apparently sometime causes level 3 to not be properly loaded. This is on the flatscreen UI, click button "Show Extra Settings", then it's the first checkbox, top right of the screen, called "No Shader Prewarming". Default is unchecked, so usually shader prewarming is enabled.
  • Level Loading: Now has more timeouts, and longer timeouts, so that loading levels should be a little more robust and hopefully no longer hang under certain circumstances.
  • Level Loading: Activated verbose logging to find hang/crash issue easier if it still occurs.
  • Music Library: No longer caching beatmap files because this could cause changes in settings (e.g. disable sliders / spinners) to only have an effect after changing the beatmap / song.
  • Avatar System: We had an issue with skin coming through clothes. That's fixed now.
  • Zen Mode: Removed most, if not all the message popups when in Zen-Mode. One notable exception: Unlocking a new track or level in Story Mode still gives you a message popup because that is very important information for anyone.
  • Party Mode: The Story Mode parts of party mode were still wired to the old versions of levels 1, 2 and 3, and we had some references to the old song browser in there, too. All fixed.
  • Party Mode: Added a way to immediately skip to a specific step in the demo, including an automatic counter for the current step, so that when one session is cancelled, it is easy to continue the next where the current one started.
  • Party Mode: We have some steps in Party Mode, where players just enter a level for a few seconds and then move out of the level. We use this, for example, to show the submarine in level 7. When skipping over such a level, the timer then kept on going and skipped the next level which could be really confusing to everyone. This no longer happens.
  • Settings: Disabling the Target Grid worked - but re-enabling it didn't, neither in the preview, nor for actual gameplay. You had to leave and re-enter the level for this to work again. That issue is now fixed and both, disabling and enabling the grid now both work properly.
  • LIV SDK: No longer spamming log with errors when LIV Client is not installed.

Holodance V0.8.5: Music Library polishing, New Avatars, LIV SDK added

We're moving fast with the Holodance Avatar System: Meet Mary and Michael, Kathryn and Barry, as well as Jane and Jessy (preferably in the desert). Together with Aika and our nameless soldier, we're at 8 avatars to choose from now. And the best news: With this release, you can now also use the Avatar system pretty well with just two controllers.

Of course, it's still best with as many Vive Trackers as you can get. Here's a little teaser video:
https://vimeo.com/244075148
If you want to see the system with just two controllers, and how Streamer Mode works, here is an (almost) completely unedited video of Jashan trying to beat Eslar's challenge on Rameses B 'Neon Rainbow (ft. Anna Yvette)' [Spectrum] 8.50. Hrishi was our Streamer Mode operator on this one. Spoiler: Jashan failed, while Eslar meanwhile full-combo'd that track ... poor developers!!! But Jashan will keep on practicing that one.

Here you go:
https://vimeo.com/244211275
We also did do some polishing on the Music Library, and added a first version of LIV SDK (we still need to polish that integration a bit, as well). First weekend of December (2./3.), we're in Berlin, with HTC, doing Mixed Reality and full-body motion capture with our Avatar system at Conrad Drone Champions League 2017 ... so, we're also busy preparing that demo (that's why the Avatar System gets so much love at the moment ... but also ... because it's so much fun!)

Full Change List



  • Music Library: Fixed issue that caused first detail level of "Browse Music" to disappear when going back and forth in the levels.
  • Music Library: Renamed "Take Shortcuts" to "Quick Access". We'll also move the order of the buttons / searchbox so that the searchbox is first, then Quick Access, and Browser Music last.
  • Level Selection Area: The "back circles" we previously used were still from a very old version and no longer consistent with our current UI, which could be confusing especially because we use a different approach for navigating in the settings and Song Browser. "Back" in the level selection area now works the same way as in the settings / pause menu: There is a back button to the right of the title of the area. While working on this, we also made the titles more consistent with the general UI-style throughout the game.
  • Level Selection Area: Fixed bug that could cause the laser pointer to break when exiting an area (Free Mode, Story Mode) while an environment / level was selected.
  • Titles Style: This was mostly due to the change with the back-button, instead of having the titles with a bright turquoise on the inside, like we have it with the Holodance logo, we're now using a dark blue for the inside, which makes the outline stand out much more. The effects a lot of areas in the game, like also the modern ScoreHUD (used in Zero Distraction, Retro Clubbing, Mutant Club, Sci Fi Tunnels and Trippy Tunnels).
  • Mixed Reality: Added current (= early pre-release) version of LIV SDK.
  • Streamer Mode: Floor fog in Retro Clubbing still didn't work for most of the cameras. Now it does.
  • Streamer Mode: Added checkbox "Switch Avatars on Rhythm", which currently switches between Avatars each bar (each 4 beats), using all Avatars that have been calibrated.
  • Story Mode: Increased base volume for songs in levels 1-3 because it was a little low.
  • Mutant Club: Fixed issue with audio playing that should not really play.
  • Tracking: Fixed issue with old Vive DK1 controller model showing up for Vive Trackers that were recognized as feet.
  • Avatar System: Fixed issue that Avatars did not turn with world for setup, so the were always forward facing according to the room setup. Now, you can calibrate them in whichever direction you have previously set up the world. You can still rotate the mirror arbitrarily by rotating the UI (so it's possible to have the mirror to your left for calibration, if you want that, for some reason).
  • Avatar System: For setting things up and playing around a little, it's useful to be able to keep the lighting we enable for calibration on even after calibration, so that's now an option you have.
  • Avatar System: When no feet trackers are assigned (e.g. only HMD and two controllers, or only HMD, two controllers and one tracker for the waist), locomotion is now activated.
  • Avatar System: We usually set up the Avatar system in pause mode ... but IK-solving was based on deltaTime instead of unscaledDeltaTime ... fixed. Now locomotion also works properly while setting things up, even in pause.
  • Avatar System: Added four new avatars, Michael, Mary, Kathryn and Barry.
  • Avatar System: Added arms length slider for Avatars that support changing the length of the arms.
  • Avatar System: Added two more avatars: Jane and Jessy.
  • Updated SteamVR Unity Plugin to 1.2.2.