Brad Wardell's views about technology, politics, religion, world affairs, and all sorts of politically incorrect topics.

The time machine worked like a charm (this time anyway) and I got to spend a few hours in 2020.

Things haven’t changed nearly as much as I imagined (I was hoping for Amazon delivery drones, but alas, none to be found).  But my friend drove me up north and showed off a relatively new feature on his BMW: Super Cruise.

Now, admittedly, I had hoped there would be self-driving cars by then but apparently they still aren’t a thing in 2020 which was a big bummer.  However, most of the high end cards do have Super Cruiser (different companies call it different things – Ford calls theirs “Smart Cruise”).

Anyway, the way it works is that you get on a highway, get to the speed you want and set “Super Cruise” which will then keep you on the road at that speed, in that lane and handle acceleration and deceleration as well as steering.  It only works on certain highways under certain conditions (all GPS / road condition based – which has come a long way) but otherwise it’s pretty neat.

I wasn’t there long but if anyone has any questions on 2020 I’ll try my best to answer. Smile


Comments (Page 2)
on Jul 02, 2014

Is Al Gore still bloviating?

on Jul 02, 2014

If I wanted to remove myself from the 'joys' of driving I'd get a chauffeur...

Reason I bought my 9-3 Aero Convertible is because I can drive it......fast....wind in the hair...bugs in the teeth....

 

....when I have neither I'll give it away [the driving]...

on Jul 02, 2014

Yay competition!

I wonder if those screeching tire sounds were added later...

on Jul 02, 2014

TheRealWarpstorm
For everything, except for graphics shaders, IIRC.  C++ is a great choice for AI and game logic, why would you want those parts to run slowly?

As far as I know people use different languages than C/C++ for non-engine stuff because it's faster to write and debug.

In C to iterate though an array/list you have to:

Code: c++
  1. for(i = 0, s = sizeof(an_array); i < s; i++)
  2. {
  3.     printf("%s\n", an_array[i]); // you have to worry that type is it
  4. }

In Python:

Code: c++
  1. for item in a_list:
  2.     print(item) # you don't care what type is it

When you have to change values between two variables in C you have to:

Code: c++
  1. temp = var1
  2. var1 = var2
  3. var2 = temp

In Python:

Code: c++
  1. var1, var2 = var2, var1

Etc. 

So writing in C takes longer, and it's more susceptible to little mistakes. I know that C/C++ is way faster and memory efficient than Python. That's why Python could be used in less demanding areas as scripting, or whatever. Or am I mistaken?

on Jul 02, 2014

Python is a great language, I've used it on many things in the past.  If you can live with the perf hit, go for it.  We choose not to.

on Jul 02, 2014

If memory serves EVE Online is written in stackless python.

on Jul 02, 2014

TheRealWarpstorm
Quoting Gandhialf, reply 11
> For making engine I guess. But what about other stuff, like AI, game logic, scripts, etc.

For everything, except for graphics shaders, IIRC.  C++ is a great choice for AI and game logic, why would you want those parts to run slowly?

I agree with TheRealWarpstorm.  C++ is a terrific language, and it's very useful for a lot of game logic / AI / UI / tools stuff as well.

I've used a lot of interpreted languages and text-based scripting languages over the years (standardized ones, like Lua, plus a lot of customized, proprietary scripting languages I've ended up having to use for different projects), and it's always been a net negative.  You end up missing out on the debugging and profiling tools that a standardized programming language provides, and you often end up paying a performance penalty.

I've also seen some horror stories of teams that tried to make proprietary languages that ended up basically being just programming languages, or that tried to integrate alternative languages into another code base in ways that didn't pan out in the long run.

My team is using C++ in Unreal Engine 4, and we're also using UE4's "Blueprint" visual scripting system for a lot of the more scriptable elements.  We only do ~5-10% of our work in Blueprint (we expect it to grow to 15-20%) but it ends up being a real time-saver for design-centric and art-centric tasks since it's type-safe and tightly integrated into the engine.

 

TL;DR: Secondary languages often seem like a good idea at the start but there's a lot more risk and benefit there than you'd think.

on Jul 02, 2014

Interesting stuff guys. So nothing is going to replace C++ in gaming in foreseeable future?

on Jul 02, 2014

Gandhialf

Interesting stuff guys. So nothing is going to replace C++ in gaming in foreseeable future?

 

It's not going away anytime soon, but there are some other options for sure.  It depends what your game is, what engine you want to use, and what platforms you're targeting.  Unity uses C# and JS and a few other things, some iOS games are written in Objective-C, and I know C# and a few others are still popular outside of that.  You can also make entire games in Unreal Engine 4 Blueprint.

on Jul 02, 2014

Thanks. What about Python (I'm currently learning Python, that's why I'm interested)?

on Jul 02, 2014

Like Paul says, there are a lot of languages that are viable for writing games, including Python.  Civ4 used Python for UI and scripting (although as Kael will tell you, one of the most popular mods turned off Python scripting support so that it would run faster).  Civ4 used C++ for its engine as well as its gameplay and AI processing.  Civ5 used a combination of Lua and C++.

We use C++ because perf and control is important to us.

on Jul 02, 2014

Ah yes, 2020, when cop cars have intercept mode and nothing can outrun them... despite 'super cruise' mode.

2020 is also when their batons are replaced with light sabres.

Instead of beating the crap out of perps and facing police brutality charges, they slice 'em up into small pieces with their light sabres and dispose of the evidence.  Cops on the dog squad 'll have it easy, but other cops 'll have to be more inventive.

on Jul 03, 2014

It's always 'interesting....define interesting...oh, god, we're all going to die?' - how a thread wanders off-topic.  What began as a discussion re self-drive cars ended up about program languages....

...back in my day 'program language' was...grab-a-paperclip-and-punch-holes-in-cards ...

on Jul 03, 2014

Thanks TheRealWarpstorm.

on Jul 03, 2014


It's always 'interesting....define interesting...oh, god, we're all going to die?' - how a thread wanders off-topic.  What began as a discussion re self-drive cars ended up about program languages....

...back in my day 'program language' was...grab-a-paperclip-and-punch-holes-in-cards ...

Kafkaesque story incoming: I work at a big government institution with information security. One day a guy brings by one of those big cardboard-boxes meant for moving stuff. Inside are a couple of tens of thousand of those punch cards. Nobody knows what is on them - the only description we have is "borrowed IBM punchcards" written on the box. The guy that left them retired and expired. So now I have this big box in one of my offices because I can't make anyone take a decision to get rid of them. There aren't any resources to actually find out what it is, but there COULD be something valuable on them. The archive won't take them because they demand that there is a good description of the contents. And then there's the dreaded possibility that whoever we borrowed them from (if we even did so) will come looking one day.

I sometimes think this box will be around for decades or more.