Sunday, November 24, 2019

Tesla Cybertuck, load, and wind-resistance. A lesson in energy.

This week, Tesla unveiled their new Cybertruck, a long anticipated all electric pickup truck.

Some are calling this an F-150 competitor, thinking this is a workhorse truck. However, I think this car is more of a bad-ass vanity truck, competitive with the F-150 Raptor, for guys and gals who want to feel like they're driving an awesome machine but don't actually do that much work with it. Why?

LOAD and WIND RESISTANCE.

Tesla claims a 500 mile range on the Cybertruck, but let me tell you two little stories.

I routinely make the 200 mile trip from San Francisco to Lake Tahoe, California -- In a Lincoln Navigator. We have a Tesla model S, but we never take it to Tahoe. Because the 75 mile uphill trip into the Sierra mountains, takes over 150 miles of range, putting the trip at the uncomfortable limit of range even for the highest capacity cars. Our friends with Teslas stop at the supercharger, every time.

Why? It turns out that Tesla's cars make their range as much by lowering consumption as by increasing capacity, and there just isn't any way to to make hauling a 5000 lb car uphill any more efficient. Load matters. 

However, that's only half the story.. A friend of mine tried to bring his Tesla S to Tahoe, with three bicycles on the roof. Wind resistance is another big part of efficiency, and we've heard all about how the Tesla S and X are designed to have minimum drag. Well, not so when you stick two bicycles on the roof. He could barely make it 100 miles on a charge, and couldn't even make it to the first supercharger. He had to stop at a 110v outlet, to add some extra juice, to get to the first supercharger. Then, realizing this wasn't going to work all the way to Tahoe, they somehow managed to squeeze three bicycles in the back of the model S with three adults inside. And after all these shenanigains, a second supercharger stop (for juice to make it up the sierra grade), and some traffic, it took them 10 hours to reach Tahoe.  Not fun for anyone. My Navigator drive was 3.5 hours non-stop.

What do pickup truck owners do? They drive around with open beds, that have massive drag, often with stuff inside, sometimes hauling trailers. It's good Tesla juiced the Supertruck up with 500 miles of range, because when the bed is open creating drag, you're going to get alot less range. If you pull a trailer, I'd be shocked to see it get 200 miles, and if you're dragging it all up the Sierra Grade, good luck.

I love my Tesla. I love Electrics. However, it's really important to understand that every tool is not right for every job.

The Tesla Supertruck has polarizing styling, and is sure to have amazing performance. I think it may play well in the vanity semi-luxury style truck market, such as consumers buying F-150 Raptors and Jeep Rubicons to do their suburban and city driving in. However, if you want a working truck to carry big hauls, and pull big loads even medium distances, I don't think an electric pickup truck is your cup of tea - yet.


ideas for battling FPS cheaters

A constant plague on First Person Shooter games is cheaters. In particular, ESP cheats, which allow players to see enemies through walls, and aimhacks, which allow players to auto-aim or auto-headshot enemies.

These cheats make these games very unpleasant to play, because over time a significant fraction, possibly as many as 30% of online players, end up cheating.

I've spent lots of time thinking about how to combat cheaters, and it's a very tough problem. Some have talked about game-streaming as a possible solution, but the latency and latency variability of game-streaming is currently horrible.

Another possibility is some kind of protected execution, but this would require not only support from the operating system, but also potentially support from the GPU, to prevent nefarious hacks from being injected into the process and/or GPU shaders.

Here are two ideas which could be deployed today, to fight FPS cheaters...
  • Aim-Captcha challenge - have the game challenge players with very good aim, with some kind of server-rendered video "aim test". if they can't score a decent level on it, then put the recent games into an aimhack review queue.
  • ESP "ghosts" - Have the game server inject a fairly decent number of "fake", but (mostly) fully occluded players. So ESP hackers are chasing ghosts.
Here is some more detail about each idea... They are published here to be free for all to use.

Aim-Captcha challenge - If a player registers above a certain percentage of headshots and/or hits, when shooting generally towards targets (ignoring random shots into nowhere), after the game is over, give them some kind of captcha-inspired aim-challenge, which is somehow not bottable.. Perhaps by sending a 360VR video, where they have to dispatch targets with reasonable precision. If they don't hit some reasonable precision target, then they're put into a queue for recent game replays to be evaluated for aim-hacking.

This is inspired by how https://play.typeracer.com (an online typing speed test) fights OCR cheaters. On that site, if you score above 100wpm, they give you another typing test which is a fully paragraph of captcha text, asking you to type that fast. This tries to assure a human is reading and doing the typing, isntead of an OCR bot. (I know it seems hard to believe someone would cheat an online typing test with OCR, but if there is a game online, people will cheat)


ESP "ghosts" -  Basically, the game could inject a bunch of noisy fake players, fully occluded by walls, that only ESP hackers would see. Effectively, this would make them chase ghosts. At worst, this would make their ESP unreliable, because they would never know what markers were real enemies, and what markers were fake enemies. At best, an algorithm might be able to determine when players are consistently chasing after fake occluded enemies, and automatically ban them.

Of course it's important that the fake enemies not confuse non-cheating players. So these fake enemies should not make sounds. The only sign of their existance should be the draw commands to the GPU to render a character, and in this respect they should be indistinguishable from real players. It's also important not to give them easily detectable patterns. For example, they shouldn't be in the same exact spots. They shouldn't be exactly stationary.

Perhaps a decent method would be to mark indoor locations that are invisible or nearly invisible from ranges of 10-1000m, and record real player behavior in these locations. In later games, that player behavior could be "replayed" as an ESP ghost.

In order for this technology to work, the game must have some kind of partial visibility from the server. Otherwise the "sudden appearance" of an ESP ghost would be a telltale sign it's not a real player. This could be simply range-based partial visibility, or it could be something more complex.