Weekly Update #9 A Bug and Music

Hello and a happy Saint Patrick’s Day!

This week we worked a lot on the already mentioned font system (screens will follow when it’s finished) and more sound/music related work. We also stumbled upon a very strange bugs that occurs in newer versions of Chrome!

And suddenly a Bug

Some days ago we worked on CrossCode and found a bug that was introduced to the dev-channel and canary builds of Chrome at some point this week (at least we assume this). It messed up our physics system and resets the position of the player entity to 1 on the x- or y-axis. Of course we immediately tried to fix this and found a strange workaround that solved the problem. We updated the current version on www.cross-code.com accordingly, so it should work again. If you want to see the bug you can use this link:

Buggy CrossCode TechDemo

Simply start the game and when the information window pops up, press the skip button. Then proceed normally. All entities or at least some should be on and the far left or top-left of the map. You can still use the controls but you can’t really do anything because you are outside the map. If the game runs normally you have luck or you do not use the dev-channel/Canary builds from Chrome.
Here is a screen which shows the bug “in Action”:
bug_chrome The bug behaves really random, so it might look different when you test it.
Now, even though we solved this bug technically, we did so by adding a side-effect free statement in the code that should not change any behaviour. This hints to a serious bug in the JavaScript interpretation of Chrome, most likely due to some optimizations with V8.
Because of that, we created a bug report in Chromium, which you can find here:

Issues Report

The report goes a bit more into the details of the bug if you want to know more about it.

Music

Integrating music into the game proves to be more complicated than we originally thought. impact.js made the interesting choice of designing its music interface after a common music player with playlists, shuffle and loop.
For CrossCode (and most games we think) a more useful interface would have a focus on individual, looping songs that can be exchanged and interrupted with other looping or non looping songs as requested. Thus we rewrote more or less the whole of ig.Music.
We also tried to figure out a way to make the music loop more cleanly. Simply looping audio when ended usually results in small delays. We currently use a work around where we use two instances of the same song, playing them alternating with a light overlap. This works better, but still not perfect, as the delay on loop seems to be slightly random. For a better implementation we plan to use the WebAudio API, if available.

And that’s it for this week! 2 Weeks until the release of the TechDemo++!

4 Comments

  • MUSIC! Yay! But is it on the website, or just saved to your computers?

    *plays*

    There doesn’t seem to be music… who did the music, and is there any way we can hear it?

    • Hi there, Someone! :D
      We are currently working on integrating the music, but it’s not public yet.
      We will release a version with music with the TechDemo++ in about 2 weeks.

      We will probably make a post about the music presenting the composer and maybe some example tracks soon.

      • I have name recognition! And not just as an IP address! Yay!

        Ah. What do you have planned after the techdemo++?

        Yay! Hopefully this includes new levels, too!
        The music better be up to par with an awesome game, though.

        • We don’t have any precise plan yet, but after the TechDemo++ we hope to get some more content done. We will also introduce the story, scenario and first RPG concepts.
          It’ll probably take a bit longer for the next version to be released.

One Trackback

Post a Comment

Your email is kept private. Required fields are marked *