Holodance cover
Holodance screenshot
Genre: Music, Sport, Indie

Holodance

V0.8.0c11: Fixed Leaderboard Events, new dragon dance animations for testing (Vayusah), Updated MixCast to 1.4, Streamer Mode Improvements

Work on Story Mode: Experimental Area



This is the first release after my vacation, so it's comparatively small. We currently have a team of animators working on polishing the existing animations in Story Mode (Levels 1-3), and completing the animations for the remaining levels (4-12). In case you missed it, here is a little preview video of how this will roughly look (we won't you do a full 360° turn, of course, but it was fun for this prototype):

https://www.youtube.com/watch?v=42TTH_igsUU

You can actually even already play this by entering the "Experimental" section. This is really just for testing; especially the desert level in this area has some really intense bugs (dragon jumps "right on you" when the music should start ... and it doesn't start). The challenge for me, at the moment, is finding the right balance of working on the song browser and making sure the animators can continue working without interruptions. Part of that is doing some playtesting now and then ... but to make this really work I also had to redesign a system, which required some extra-coding.

Streamer Mode Updates



In the video above, you may notice another change ... at least if you ever had a closer look at our "Streamer Mode": That's an area on the flatscreen UI that lets you set things up for streaming or recording gameplay videos. There are three noteworthy changes here:


  1. You can now set the time for each camera in "Switch Cams in the Rhythm", in "bars". So, when you play a song at 120 BPM, 1 means "this cameras stays for 2 seconds" (which is four beats, each taking 0.5 seconds). 16 means 32 seconds. At 180 BPM (much faster song), 1 would mean 1.5 seconds and 16 would mean 24 seconds. More on that in a second.
  2. We have a few more cameras, and have made some of the cameras follow the gameplay.
  3. We have fully integrated MixCast into that system.


We also updated the MixCast SDK to 1.4 final.

Here's a rough video that shows what you can now do in Streamer Mode:

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

Make sure to read the description for a little background ... or join the discussion on Reddit.

Eventually, Streamer Mode will let you produce complete (and hopefully quite awesome) videos by playing a single session, with little need for post-production. As all of this is rendered in addition to what you see in VR, you will need a very powerful machine for this. But it's a huge time-saver.

Leaderboard Events done right



The implementation for the leaderboard events we have had in the game until today was actually "just for testing". That's why we didn't check for the number of entries in the leaderboard. Apologies for this sometimes being a little annoying, and thanks to Cookie Rookie for the reminder to finalize that.

Here's how this works now: Top 1 requires 5 players in the leaderboard, Top 3 requires 10, Top 10 requires 20, and the "rank improved" event requires that the leaderboard has at least 30 players (not a lot of leaderboards currently have this; and these events are only triggered for osu! beatmap leaderboards). We may remove the "improved" event and increase the number of minimum players for each event.

Let us know what you think in the forums!

And just as a quick reminder (because I completely forgot this myself ;-) ): When you get one of those fireworks and don't want to wait until it's complete - just press the trigger for about a second. This is our "gesture" to skip stuff and skipping works for fireworks ;-)

Full List of Release Notes




  • Changed level loading procedure and sending the "LevelActivated" event a little later then before, when the level has been fully loaded and the compositor has faded back in. That way, we should no longer miss certain events (like the beginning of the flight of a dragon :wink: ).
  • Updated to Unity 5.6.3p1
  • Story Mode: Major "under the hood" work for the new dragon animations. These are coming soon to Levels 1-3, but levels 4 and 5 are also making really nice progress.
  • MixCast: We have moved the MixCast UI to the "Streamer Mode" section of the UI because that's really where it belongs. Also, we integrated MixCast to the automatic camera switching, so you can now have Holodance automatically switch between pure in-game 3rd person cameras and MixCast Mixed Reality, all perfectly on the rhythm of the music. Switching to MixCast Mixed Reality still causes a little stuttering; this will be fixed in a later release. (edited)
  • Cleaned up the "Streamer Mode" UI. This is not the full UI redesign, yet, but we finally added a setting for how long each camera is kept active before switching to the next. These are "bars", so at a song with 120 BPM, 1 means 2 seconds, and 8 would mean 16 seconds. At a song with 180 BPM, 1 would be 1.5 seconds, and 8 would be 12 seconds.
  • Removed the "Networking Setup"-Button for now because the old networking approach is fairly broken and hasn't been tested for a long time. There is a new networking implementation coming fairly soon which will let you play in various multiplayer modes both on local networks and via normal online-multiplayer.
  • Created a "timed ring buffer" that lets us apply movements from one object to another object with a specific time delay. This was necessary to make the target area behave correctly with the new dragon animations but is also really powerful to do other fun things (like compensate for Web cam latency, or network latency).
  • Added several new cameras in Streamer Mode including some that follow the action. Streamer mode has just become much more powerful!
  • Fixed a bug that sometimes caused a white rectangle with a black circle to appear around orbs that were not caught, in the companion Window (this never happened in VR but was annoying for recording gameplay footage directly from the Unity editor).
  • Story Mode: The cloud that Vayusah sits on at the beginning in Level 2 is now slowly blown away with the wind. This solves an issue we've had for a very long time where orbs coming from where the cloud was would be really hard to see.
  • Removed "Beatmap Editor Preview" from level selection area. This can currently not be selected because it broke when we took the main scene apart. This will return once we continue working on the beatmap editor.
  • Added a section "Experimental" where previously, the beatmap editor was (to your left, in the main level selection area). This has the new dragon animations, in particular the dance animations. This is heavy work-in-progress, so expect strange things to happen (like the dragon jumping from one place to another, or ending up far from the player and facing away from the player after a song). But this gives you the opportunity to preview things and give feedback (like how do you feel about the gameplay with the new dragon dance animations).
  • Updated MixCast SDK to final 1.4
  • Store Mode: Fixed issue with "disableMovement" which we have introduced for the very intense sections in Level 3, Track 3 and 4, to prevent adding movement and rotations on top of really intense gameplay with an onslaught of orbs. This prevented the target area from properly following the dragon in our current Level 2 dancing animations test.
  • UI: Fixed headlines for Comfort Settings (previously had "Style Settings", which was wrong) and Gameplay Settings (previously had "Expert Settings", which was old).
  • Leaderboard events: These were still missing checks to make them "meaningful". Before, you'd get the "Top 1 event" even if you were the only player in the leaderboard. Now, Top 1 requires 5 players in the leaderboard, Top 3 requires 10, Top 10 requires 20, and the "rank improved" event requires that the leaderboard has at least 30 players (not a lot of leaderboards currently have this; and these events are only triggered for osu! beatmap leaderboards). We may remove the "improved" event and increase the number of minimum players for each event. Let us know what you think in the forums!

Holodance V0.8.0c10: Several bugfixes, added initial support for MixCast VR

This release mainly addresses recent player feedback (and bug reports ;-) ), plus some things that I had been missing for a little while and that were actually fairly easy to implement (now that we had the foundation for it ready).

So ... more control in the audio-settings. Also, not sure if everyone reads these notes ... but ... just a reminder: You can enter pause by pressing and holding the menu button for about a second. That way, you can enter the settings menu, which has a lot of pretty cool (IMHO ;-) ) stuff.

Also, we now have support for MixCast MR built into Holodance. One pretty cool feature they have is called "Static Subtraction". It's similar to what many Webcams offer: They take the image from the background and then remove it, kind of like what you usually do with a green screen. You'll always get better results with an actual greenscreen and professional lighting but sometimes, you just want to quickly shoot a video without all the hassle of setting up the greenscreen ... and not everyone even has one (or enough space to set one up).

So ... here you can see that I still need to practice a lot more how to play Holodance with hands and feet:

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

Unfortunately, as game developer, I usually don't have much time to practice so I'm looking forward to see what those of you who already have the Vive trackers can do ;-)

But don't worry: We're well aware that only few people will even want to play Holodance with their feet, so the primary focus will continue to be polishing the experience for everyone, not just a few super-early adopters.

I'm very sorry we haven't completed the new song browser, yet. I'll be on vacation starting tomorrow, for two weeks, and just didn't make it before.


  • When Holodance is running in SteamVR (which currently is the only fully functional way to run Holodance), it now uses the controller models coming from the system. So when you have "funky controllers", you will now also see them in-game. For Oculus SDK and PlayStation VR, we still have the old approach of using preset-models defined by the game.
  • Added new slider in Audio Settings for "Events"; those are the "big events" like when you reached a new position in the leaderboards, or finished long combos or the like.
  • Changed default volume for "Events" to -15dB ... because those were really way too loud.
  • Refactored how cameras are set up when environments are loaded. This helps with adding MixCast MR (or any other MR tech ... hello Owlchemy, are you still there? ;-) )
  • Added support for MixCast MR.
  • Changed the OrbScoreHUDs to show the arrows pointing towards where the orbs are coming from instead of left for too late, and away from the orbs (towards the player) instead of right for too early. This should make this much easier to understand.
  • Fixed issue that caused after session UI to disappear when entering dashboard after session. Previously, that UI was closed when returning from dashboard mode, resulting in a UI-less state that could only be left by entering pause and cancelling back to the main menu.
  • Fixed issue with OrbScoreHUD where missing an orb would result in the wrong arrow being shown (missing an orb must be shown as "caught too late", not "caught too early").
  • The OrbScoreHUD arrows are now moving backwards and forward instead of up and down. So, when you stand too far forward, the will basically push you pack, and when you stand too far backwards, they will pull you forward.

Holodance V0.8.0c9: Several important bugfixes

So, when I added the "catch orbs with your feet" feature last week, I got so excited that I completely missed that my "Mixed Reality fixes" actually introduced some fairly severe Mixed Reality bugs. Ouch. And sorry!

So far, no one complained - but ... with the previous version, when you activated a Mixed Reality camera, the UI in Holodance would not work at all anymore.

Very bad, very annoying, I'm very sorry ... but it's fixed now.

While I was at it, I fixed several other issues, some of which also were reported: The new score bubbles sometimes got stuck. The distance tracking I had added a longer while ago was off. We kind of trashed Level 5 (The Desert) a while back when overdoing it with the color grading and bloom and adding a fairly over-exposed skybox. Looks much better now, doesn't it?

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

By the way, there is some good stuff coming for level 5 in Story Mode. Progress is slow in that area but it's finally picking up a little momentum.

I also polished the check for the tracker roles a little, so now you can conveniently check which controller / tracker is assigned which role, including trackers that act as Mixed Reality cameras. This is also useful in case the automatic tracking got confused, e.g. because you were wearing your feet trackers while switching off the Mixed Reality tracker (which will usually result in your feet becoming Mixed Reality cameras ... until you use the new "Check Tracker Roles" button when you're back in VR ... you find this in the pause/settings that you can access by pressing and holding the menu button for about a second).

Here's the full release notes:


  • Polished the Player Height Adjustment panel. This now also has a mode to list the recognized controllers / trackers.
  • Story Mode: Fixed Skybox in Level 5 (this was overexposed due to bloom and too much fog being active while it was created).
  • Story Mode: Overall, Level 5 has been polished quite a bit and looks much better now. Each level can now define color grading, or a UserLUT, or both. In Level 5, we only use the UserLUT.
  • Fixed issue that caused the laser pointer to work less reliably when the controller UI was active, e.g. when checking tracker roles.
  • Made in-VR much more robust (once again). This fixes an issue we introduced with the last update that resulted in Mixed Reality breaking all in-VR laser pointer interaction because for some odd reason, the in-VR laser pointer pointed at some screen UI. This will no longer happen.
  • Fixed several bugs related to distance tracking: a) quite a bit of distance was added with the controllers not really moving; b) sliders and spinners reset the total distance (ouch!)
  • Fixed distance bonus for Spinners. Due to spinners often being very long, you could never receive a distance bonus for spinners. This is now clamped to never reduce the bonus by more than half the distance covered (i.e. even when the spinner takes 10 seconds, the time will only divide the distance by 2).
  • ScoreFlash: Added safety net for old messages that sometimes are not properly returned to the pool (this resulted in some score bubbles getting "stuck" in the view).
  • Fixed a bug that prevented newly added highscores from being shown in leaderboards.
  • Fixed bug where entering pause while an orb or environment was selected would result in UI not being responsive.
  • Removed "Restart Level", this had been causing trouble for a long time and is pretty much the same as "Skip to End of Song" ... which is now called "Cancel Song". Also "Cancel to Menu" is now called "Exit Environment" because that's what this button really does (it exits the environment and takes you back to the environment selection).

Holodance V0.8.0c8: A few small Mixed Reality fixes, Catching Orbs with Feet!

We've had five Vive trackers for a little while and already finished quite a bit of work for the upcoming avatar system. The avatar system is not ready, yet, but when you have two Vive trackers for your feet, you can now play beatmaps with your hands, head and feet. Sounds crazy? I still need to practice this, and some prior martial arts also certainly does help - but here's a video:

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

Quick instructions:

Attach the trackers to your feet. Switch them on, make sure they are tracked. Have the controllers in your hands, start the game. Holodance will recognize the trackers also when you switch them on while the game is already running but just to be sure, have them switched on right away.

Once in the game, enter the Pause/Settings screen by pressing and holding the menu button for about a second. In the left area, you'll see a new button "Assign Tracker Roles". Holodance does this automatically when the trackers show up but when you press this button, it will also show what "roles" are assigned to each tracked device, so this helps to make sure everything is set up correctly.

Then, use the button "Finetune" to move the target area (where the orbs arrive) down a little bit. This makes it much easier to catch low orbs with your feet. Moving up and down works by holding the touchpad pressed and moving the controller.

Then play a song and enjoy! And let us know how you like it!

We had a few more minor changes, here's the full list, as usual:


  • Mixed Reality: The flatscreen UI now automatically is moved to the bottom right quadrant when mixed reality is activated. Before, the UI was broken (and barely usable) in that state, which was a problem especially when using Party Mode.
  • Mixed Reality: The loading screen for Mixed Reality did not scale down properly which always resulted in a very ugly MR view while changing environments. That screen now is relocated to the lower left (background) quadrant while loading, so the player stands before that screen.
  • Added some logging to MoveGameWindow for debugging an issue with one player.
  • Completely re-designed how tracked input is working in Holodance. Decoupling ... I just say "decoupling" ...
  • Added feet tracking to Holodance using Vive trackers. You can now catch orbs with your hands, your head ... aaaaahhhhnnnd ... YOUR FEET!