1.1
This one is mostly a bug fix release. Most of what follows is things that were quietly broken rather than anything new, several of them since well before 1.0, and a few badly enough that they were spoiling whole features without it being obvious why. There are a handful of small additions mixed in, but the bulk of this update is making things work the way they were always meant to.
Fixed other people appearing frozen on 2D maps. Walking on a 2D map never told the server where you were, so while your own movement felt completely normal, to everyone else you stood still at wherever you happened to be, and they stood still to you. This is also why you couldn't hear anyone else's footsteps on a 2D map while still hearing them jump, land, turn and bike: your game only plays someone's footstep when it's told they moved, and it never was. This has been broken since 2D maps were first added rather than being anything recent, which is why converting a working 3D map to 2D appeared to break it so thoroughly.
The sonar now warns you about hazards below you while you're in the air, instead of only once you're standing in one, which was rather too late to be useful. The warning plays from underneath you so you can tell it's something you're about to land in.
In "sonar follows you" mode the sonar's sounds no longer pan around. That mode scans wherever you are, so panning a sound that is by definition at your own position only made it drift about for no reason. The directional scan still pans, since that's the entire point of it.
The game no longer nags you to redownload the sound pack every single time you start it. If your sounds.dat was made before sound versions existed it had no version stamp, and the game read that as "I have no idea what this is" and offered you a multi-gigabyte download on every launch, which declining didn't stop. A pack with no stamp is now simply understood to be the first version, which is what it is.
Redownloading sounds is also a lot safer. The old sounds.dat was deleted before the new one had even started downloading, so a cancelled or interrupted download left you with no sounds at all and a very large download ahead of you just to get back to where you started. Your existing sounds are now kept until the replacement has arrived and been checked, and if something does go wrong the game goes back to the sounds you already had instead of falling silent until you restart.
Fixed a crash on logging in that some of you have been hitting since 1.0. When you log in, the game sends a small set of details about your computer along with your username, which the server uses to catch ban evaders. One of those details is your network adapter's hardware address, and on a machine where the game can't find an Ethernet adapter, such as a laptop connected only over Wi-Fi or a machine with its wired adapter switched off, asking for that address didn't come back empty like it should have, it failed outright and took the game down with it. That's why it only affected some people and always at exactly the same moment. The game now copes with any of those details being unavailable and simply sends the ones it can get, so logging in works regardless. Apologies to anyone who's been stuck on this since 1.0 without a clear reason why.
Logging in should also be quicker and more dependable in general. Every time you logged in, created an account, requested a code or reset a password, the game first asked an outside website on the internet what your IP address was, and waited for that answer before it would talk to the game server at all. If that website was slow, blocked on your network, or simply having a bad day, your login stalled or failed for a reason that had nothing to do with Golden Crayon. It doesn't do that anymore.
Reverb has been reworked, and reverb spaces now have a Decay Time in seconds instead of a Room Size slider. Room Size was the raw knob the underlying reverb uses, and it was close to useless as a control: the first half of the slider covered barely any change at all while everything interesting was crammed into the last fraction, so moving it rarely did what you expected. Decay Time is simply how long the reverb takes to fade, in seconds, so a cave that rings for five seconds is set to five. Existing maps and the older Room Size setting still load and are converted for you, so nothing needs editing.
The reverb presets got their character back as part of this. They were originally written in real decay times, and a Cathedral, a Cavern, an Underwater Cave and a Canyon had all been squashed into the same value, which is a large part of why so many spaces sounded alike. They now carry the times they were actually written with.
Reverb is also positioned now, rather than applied in one lump to everything you can hear. A sound close to you picks up more of the room than one far across it, instead of every sound in a space getting an identical wash. Voice chat is included, so someone speaking in a large room sounds like they're in it.
Fixed reverb drowning everything and sounding much the same regardless of a map's settings. Two things were wrong at once: the reverb was passing a copy of the original sound through alongside the reverberated one, so you heard everything twice very slightly apart, and the reverb itself was running about three times louder than it was ever meant to, so it buried the actual sound underneath it. Both are fixed, and reverb now sits behind what you're listening to rather than on top of it.
Removing a vanishing platform in the builder now actually removes it, rather than appearing to do nothing until you left the map and came back. The removal was taking away the platform's tile but leaving the platform itself running, so it simply rebuilt its tile again a few seconds later.
Challenge times are now remembered if you log out partway through a run. Previously the timer started over when you logged back in, which meant you could reach the end of a challenge map, log out, log back in and walk out to record a time of almost nothing and take the top of the leaderboard. Time spent logged off doesn't count towards your run.
Creating a map with a space or a comma in its name now tells you so, instead of failing in a confusing way. A space in the name used to come back as a complaint that your Maximum X value was too small, even when it was perfectly fine, because the name and the size values are sent together and the space made the game read part of your name as the size. A comma was worse: the map was created but came out broken, with no platform sounds and movement restricted. Both are now caught before anything is sent. Names with spaces are still not possible for the moment, so an underscore or a dash is the way to go, but at least it now says so rather than leaving you guessing.
Fixed the beep that plays as you move through a buffer being wrong at the top of the list. It's meant to start low and rise as you move down, but the first item was asking for a negative speed, so instead of sounding deep it just came out wrong. On a fuller buffer this affected the first several items rather than only the first, which is why it seemed to get worse the more messages you had. The beep now sweeps properly from low at the top to high at the bottom, whatever size the buffer is.
Pressing up as soon as a menu opens now takes you to the last item. Menus are meant to work that way, up for the bottom and down for the top, but the first press was being treated as though you were already sitting on the first item and trying to go past it, so it just played the edge sound and left you where you were. Reaching the bottom of a menu meant holding down through the whole thing, or pressing End.
Wall bump sounds can now be played flat instead of panning around you. The wall you've just walked into is right next to you by definition, so panning it hard to one side put the sound somewhere you weren't, and feeling your way along a corridor made the wall seem to slide about. There's a new Gameplay setting for it, off by default so nothing changes unless you ask for it. It only affects your own bumps; other people walking into walls elsewhere on the map still sound like they're where they are.
On 2D maps the up arrow now jumps when there's nothing above you to climb onto. Up has always climbed when something solid is overhead, but with open space above it it did nothing whatsoever, so one key now means "go up" whichever kind of up happens to be available. There's a Gameplay setting to turn it off if you'd rather it stayed a climb key only.
"Sit down after falling hard" now does something when it's unchecked. Landing hard sat you down whatever the setting said, because the landing code sat you down itself on top of the part that actually checks the setting. Worse, the two disagreed: the message telling everyone else you'd sat down was only sent by the part that checks, so with the setting off you'd end up sitting on your own screen while everyone else still saw you standing, and had to stand up from a sit you never asked for.
A tile zone with its jump height set to 0 now actually stops you jumping. It was clearly meant to, but what happened instead was that the jump sound played and you entered a jump that ended on its very first moment, so you got the noise and the interruption without ever leaving the ground.
Muted buffers now stay muted between sessions. Previously every buffer came back unmuted each time you started the game, so if you kept a buffer silenced you had to silence it again every session. There's also a new Buffer Mutes item in the context menu, which lists every buffer with a checkbox so you can set them all at once instead of visiting each one. Muting from within a buffer still works exactly as before, and is remembered the same way.
Muting a buffer now also keeps its messages out of the "all" buffer. Previously a muted buffer went quiet in its own view but its messages still showed up in "all", which rather defeated the point of muting it.
Added three new buffers: connections, death messages and leaderboards.
The server can now attach a specific sound to a message it sends to a buffer, instead of every message in a buffer sounding the same. Nothing changes for messages that don't specify one, and a custom sound can't slip past a buffer you've muted: muting silences the message and its sound together, so there's no way for one of these to get through a buffer you've asked to be quiet.
Notification sounds now respect a muted buffer. The server used to send a message and its sound as two separate things, and only the message was checked against your mutes, so muting a buffer silenced the text and left the sound playing on every single one of them. If you'd muted player events and were still hearing some of them coming through, that's what was happening.
Connections and disconnections now go to the connections buffer, and leaderboard placements to the leaderboards buffer, rather than being mixed in with everything else. Leaderboard announcements in particular used to land in notifications, which can't be muted at all, so there was simply no way to turn them off. Both are ordinary buffers now and can be muted like any other.
If you've muted someone's onoffs, or turned them off altogether with /hearonoffs, you now hear the standard online or offline sound instead of nothing. When the person logging in had a custom sound uploaded, the standard one wasn't sent to anybody, so opting out of their upload left you in complete silence rather than falling back to the normal sound. Turning off custom onoffs means you'd rather not hear other people's uploads, not that you want logins to stop making a sound at all. Since that standard sound now travels with the message, muting the connections buffer silences it too.
Account names, passwords and e-mail addresses can no longer contain spaces. The game now tells you so up front rather than letting you get partway through and be rejected.
New installs now start with the classic list-style main menu and builder turned on, since people coming over from the classic version tend to want those. If you're already playing, nothing changes: your existing setting is kept either way, and both are still toggles in Settings under Interface and Builder.

1.0.1
This update changes one thing: the audio system. Nothing else has been touched, and that's deliberate. 1.0 went out and the bug reports came in, and a large share of them traced back to the sound engine the game had been rebuilt on during the release candidates. Rather than patch around it, I've moved the audio back onto the older engine the game used before, the one that ran for most of this project's life without these problems.
The big one is memory. Players were reporting the game slowly eating more and more RAM the longer they played, in one case climbing from about 3GB to nearly 6GB just from having Golden Crayon open. Here's what was happening. Every sound file in the game is stored compressed, and has to be unpacked into a much larger raw form before it can be played, roughly ten times its size on disk. To avoid doing that work over and over for sounds you hear constantly, like footsteps, the game kept each unpacked sound in memory after the first time it played. That part was intentional and is a normal thing to do. What wasn't intentional is that nothing ever cleared it out. There was a function written to free that memory, and it was never actually called from anywhere, not on leaving a map, not ever. So every distinct sound you heard for the entire time the game was open stayed unpacked in memory forever, and the number only ever went up. The longer you played and the more maps you visited, the worse it got. That's the 6GB.
The engine the audio has moved back to doesn't work that way. It releases a sound's unpacked audio on its own once nothing is using it anymore, so keeping something in memory has to be a deliberate choice rather than an accident. The one place the game does deliberately hold sounds, the preloading that keeps common sounds instant, has a hard limit and gets cleared every time you change maps. Long sounds now stream from disk instead of being unpacked into memory at all. If you were seeing the game's memory use climb, it should now stay level over a session.
While in there, I also fixed a small pop some sounds made when they started. A sound was being told to play before it had finished being prepared, so playback would begin a fraction of a second into the audio rather than at the very beginning. That missing sliver, and the abrupt jump into the middle of a waveform, is what you were hearing as a click. Sounds now finish preparing before they play. If you had turned on the preload setting to work around this, that setting still helps with map loading, but you no longer need it just to avoid the clicking.
A couple of things to be aware of. HRTF is now a single on or off switch again rather than a list of models to choose from; the new engine has one built-in implementation instead of loadable datasets, so the model list is gone but HRTF itself works exactly as before. If you had picked a specific model, it'll simply fall back to the standard one.
For map authors: the reverb and occlusion settings have gone back to the names and scales they used before the release candidates. Reverb spaces and zone reverbs use Dry, Wet, Room Size, Damp and Width again; occluded spaces use Cutoff Frequency and Resonance; acoustic materials use Cutoff Frequency and Order; and reflection settings use Reflection Cutoff. Your existing maps do not need editing, and maps written either way still load correctly, but the builder will show the older fields and save in the older format from now on. Three settings that only existed in the release candidate versions, Density, Decay HF Ratio, and the overall Gain on an occluded space, have no equivalent in this engine and have been removed rather than quietly reinterpreted as something else. If you tuned those specifically, those particular values are gone; everything else carries over. The presets and the test buttons all still work and have been converted along with everything else.
If your maps sound slightly different in places, that's expected and I'd genuinely like to hear about it, since the acoustics were rebuilt to match the old behaviour as closely as I could measure rather than by ear on every single map.

1.0
Welcome to version 1.0 everyone!
Yeah, I decided to leave the long gigantic changelog below so you guys can see the crazy progress. If you find it annoying though, I can remove it.
Before release, I made some final fixes and adjustments I noticed. Hopefully it helps, as a lot of it was involving the builder and syntax.
The Wax Template Builder, which generates entire furniture and structure templates such as tables, boxes, chairs, stairs, shelves, beds, arches, and pits from a single form, was building everything on the wrong axis on 2D maps. It had carried over the classic version's approach, where the up-and-down axis was a different one from what the rest of this version's builder uses, so on a 2D map a template came out oriented the wrong way instead of standing upright like everything else you place. Every template now builds along the same vertical axis as the rest of the builder on 2D maps, the height fields are labeled to match, and camera markers autofill them correctly, so what you build lines up with the rest of your map.
Clocks and calendars can now do a lot more than show a single fixed line of text. Their text supports substitution tokens that are replaced with the live time or date right where you put them. A clock understands %time, %hour, %minute, %second, and %ampm, and a calendar understands %date along with individual pieces like %weekday, %monthname, %month, %day, and %year. So a clock set to "On the clock, %time is displayed." reads exactly that with the current time filled in, and a calendar set to "%day %monthname %year" reads back as "15 January 2025." If you don't use any token, the time or date is simply added onto your text the way it always was, so existing clocks and calendars are unaffected. The builder now lists the available tokens right on the text field, the text limit has been raised from 100 to 1000 characters, and all of it is written up in the map syntax glossary.
Added beacon zones, for marking a place players can navigate toward without it announcing itself every time someone walks through. A beacon is a zone that still appears in the Locations menu and still pings when you arrive, but stays silent on entry instead of speaking its name. In the builder, check the new "Beacon Only" box on a zone; in map syntax, add beacon=true. It only takes effect when the zone is also set to trackable, since a silent, untrackable zone would do nothing. Adding, editing, or removing a beacon from the builder while you're already on the map updates the Locations menu right away.
Added 49 extra music tracks to kick off things.
Added 13 new fidget sounds recorded by Keri.
Please, make sure to read the files in the documentation folder. They should help in figuring out the game.
If you have a question or concern not mentioned, be sure to use Staff Outreach (ALT+F1) to get in touch with staff, or ask fellow players.

-----
Release Candidate Builds
RC10
This will most likely be the last release candidate before version 1.0.
Before getting into what's fixed, I want to take a moment to say thank you. To everyone who has been beta testing this game, putting up with the freezes, the crashes, the half-finished features, and everything else that comes with testing something still being built: your time and patience are what got this game to the point where 1.0 is finally in sight. This release candidate cycle has been a long one, and it would not have gotten here without you. Thank you.
Now, here's everything fixed in this version.
Loading a map would sometimes take a fraction of a second and other times take several seconds and briefly stop the game responding entirely, even on the exact same map visited twice in a row. The cause was the ambiences and other sounds set to start automatically when a map loads: they were all being prepared one after another with no breaks in between, and if one of them hadn't been heard yet this play session, getting it ready to play took real time with nothing else allowed to happen in the meantime. Which sounds needed that extra preparation could differ from one visit to a map to the next, which is why it felt so inconsistent. The game now takes small breaks while starting these sounds, the same trick already used elsewhere during map loading, so it stays responsive no matter what needs to be prepared.
Sound-emitting map items, such as pickups, weren't being fully cleared out when moving from one map to another. Over a long session spent visiting many maps, these quietly piled up in the background: any with a looping sound kept playing forever, even long after that map was left behind, and the game kept needlessly checking all of them every frame. Moving between maps now properly cleans these up.
Excludable sources, the ones that quiet down while you're standing inside a defined zone, like outdoor noise going quiet once you step indoors, were doing more work than needed every single frame, rechecking every exclusion zone on the map just to figure out which one applied. On maps with a lot of these, it could add up. They're now worked out once and checked far more directly instead, with no change to how they sound or behave, including cases where more than one zone shares the same exclusion, which continues to work exactly as it should.
Also fixed two related excludable source bugs that had been there since the optional fade was added in RC9. Landing on a map while already standing inside one of these zones could let you briefly hear the source before it faded out on its own, even though you had never actually crossed into it; the check for whether you were already inside the zone was running a moment too early, before your actual arrival position on the new map had been set, and now runs against the right position from the start. And on top of that, the very first time you left one of these zones after spawning inside it, the source would jump straight to full volume instead of fading in like it should, because the volume it was fading from had never actually been recorded correctly in that specific case. Both are fixed, so an already-excluded source now stays properly silent on arrival and fades in normally the first time you step out of it.
The map converter was silently dropping data for several element types that predate the current map syntax. Converting a map containing any of these produced an incomplete line missing all of its actual settings, with no warning anything had gone wrong. A related bug also meant converted reverb spaces could come out with the wrong reverb settings entirely, rather than just missing ones. Both are now fixed, so converting an older map should carry all of its settings across correctly.
Fixed two rare, hard-to-hit bugs where leaving a map at the exact wrong moment, while a stream URL or a networked sound was still in the middle of connecting, could affect the wrong sound or crash the game. Both are now handled safely.
Zone reverb, the box-free way to apply reverb to a named zone instead of hand-placing a reverb space, had the same kind of unnecessary per-frame work as excludable sources: figuring out which zone reverb applied to wherever you were standing was being worked out fresh every single frame instead of only when you actually changed zones. Fixed the same way. While in there, zone reverb also picked up two things reverb spaces already had: a Test Reverb button and a Presets button, right in its own entry in the builder. And a zone reverb's name can now optionally be a partial match instead of needing to match a zone's name exactly: wrap it in asterisks, or just check the new "Match Any Zone Containing This" box in the builder, and one zone reverb will apply to every zone with that word or phrase in its name, rather than needing a separate entry for each one.
Changes made from the builder while already standing in that map now show up live for a lot more kinds of map elements than before, so adding, editing, or removing things like hazards, reverb spaces, zones, streams, checkpoints, and many others shows up right away too, instead of only a small handful of element types.
Fixed a whole batch of small map-authoring bugs where leaving a setting out could silently produce the wrong result instead of a sensible default. A door or gate without an explicit automatic setting could quietly become automatic on its own; a plain gate could end up facing the wrong direction; an activatable platform could start out disabled or unexpectedly networked with no one asking for that; and a source3d sound with no volume specified played completely silent instead of at full volume. These, and several similar smaller cases, now fall back to sensible defaults instead. A handful of map elements that had no safety checks at all also now give a clear error if something essential is missing, rather than silently loading wrong.
The Random option in the reverb and occlusion preset browsers rolls a fresh set of values every time you preview it, which made it hard to actually listen back to a roll you liked, since pressing Space again to hear it a second time just rolled something new over it. Holding Shift while pressing Space now replays the same values instead of rolling new ones, so you can properly audition a roll before deciding to keep it.
Voice chat also picked up a fix and a new option. Non-Golden accounts could never actually hear proximity voice chat at all, even though it's meant to work for everyone once turned on; that's now fixed. Alt + V used to just turn voice chat fully on or off; it now cycles your microphone between push to talk, voice activated, and a new Muted mode (also selectable directly from the Capture Mode list in Voice Chat settings), so you can silence your own mic without also losing the ability to hear everyone else, which used to mean turning voice chat off entirely.
A few last-minute things I'd nearly forgotten to add before closing this one out.
Brought back the instrument builder item from the classic version, which had never made it into the rebuilt game. Pressing Enter on it lets you play a simulated piano or drum set with the keyboard, heard by everyone else on the map.
Sonar picked up two new shortcuts. Shift + O cycles a loop speed (off, slow, normal, fast) so it can keep pinging on its own while you stand still, and Alt + O changes how far its "in front of you" scan reaches, from 5 to 30 tiles. There's also a new Gameplay setting to turn off its wall-thud sound if you'd rather not hear it.
Also added HRTF Model selection to Settings, so you can now choose between the different bundled HRTF datasets instead of being stuck with the single built-in default. Also fixed a bug where HRTF could silently disable itself again right after being enabled at startup, and fixed positioned-sound distance falloff so far-away sounds actually reach true silence instead of just approaching it forever.
Fixed a wall occlusion blind spot near either end of a wall, fixed the "feel the wall" wall reflection effect not working outside a reverb space, and added material presets and test buttons to the occluded space and acoustic material editors. Also fixed standing in an inverted occlusion zone no longer actually muffling anything.
Map errors are now only shown to a map's author, contributors, or staff with map permissions. Everyone else just loads quietly.
A handful of smaller fixes rounded things out, including the Travel Text field on travelpoints being silently broken in the builder, Ctrl+S occasionally swallowing a plain S keypress meant for something else, and a rare out-of-memory crash tied to certain streaming audio.
If all goes well, this is the last stop before 1.0. I'm genuinely excited to get there, and none of it would mean as much without all of you along for the ride. See you at 1.0.

RC9
This is a bug fix and performance pass, mostly centered on voice chat and the map builder, with a couple of loose ends tied up in the audio system itself.
Fixed a bug where a looping sound source, after being far enough away to fully unload, would briefly blast at full volume the instant it came back into range before correcting itself a moment later. It should now fade in at the correct, distance-appropriate volume from the start.
Voice chat got two real fixes this time. First, other players' voices were always completely dry, even standing in a room with heavy reverb where every other sound in the game picks up the tail. Voice now shares the same reverb as everything else. Second, and more importantly, having two or more people talk at the same time used to cause stuttering and the voices cutting over each other. Decoding incoming voice now happens on its own background thread instead of competing with the rest of the game for the same slice of frame time, so multiple people talking at once should be stable.
Fixed a map builder bug where editing an existing element wouldn't correctly restore everything that was already saved on it into the edit form. Any field backed by a list control (Direction, Elevator Type, Start Position, and others) always reset to its first option instead of showing the saved value, and excludable sources and excludable zones lost their reference ID entirely. Re-opening any of these for editing now correctly shows what's actually there.
Excludable sources (used to silence an ambience or source while you're standing inside a defined zone, like quieting outdoor street noise once you step into a building) used to cut on and off instantly. They can now optionally fade instead, so the sound drifts away rather than cutting; it's off by default so nothing about existing maps changes unless you turn it on.
Also fixed the map converter misreading old maps' volume values. Old maps used a volume of 0 to mean full, unmodified volume, but under the current volume scale 0 means silent, so running an old map through the converter unchanged would have gone silent on any source or ambience that used a volume of 0. It's now correctly converted to full volume instead.
Fixed the game briefly freezing whenever a sound sent by the server played. Preparing that sound for playback was doing far more work than it needed to, and now does it the fast way instead.
Finally, a handful of new reverb presets were added for tight, boxed-in spaces, like a cupboard, a cardboard box, a wardrobe, an air duct, and a car trunk, for that "crammed into something small" sound.


RC8
This is a small follow-up fix to the sound system rework in RC7.
Sounds tied to entities (footsteps, one-off sound effects, and looping sounds like the bike) were being started and then corrected a split second later once their volume and pitch were applied. That could cause a brief moment of the wrong volume or pitch right as the sound began. Those values are now set correctly from the moment the sound starts. While in there, these same sounds were also always being played as 3D sounds even on 2D maps; they now use the correct 2D or 3D positioning depending on the map you're in.
Also fixed the Test Reverb button in the map builder's reverb space editor. It used to drop you into a separate testing mode that took over the screen until you pressed Escape, and if you had "Use sliders for value adjustments" turned off in settings, it could silently test with the wrong values instead of what the fields actually showed. It's now a simple button (or Ctrl+T) right there in the form: press it to hear a test step sound with the current settings, and the correct ambient reverb is restored automatically once you're done editing.
As a small companion to that, the reverb space and occluded space editors also got a Presets button. It just gives you a bunch of built-in starting points to browse and preview (Space to hear one, Enter to fill in the fields), including a Random option if you want to experiment, so you're not stuck guessing at numbers if you don't want to be. Nothing you have to use, just there if it helps.

RC7
This is the big one, and it needs an explanation up front, because rewriting the entire sound system in a release candidate sounds backwards.
Here is why it is a release candidate and not a beta: it adds no new features. The freezes, the hangs, audio cutting out, sounds piling up and overloading the game, voice chat dropping and stuttering — those problems kept tracing back to the audio library the game was built on, and patching on top of it was never going to fully fix them. So the entire sound system has been rebuilt on a new audio engine, written in-house, specifically to put those problems to rest. This is stabilization work, not experimentation. It replaces a shaky foundation with a solid one so the game can actually reach a finished release, and everything the game already did, it still does.
In plain terms, here is what changed.
All positioned sound — footsteps, map sources, other players, all of it — now runs through the new engine. Sounds start cleanly without the clicks and stutters, the game no longer locks up or overloads when a lot is happening at once, and 3D positioning is handled properly. Occlusion (the muffling of sounds through walls), reverb, and the "feel the wall" wall reflection effect all carry over unchanged.
Voice chat has been rebuilt on the new engine too. The queueing failures and dropouts that plagued it are mostly gone, and it has been tested working in multiplayer.
Online audio now works. Live internet radio streams and downloadable audio files can be used as map sources and streams, which the old system could never handle cleanly.
And volume is now one consistent scale everywhere. A single 0 to 100 control is used throughout the game and in map building, where 100 is full volume.

RC6
This is a small performance pass aimed at reducing hangs and stutters on large, complex maps. There are no new features.
On maps with lots of active sounds, acoustic occlusion (the muffling of sounds through walls) was being recalculated on every single frame for every sound playing, even when nothing had meaningfully changed. It now updates at a sensible rate, work that was being repeated separately for each sound is now shared, and sounds that are far enough away skip the calculation entirely since the result would not be noticeable at that distance anyway. The overall effect should be a noticeably smoother experience on busy maps.
A handful of occlusion bugs have also been fixed.

RC5
This candidate is dedicated entirely to the translation system, both the engine behind it and the Spanish translation that ships with it.
The engine has been rebuilt to handle far more than simple phrase swaps. Alongside exact phrase translations it now supports aliases (one phrase reusing another's translation), reusable variables you define once and reference anywhere, wildcard patterns that capture the changing part of a message (so "You have 5 coins" can be translated with the number left in place), plural forms, and regular expressions for advanced cases. Form controls, which the screen reader announces as a label plus its type and state, are handled cleanly so translations no longer fall apart on checkboxes, sliders, lists, and the like.
To make translating practical, there is now a missing-translation log. Turn on "Log untranslated text" under Settings > General, play through the game in your chosen language, and every line that is not translated yet is written to <Language>.missing.txt, already formatted so you can translate it and paste it straight back into your language file. Each language file can also set its own options, for example switching that logging off once a translation is finished, without touching any settings.
I also fixed a bug where certain translations could spiral out of control. If a replacement happened to contain the word it was replacing (translating "Map" to the Spanish "Mapa", which still contains "Map"), the text would keep growing into "Mapaaaaaaaaaa". The engine now applies such a rule only once, and the documentation explains how to avoid it.
Finally, the bundled Spanish translation and the translation template have both been rebuilt from a real capture of everything the game actually says, with the dynamic noise (names, numbers, coordinates, and so on) stripped out.

RC4
This release is all about occlusion, the muffling of sounds through walls and barriers, and fixing some rough edges around it.
Occlusion spaces can now be inverted. Normally an occlusion space muffles whatever is on the far side of its boundary, so standing inside a room muffles the world outside it. An inverted space instead acts like a muffling medium such as water or fog: while you are inside it, everything around you is muffled, including sounds made by other people standing in it with you, and it still muffles outward to anyone listening from outside. You set it with the new Inverted option on an occluded space in the builder, or inverted=true in the map syntax. For an underwater feel, try a low cutoff frequency (around 500) with a resonance of about 4.
Fixed wall bump sounds being muffled when you hit a wall just outside an occlusion space you are standing in. Because a wall's sound plays at the wall itself, a wall sitting right on the edge of a zone used to come back muffled even though it was right next to you. Your own wall bumps, and those of other players sharing your zone, now play clearly.
Occlusion spaces also gain a Boundary Thickness setting (thickness in the map syntax, default 1). This is how far outside the space, in tiles, a sound can sit and still be heard clearly by someone inside, effectively the depth of the wall. If you build a thick wall and want its muffling to reach a little further out so sounds just beyond it are not falsely muffled, raise this value.

RC3
This release is entirely focused on trying to get to the bottom of the game freezing and becoming unresponsive. I can't say for certain that any of these changes are the definitive fix, but they are my best guesses based on what I've been able to observe, and I think they're worth trying.
First, the minimap and graphics system introduced in RC1 has been removed entirely. It was a brand new feature with very little testing, and the timing of the freezes lined up closely with when it was added. Even with it turned off in settings, parts of it were still running in the background. Whether or not it was the root cause, it wasn't stable enough to ship and has been pulled for now. The Graphics (Beta) tab is gone from settings.
Second, when loading a large or complex map, the game was doing so much work all at once that it stopped responding to Windows entirely until it was done. It now takes small breaks during loading to keep things alive.
Third, the game was quietly rechecking whether sounds were being blocked by walls on every single frame, for every single sound playing, even when nothing had moved. On a busy map with lots going on, this work kept building up in the background until the game couldn't keep up. It now only rechecks when something has actually changed.
All three of these are theories. Let me know whether things improve or whether the freezing is still happening.

RC2
This attempts to fix an issue with the game not responding during preloads and/or just not letting you play. From what could be found, it wasn't necessarily preloads that were causing the issue, but more SDL-related. I can't be absolutely sure though, as I have experienced the game hanging with graphics on and preloads off, and graphics off and preloads on. let me know if things are still buggy.

RC1
Welcome to the release candidates of Golden Crayon.
I figured something that would likely help is the addition of some basic last-minute additions. They're not meant to be huge, but hopefully they help in some way.
Adds camera markers, so you no longer have to memorize coordinates while building. While panning the camera (hold G), stamp a corner with U/I/O for maximum X/Y/Z and J/K/L for minimum X/Y/Z (apostrophe announces all markers, P or Delete clears them). The builder and Wax Template Builder then autofill any matching coordinate boxes, including Start/End fields. For single-point elements (just X, Y, Z), a new Builder setting chooses whether to use the minimum markers, the maximum markers, or the midpoint between them. Another new Builder setting can clear the markers automatically once they autofill a form, so each element starts fresh.
You can now toggle map loading sounds under the Map tab.
While I was at it, I also fixed some missing hotkeys in that particular tab as wlel.
There is now a preloading option under Sound and Audio settings, which is enabled by default. If you experience audio stuttering/clicks at the start of sounds, this should help. When enabled, surface footstep sounds, wall bump sounds, and common UI/gameplay sounds are all loaded once during the initial startup, so they are ready before you ever enter a map. Map-specific sounds such as doors and elevators are loaded as the map parses. This adds a small amount of time to startup, but map loads themselves are not affected.

-----
Beta Builds
0.10.4.1
This is to address a minor bug that wouldn't account for microphones with lower or higher samplerates (less than 40000 and greater than 50000), thus causing them to transmit audio sounding like a chipmunk or like a drunk.

0.10.4
I decided to add a few more goodies before we start pushing out release candidates.
Adds a new map element called acoustic material, found in the builder under Environment. Instead of hand-placing occlusion boxes around every wall, you declare once how a given wall material muffles sound, and the engine automatically occludes any sound whose path to you crosses a wall of that material. The material name is the tile type without the "wall" prefix (a wallwood tile is material "wood"). You set a cutoff frequency (lower is more muffled) and filter order. Occluded space boxes still take precedence wherever they are placed, so this acts as the automatic default fill.
Adds a new map element called zone reverb, also under Environment. This maps a named zone to a reverb preset that is applied whenever you are standing in that zone, so each room can have its own reverb without placing a reverb space box in every one. A reverb space box still overrides it where present.
Adds wall reflection, the "feel the wall" effect. When enabled, sounds bounce off nearby walls and you hear those reflections positioned where the wall actually is, which gives a strong sense of the space and surfaces around you. It applies to footsteps, other players, and voice chat. You turn it on per map from Map Settings with the new option "Allow sounds to reflect off walls".
Reflection is colored by material. The acoustic material element gains two settings for this: reflectivity (how much a material reflects, 0 meaning it does not) and reflection cutoff (how bright or dull its reflection sounds), so a wood wall can come back bright while carpet comes back dull and quiet.
For builders who would rather not configure individual materials, the reflection space element is back under Environment, but reworked. Placing one lets any wall inside the box reflect using that box's own settings, with per-area control over the step range (how close a wall must be), the number of reflections, and their volume. A wall that has its own acoustic material still uses that.

0.10.3
Slants have been redone, yet again. I will continue to debug them / fix them the best I can.
Adds the Wax Template Builder, opened with Shift+B. It generates multiple map elements at once from a single form, supporting both modern and classic builder modes. Available templates: table (wall frame with a flat top), box/room (hollow shell with a floor and optional ceiling), chair (seat with optional arms and back, direction-selectable), stairs (configurable step depth, direction, and optional riser walls), shelf (evenly spaced platforms with an optional back wall, direction-selectable), bed (horizontal with side rails and headboard, or vertical as an upright wall frame, with optional footboard), arch (two wall pillars with a spanning top platform, configurable opening width and axis), and pit (hollow wall shell with no floor or ceiling).

0.10.2
This is more of a customization update rather than bug fixes. It doesn't mean I've stopped working on fixing bugs, but a lot of these settings probably should have existed ages ago.
You can now toggle the speech you hear in browsers on and off. A toggle has been added for walls, doors, sounds, and music.
You can now choose in the builder, whether parameters like volume and pitch appear as text boxes, or sliders. On a slider, pressing Backspace resets the slider to the default setting, just like pressing backspace on a browser.
In gameplay settings, the options for sitting down after falling, skipping shift to throw your hook, and showing tile names after coordinates have been added.
When showing tile names with coordinates (C key), the display name of a tile is now respected. If a platform has a flag set, that name is shown instead of the raw surface type.
Pressing F1 while filling in a builder entry form now opens the relevant section of the map syntax glossary for that element type.
Browsers have been significantly improved, in fact they've been rewritten so that its designed explicitly for browsing. This is a brand new builder browser.
Press F1 to search by text, then F3 to find the next match and F2 to find the previous one.
While in any browser (except platforms), press Ctrl+O to switch to a different browser type without cancelling. You can browse sources, music, door sounds, elevator sounds, or interactable sounds regardless of which browser the element normally uses. Volume and pitch limits from the original browser still apply in the switched one. Switching back to the original browser type stores the filename cleanly without an unnecessary path prefix.

0.10.1
Voice chat is as stable as I can make it at the moment, however I'll keep working on it in the background. We're trying a new approach that seems more tolerable for now, but I'd like to shift my focus more toward what needs fixing and modifying, as these past few versions have been leaning heavily on that particular feature.
That being said, here are some changes that are irrelevant to voice chat.
Sound sources and music are now sorted correctly. turns out they were referencing the pack directly and not my sorted list, so I had to make them sort too.
Adds a new option in the builder called edit element. This functions just like the line editor, but rather than opening up an edit box to edit the line, it brings up the builder dialog, with all the values prefilled for you. This is still in its early stages (e.g. it might not work stably on interactables, may break if you use interactable options on an element, that sort). To remedy this, if the builder cannot figure out what type of element it is, it will just fall back to the line editor.
There is a plan to make this a setting (edit line opens up the builder or line editor based on preference) but I want to test this out first to make sure it works efficiently, therefore it is a separate option.
Fixed a bug where pressure plates would reactivate each time a new player stepped on them, even if another player was already standing on it. Only the first player to step onto an empty plate now fires the activate action.
Related to this: when a server-bound trigger's on_activate action toggles a passage, the passage no longer re-broadcasts its own state change to other clients. Previously, two network packets would race to each client, and depending on timing, the door could close immediately after opening.
Passages now appear in spyer scan results. They are reported by direction and open state, e.g. east passage or open north passage.
Jumping from underneath a slope no longer lets you phase through it and land on top.
You can no longer jump while standing on a slant. The landing system was never designed to handle it cleanly, and it caused a bouncy effect when spamming the jump key on shallow slopes.
Adds a new map element called double wall. This is a wall that plays a different sound depending on which side you approach it from. A good use case is a building exterior that sounds like brick on the outside and plaster on the inside. You can place double walls from the builder under Environment, and configure two materials and an axis (x, y, or z) that determines which direction the two sides face.
Adds a new map element called activatable platform. Unlike vanishing platforms which disappear on a timer, these are purely trigger-controlled. Connect a button, lever, or pressure plate to one and it will appear or disappear on command. Use activate, deactivate, or toggle actions to control it. Useful for bridges that appear when you pull a lever, floors that drop away via pressure plate, and similar puzzle elements. Available in the builder under Environment.
Platforms, walls, vanishing platforms, and activatable platforms now support an optional flag parameter. When set, the flag text is shown instead of the raw surface type name. The actual surface, including its sounds and collision, is completely unaffected. This is useful when you want a tile to behave like one surface but be described as something else entirely, for example a carpet5 tile with flag="rug" that steps like carpet but reads as a rug.
Fixed a bug where map item inventories were not cleared when leaving a map, meaning items picked up on one map could carry over to others.

0.10.01
This patches a small bug where sounds were not being sorted correctly. This also introduces proper natural number sorting (e.g. no more concrete10 after concrete1 in platforms, or music/10.ogg after music/1.ogg in music). The game can now sort on its own, but The soundpack creator I use has been updated to sort naturally, therefore making two layers to guard incorrect sorting. Sorts of sorting and more sorting to sort! Alright, I'm done.

0.10
Upgrades Golden Crayon to the brand new NVGT sound system. This required a lot of work but Claude made it easier, as it involved swapping out pretty much what felt like the entire legacy sound system for the new one.
The checkboxes in the Voice settings tab are now read-only if you are not Golden.
The voice threshold setting is now a double, not a float. You should no longer get values like 0.00999999977648258, but instead 0.01 to 0.1. And yes, that was an actual number. To tell you the truth, that's what my slider was set to, until I fixed this.
Added a bit more verbosity to the voice chat setting labels. I tried to make it explanatory, but not excessive.
Voice chat has been reworked to use the new sound engine properly. It now uses the Opus codec the right way, sends audio as compact binary packets instead of wrapping everything in JSON, and, most importantly, the microphone no longer opens its own separate audio engine. That last change fixed a particularly nasty bug that thank goodness you guys did not have to experience, where enabling voice chat would silently break the spatial positioning of every other sound in the game the moment voice was switched on. All sounds would stop moving relative to the player. Took a while to pin down.
The jitter buffer setting has been removed from the Voice tab. The new voice pipeline does not need one.
URL streaming, used for internet radio and remotely hosted background music, has been rewritten to use the proper HTTP classes. The old system relied on an API that is being phased out.

0.9.6
Voice chat has been overhauled to be more stable and reliable. It now uses a configurable jitter buffer, which you can adjust in the Voice tab of game settings. A larger buffer means smoother playback at the cost of a little extra delay; the default is 180ms. If you experience choppy or stuttering voice, try increasing it.
A previous update switched voice chat to a more efficient audio format called Opus, which is used in apps like Discord. Unfortunately the tools we use to build the game don't give us full access to how Opus works under the hood, which caused a crackling sound that we couldn't get rid of no matter what we tried. We've switched back to the previous format, which doesn't have that problem. To keep bandwidth reasonable, voice audio is now compressed before being sent, so it uses roughly half the data it did before.
If you do not have a Golden Account yet, you will now see a Purchase Golden Pass option in the context menu (Backspace). Selecting it opens the store page in your browser.

0.9.5
There is now a proper version parser, in case we end up going into the double digits.
ALT + N should now work as expected now. This pulls up a list of nearby players who are talking, and lets you adjust their volume.
Fixed a bug where a player's voice chat resources were not cleaned up when they disconnected, leaving their voice player hanging until it timed out on its own.
Since there are a few more voice chat settings implemented, there is now a Voice tab to the right of Audio.
Voice chat HRTF now respects whether you have HRTF enabled or not.
You can now choose between two PTT keys for voice chat, Semicolon or V.
There is now a global voice volume slider that goes up to 200 percent.

0.9.4
Fixed a bug where toggling voice chat off and back on with Alt+V would reset your capture mode to push to talk, even if you had voice activation enabled.
Voice chat now correctly applies occlusion. If a speaker is inside a building and you are outside (or vice versa), their voice will be low-passed just like any other in-world sound.
When monitoring yourself with listen to yourself enabled, your voice now runs through the main mixer and HRTF, so you hear the same reverb and spatial effects that others hear from you.
You can now toggle HRTF on or off. HRTF was always supposed to be on, but it got mixed up in different parts of the map code, so it never officially got toggled. In other words, Golden Crayon pretty much has never had HRTF up and running until... Well, now.

0.9.31
This is a small minor patch to address voice chat using up tons of bandwidth by decreasing the amount of data sent. Keep in mind that those on 0.9.3 will hear you as a chipmunk.

0.9.3
Adds proximity voice chat thanks to Remi. It's stable from my testing, but let me know if anything goes amiss. Hold down Semicolon to chat, or change it to voice activation mode in game settings.
Fixed a bug where audio sources would briefly play before their excludable zone finished loading, causing a roughly 500ms window of unintended audio. Sources now defer playback until the map is fully loaded, and excludable zones are applied immediately upon load so no source leaks audio before being silenced.
The close game option in the context menu now works. It shows a confirmation dialog, and if confirmed, saves your settings, exports buffers if enabled, and closes the game cleanly. Also fixes a related bug where closing via this method (or any call to quit()) would cause the server to treat the session as a lost connection rather than a clean logout. The logout packet is now sent before the network is torn down, giving the server time to handle the exit properly.
The client can now recognize Golden players, as well as if you yourself are Golden. There is a gate in place so that if people do decide to use Cheat Engine, changing golden to True isn't enough to bypass checks on the server.

0.9.2
Fixed the enhanced map converter completely mangling 2D maps. The old engine used Z as its vertical axis (Y was unused), but the new engine uses X/Y and ignores Z. The converter now properly swaps those axes during conversion, so platforms, walls, zones, doors, sounds, and all other elements land at the right height. It also no longer eats the contributor and dislikes settings.
Thanks to the help of Claude, and of course some editting from me because AI isn't always right about everything, Golden Crayon now has a decent readme to go off of.
Pressing Y while tracking a zone no longer says the zone name. It was cumbersome, and if it just so happened to be a long string of text, you'd be sitting there contemplating your next breakfast, brunch, lunch... you get the idea.
You can now press Shift Y to stop tracking a zone, just like you can press Shift T to stop tracking a player.
Health drainers are now available. They were supposed to be available ages ago, but again, one of those things where I got so caught up in the new map syntax I forgot we were missing some elements.
Aded some elements to the client that are on the server, so you can easily build them. Before, you sort of had to remember the syntax. These include spawn locations, death messages, and menus, which if you use the new builder form, have been put in a Server tab.
Removed the music playlist crossfade setup item from the builder, and instead integrated it directly into the music playlist option.

0.9.1
Bikes now function more like real bikes. I've done away with the whole press U to move 5 tiles each time nonsense. You now move 1 tile only, every 55ms, making you glide like you are on a real bike. This may break maps that require you to move 5 tiles across gaps, but to be honest, bikes were never really supposed to do that anyway. There may come a time where I'll let you customize this stuff, but for now this is the default.
I've added Space as an alternative key to use transportation, if that's more your style.

0.9
Jump and air movement time has been bumped up quite a bit. It should hopefully feel a lot faster (160ms instead of 210ms jump time, 66ms instead of 80ms air movement time).
Edits the interactables file to specify possible edge cases with saved states, as before it said states did not save at all.
In all the map syntax and builder checks, I completely forgot about two major things.
1. Bikes and canoes have been integrated.
2. Zones can now be tracked with the L key.

0.8.2
Fixed travelpoints created from the builder still generating destination x, y, z, and map. Now it is dest.
Fixed issues with multi-line blocks in interactables not being parsed correctly.
You can now press CTRL plus B to quickly open map settings.
Since there are now a lot of builder customization options, the game settings screen now has a Builder tab, instead of cramming everything in the Gameplay tab. If people think this is tedious, I can restore it back to how it was in a later version.
You can now choose how interactables are rendered when you complete them in the builder. The brace block setting will make it so that your interactable parameters are on different lines for readability and flexibility, while the single line option will use the default comma style. For examples and more information, read the interactables.txt file under the documentation directory.
In addition, you can now customize how elseif braces work. You can choose for them to close on the next elseif block, or close on its own line before the elseif block.
Attempts to fix duplicated passage sounds if the passage is server bound.

0.8.1
Makes some improvements to server bound interactables. They should now sync better with the client and vice versa.
Ads, or you could say integrated, passages. They existed, they were just not fully addressed until now. Since they are brand new, they are not backwards compatible.
Includes missing information about tile zones in the new tile zone documentation. Tile zones were introduced in 0.8, but I never added them as a changelog entry.

0.8
Fixed a small bug with the window title when downloading assets.
Elevators now play the close sound  in a  stationary fashion when selecting a floor.
In the links manager, the Open All and Copy All buttons will no longer appear if only one link is found.
In the map converter, the output, stats, and copy elements will only appear once you click the Convert button.
The builder fields now know how to distinguish between what is optional and what isn't. A lot of this stuff was hardcoded back when the legacy syntax was the default, so this new system should hopefully help.
Added a few more invalid parameter checks. Some of them include parameters which are provided with camel case(first word lower case,  subsequent words uppercase) or snake case (underscores between each lowercase word).
Adds a feature called Predictive Syntax. This is only togglable on the map itself. This is a feature that attempts to guess what parameter you were trying to use. It takes the common errors, and then replaces them with their correct keywords, without affecting the rawdata. Keep in mind that this feature, although useful, can have unexpected results if not used correctly. It is strongly advised you read the map syntax documentation to use the proper keywords rather than to heavily rely on this.
Fixed an issue where new syntax lines with an unrecognized parameter would fall back to the old syntax parser, corrupting the data. For example, writing max_z instead of maxz would turn the entire line into garbage like type=type=marble6, and get worse with each reload. New syntax lines will no longer fall back to the old parser.
You can now use random numbers by putting a comma between two numerical values. For instance, if you want the pitch of a source to range from 100 to 200, you would put pitch=100,200.
Adds slants (also called slopes or hills). It took me awhile to perfect these because I had to use both Claude and myself.
All volume adjustments are now accessible via Home and End, and not just master and source volume. ALT plus Home and End will adjust stream volume, and CTRL plus Home and End will adjust music volume. Each has its sound pitched differently so you can tell what you are adjusting.
Volume beeps now follow the volume of the actual volume you are adjusting.
Adds map items. You can choose for them to be picked up automatically, or the user must press Enter on it.
Key triggers now have the ability to let you choose the item required to activate the trigger. If you do not possess it, it will not work.
Ads a map inventory (client-side only). Press CTRL plus Tab and Shift Tab to cycle through it.

0.7
Due to the massive amount of additions and bugs fixed, this version has been branded as 0.7 rather than 0.6.1.
Adds sub-zero map support. Maps can now define minx, miny, and minz values to allow negative coordinates. Spyers, camera, sonar, and player movement all respect these boundaries.
Adds a built-in map converter under the game's settings. It is located in the Map category.
Adds the brand new, long-awaited interactables system. Due to the nature of how this system integrates strictly with the new parsing syntax, I am sorry to say that this will not be backwards compatible. You can read more about it in the interactables.txt file in the documentation folder. Shout out to Claude Opus for making the implementation of this system much, much easier.
Adds lifts,  elevators, vanishing platforms, and belts. All are backwards compatible, and are listed in the new and old map glossaries.
Adds an action builder UI with dedicated forms for configuring then, elseif, and else action blocks.
Fixed the parser not respecting the difference between north south gates and east west gates.
Adds occludeable spaces. When you are outside the space, any sound you hear within it will have its parameters applied.
Improves stability of the map parser so  it ensures only defaults of the same element type are accounted for. Defaults used to be global, which meant it applied to every single element.
Adds more common mappings to the parser to help with likely errors.
You can now load URL's in other areas besides just streams. There does not need to be any new elements like URL sources, URL ambiences, etc. Just replace the path with a URL. for instance, source3d x=5; y=5; z=0; path=https://my_url.com/my_file.mp3; volume=0; pitch=100;
Adds proper onoffs management. The functionality was there, but it was broken.
Fixed a bug where sound source volume was not saving. it was, but it was saving as source_volume, not sound_source_volume. And since the game was looking for sound_source_volume, it didn't find anything.
Improved gravity system so that you land on platforms as you find them, rather than skimming over them before landing.
Adds proper auto walk and auto run support.
You can no longer use the grappling hook while sitting.
You can no longer sit down or stand up while falling.

0.6
New map syntax is here! Keep in mind the game does have backwards compatibility support in case things go wrong, so don't worry about needing to immediately convert your maps.
Fixed a bug where normal plain text was not being sent as a chat message correctly due to invalid parameters.
Adds %plist as a script key parameter. This will open the player menu, where you can select a player.
Fixed several bugs with the builder, including but not limited to, doors/gates, timed sources, ambiences, among others.
There is now a Test Reverb button in the reverb space builder dialog.
Volume and pitch fields in the builder are now automatically filled upon selecting an item in the browser.
Fixed entities always playing sounds with your listener position set to north.
Keyboard echo should now save.
Walls now have a proper wall browser.
Fixed translation system issues. I didn't realize there was a proper text processing callback, and here I was trying to go screwing around with speak directly.
Fixes an issue where the translator would try and translate indefinitely, thus causing the game to hang.

0.5.1
Added the %me variable to script keys. Include it and have your own username automatically filled for you.
Fixed map dialogs not being cleared upon switching maps.
Fixed a massive issue where moving through extremely fast doors would cause  signifcant lag.
When kicked, you are now brought back to the main menu, without an annoying dialog that requires dismissal.
Fixed the conversation manager not parsing conversations correctly, thus resulting in things like "Conversation with".
Adds the links manager. Press ALT plus Enter to open it when a link is present. You can open, open all, copy, or copy all links respectively.
Shifts copying buffer items from ALT plus Period, to Shift plus C.
As a follow up, pressing ALT plus C will now open a text box, allowing you to view the item in full.
You can now mute and unmute buffers with Control M. The muting system had already  been implemented, but it was never given a keyboard shortcut. Oops on my part.
You can now control whether buffers are cleared upon exit or not (under Gameplay settings).
Fixed several menus where being kicked would keep you stuck within them. Blame the state stack, blame it I say!
Adds buffer sounds (both switching and navigating). I grabbed the sound logic from ROTU of all places, but hey, it works!

0.5
Welcome to the NVGT-client edition of Golden Crayon. After the long downtime of the Python build, I’m excited to be back with a client rebuilt from the ground up, along with a server that’s had a major overhaul.
Over the past 6+ months, I’ve put a lot of time into this: a brand-new builder, a proper 3D audio experience, and redesigned map elements. Honestly, it’s by far the cleanest source code I’ve ever worked with—at least by my standards.
The client is also way more flexible now. You can stick with the old menu-based building style, or switch to the new tab panel system for something more organized.
The server’s seen a big upgrade too—better organization, some new systems, and most notably, an achievements system. It’s still being tuned and patched, but progress is progress.
On the client side, you’ll now find script keys—up to 24 of them (1 through = for the first 12, then Shift for 13 to 24). Thanks to the audio form, a lot more places now use a virtual GUI instead of menus.
That said, a few things from the Python version—like certain screens and context menu items—aren’t here yet, but they’ll be added back as soon as possible.
As always, please use ALT+F1 to send in bugs, suggestions, or feedback. We’re down to just a few tickets now compared to before, so I’ll take that as a win.
Thank you, and happy testing. Or irritational testing. Who knows. LOL

-----
Python Builds
0.5 (Python Edition)
Adds search in browsers. Press F1 to search, F2 to search backward, and F3 to search forward.
You can now use Control Left and Right bracket to move between conversations outside of the chat box.
Fixed all buffer not muting other buffers as well.
The game now has proper emoji support.

0.4.5
Fixes a bug that would allow you to insert new lines in read-only edit boxes. This also included edit boxes that were not part of the GUI at all, allowing you to actually write text in them.
The server is now able to route the cursor to a specified location in a text box.
There is now a file called buffers.txt. In this file, you can rearrange your buffers as you see fit.
Adds group chats and group notifications buffers.
Included the leaderboards buffer that was supposed to be added ages ago.
Now if the server sends a message to a buffer that does not exist, the client will create that buffer.
Made improvements to handling sounds when the game is not in focus.
Fixes a bug with sources playing as if your source volume was set to 100 percent. To fix this, you could just adjust your source volume and it would shift, but now this is no longer necessary.

0.4.4
Improvements:
• Makes source movement smoother, meaning things will not all of a sudden grow very quiet or very loud. This is thanks to the distance parameters in OpenAL.
• There is now a check to see if a player that wasn't destroyed exists. This means that if your client tries to create a new player that logs in, but that player already exists, it will simply update its parameters, preventing duplicates.
Builder:
• Adds clocks and calendars, but with a few perks.
In clocks, %time will now allow you to put the time wherever you wish in your text. If it does not find it, it will simply append it to the end.
In calendars, there are two. %date1 will output the date as Month Day, Year, while %date2 will output it as Day Month Year. It functions just like the clock, the only difference being that if you leave the text blank, it will simply use the default, which is Month Day, Year.
Settings:
Adds the ability to mute sounds and/or speech when the game is not in focus. They are two separate options, so configure them as you see fit.
GUI:
• After several attempts, the bug where trying to use first letter navigation to jump to text boxes is now fixed. This also includes the bug where Tabbing or Shift Tabbing between input boxes would cause the GUI to jump you all the way down or all the way up.
• We are now back to the old text input box, with my mods. I recovered the old one and added word and line navigation. Text selection coming later.
Browser:
• Click sounds are no longer included in browsers that play sounds as you navigate over them.
• Removes the .ogg extensions from items.
Game:
• Adds auto walking. Press A to toggle it on or off. When auto walking is on, holding down the Arrows, Page Up or Page Down will automatically make you walk. When it is off, holding down the Arrows, Page Up or Page Down will not do anything. Instead, you will be the one controlling your movement, by tapping the keys.
• Adds auto running. Press Control plus A to toggle it on or off. When auto running is on, your movement will behave as if you are holding down the running modifier, which is Control. When it is off, you will move normally, and you will be required to hold down Control to run.

0.4.3.1
A quick patch to excludable sources. I wanted to get this out of the way ASAP, as I think they have been broken for ages.
0.4.3
Until a way is found for streaming to be done in OpenAL, BASS is being used. This is a temporary solution.
Volume and pitch parameters are now 1 to 100, pitch being 25 to 300. Keep in mind this may break existing sources, so you will have to modify them according to these changes. Sorry for the inconvenience.
Fixes issues with input boxes not accepting only digits.
Pressing Home and End will now set a slider to the minimum and maximum value respectively. With that comes the ability to press Space to obtain the slider's status.
Losing inventory items will now display positive values. Previously it would say something like -500 coins lost, now it will say 500 coins lost.
A bug fix where moderators could not access certain features.
You can now create or leave a map from the Context menu.
Adds the gallery in the Context menu as well. Everything is self explanatory, functioning just like the building screen.

0.4.2
Changes the way updates are handled. Please redownload the updater by deleting the updater folder.
Removes the old updater handling process. A version.txt file will now be auto-generated by the game, which the updater will then read. No more weird process exchanges and potential crashes, or at least I hope so.
Fixes to the inventory and using items.
Changes the way errors are logged. Same process, different system.

0.4.1
Fixed a bug where the game would crash if a blockage was above or below you, due to incorrect blockage code on the Z axis.
Fixed a bug where receiving an item was still trying to use an old BASS function to play the give sound.
Fixed a bug where moving within the boundaries of an excludable source would cause it to stop and play every step you took.
Attempting to adjust source volume with Control Home and End would cause the game to crash. This has been patched.
Fixed a bug where opening the game would throw an I/O error due to false usage of obtaining a valid response from the updater.
You are no longer able to press Page Down to go back to the platform below you while jumping.

0.4
The updater has been integrated into Golden Crayon. This means you no longer have to use the launcher. The updater will download on its own upon first launch if it does not detect that the updater is there.
Switches to OpenAL as the game's audio system. Enjoy screwing around with it, things are mostly stable but there is still things that will likely break.
Now when you check the forgot password check box, the password field will disappear.
Hold "g" then press the graav "`" key to activate dexterity camera mode.
In the sound browser, you can now use the Backslash key to reset the pitch to default, and the Slash key to reset the volume to default.

0.3.3
Buffers will now export when exiting the game itself and not when exiting the server. Buffers no longer clear upon returning to the main menu as a result of the change.
The context menu has received two additional options. The first one is the ability to export buffers directly from within the game, and the second one is to completely close the game without returning to the main menu. Keep in mind closing the game from the context menu will still save all your settings, and if necessary, export buffers, as if you were clicking Exit in the main menu.
Since the context menu already exists, the shortcut keys for Rules, Help, Staff Panel, and Changes seemed to be extra. You can now just use the context menu for that. However, I have left Settings there, as I think that is a bit more important.
The extra Slash commands in the chat box when expanding More options have been removed. They were there to mainly test out further GUI enhancements.
Pressing Z will now display the zone name along with the map name. If you wish to only display the zone name, press Shift Z.
Staff Outreach has been released! Access by pressing Control plus F1. Staff Outreach is a submition/ticket-based system in which staff can deal with any questions, concerns, feedback or reports players may have. Staff can then reply to the submition. If everything is resolved, the staff member can submit a final response and then close the submition. Once it is closed, the player will receive an automated message telling the individual about what messages were sent, thus allowing the player to get an overview of the messages. Since they go to the PM buffer, they will be archived when the player exports their buffers, or they can copy and paste it into an editor if they wish, since it is multi-line.
The server now has the ability to make the client focus on elements that it wants the client to focus on.

0.3.2
When you create an account, the credentials will now automatically be filled in for you so you do not have to go back to the main menu and set them up.
Adds map error handling, still in the works but should give you basic errors.
Adds support for holding down keys to adjust volumes (rather than only being able to press them).
Fixed a bug where buffers would export the same content every single time you logged in and out, thus causing duplicated entries.
Dates are now provided as to when buffers were exported based on the user's system time.
Adds blockages, and excludable sources.

0.3.1
Fixes a critical issue in the builder menu with the volume slider.

0.3
Text boxes no longer say editting when you focus on them. They were primarily for when you had to press Enter to engage a text box, which is no longer the case anymore.
Updates the spoken feedback of F3 in the GUI to match that of the option in settings, specifically speaking of gaps between elements and their types.
Checking the more options checkbox in the chat box will now allow you to add what is known as a prefix. This will help you type commands faster. An example is if you wanted to PM someone without having to type /r or /pm all the time. You could set the prefix to say, /pm John, and from then on, you could type in the chat box, "hi," and it would send it as /pm John hi.
You can now use Control plus M to mute buffers.
Fixed a bug with URL sources playing in places they shouldn't have been playing.
Fixed a bug with the Volume slider only allowing you to use values between 0 to 100 with URL and sound sources.
Smoother sound source and URL source playback when loading maps. You should hopefully not hear bits and pieces of sources, but if you do it's probably because the map is taking a while to load.
In the sound browser, you can now mess with the pitch and volume using Period and Comma, or Left Bracket and Right Bracket, which will then transfer the settings over to the sliders in the main window. Keep in mind this does not work on URL sources yet, due to the fact that not all URL sources have the ability to be pitched.
You can now reset your password from the setup account screen. If you are sending a code, type your username, check the box, then select code. If you are entering a code, simply check the box and hit Enter received code without typing in the username.

-----
Omega Builds
0.2.3
Fixed an issue with GUI windows closing and activating other keys in the game window.
Under-the-hood GUI changes for a more fluid experience.
The GUI now comes with a sound theme. It's off by default in case people do not like sound themes when navigating.
Check out the chat box, there is a test thing going on where I added a more options checkbox. When you check it, you get a list of Slash commands you can use. Maybe eventually I'll make it so you can customize what Slash commands show up.
Pressing F7 now opens the language channels menu.
Adds vanishing platforms. When you are making a platform, check the checkbox that is titled "Make this a vanishing platform." A text box will pop up asking for the time, in milliseconds, when you want the platform to vanish.
Fixed gates not having the new automatic checkbox replacement that doors had.
The export buffers to logs folder option has been shifted from the UI section to the game section.
Fixed an issue with the exporting process where it would overwrite the actual file and not append to it.
Fixed game sounds still playing when returning to the main menu after receiving an error dialog.
Fixed an issue where the logo setting was not saving, thus causing it to always be checked when you tried to uncheck it.
The settings screen now has an Apply button, in case you want to simply return to settings and not go to the main menu.
0.2.2
From hereon out, the server will not let you connect if you don't have the required version to log in. Stay up to date!
Adds dexterity camera mode. This had to be quickly put in because I had completely forgot about it. Same as the BGT edition, just hit Grave/Backquote to toggle it on or off.
Fixed a bug with the tracking menu causing the client to lag out. You can thank Matthew.
You can now use Control N to create a new map.
Adds online and offline messages. Let's hope they function appropriately...
Server sounds will now stop playing when you go back to the main menu.
Fixed a bug in text boxes where pressing Backspace with your cursor at the top would cause whatever text was entered to be duplicated.
Now when clearing an expandable menu's selection in the GUI, it will tell you exactly what you are clearing. For example, if you are choosing music99.ogg from the music browser, and on the main window with the browser collapsed, you press Backspace, it will say Cleared selection of music99.ogg in Music Browser.
You can now hold down the arrow keys on sliders to move in faster increments.
Text boxes now speak some symbols that will sometimes not be read by a screen reader with their symbol level set to low.
0.2.1
Patches a bug with passworded doors and gates, it was still relying on the old text input system.
Buffers now only show up when they have items in them.
Adds staff chat (moderator and higher). It's included in the conversations list to the left of the chat field.
Adds server-sound audio files. Prepare, you're probably going to start hearing random sounds.
You can no longer sit or stand while you're in the air.
0.2
Sadly, due to the amount of bugs, and for the protection of people's ears, we will have to put 3D sound with Synthizer on hold. While it was a wonderful thing to test and play around with, we also must take in physical considerations, and sometimes sacrifices like this must be made to protect the health of others.
Adds timed sources, both positional and actual sound sources.
The # (number sign) symbol has been made the official comment symbol. This means that any line you use beginning with this symbol will be ignored. For example:
#I am eventually going to add a platform here.
If you would like to view what you have commented out, simply use Shift 3 in the line menus.
Dialogs have been added to the builder menu. They existed, they just weren't an option in the menu.
Fixed the map threads option not being available in the new settings window.
Significant patches to 2D handling that I did not consider during the Alpha stage.
Fixed bugs with client-side map data syncing.
Now when something has been added that does not refresh the map, you will hear a sound indicating something has changed.
Adds air as a platform option.
The volume sliders have been added to the settings window. They will only show up when you are not logged in to prevent volume problems.
0.1.9
Fixes a bug where you could still see the location of the player you were tracking even after they went offline.
The new account and setup account dialogs are now using the GUI. The settings screen has also received this enhancement.
Keyboard shortcuts have been removed from text boxes. This means you can no longer use, for example, ALT+M to jump to the message box. All other shortcuts still work though.
We are getting ready for the Goldvaluators! The add, edit, and remove line options are now available, along with death messages, hazards and checkpoints.
The sound updater has been removed from the game and will be included as part of the game updater instead. This means all update burdens have been removed from the game completely.
When the server is rebooting, the game will now reconnect to the server on its own. You can abort the connection attempt by pressing Escape.
0.1.8.1
Patches a bug with empty menus still opening, resulting in a crash when you tried to navigate through it.
Now if you have menu wrapping off, immediately pressing The Left or Up arrow keys at the left boundary will no longer take you to the last option.
The sound updater should hopefully close the game properly now.
You should no longer hear the buffer item sound when pressing Shift C to copy to the clipboard. This bug has been around for awhile, but we were focused on other things.
You can now disable buffer beeps if you wish.
0.1.8
Welcome to the Omega stage of Golden Crayon Python!
Quite a lot has been added in this version, just like 0.1.6 and 0.1.7, so here goes.
A brand new working client side player tracking and locating system has been integrated into the game, allowing for quick and immediate access to where people are located, their coordinates, etc.
Use P to find a player, like usual. T to open the tracking menu, and W to locate the player being tracked. Matthew and I have tested this with both 2D and 3D tracking, and all seems well as of right now. Previously, I made it so you could get a small decimal representation of where the player was, so like, 3.5. But I decided to make it whole numbers. I may add an option in settings to toggle between rounded and decimal tiles.
There have also been lots of fixes where actions such as jumping, falling, beacon playing, or general map updates would not apply when you were in a GUI window, text box, menu, etc. If you notice a menu that still requires these fixes, let us know.
Sound sources now play within boundaries. To combat this change, positioned sources have been added to highlight elements you would like, such as a sign, a door, etc etc.
Reverb spaces have been added. Please note that this is experimental, so things may break. If you notice that something seems off, either reload the map or reboot the game entirely.
A lot of rotational fixes have been made so that hopefully, most of the information such as where a player is located relative to your location, is as accurate as possible.
There is now an option to have walls panned to the direction you are hitting them, or have them centered. By default the pan option is on, though you can disable it in settings.
Player beacons are now pitched, which should help distinguish said player apart from others. Again, this is another experimental thing.
A brand new updater thanks to the support from Final Hour developers and contributors Fintan and The Fake VIP providing helpful examples. There were several ways we were thinking of going about the updater, but PySmartDL is definitely a really nice downloader!

-----
Alpha Builds
0.1.6-0.1.7
Since 0.1.5, lots of features, changes, and improvements have been included. I am happy to say that we are making way more progress than previously imagined. What could've taken almost a year has been pretty much done under 3 and a half months.
With that being said, here are all the changes from 0.1.6 to 0.1.7!
General Changes
• Added license and credits.txt file.
GUI Changes
• Enhanced the GUI to include elements in the builder like sliders and menus.
• Added the ability to switch gaps between elements and their types on and off by pressing the F1 key.
• The player menu now displays a profile dialog with a list of player statistics. Actions are available to the right of the list, so you can easily execute them without having to remember slash commands. Control H still exists for this purpose.
• Fixed some bugs that could cause the game to crash when pressing the Spacebar or Enter key on elements in the GUI.
• Added a new chat box that assembles all game chats into one central area. You can use Shift Tab to select the chat you want to send your message to, and even select a private PM conversation. This ensures that your chat messages go to the right place. The Slash key now tells you which chat you're about to type in, so you know where your message is going without having to Shift Tab and check.
• The builder has also received a lot of GUI attention, with expandable menus for platforms, doors, music, sources, and several others in the foreseeable future.
• Added new travelpoint and gate options to the builder menu, bringing the total number of features to 13. We'll be moving on to challenge map builder elements soon, such as hazards and whatnot, but for now, we must focus on making sure everything is stable.
Sound Systems
• The game now uses Synthizer as its main audio system, with UI being left in the hands of Bass.
• Stability improvements to both the UI system and the game system in 0.1.7.
Menus
• Added the ability to copy an item to the clipboard by pressing Control C in most menus.

0.1.5
Fixes hearing jumping and falling sounds on other maps.
Adds a builder. Not all options are available yet but we'll get there.
Adds a new and mostly flexible custom virtual GUI I built. Currently used with the chat box, and the builder menu options. Plans to extend the usage to other portions of the game but for now it is only in certain areas.
Adds background streams, which are essentially background URL's. These can be IceCast or ShoutCast streams, or general streams that go on continuously. URL sources do not support these types, due to the fact that they cannot be panned or pitched. The panning issue, we assume, has to do with an unsupported factor in sound_lib.
Adds a nickname system, thanks to Patrick and Matthew.
A context menu can now be opened using the Backspace key to access commands, such as rules, help, and changes. Their respective hotkeys have been included.
0.1.4
Adds 2D mode. I've left the page Up and Down keys alone in case people still want to use them for climbing or looking with the camera, but the Up and Down arrows still do likewise.
Buffer panning and pitch fixes.
I sort of did this by accident, but I think it's sort of cool. When changing the buffers, the pan level will depend on how much is in the buffer, and what your position is in the buffer. For example, if it is at 0, it will be to the right to signify nothing is on the right side. The more items that are added, the more it starts to drift to the left to signify that the right side is filling up, and that your position is far from the end. This means that if you are really behind in chat, you will know, without even having to glance at the most recent message.
Fixes signs and text squares.
The @track@ flag on zones is now recognized, but tracking hasn't been added quite yet.
Fixed a bug with zones on prior maps still being announced when being moved on the new map.
Fixes some falling issues.
Fixes an issue with doors.
Fixes a bug with background music not correcting music file paths, such as music300.ogg not being processed as 300.ogg.
Cleans up more threads.
0.1.3
Adds doors, signs, text squares.
Implementation for the Enter key to now send server-side events. This means I can start constructing server-side related things that take the Enter key, such as the store or main menu.
Some key swaps have been made. F4, player beacons, has been changed to F6, to make room for sign sounds, now F4.
Pressing F5 now opens the player menu.
Fixes buffer sound issues.
Fixes a slight bug with the camera that would cause it to move immediately when pressing Left arrow.
Threads now close properly.
Logs are now encoded in UTF-8 so that characters of various types can be saved. Before this would crash the client, rendering things like acutes/emojis unusable.
Feedback will now be given when you lose items.
Adds a packet that allows data to be copied to the clipboard.
0.1.2
Changes the location checking key to Z.
M will now announce the name of the map.
Shift C now copies buffer items.
Fixes the client exiting incorrectly.
Fixes a bug where your listening position would not update when moved or falling.
A fix to music volume adjustment announcements.
Holding down Shift with Home and End keys will now adjust URL volume, and holding down Control will now adjust source volume.
Holding down Control will now run.
Walking and running speeds adjusted.
Adds URL sources. Youtube URL's are being held off for now due to incorrect retrieval from the dictionary.
Adds a client-side inventory system, still in the testing phase.
Adds buffer beep and changing sounds. These are a bit iffy, so if all comes to worse they may be removed.
Pressing F2 now displays the server message.
You can now hold down the Comma and Period keys to move through buffers.
0.1.1
Adds a camera.
You can only bump into walls once now.
Adds an updater. Sounds updater coming soon.
0.1
Just a test build. You can only walk around. I know! It sucks! But hey! Gotta start somewhere, right?