I'm almost on my way to the airport to go to Hannover for Cebit where I have a booth at VRBase (Hall 17) ... so this will be fairly short: This version finally has the preroll feature so that we're no longer skipping orbs in the beginning of a song (this became a problem now that we have the "full combo" event which would not trigger if the game didn't generate those orbs).
Also, this version generally should have significantly less hiccups than any previous version, and if you still experience too many of them, you can now select a "Max Performance" orb theme, disable particles and should get way less hiccups than before. The optimization is not complete, yet, but I believe we made some very important and big steps in the right direction.
I hope this build will behave well because I'm putting it on the default branch in a minute. If there's trouble - please let me know and I'll revert the default branch. Until then, you can always fall back to the "previous" branch (there is a branch with that name available that you can opt in to).
So here's the changes since b1:
- Pritvitej now has much better textures in Level 1, higher resolution and more polished.
- We now have a presskit available at: http://holodance-press.com/. Also, we have updated the graphics at Twitter, YouTube, Facebook and our own Website. And Holodance now has an entry in Wikipedia.
- Added "preroll" feature for beatmaps that immediately start with orbs. Previously, those were ignore which caused trouble with the full combo event (you could never get it with those maps). Now this works properly.
- Fixed a bug that caused the environment not being available to PlayerScore which resulted in all the events being ignored.
- Added theme support for hit sounds. We currently only have a single theme but the benefit of having this is that our flying notes are much lighter now because they don't carry their audio sources with them. This improves performance already but is another prerequisite to implement pooling for flying notes (which is currently one of the two things causing major allocations, and the only one that cannot be switched off - the other is the particle effects)
- Fireworks were causing 0.8KB allocations each frame, even when not active. Wrote a version that is allocation free (except when the particle count is increased - but then we keep that larger array so it's an approach similar to pooling; plus we only use one shared array for all particle sound components).
- Added "Max Performance" orb theme as a workaround to minimize allocations until we have the flying notes pool fully implemented. If you want to have as little hiccups as possible, disable all particle effects and select the "Max Performance" orb theme. This is not quite perfect, yet, but together with the other optimizations should give you a much better experience than before, especially when playing beatmaps with lots of orbs. Instantiating a "normal orb" allocates about 30KB of memory, instantiating a "max performance" orb allocates about 10KB of memory, so that means you can have about three times as many orbs before garbage collection with the max performance orb compared to normal orbs. But you do lose the new combo texts and special orb shapes that we introduced recently. With pooling, we should get this down to 0KB memory allocation per orb while keeping all features