Snagging failed splits

Back in May of this year (so recently?! feels like forever) we released the first version of the Timetrial Split system, this was a heavily sought after feature from many within BB to give data and granularity to their runs. A further update was then deployed so not only could a player identify whether or not a split was better or worse than before; they could also see if it was better or worse relative to their current Personal Best time. Five months on the system has been for the most part a roaring success!

There was one thing that was apparent and that was a problem existed with the system and that somehow players were managing to miss the checkpoints that dictate when a split starts and when it ends. In this case the both how and why are important but what’s even more important is how can we expose this to us as developers? Fundamentally we want players to have a good time and there’s nothing more frustrating to get a new Personal Best (especially if you’ve been grinding it) only for the system to turn around and go “we got your time, but we didn’t get your splits!”.

Furthermore we weren’t getting the data of where a split was going wrong, players were crying out it was happening and all we could do at the time was revisit each and every split in a given map which is a huge waste of time and doesn’t really tell us anything other than “maybe lets rejig this bit here, that bit there”.

Before we dive in to how we’ve mostly resolved this issue, lets take a look at some of the most common reasons a player may not hit a split zone.

Unexpected Player Movement

In an attempt to make splits accurate as possible for a given stage (or linears) a fair bit of effort went in to making them precise and in most cases this worked out okay. However what had been bit of a downfall to this system is there were expectations about how the average player launched themselves on to a ramp – we tend to expect most people go straight on and down (with maybe some air-strafing) but some players instead prefer to go from the side getting an air-strafe in early.

How they were missing: They were taking non-obvious / non-intended paths.
Why they were missing: To be as fast as possible.

Fix: Lets loosen up the requirements and give a wider coverage / additional split capture zones. This might incorrectly give a split of +/- 1 or 2 seconds in some maps that have non-standard geometry, but better to give a slightly different split time rather than no data at all. Plus it doesn’t affect timetrials whatsoever. Until we can get mesh checkpoints out it’ll have to be an acceptable margin of error.

Unexpected Map Behaviour

As I’ve complained lightly about in the previous blog post Debugging Map Quirks, maps aren’t always the cleanest in terms of their feature set / functionality and this can be for whatever number of reasons. A big example of this is surf_fortum, where the exit teleport takes you from stage 2 to 3. Something there can go a bit funky when “teleporting you” and even though for all intents and purposes we usually capture players when they land on the end platform, sometimes Source goes “nah” and you evade the split end checkpoint.

The resolution in this case is to add a second split zone end on the start of stage 3. Best case: you hit the correct endpoint as normal and get an accurate split. Worst case: you don’t and you get a split delayed by a second or so.

How they’re missing: Maps have inconsistent behaviour and it means players may not end up touching what they need to.
Why they’re missing: Maps have inconsistent behaviour and it means players may not end up touching what they need to.

Fix: Generally try to work out smart ways to fix it that isn’t to the detriment of players, e.g. multiple split zones for a given checkpoint may be required.

Player Speeds

This one is tricky to explain but it turns out some checkpoints were too “thin” so that if players moved through them fast enough; they would never actually trigger the zone. The way the server sees movement is lots of “teleports” as opposed to linear movement that you or I experience when playing. The server does some fancy maths to interpolate how you’re moving so the faster you’re going, the larger these “teleports” become in terms of distance apart.

How they’re missing: players going zoom zoom because gotta go fast.
Why they’re missing: Gotta go fast for top times.

Fix: Make checkpoints larger. There’s a risk they “hit” the box later, but their overall time will be lower so it doesn’t matter. It’s a quirk we can’t really fix unless we up the tickrate of the server (which is a contentious issue for many reasons).

Resolving the actual reporting of missed splits

So when we first started getting reports of missed splits the output to players wasn’t the most informative other than “we failed to record (your splits != total splits). In an effort to make this better and so players could report the issue better the output was updated to show a list of all splits that had been recorded so when reported to someone at BB, we at least knew which split had failed.

This was far better than it was before as we could immediately identify which split was going wrong and this meant faster turnaround on reports! This then revealed a second issue – we were reliant on players to actually report these issues. What started off (and still continued for a while) was a dedicated few reporting the split failures when they cropped up with the vast majority of players either mentioning there had been a failure (without keeping a record of the splits) or failing to mention outright entirely.

At some point there was a recognition that we can’t expect players to report these issues reliable or consistently. I mean we already knew this given we have Lua errors automatically report themselves but a key problem was this automated Lua reporting system wasn’t fit for split errors. We need to fix these split issues as soon as possible as opposed to sitting in a backlog and we need a way to notify ourselves exactly when they happen.

What resulted is a system that when an error is detected it automatically gets reported to our GitHub “issues” bot who then posts it on behalf of the server.

Oh hey the only picture in this stupid long blogpost

The nice thing about this system is everything was wrote from the ground up and allows us to insert any issue we want in to GitHub allowing us to catch any future issues that we need immediate turnaround on, not just split issues! Even more important however it’s meant that typically when we get a split issue now, the average turnaround time from initial reporting has gone from maybe being around ~30 hours to roughly 4. To clarify – that doesn’t mean it takes 4 hours to resolve and instead the time of which it’s picked up and closed by.

Split failures still happen but we’re starting to see their frequency already less and less. They weren’t that common previously but it did seem to be specific maps that had the issue. This tells me that in most cases maps were set up correctly and it’s mostly maps that were set up in the early stages that generally have this issue.

So overall we’ve gotten three core benefits out of this. One is we now have a way to immediately raise and report issues from within the gamemode itself which secondly leads to better triage and bug fixes. The third is players get a better experience out of this overall. A win-win-win!

Debugging Map Quirks

These days when we process maps for gamemodes our workflow is fairly efficient. It could always be better in terms of work-flow but it’s far better than the early days of when we processed maps by literally writing code for them. Doing things on a per-map basis over the years has gotten much easier for us given our multitude of systems can just accept input on a per-map basis and in essence we’re rarely duplicating or writing new code and instead are just dropping in some placeholders.

There are certain priorities that we take when sorting out maps and those priorities tend to change depending on whether the map is intended for Deathrun, Surf, Trouble in Terrorist Town and so on. In TTT for example it might be focusing on removing any overpowered bonus areas mappers may have put in for themselves, or purposely and delicately breaking any traitor testers. In Deathrun that might be adding kill-triggers to areas that require some sort of funky requirement for when runners win but are unable to kill death. In Surf this might mean removing weird jail conditions if the map was designed for an older iteration of Surf.

The hardest part about all of this is trying to understand the logic and why a mapper may have done something they’ve done; sometimes we can even end up re-implementing their idea in a slightly saner way so everyone benefits from it! More often than not however it turns out that it was an idea that was scrapped, tested upon and hidden or just completely unfinished and the bonus of surf_ace, a popular surf map is a prime example of this.

Ace is a map that’s pretty quick to finish if you have remotely any Surf experience and many people upon finishing, like to do the bonus as it’s a decent route to play. After an update I did that changed how spawns worked on surf_ace it was reported that suddenly the bonus area could no longer be accessed. A bit unusual but I did some debugging, found what seemed to be a reasonable solution aaaaand –

Something else broke.

In this case “failing” the route wouldn’t send you back to the start which made no sense. It stayed like this for a while until I had time to properly debug what happened – and I knew this all somehow came back to the spawn changes I had made earlier.

To cut down on technical detail the underlying issue was this: under the old spawn system for ace you would spawn in at the default positions the map had for you and then you would be teleported to the first stage accordingly. During this process the mapper had a “trigger” so that when you spawned, a flag was set on you that enabled you to access the bonus (but only one side of it!) and with me changing how spawns worked so you actually “spawned” at the first stage, this trigger was never being hit and so the flag never being set.

Fix: manually set the flags when a player spawns so they can access the bonus areas! Even better fix: Apply both flags so both sides can be accessed!

Yeah for some reason the map by default only lets you in one side even though both are the same route, just mirrored. There’s also no way to gain access to the other side either normally so I’m really not sure what the mapper was going for here other than maybe trying to tie in some sort of points system? There’s a massive set of logic gates and other entities that try to work things out but ultimately never actually seem to work properly.

So to cap it all off – mappers please clean up after yourself once you’re ready to publish. If an idea has failed – that’s okay! It’s better to make sure it can’t be accessed at all than it is to leave it in half-baked.

Distribution of content

Or alternatively, why we don’t just give you CS:S content.

Years ago in GMod, it wasn’t uncommon to wait on a loading screen to download all sorts of content, content that often wasn’t owned by the server that was distributing it. Back then and even as late as 2012 / 13 the internet was still “wild west” enough that these things just weren’t a worry. Old people didn’t get it and didn’t understand how to internet so this was very much the norm. It wasn’t uncommon to find servers broadcasting entire self-hosted movies, running hosted jukebox systems (DJ for $150 anyone?) and content just being ripped, reused and abused without shame. The logistics behind some of why this happened is fairly straightforwards but it was “we’re not hurting anyone, why would anyone bother us?”

With everyone and their mother looking to move into the digital distribution landscape seeing Valve’s success with Steam, Valve did the ultimate move and released the workshop which changed the modding landscape as we know it. Assuming a developer added proper support to their game, mods became very much 1-click install processes and before you knew it you had Spongebob running around Skyrim like it was a completely normal thing!

There was however a fairly noticeable downside for the average amateur developer and that was policing copyrighted content not only got easier: it spurred some companies into actively hunting down and policing the usage of their content. To preface the next section; no one to my knowledge ever got sued within the GarrysMod community for usage of this content but there were plenty who got served up pretty quickly with DMCA notices. Commonly the reports would come from other indie developers, who weren’t happy their content was being shipped without permission (and profited upon). In more uncommon cases you even had some larger publishers come down and hit people over the head with a formal request via a lawyer and in the worst case I know of, a record company actually sent a cease and desist to a community that had a jukebox feature with threats that if they didn’t stop immediately then they’d be on the hook for obscene levels of money.

Back when I ran a server hosting company on the side back in the day, I had a fair few of these requests come through (though no record companies thankfully). It wasn’t unusual to get bogus claims (because hey community dramas) but the rate at which they were received showed that at the time: publishers were more than happy to C&D anything they felt wasn’t correct usage of their contents and to be fair: they were well within their right to do so. In many cases it can be an absolute pain though as often there isn’t an easy or affordable way to license this content. For years I’ve wanted to bring back the [BB] jukebox, but no such service exists where you can do so other than hosting your own radio station.

This leads me to a common complaint I often hear within [BB], why don’t we provide an easy way to get missing content, like CS:S?

The answer is pretty straightforwards: we toe a very careful line between infringement and what we think is possible to get away with. Most of the content we distribute is merely tiny bits of pieces of Valve content (alongside our own which we’ve created) in the sense it’s models and some materials. Valve generally don’t mind reuse of their content as long as you’re not distributing entire swathes of it. There’s also the fact that yknow, Valve also made CS:S and are perfectly entitled to being paid for their work.

But these content packs tend to distribute almost the entire game minus the binary which is a big nono. It’s rare but Valve have acted once or twice upon distribution of this content when it’s been freely available on the internet to download. If Valve were okay with it they would let it be hosted within the GMod workshop for free – but they’re not and you can’t get the content willy-nilly on workshop with a 1-click install.

We’re now at the point where we’re distributing our own content to replace the CS:S textures that Valve own. It’s easier (and better) for the player to be shipped and given alternatives that just “work” instead of following sketchy instructions. It also saves us from potential legal issues that really, no one at [BB] has the time or money to deal with and if people want to “upgrade” their experience, they can pay their dues for it. Copyright is a massive issue, far bigger than what extends beyond GMod and yet people never quite realise how deep the rabbit hole goes.

I recommend watching Tom Scott’s mini documentary on how copyright is broken (and how YouTube’s system isn’t). Everything in this very much applies to us as a community, a game and an industry. Just because we can (use the content), doesn’t mean they won’t (sue us).

[BB], 2019 in review

Another two years (given no 2018 post), another set of milestones reached. Like the 2017 review we’re going to look at what’s happened with more of a high-level overview as opposed to granular in-depth looks. We’re also going to pretend that some of the 2018 changes happened during the 2019 session just… because.

Core BBase Changes

BBase the last few years again has been the target of the big updates. Things such as tighter discord integration, adding an absolute metric ton of new cosmetics for the equipment system and hell, even the equipment system itself receiving quite the update. Of the two years, we can see in the git history that 2019 clearly received more updates as obligations from ourselves here at [BB] became more manageable as well certain things reaching completion.

One thing that didn’t happen was a replacement for the steam group bonus. Due to time constraints it was easier to implement a system within discord for a bonus instead which has led to further developments, such as Betty Bot and other realtime information being exposed to the average player. Feedback on such things has only been good so we’ll look to bring more of this in the near future I think.

Beyond that BBase is in a mature position where we can pretty much build anything around it without having to really make sweeping, large changes cursing ourselves for the lack of foresight.

Platinum is now monthly (unless you hold legacy Platinum)

This finally happened. My original plan of making an a-la carte system was really too complex for the average person just wanting to donate and be done with it but $15 one time-donations just don’t cover server bills. As a result Platinum became $8 a month of which we’ve seen some moderate success.

The next step is to get Gold ($5) out alongside branding (which will be attached to the title-card system). I appreciate some may feel that the new Platinum model isn’t as good value as $15 for life and I would prefer to keep it that way – but it just wasn’t sustainable. Along with our goal to make it so donation effects don’t become pay-to-win it means we miss out on a market (commonly known as whales) in the micro-transaction world.

We are however open to ideas on what people may like to see – so let us know if there’s something you feel we’re missing out on!

Trading / Marketplace

We finally released it! Instead of just having users trade items / cubes willy-nilly, we implemented a marketplace system that allows users to place items for sale without having to actually be on the server. This seems to have overall been successful although not without some teething issues, such as costs being too high at launch and so on.

One thing we’re currently investigating is private market listings aimed at specific people / groups of people (to incentivise trading groups) and also a “black market” listing that may appear every so often with rare / no longer obtainable items for large amounts. We’re not sure what the appetite is for such things, but proof-of-concepting exists to help discover if it’s worth our time or not.

Server Health / Maintenance

I don’t think we’ve had any major outage over the past few years beyond Windows Update sometimes taking longer, just because. The infrastructure changes have been instrumental in keeping us online at times and completely secure even when new exploits were discovered.

We have had to extend what we protect and cover – mostly down to the fact that we should have been doing so in the first place and we’ve had no excuse with the new setup to not be doing this.

Trouble in Terrorist Town is back!

I’m not going to cover too much here as the previous blog post mostly covers it. Turns out 1 month = 2 years.

Surf

Surf has gone through some interesting developments over the past few years. At the moment most of the dev time is focused on a few larger features – namely split runs and the recording feature for timetrials. Both of these are fairly finnicky as the gamemode was never designed for either of these (with the latter having the potential to grow in size in a nasty way) so the groundwork is carefully being lain for these.

The harder server also got rebranded from “hard” to “Tier 2-6” for two reasons. First off – people except those whom become true enthusiasts rarely enjoy anything too difficult (I blame the state of gaming today) and it was putting players off.

Secondly is that there are maps we don’t add to the easier server (Tier 1-3) because there are stages and maps that just don’t mesh with giving newer players a fun or interesting time. An executive decision was made that the 2-6 server can receive maps that are interesting / challenging, as long as they’re T2 and above and we’ve actually seem some success in rising playercounts on the harder server. Nothing spectacular in terms of player counts, but large enough that we’re seeing players on it daily most of the time.

The last few years have shown me with the thousand of players (yes thousands) we get per month that Surf is a niché gamemode; T2-6 is even more niche and the ‘conversion’ rate of keeping players as a result is incredibly low. More work will continue to be done on hard though these days I tend to believe unless we cater to a more hardcore crowd it’s unlikely T2-6 will ever be as busy as T1-3.

Escape

So we released Escape in a beta form with a much better map, but a more “die and you can retry immediately” sort of form. It seems players like playing it at first, but frustration happens after a few deaths and then they leave. Even with larger rewards on offer it’s not enough to keep players enticed.

It’s likely we have a winner on our hands here but we need to pace players at how often they get to play Escape, which I think the previous lobby system actually did a decent job at; though if it’s the right method to go about this is hard to say.

Go Fish

During August I got ill. Bored, I took up a community request to launch a Go Fish server. This isn’t easy because most of the source code is either from 2008 (so pre-2012 Gmod update) or has been poorly updated on the workshop.

After a few days I had a modern version of it up and running with all exploits fixed. So I suppose we have a Go Fish server now.

In future: NPC / Boss fights and some RPG elements.

Overall…

We’re in a pretty decent spot right now in terms of community. In terms of GMod as a whole, I think we’re currently in a rough spot. Using publicly available tools we can see that the overall population of GMod has gone down over the past year and coupled with the closing of the Facepunch Forums I think has only added further fuel to the fire.

S&Box is nowhere to be seen and it’s getting more and more awkward to provide for newer players given that CS:S content is no longer shipped automatically with GMod (or at least, that game-pack combo is long gone). I think 2020 / 2021 will be interesting to see how the GMod community lasts and how that impacts us as a community.

Forum Post

TTT: Back from the dead, but what took so long?

Just over 2 years since it went down, Trouble in Terrorist Town is back at [BB]! But seriously, what took so long?

The answer is fairly layered with the most obvious response being “lack of time, other priorities” and so on but it actually extends beyond this and can be broken down in to three fairly core abstractions.

Backups are Important.

First of all, when we had that big server maintenance every effort was done to back up all the things that otherwise weren’t backed up or not deemed critical whilst also racing against a clock. One thing we had to cover that TTT actually missed out on was backing up of the server.cfg & maps, meaning that there was a fairly stringent time cost to simply setting that back up. We weren’t so much starting from scratch in this area but our configuration set us apart from the crowd and dialling that back in is a case of trying to remember how it was. Furthermore TTT had been neglected with players responding accordingly (i.e. no players) so we didn’t see it as a priority.

Player tastes change

Secondly is how the community player-base moved on: here are [BB] we tend to do one thing very well whilst the rest gets neglected. It’s hard to tell sometimes if we’re following the players or if they’re following us (or even both) but typically there’s a correlation with how much work gets done on specific features vs just working on something for the hell of it.

An example of this is Surf, it was set up originally as arena-surf as that’s what I figured would be the most popular (and in 2009 that was often what was played the mode of the surf-types). Over time this evolved to a rudimentary skill-surf system which is now a full blown system due to external influences bringing players our way. Many of you that join us here at [BB] probably aren’t even aware that at times we were leading in one gamemode at some point in history. Be it RP, TTT, Deathrun (or these days Surf) and generally that’s when we’ve fleshed it out further and further.

What we have started to recognise is that players (old and new) are after another outlet and we have the perfect setup for that, so it’s time TTT gets dusted off.

A tiny point on player popularity

Something which we have to caveat the above with is for many years (2014 onwards) there were (and to a lesser degree still are) issues with servers appearing in the browser list. While this blog isn’t the time or place for it all you need to know is that for a while you wouldn’t (and even today under certain conditions) see every server available to you due to geographical filtering affecting this. This was pretty demoralising and impacted our work as we tried to work out why we haemorrhaged players.

Time is money.

Finally, the development cost. TTT around 2015 onwards started going through some rapid developments with the release of the net system. Although the net system had been released a few years earlier, the original author of TTT had seemingly faded in to the background and a community shift was looking to update and modernize it which started happening at a very rapid rate. The original edits to the [BB] TTT gamemode hadn’t been done a good job at keeping modified code clean and clear from the core TTT implementations so updates were hard. The lack of a decent diff tool at the time as well made this all the trickier.

Over time I caught up and the last major update I’d done to the TTT gamemode had been in April of 2016. Surf at this point had become incredibly popular and in August of the same year I’d gotten a new job which required my full attention so TTT more or less just fell to the wayside.

So what changed, why work on TTT?

Over time I’ve had many people come to me asking for something more combative and engaging. This tends to fall in to the category of roleplay (lets not go there) or TTT, with TTT often being suggested by old and new players alike. Development by the community has slowed on TTT meaning now is fairly opportune to go in, marry up our versions and make this work. It also lets us repair some of our errors with the benefit of hindsight.

And so what was spat out is still a clusterfuck in TTT terms but in terms of maintainability and compatibility with BBase as it stands today is so much better to the extent that we can add new features and fixes without totally breaking it or pulling our hair out. Massive shout out to those in the TTT community that added convenience hooks all over – it’s great to have standard hooks to call and manipulate stuff with.

Last night when we all played showed me that people still enjoy TTT and especially our flavour with the small enhancements. Maybe it’s the start of something big again with TTT, who knows!

Forum Post

Radio Silence

We haven’t really used this blog since mid 2018 and in some ways it’s hard to pin down exactly why; it’s more a case of I think we somewhat evolved from a blogging format similar to that of why the forums get used less and Discord is more our central point of contact.

In many ways this sucks – for both us at [BB] and for yourselves within the community because blogs are fantastic at conveying huge chunks of information with perspective that doesn’t quite fit with the short message style of Discord or the more information-seeking discussion type of a forum. Sure your opinion may still pop up and you want to give feedback for it but that’s exactly why we link blog posts to the forum.

Another notable change that happened internally at [BB] is we went from grander, loftier targets to more internal, quarterly / monthly rolling releases. While this wasn’t explicitly decided – I feel Kaiden made the right call here in effectively asking for less – but more direct and attainable content that we know we can get out the door. What this means is we have a content pipeline while bigger features quietly get worked on in the background. However what this has meant in terms of relaying this information to you is new features being added on a rolling basis without any sort of change-log or an easy explanation on how to access these changes / features.

What this overall tells me though is our current model of communication sucks. There is some communication, everyone seems to get a slightly different frame of the picture as opposed to everyone getting the same uniform message. For some things (e.g. gameplay) this can be trickier and needs to be worked on but for general information and why something is done as such – we can do better.

Going forwards I’m going to try and bring the blog back in to relevance. It gives people a chance to peek behind the curtains and for ourselves on the dev team to better relay and explain our position and ideas on what we’re doing and why we’re doing it.

Forum Post

Surfing SyncMeter explained

Syncmeter (or the little doodad shown below) was recently added to Surf and it seems to have generally caused a fair bit of confusion as to what it is, how it works and the entire point of it.

Hopefully we can clear some of the confusion up and explain where it came from, what it measures and why. Most of all however I want to explain why sync doesn’t really matter unless you’re really pushing for some top times.

Where Sync came from

Sync was originally requested here and initially I was somewhat confused by the idea of it and at the time somewhat even dismissed it as a fairly useless feature for Surf. In some ways this still holds true due to a number of factors; mostly due to how everyone calculates sync is slightly different. Sync originally came from bhop servers where it’s far more important to ensure you’re syncing your air strafes with your mouse as one wrong movement can end up with you falling drastically short.

The point of sync

As briefly explained above, its’ primary purpose is to ensure you’re pressing the right keys alongside the right mouse movements. In Surf this extends to making sure you’re not wasting more time air-strafing around corners than you need to be or that you’re not air strafing while going straight (more on this below, as it’s rather contentious).

So where does the confusion lie?

Various players have seen this new sync box pop up and are questioning – what’s the purpose of it? Do I need to have a high sync for any reason? Why does it calculate differently to xyz server I’ve played on? Is it awesome I have a high sync?

Sync Explained

Sync at its core works to calculate a score that when you’re in the air and your mouse is moving say, left, you’re also pressing A (and also the case for right and D). These airstrafes and how you manipulate them can be a significant difference in getting a meh velocity and an awesome velocity. It can even dictate how and where you land on a ramp as you’re flying in.

What sync cannot do however, is tell you what you’re doing wrong or realistically, if you’re even doing anything wrong at all. 

Even at the deepest level, all sync ensures you’re doing is that if you’ve moved your mouse in a certain direction with an intent to turn, you’ve pressed the corresponding button to do so. Airstrafing is usually fairly forgiving in this regard with Surf so unless you’re a new player (of which Sync helps you visualise what’s going on better) or a top-tier player (and even then) sync actually kind of does nothing for you.

Score Calculation

From today there’s three different methods to calculate Sync scores now implemented. Two which are available from the UI in game, the third requires you to manually change it via the console.

  1. Sync Mode 1 (or, tickbox unchecked in the F1 menu / bb_surf_sync_scoremode 0 command) – This mode allows you to hold down A or D while going straight in the air and this will contribute to your overall score as a ‘good’ thing. As mentioned before some scoring systems discount this behaviour because in theory, you should never be holding A or D when going straight at all. However due to how Source physics work there is no actual detrimental effect from this.
  2. Sync Mode 2 (or, tickbox checked in the F1 menu / bb_surf_sync_scoremode 1 command) – This mode works similar to above, however it won’t credit you with points while holding A / D going in the air. Somewhat more accurate in this regard as it won’t raise the overall sync % of the run including however you’re effectively telling the system to ignore the above scenario
  3. Sync Mode 3 (bb_surf_sync_scoremode 2 command) – This mode punishes your overall score for holding A / D while not turning in the air. The reason this mode is somewhat more locked away is for newer players – it may give them the image they’re doing potentially worse than what they are because they don’t understand the logistics behind this mode.

Why three modes?

When I was looking all this stuff up I was finding that most servers were running a variant of a few plugins or rolling their own and everyone by virtue was then creating their own scoring system for such a feature. I’d like to think there’s flexibility in how you can surf in general; so I’ve added these three modes to replicate the most common scoring systems.

In conclusion

You don’t need sync. If you’re able to grasp the basics of Surf then you really don’t need sync. If you’re new or you’re really trying to perfect your style and timetrials with little-to-no room for error, then it’s useful; but not the be all and end all. Oh and one more thing – we don’t record it serverside at all. It’s purely a measure for your eyes only.

[BB], 2017 in review

For most of us New Years is on the hinge of opening up. With that said lets review [BB] in 2017! This year the review will be geared more towards core [BB] as a whole as opposed to looking at gamemodes individually. Some of this will still occur but we’ll be primarily ignoring or summarising minor events, if at all.

Forums

This year we got a new forum design! With how [BB] had exploded in usage again we decided it was time to actually get ourselves a proper design instead of using the default XenForo skin. Kaiden was tasked with finding us at least a strong base design we could work off. It can be quite time consuming to come up with a strong palette, design etc and so Kaiden tottered off to find some shortlisted designs. We weren’t able to find any that quite tickled us the right way so we were able to settle on a base design and to modify it from there; which is the forum skin we have today!

In general the Skin works far nicer for us, especially as instead of having categories flowing down towards the bottom of the page, we instead have multiple elements per page. It nicely compacts for unregistered / guest users and spreads out nicely for those who are! We’ve seen a very small uptake in the forums as a result of the changed design which has been a nice net benefit. Design however isn’t the only thing which create participation so in the new year we’ll be looking to somehow incentivise players with using the forums more.

And before people think I’ve forgotten it – we also had a new banner created for us by Ender! It’s a pure vector image create in SVG meaning that it’s fairly flexible where we can deploy it and keep it looking sharp. Sadly GMod itself doesnt directly support SVG, but then again it’s never been great with non vmt / vtfs as a whole.

Ban Page

More of an extension to the previous point – we finally got the ban page prettified up with a few little design secrets in there – again courtesy of Ender. Under the hood the web aspect of the punishment system uses Aegis. More on this in the future.

Escape

Last year we alluded to Escape possibly coming out this year. It ended up being pushed back but not without just cause! Our original design of Escape used a map with a predefined amount of actual cubes. Now the pattern of the cubes, which ones were trapped and so on we randomised each time but there was a key flaw. If you could get to the very edge of the ‘arena’ you could wait (hopefully in the right position) and hop on to the escape cube as it did its rounds on a predefined path.

Now the game itself wasn’t particular easy. Play tests have shown that it’s actually fairly hilarious and good to play with a nice low chance but again this was a concern for us. It limited the field of play quite strongly for those that got used to the game and the limited area to squeeze through we foresaw as being problematic.

With this in mind Killermon has been working on it for the past year and I can say design-wise, we now have potentially unlimited cubes for the player to go in any direction with! Now on a more technical level we probably won’t allow for this (at least, not without further testing) even with the heavy levels of occlusion going on to make sure the server doesn’t get totally destroyed. The lack of an arena edge does create bit of a logistical issue on how the player(s) escape – but that’s for us to solve!

With any luck in the new year we’ll have something up and running so you can all finally enter the Cube.

Surf

Surf in terms of groundbreaking design was somewhat stagnant this year. Various things we wanted to accomplish with it ultimately got put on the backburner for one thing or another. Maps were added, maps were removed with some minor adjustments here and there. The biggest features we added were autohop zones and a bonus-lite system as well as the release of the solorun feature. We also standardised the seasonal rewards both in the rewards issued and how many players are rewarded.

Primarily we spent this year refining some of the backend of Surf and fixing outstanding bugs (spectator keyboard anyone?). With 2018 we should see some additional Surf features finally come online that players have been requesting.

Climb

Climb (for those who didn’t see it) was a test to see if it had enough substance for players to enjoy. For those questioning where Climb has been – it’s not been left out in the cold or forgotten about!

There’s a concern with it at the moment in terms of balancing – ie do we balance based on giving the maps their own times, gravity and such. There’s also a strong disparity between maps of a good quality and maps that just make no sense other than they want to give you the ultimate carpal tunnel. Climb is one of the older games that came along with Counterstrike where it’s done the odd thing and not really ever been standardised.

Other gamemodes such as Deathrun, Surf, Gungame and so on all developed their own sub-genres and rulesets whereas Climb just… didn’t. As a result of this we’re trying to work out how to give you the best experience and make it feel rewarding as opposed to just.. jumping simulator 2018.

BBase

Last year I said it was unusual for BBase to be the highlight of a blog post – yet this year it’s a similar story. A whole load of stuff has found its way in to BBase, including but not limited to – Achievements, Crafting, Statistics Tracking / Personal Bests, Item upgrades (full painting), Item outfits, MVP enhancements and so on. Work on these systems continues to streamline it both for ourselves and you, the players and as a result much of this has taken up our time. Almost all of these systems have initially been accepted with open arms; some requiring further tweaks but as a whole I think everyone agrees it was time well spent.

It’s worth mentioning that we did have an unfortunate casualty this year – the group system. Due to a GMod update changing some internal core Steam functions we’ve lost the functionality (or at least, the method to best do it) for the time being. It is being looked in to and we want to get it back ASAP however due to a lack of the C++ API Steam provides by both myself and Killermon, some further research is needed.

Trading

In the works. We’re still having to work out how we plan to solve various issues and to keep it as painless for both yourselves and us. What we don’t want is the great Steam trading disaster for when that first released.

Server Upgrades

While not quite BBase, this year due to unforeseen consequences we changed the entire core of how our servers work. While there were initial teething issues and configuration changes, we can safely say we’ve seen an entirely net benefit from these changes. Having the ability to redirect players to different IPs, mitigate unfortunate events and generally not having to worry about Windows shitting out has all been a refreshing breath of air. We may have older harder powering [BB] but we’ve gave it a new lease of life – and one that means when it finally becomes time to move we can move it without issue in a virtual sense, as opposed to a metal sense.

It was a long time coming to do this and it all proved to be very valuable experience.  A stressful weekend but I would do it again.

Honourable Mentions

Roleplay

Again, this year we had queries about it. Unless there’s one hell of an audience for it that are willing to play – the answer from the last yearly review still stands. Apologies to those that want their fix – it’s just super hard to justify at the moment. If people want to put together a loose wishlist of what they feel would make it fun with a [BB] twist, feel free to do so. The only requirement is you dont make x amount of fucking pointless jobs because why do people even do that.

Trouble in Terrorist Town

For the eagle-eyed, this has been missing since the server infrastructure change. It’ll be back! Probably within the next month or so.

Discord

Yeah, we use Discord now. Apparently cool kids don’t like Mumble or something.

All in all, Discord has proven to be a decent platform to use and it seems players of todays age prefer it more to the old style forums that were previously more common in the past. So we’ll maintain our current Discord for as long as required.

Deathrun

Minor fixes / changes here and there. We now offer a Weekend Madness bonus event for you to earn extra cubes with!

Overall

I’m happy to say that all in all various systems that have since taken root have been effective. Though some were initially a bit slow to come to fruition more people feel they are able to participate easier in [BB] activities. The goal for us now is to try and ensure you all have these activities (and more!) to enjoy and to have fun with your friends.

We hope you’ve enjoyed your time here at [BB] so far and continue to do so. From all of us here at [BB], happy new year.

Upcoming Feature: Autohop Zones

So Autohop is coming, but with a twist that is to try and give the best of both worlds to everyone; both users of this system and users who won’t dare touch it.

We’ve been discussing this system for a good few months, even more so since this post was made to further push the autohop discussion. In fact Admins have actually had access to a full autohop system that was useable anywhere in the map – however they weren’t able to record times with this system. Some users also got to test it fairly early on as it wasn’t entirely locked down correctly (oops).

However, more about the zones themselves

Firstly, Autohop Zones can be enabled through the F1 Menu, as below.

 

 

 

 

 

However each time the server changes level or you rejoin the server you’ll need to recheck the option each time. In general we don’t want to overly encourage this system for players. We want you to become better, to excel and to improve. Forever using this system won’t help you with that so the general idea is eventually, hopefully, you’ll just surf and completely forget you even had it turned on!

Furthermore with this system enabled you are no longer eligible for time-trial records. This was quite a hefty discussion we had internally but we came to the agreement that realistically we tend to avoid bhop heavy maps and the system isn’t deployed on most maps, therefore to keep the status quo – for now is the intention. You are however still completely eligible for Cubes without any negative impact. Therefore if you’re attempting to farm Cubes you’re now able to do so a little bit faster with somewhat more effectiveness.

For those that are looking to use this system, here’s a few locations (and an example of how they look) –

 

 

 

 

For those that have no interest in using such a system – don’t worry! You don’t ever see these zones, your records cannot be taken by these users and there’s no change to your Surf experience. For those that are using this system – other users aren’t able to tell other than the fact that you don’t set records. However as you have the ability to disable this feature anyhow it’s no sure-fire way of saying if a user is using this system or not.

If you’re eagerly anticipating the launch of this system, it’ll come around the same time as the Halloween event! And if you’re a player who is having trouble completing maps due to hopping and the like; I do suggest you use this. We’re trying to create a system that helps you in an educational sense as opposed to one that you can hop and then turn your brain off.