Dr. Brane Dr. Brane

Oof, 1.28.0 has been a ride, but it will slowly roll out over the next few days.

As much as I love Crash-tan's release notes, I feel like this post needed a bit of non-mascot energy added to it. We are on the cusp of something pretty amazing here, so let me say that I appreciate the patience while we get it pushed. CrashNet has been simultaneously my dream and nightmare for Crash BASIC as a whole. The idea of seamless multiplayer BASIC seemed tantalizing at first, but far out of reach. Now it's here. It's just a matter of rolling out the rather complex infrastructure to make it work like magic. If you know where to look, you could launch right in with your own self hosted local copy (we'll get there shortly), but when we are done, paying users will get access to our hosting platform. Uploading a CrashCart to Crash BASIC Arcade, clicking a button, and boom, there's your online game.

The vast majority of the struggle has just been identifying patterns and mechanisms that wouldn't drive people insane. Things like GAMECONTEXT$, and the various ME and PLAYERS object entries have truly made it possible. In the mean time, I've rolled out 1.28.0 to the web version with a few goodies you should be aware of.

The Music Tracker

Image

If you had a MIDI device, you were probably simultaneously amazed by the fact it could be done and offended by the difficulty of use. Not being a musician by trade, I've fought through design choices in trackers and composition tools I've messed with over the years. As such, the music tracker has gone through a number of evolutions and it will keep happening, I'm sure. I've fixed the following:

  • There are two recording modes. If you toggle S and then hit the record button, you'll enter step mode. Whatever you have set as the rest is what's added after your note. If you are using a MIDI keyboard, the length of time you hold the key will dictate the length of the note (up to a whole note). Eventually, I'll rework the enhanced MML to support even more features like sustain, but I just haven't gotten there yet. Live recording, of course, just records as you play, but my timing (again, not a musician) is not great, so I tend to use the step mode.

  • I fixed a number of the noise/percussion instruments. It occurred to me that this would be a pain point for folks who didn't yet know how to utilize the instrument editor. To sum up, you either had to use a higher octave or go into the instrument editor and check percussion and increase the frequency to something in the audible range for the sample (or you'd hear crackling). Now it just works.

  • A multitude of performance fixes, including migrating the WASM version of CrashAudio to an audio worklet. This should largely cut down/eliminate stuttering for most people.

The Sprite and Tile Editor

Image

  • The visible change here is the fact that I reduced the redundant "current color" elements to one. Only one worked as the color picker and it was genuinely dumb for me to keep the other around. At the time, it made sense because I thought "well, they need a way to see how transparency is applied," but after I looked at it again when not developing late at night I decided one was sufficient. One more annoyance eliminated.

  • The more invisible change is the color reduction algorithm. I know a bunch of you use AI art or, like me, draw your own art and then use AI to enhance it. Stable diffusion has a tendency to generate a bazillion colors (or in the ballpark). The problem is that the color reduction had a nasty quirk of occasionally not grouping correctly by hue, so some colors could match to the wrong final swatch. Just remember to extract the palette FIRST. Otherwise, the matching will fail and your image won't remap.