Developer postOriginal post (opens in a new tab)

Holodance V0.8.0b1 (alpha and beta branch): Do tha clubbing! Scoring Changes. FIREWORKS!

First of all: This version was built with Unity 5.5.2p2 and by now we cannot go back to Unity 5.4.3 anymore without a huge effort. The good news: As far as I can tell, we don't have any 5.5-related issues anymore. For those waiting for a Linux build: Unity Technologies has confirmed a fix coming for the showstopper Unity 5.6 we ran into. That doesn't mean the road is clear, yet, but it's one big step towards having Holodance on Linux.

The current "theme" is improving the UI and that does not only refer to the osu! filebrowser and configuration dialogs (the work on those is not ready, yet) but also how you interact with the orbs during gameplay and what kind of feedback you get. We have a few pretty big things in this release (you may already have seen some of it if you are on the alpha-branch):

Orbs that trigger any sort of event, like a combo multiplier or our new "long combo", "almost full combo" and "full combo" events now have a special shape and a text indicating what the event will be. So you'll see which orb starts the "x4" multiplier you have so eagerly been working towards ;-)

Internally, we could also show you the combo index number for each and every orb. Once we're through with the configuration UI update, you'll be able to switch it on (I have mixed feelings about it ... with three or even four digit combos, it gets a bit text heavy on the screen but it does have something really motivating to see the number with each orb ;-) ).

In this release, many maps won't give you the "full combo", yet, because we discard orbs that need to be caught in the first seconds of the song because up until yesterday night, we didn't have a "preroll" that would start triggering orbs before the actual music starts. That fix should be coming later today, and also some major performance improvements. It had been reported a while back and I'm glad this is finally fixed! Thank you for your patience!

Almost all levels now have events for full combos (= not a single orb missed), when you have improved in the leaderboard, when you have entered top 10, top 3 and when you made it to the top. What you get are fireworks (that you cannot skip, yet). In the clubbing level, fireworks don't work (because it's inside a room). But here's a little secret: The clubbing level has a special "almost full combo event" and when you get that down ... well ... there is a change that may surprise you a little.

Currently, the leaderboard-related events are triggered even for empty leaderboards, so all you need to do to see them is find a map no one, or only few people have played before you. We have events in all levels except the water levels (fireworks under water don't work, at some point in time you might get dancing dolphins or something like that instead ;-) ). And as I've mentioned, in the clubbing level, only under certain circumstances ;-)

Leaderboard reset coming soon!

One important note on leaderboards: Due to a fix with Sliders in a recent version, you'll get significantly lower scores than before with any beatmap that has a decent amount of Sliders. Like, I just had about 830,000 in Draining Atlantic by Muzzy, and my last entry in the leaderboard from a while back is about 1,800,000 - even though I play much better now than I did back then (it's a fairly Slider-heavy beatmap ... I love Sliders, and I love this song ;-) ).

I'm in the process of doing some major changes to how scores are being calculated, which also takes into account distance traveled (will post about this in more detail separately), and once these changes are complete, we'll almost certainly do a ... watch out: Leaderboard reset!

This will not include your accumulated score, even though playing with the older versions did make it much easier to get this value up more quickly. Your accumulated score now unlocks environments in free mode (that actually came with the previous release). Eventually, we will add more skill based metrics which will unlock game mode that require higher skill. So, you'll always be able to grind your way to unlock all levels, but to play the really hard stuff, you'll need to have a high enough skill. But I digress ;-)

One very nasty bug I have discovered and that I sincerely apologize for: In early versions we wrote the data of the recorded gameplay sessions to several locations causing huge files, long loading times when starting up the osu! browser and other unpleasant things. I fixed that fast but unfortunately wasn't aware that lists that were "null" and stored to JSON would result in an empty list instead of a null-list when being loaded back in again. I only checked for null and overwrote the sessions with what was in the empty list. Lesson learned: Don't store gameplay session data when you don't have a way for players (including yourself) to actually replay the sessions.

Or at least, have an incentive for people to have a look at those JSON files: Hey, in those files all the info on how you achieved your awesome score is included, go read it and let me know if you'd like to have anything changed! ;-)

Clubbing Level

Not everyone may be aware of it, but when I came up with the idea for Holodance almost two years ago, the first concept draft only had a single environment (and no dragons). The idea was to have a trippy, psychedelic a little larger than life clubbing-style environment.

So unsurprisingly, I'm super-excited about this "new environment" that we've had in the game as a kind of super-early prototype for a little while. Hrishi, who did an internship at narayana games last year and is now working for us as freelancer, did the modelling. I designed the lightshow and arranged some of the particle effects (well, and I wrote the logic to design a lightshow like that, and this will get even better over time). Finally, I saw a little audio-visualization demo by Jon Halliday on Reddit and as this was exactly what I was missing in Holodance asked him whether he'd be interested in collaborating, and he was. So once again, this is a global collaboration (India, US, Germany) to create something hopefully awe-inspiring.

The clubbing level currently is also the only one that has "something" for each and every event in the game: The lightshow basically starts at x2 and gets a little more intense at x3 (those are the effects that Jon contributed). At x4, the spotlights show up. At "long combo" which occurs when you have caught about 30% of the orbs in the map without missing a single one, the electric blue particle orb and "bouncing light grid cube" show up.

When you get an almost full combo (80% of all orbs caught without missing a single one), something special happens ... and then you also get a full combo event. And, as mentioned above, under those circumstances, you also get the leaderboard events, if you improve in the leaderboard.

There will be more coming to this level over time. Let me put it this way: I've done my fair share of clubbing and I know "that feeling" ;-) ... now I meditate a lot and create VR experiences with awesome people from all over the world. Life is good!

I'll be at Cebit in Hannover (Germany) next week, at the VRBase (Hall 17), if you want to come over for a chat and/or demo. EDIT: Here's a link (to Facebook, oh well) with some more info and a little map: Virtual Reality Hackvention at VRBase Cebit 2017

Detailed Release Notes for 0.8.0b1

  • As "head orbs" are much more difficult to catch correctly, with the correct position - in particular in terms of distance / Z (how far forward or back you stand), we have increased the tolerance for "head orbs" (which we only have in tracks 3 and 4 in level 3). The result of this change is that as long as you catch the orb with your head and stand approximately at the right location (which you have to, anyways, to be able to catch the other orbs with your hands), you should get the score. Watching the video-review by Doctor Yak made me aware of this problem, so thanks for having this problem. Here's the link: Holodance Virtual Reality live stream I HTC Vive (Doctor Yak)
  • Fixed issue in clubbing level that caused it to start with some of the effects enabled that actually only should be enabled while playing, when you have achieved a high enough combo.
  • Fixed number wrapping with number of orbs caught (left/head/right) in osu! leaderboards. Thanks to Luigiespo for reporting that one on our Discord server.
  • 5.5 regression: Fixed broken dragon positions in levels 1, 2 and 3. This was just a result of moving to Unity 5.5 and was easy to solve (by re-importing ... apparently, Unity just didn't properly do this even though it should have).
  • Re-baked lighting for levels 1-9 (the remaining levels will be done later).
  • Fixed how multiplier-changes / combo-changes are communicated to the level environments. The old approach had the levels poll each frame for changes, the current approach has the scoring module push the info to the level environment. This is only a tiny performance improvement but a cleaner design (even though it does add a little extra coupling, which I could have fixed by using UnityEvents for this ... but that's actually kind of nightmare for keeping the scenes clean).
  • Added counter for maximum streak / combo length per session (that's "maxHitNotesWithNoMiss" in the JSON-files)
  • Added number of notes per "beatmap". While this was trivial with osu! beatmaps, it was actually quite challenging to get right for our native beatmaps and in fact, the numbers are still a little off.
  • We now have events in Free Mode that are sent to the environments when 50% of the notes are caught, when 90% are caught and when a player has a full combo (all orbs are caught). Also, we added events for "improved rank in leaderboard" as well as entering top 10, top 3 and becoming the top 1. Currently, you get those events even when the leaderboard is empty; that will eventually change - but keeping it that way for now makes testing so much easier. And it's a good motivation to look for some beatmaps only few people have played so far.
  • Added fireworks for full combo, improved rank in leaderboard, entered top 10, top 3 and top 1 ... to Level-01, Level-02, Level-05, Level-09, Level-10, Level 11 (Asteroids), Level-00-Neutral, Bonus-01-SciFi.
  • Finally figured out why sometimes, in free mode, the leaderboards were not updated correctly. This was simply because the file browser did not wait for the upload of the leaderboard to be completed before triggering the leaderboard update. So most of the time this worked but sometimes, when uploading just took a brief moment longer, it didn't. The file browser is now more polite and waits (which is also important for the events to properly work).
  • Added sounds for the new events.
  • Changed location of text messages to above the curved target area and quite a bit forward and to the left. This should make reading this much easier while still not being distracting. I hope ;-)
  • Changed the colors of the multiplier rings on the controllers to make them more obvious. Blue means "x2", yellow is "x3" and green is "x4"
  • In "normal mode", Sliders now need to be followed for at least 20% to not count as miss.
  • Completed recording of events (orbs caught, orbs missed and so forth) with plenty of statistical data (some of this is redundant but that can help doing experiments with different settings and comparing the data in detail without needing to do any calculations).
  • Added distance based normalization and bonuses in score calculations.
  • Fixed several issues where we assume that we only instantiate and use each "FlyingNote" (which represents orbs, sliders, spinners) once and then destroy it. Which is the cause of most of our current performance issues. So this is part of preparing to pool those to avoid memory allocations.
  • Our orb themes now support special meshes, materials or even complete special prefabs for orbs that trigger something special, like combo-multipliers, "long combo" (that's when you have caught 50% of the orbs available in the map without missing a single one), "almost full" (currently set at 90%) and full combo. We can even have a number indicating the combo index of that specific orb (this is currently disabled because it can be kind of annoying when you have 100+ orbs caught and it's all just numbers on the screen ;-) ... but we'll eventually let you switch this on if you like).
  • Not touching a Slider (or Spinner) did not result in a miss sound. Now it does.
  • Now keeping the last modified date of osu!.db in our cache and if it hasn't changed since we last synchronized, we don't re-synchronize, which saves quite a bit of time when testing Holodance with a huge osu!.db library (it only takes a few seconds but eventually it gets really annoying).
  • Argh! At some point in time, I introduced a bug that deleted the play session recordings. Fixed it - but if you have played Holodance while this bug was there, the recordings are gone (and instead, you have a lot of unreadable, 1kb gz files that are not really gz-files). Sorry!
  • Improved color grading in Level 11 (Asteroids). This is less dark now.
  • Added some audio visualization effects created by Jon Halliday into the clubbing level. These are now the first things you see for the x2 and x3 combos. The x4 adds the "lightshow", having a "long combo" (30% orbs caught without missing a single one) gives you the remaining effects.
  • Fixed the "Gridcubes" in the clubbing level. Those now have perfect geometry and perfect particle effects (instead of the original prototype-thingee that was built from cubes and had a lot of strange offsets, also in the particle effects when you looked carefully and closely ;-) ). This also reduced the SetPass calls and Shadowcasters quite a bit, so it's a small performance improvement, too.
  • Changed long combo to 30% (from 50%) and almost full combo to 80% (from 90%). This makes these events easier to reach. In many beatmaps, you cannot get the "full combo" event at the moment because we currently skip the first few events (orbs, sliders etc.) because we don't have a preroll implemented yet (so that the counting starts even though the music hasn't started, yet). This is already fixed in my dev version and that fix will go online with the next release.
  • And ... clubbing level now has an "almost full combo event" ... and the result of that event is that you'll also get the other events (full combo, top ten and so forth) - as long as you stay in the clubbing level. This is pretty awesome IMHO ;-)
  • Fixed the VR splash-screen logo that comes up very first when starting up the game. This is now actually kind of pleasant to look at.
  • Removed "HolodanceMinimal" from startup selection. With the improved startup times, this should no longer be necessary and it's an extra step to get into the game so now it actually kind of had the opposite effect of what it was designed to do.
  • Re-baked lighting for Level 10. Now we have all environments rebaked in Unity 5.5 (that literally took days ... or nights to be more precise ;-) ).
  • Improved rhythmic flare effects in clubbing environment (interestingly, this had been correct in the Unity Editor all along but it took me 3 or 4 standalone builds to get it right also in standalone builds). And this was the reason I didn't make those builds public for a day or two (you saw it when you are on the alphadev-branch, congratulations for being courageous).
  • Keeping PlayerBase active by default in all levels now. This allows us to always easily test all environments without having the full game active. For testing performance in relation to certain settings, we'll also create a way to directly to jump to those levels via a companion window UI. This will only be kept in the game temporarily.
  • Updated Volumetric Fog and Mist to version 7.2.2 - this fixed a stereo issue with volumetric fog. We might be able to use this now to replace TrueSky ... let's see if TrueSky finally behaves (it's the reason levels 4 and 8 were disabled in the game for many months). Spoiler: It f'n didn't! :-/