Why (most) High Level Languages are Slow (article)



  • @Magus said:

    Because the majority of FPS games are 2D, and the majority of 3D games aren't FPS.

    You're still babbling. Take Shadow Of Mordor if you prefer, tell how a 2D sidescroller is just as complex as the world of Mordor :rolleyes:



  • You mean ways like having more than six enemy types, differing level designs, expansive stories, complex, scripted bossfights? And that's just Castlevania!


  • FoxDev

    @Magus said:

    Because the majority of FPS games are 2D

    FPS as in first-person shooter, yes? Last time I checked, they're all 3D! Apart from the original Doom and Wolfenstein. But still, Half-Life, CoD, Halo, Battlefield, all 3D.



  • @Magus said:

    You mean ways like having more than six enemy types, differing level designs, expansive stories, complex, scripted bossfights? And that's just Castlevania!

    No, because those are design decisions, and nothing to do with technical complexity, which is what we are talking about. Keep lying and deflecting if it makes you feel better though :)



  • @CarrieVS said:

    CoD. I presume rotten is just @Magus' opinion of the series.

    ... ok I guess I can kind of see that?

    The thing is, until Ghosts, CoD was a pretty solid, reliable performer. Some of the games were better than others, but all of them were at least decent.

    Advanced Warfare is excellent, he should give that a try.



  • Okay, so, if I were to make a 3D game, where all of the enemies are the same guy with a chaingun, who all path around obstacles and charge you while shooting, that is more technically advanced than Castlevania, because the only differences are stylistic.

    Well then, Have fun on planet Zzxhhhgvrwwp



  • @Magus said:

    Okay, so, if I were to make a 3D game, where all of the enemies are the same guy with a chaingun, who all path around obstacles and charge you while shooting,

    You can just say "Serious Sam", we're all adults here.



  • @Magus said:

    Okay, so, if I were to make a 3D game, where all of the enemies are the same guy with a chaingun, who all path around obstacles and charge you while shooting, that is more technically advanced than Castlevania, because the only differences are stylistic.

    Well then, Have fun on planet Zzxhhhgvrwwp


    Yes. The AI, pathfinding, graphics, lighting, collision detection, physics, terrain destruction and pretty much any other feature you'd care to implement would be more complex and advanced in 3D than 2D.

    Because, again, YOU NEED TO BE AWARE OF AN ENTIRE NEW DIMENSION



  • Okay, cool, thanks for clearing that up. I now know that you will never understand the flaw in what you're saying.



  • @Magus said:

    Okay, so, if I were to make a 3D game, where all of the enemies are the same guy with a chaingun, who all path around obstacles and charge you while shooting, that is more technically advanced than Castlevania, because the only differences are stylistic.

    Stuff that scarecrow with a bit more straw, and it might look almost real to a half-blind idiot a mile away.

    It may well be the case that a lot of 3D games have less content than a lot of 2D games. Without getting into questions of why that might be the case, is there anything inherent to 2D and 3D games that means that you can't make a 3D game with lots of varied content?

    Unless there is - something that means you can't, not that people often don't - what we're talking about is the technical difficulty of making a game in 2D vs the technical difficulty of making the game with the same sort of content in 3D.



  • @blakeyrat said:

    Well that's great, but it's kind of like writing an article entitled, "why Ferrari 458 can't haul 3 tons of gravel".

    High Level Languages are "fast" where it counts: development time.

    Everything else you can solve by throwing more cheap CPUs at it.

    That's handled in the top of the article

    If you’re spending 99.9% of your time waiting on the network then it
    probably doesn’t matter how slow your language is – optimizing network
    is your main concern. I’m talking about applications where local
    execution speed is important.



  • @CarrieVS said:

    is there anything inherent to 2D and 3D games that means that you can't make a 3D game with lots of varied content?

    Other than the fact that 2D art with full animations is incredibly hard, especially with a consistent art style is hard, no, of course not! Like I said earlier, all else being equal, of course 3D takes more effort. All that means is that a 3D game that doesn't exhibit that sort of effort is not state of the art. The problem is, those are few and far between.

    A game being 3D does not magically imbibe it with 'state of the art'-ness. 2D games can be too. This has been and still is my point. Saying that a game is not 'state of the art' because it is not 3D is beyond stupid.



  • @CarrieVS said:

    What we're talking about is the technical difficulty of making a game in 2D vs the technical difficulty of making the game with the same sort of content in 3D.

    Well, right off the bat, collision detection is much harder.

    In 2d, you can have walls, and floors, and as long as you don't have gaps the width of a unit (like the player character), then you won't fall. You have to make sure you place the characters bottom pixel one pixel above any surface they are to walk on, and you have to make sure nothing pushes them below the floor. In 2d angle grade is only determined by the angle of elevation from the surface.

    In 3d, you have a surface, and you need to make sure that there are no cracks anywhere. Then you have to make sure that no downward force can push you through a floor. Then you have to make sure you don't teleport under or partially under a floor. Then you have to make sure one of your bones isn't stuck on the other side of a surface, or you will be stuck jiggling all day. And that just the surface. Then you have to decide how your character will run on a surface, you have to implement speed reductions for surface grades. Then you have to calculate the true surface grade based on the angle the player is facing. Because if a character is angled into a grade that is steeper in one direction than the other, you have to calculate based on the angle between the two edges based on the steepness of each edge, and apply geometry to calculate the grade of the angle.


  • Grade A Premium Asshole

    @Magus said:

    Because the majority of FPS games are 2D

    Are you drunk and/or high?



  • That's still not totally accurate, though. Downward forces? You have those in either case. And in, say, fighting games, you have a huge number of individual collision boxes to deal with, rather than the typical 3 cylinders an FPS game uses, for instance.

    In best and worst case, sure.



  • Just sarcastic.



  • But in most 2d games, the downward force is discrete. Which means you only have to judge based on distance and number of pixels.



  • @Magus said:

    A game being 3D does not magically imbibe it with 'state of the art'-ness.

    No. But if the art we're talking about is animation technology, then using the most advanced such technology available does.

    And even if we don't, if we mean the highest overall complexity of a game that we're capable of, if it's harder to make a 3D game that's as complex, that proves the point, rather than refuting it, even if the practical consequence is that many 3D games do not attempt to attain that maximum complexity, by making other aspects less complex, the overall maximum complexity possible with current technology comes from 3D. Unless you can explain why it's inherently impossible to make as complex a game in 3D.

    But I care about the subject of state of the art games even less than I know about it, so I'll leave it there. I was taking issue with your logic and the fact that you appear to be not so much arguing past everyone else as arguing in a completely different direction.

    @xaade said:

    Well, right off the bat, collision detection is much harder.

    Well yes, I think the fact that it's harder to do is the point people are actually trying to make? Hard =/= impossible.


  • Grade A Premium Asshole

    @Magus said:

    Just sarcastic.



  • @Magus said:

    And in, say, fighting games, you have a huge number of individual collision boxes to deal with

    A remarkable number of fighting games only count collision with chest.

    Outside of that, some games also calculate collision with legs for tripping.

    Outside of that, nothing really counts.

    And in 2d fighting games, you just use a mask for collision.



  • @CarrieVS said:

    Well yes, I think the fact that it's harder to do is the point people are actually trying to make? Hard =/= impossible.

    Difficulty = time.

    Time that you have to take away from content.

    Can people just accept that if some game focuses on precise collision detection and dynamic force to limbs and such, think ragdoll physics before the target loses control, so everything is always a ragdoll...
    If a game builds up that kind of weight and collision, that it won't have as much content.

    For example
    Metal Gear Rising.
    I'm sure they could have had a lot more content, if they made the combat less weighty and removed the dynamic slicing concept. I can hardly imagine how much time they spent developing a technology that could slice a polygon and apply a surface plane along the angle of the slice, and select and dynamically generate an interior texture, and do all that in real time based on player input.



  • @xaade said:

    Difficulty = time.

    Time that you have to take away from content.

    Or you have to throw more resources at it or take longer to develop it. Practically, that's going to reduce the amount of stuff you can put in and still have the game be profitable, but the fact that you're saying the same game in 3D would be so much harder is just proving the... oh I give up. I don't even care about this subject, why am I arguing here?

    Thank you for replying, but I have to go away now, sorry.


  • Grade A Premium Asshole

    @xaade said:

    Can people just accept that if some game focuses on precise collision detection and dynamic force to limbs and such, ...that it won't have as much content.

    Like Dwarf Fortress? Does Dwarf Fortress even have content?



  • @Polygeekery said:

    Like Dwarf Fortress? Does Dwarf Fortress even have content?

    I think that's the point.

    Let's make a game purely of mechanics and reactions and see what happens.


  • Grade A Premium Asshole

    @xaade said:

    Let's make a game purely of mechanics and reactions and see what happens.

    I can tell you what happens. @ben_lubar won't shut up about it. ;)



  • @Polygeekery said:

    @xaade said:
    Let's make a game purely of mechanics and reactions and see what happens.

    I can tell you what happens. @ben_lubar won't shut up about it. ;)

    He likes Skyrim?

    Because the NPC that was following me, swam into a lake and was killed by a fish.

    Seems like Dwarf Fortress just ripped the Radiant system out of TES.



  • The thing is though, no one here has said that 3D games are easier to make. Or even disputed that they're harder to make. I only take issue with the fact that people assume that a game actually did take more effort to make because it's 3D. For instance, a game I love is Star Twine. It has five textures, and is all 3D math. It is 3D because it can only be 3D. Despite being 3D, it took less effort to develop than BlazBlue: Cronophantasm.

    3D can take more effort, in some regards. So what? Games can be as complex or simple as someone bothers to make them. I don't really care if someone puts their effort into making something 3D or adding more frames to the 2D animations. Either way, the game can be innovative and exhibit more effort and skill than any previous game.



  • You're talking to someone who's played the shit out of Guilty Gear, buddy. You're also talking to someone who's spent a good portion of his life watching anime and playing Japanese games. You're really misunderstanding the point.

    The fact is more powerful GPUs get made and money gets spent on graphics development because the end goal, the cutting edge, the apex of visual representation is always trying to be a closer representation of reality. Which is why we're at the cusp of getting VR and all the interesting developments that will bring. 2D is not cutting edge anymore, even though it's cool and I fucking love how Xrd looks and I respect their commitment to building 2D frames out of 3D animation.

    All in all, that's what we were talking about with why something like Java or C# is not used for games with cutting edge graphics in mind.



  • @dstopia said:

    the end goal

    Of a subset of developers, working on a subset of games.

    There isn't only one cutting edge. We're getting VR, yes, and also (finally) Dennou Coil-AR.

    VR takes us toward realism, because otherwise it makes people sick. AR takes us toward virtual board games and animated tabletop games. They are different, but still both groundbreaking.

    It doesn't matter if a game is 3D or not. What matters is that you break ground.



  • @Magus said:

    Of a subset of developers, working on a subset of games.

    The subset that gets the most funding money.

    It's not that hard, dude.



  • @Magus said:

    VR takes us toward realism, because otherwise it makes people sick.

    Also it takes us towards realism because it doesn't make sense otherwise, it has nothing to do with the subset of people who get motion sickness from VR headsets. A 2D game on VR is like watching TV and gluing your face to the screen. It's stupid.



  • Where does that come into anything? It's cool that you think that all innovation in gaming is innovation that produces new hardware I guess?

    @dstopia said:

    Also it takes us towards realism because it doesn't make sense otherwise,

    @dstopia said:
    A 2D game on VR

    Because minecraft is realistic. Have you been talking to Blakey's shoulder aliens?



  • Yes, vector mathematics get more complicated.

    The irony is that they don't. At all. Not even a little bit. Linear algebra works the same in all vector spaces. That's the whole point of linear algebra.



  • They get more complicated in the sense that you now have to use them.



  • @dstopia said:

    the apex of visual representation is always trying to be a closer representation of reality

    That is an apex of visual representation. While it is an apex I really like, it is not the only one. It is a matter, to some extent, of aesthetics, of artistic vision.

    "Reality" does not necessarily correspond with an artist's (whether the artist is a game designer, digital artist, or a painter or sculptor) goal. Pablo Picasso is considered one of the greatest artistic visionaries of the 20th century, and his works could certainly be called an "apex of visual representation," but they're damn sure not "trying to be a closer representation of reality."



  • @Magus said:

    They get more complicated in the sense that you now have to use them.

    If you're doing 2D transforms without using vector math, you're doing it wrong.



  • I feel like, when I eventually approach something playable, I should try to make use of this community, Jeff-style. We could replace Discourse with a remote desktop connection to a VM with nothing but a text document for communication and my game. Sounds like an improvement to me! Anyone? ...Anyone?



  • @dstopia said:

    You're also talking to someone who's spent a good portion of his life watching anime and playing Japanese games.

    OH SHIT NOW IT'S ON!

    He knows ALL the animes guyz!



  • @dstopia said:

    The fact is more powerful GPUs get made and money gets spent on graphics development because the end goal, the cutting edge, the apex of visual representation is always trying to be a closer representation of reality.

    That's not why the UbiArt framework (the engine that drives Rayman, Child of Light, etc.) was designed, and it exercises the fuck out of a typical GPU.


  • Discourse touched me in a no-no place

    @Captain said:

    The irony is that they don't. At all. Not even a little bit.

    Not quite true. The difference is marginal. (The number of basic operations — multiplication or addition of two floating point numbers — to do things like compute a product or determinant increases. ;))


  • ♿ (Parody)

    @dkf said:

    Not quite true. The difference is marginal. (The number of basic operations — multiplication or addition of two floating point numbers — to do things like compute a product or determinant increases. ;))

    But that's just longer loops from the programmer's POV, no? Not that I've done much in the way of that sort of thing.

    All this graphics talk has wandered OT. But still, making a complex game with, err, cache unfriendly data structures could get back on the rails here. Even data that isn't necessarily graphical.



  • @RaceProUK said:

    But then, who uses Mono anyway?

    I uses Mono!

    It's pretty much the sole reason why I've been playing with C# .NET Nemerle for the last week or so: so I can write a web app server and deploy it on Windows/Linux/BSD...



  • @Magus said:

    State of the art 2D is as much state of the art as state of the art 3D. We've been playing 3D FPS games since before UT99!

    If you want my opinion as a semi-/ex-games dev, the mainstream industry's been getting more and more conservative as the cost of development goes up. Nobody wants to pay $10,000,000 upfront on a new I.P. with no proven rate of return.



  • @RaceProUK said:

    Adding a third dimension makes everything more complex by definition, simply because you have a whole extra dimension to worry about.

    I don't even want to think about the complexity involved in creating a game in 4D. How do you make a simulation of something which has more dimensions than real life!?!



  • A 3D game is a 2D window into a 3D world. So a 4D game would be a 3D window into a 4D world.



  • The point of the article is that C# wouldn't have to be slow, as it's all about the runtime which encourages the allocation of far more objects than necessary.



  • @cvi said:

    Then there's the mobile GPUs where FP16/half-floats (and some other formats) are a thing.

    RakNet has functionality to compress quaternions and other things into those types. I have little desire to attempt to use them until they become an actual need.

    @cvi said:

    (Fun debugging: figuring out that mediump texture coordinates on some devices cannot accurately address each pixel in large textures. )

    No fixed point support? That'd at least let you handle textures up to 65536x65536.



  • @Maciejasjmj said:

    I think the point is that we've pretty much reached the "good enough" level of video game graphics and further graphical improvements don't matter that much anymore. If in 1993 you made a game that looks like a 1983 AAA title, you'd be laughed out of the door. If in 2015 you made a game that looks like a 2005 AAA title, nobody would really bat an eye.

    From Black Art of 3D Game Programming by André LaMothe, page 1153:

    Finally, as for the games of the future, I think the graphics will start to reach a visual limit and the game play will start to be embellished again. I see a lot more AI, fun factor, and game play coming back to the games, which has been lost for quite some time.

    Only took about 20 years.



  • Does this mean AAA games are going to run slower than Dwarf Fortress soon?



  • @Onyx said:

    Sepiroth is a superpowered whiny bitch with mommy issues and, most likely, self-confidence issues related to the size of his penis (have you seen the size of that sword?)

    Kefka is just a massive bastards who manages to topple kingdoms by the sheer power of his dickweedery.

    You decide.

    @Keith said:

    Agreed, Sephiroth's awesome sword does make him the best villain.

    Where's the love for Ultimecia? Seymour? Vayne Solidor*?

    *Okay, I was kidding about that one. The only two interesting characters in XII were Fran and Balthier, and they both needed a whole lot more character development than they were alloted.

    @Keith said:

    Filed under: Except for Tidus

    I bet you'd be pretty whiny too if you were in the middle of playing the blitzball game of your life and then got pulled into another world by a gigantic mutant whale.


Log in to reply