Techy Gubbins
  • dynamiteReady
    Show networks
    Steam
    dynamiteready

    Send message
    djchump wrote:
    C++ for netcode this intricate though?  For the physics solver, yes, but I once had the good fortune to attend a talk in which a highly ranked Facebook employee openly discussed the problems one can run into when using multithreaded C++ code to write a highly distributed web server. The system the dude described was said to parse close to 40GB of data per second, which to my mind, is mental. But perhaps less so now, as Netflix, Twitch and Youtube servers will routinely chuck about far more data than that. This will be a very different application though... There was talk of the Halo 5 team using F# for their netcode
    I dunno anything about Halo 5 and hadn't heard of F# before - but from a cursory google I couldn't find any mention of it in relation to Halo 5, only that they'd used F# for the Trueskill stuff in Halo 3 - which I would presume is an offline data/analytic processing task, certainly not realtime. From cursory wiki read on F#, seems like it's a runtime interpreted/JIT language (like Java, .NET ... is C# JIT?), so in that respect it's highly unlikely to be used for their game server code simply for performance concerns. Typically you want to be as close to the ASM as possible, avoid any language with garbage collectors, use only a subset of C++ (e.g. no RTTI, pre-allocate as much as possible to avoid dynamic memory alloc/dealloc etc). Which is why I was pretty horrified when we got hired to port/tidy up Ace of Spades because it was mostly written in Python (fuck me). It's a miracle Minecraft works as well as it does in Java, but I'm pretty sure that when MS write Minecraft 2 it won't be in Java.

    That's true. 

    What confused me, was talk of the use of Microsoft Orleans as the tool of choice for netcode work on Halo 4.

    The same dude who mentioned this (at another tech talk) suggested that Orleans was an F# project. But as Orleans is a .net project and not a pure #F library, then it's possible that 343 studios used another CLR language instead (though all of them are certainly garbage collected). An official word on whether 343 is using Orleans again for Halo 5 appears difficult to come by, although this strangely brief news items suggests they are using it for the latest Halo - http://www.gamingreality.com/2013/06/halo-5-smartglass-azure-orleans.html - Keen to find more details on that. The talk will be on the net somewhere, shurely.

    The reason why you wouldn't want to use C/C++ for a webserver though? First would be synchronising the yield of each service (or parallelism)...
     
    If you have two servers working in tandem to provide one service, one will need to know about the other. And as you can't account for a fixed rate of transfer between the two systems, you need to perform a few tricks to keep things moving. Some people have already solved that problem, and the tooling is said to work better than most C++ solutions (i.e. .net Orleans). 

    I'd read about this in the past, but hearing a Facebook rep bring it up made the point stick, because they're not short of resources, and did actually replace a C++ system used for similar workloads (but a completely different application... The 40GB thing). The dude said the main issue was in using the tools C/C++ provided to maintain synchronous state in a massively parallel system. That would make sense, because at the very least, you'd have to have (and this is a crude explanation), and very busy central 'while' loop, that would keep running until one of the other servers (running a similarly busy loop) made a RPC call (or sends a UDP packet... whatevs) to say that it was ready. In that case, you would then have to break of that loop, perform what ever task the other server requested, spin off another while loop, but before you do, check to see if another server made a request for work... For that, you'd probably have to another separate while loop... Then discern priority... Plenty of stuff.

    Like I say, I think it's fascinating, though it greatly taxes my grey little meatball...

    Tangent. Apparently, these servers will be running Havok on top of Cuda. Which of course, only runs on Nvidia hardware.
    "I didn't get it. BUUUUUUUUUUUT, you fucking do your thing." - Roujin
    Ninty Code: SW-7904-0771-0996
  • Okay i'll bite...from Unity-specific knowledge so may be hoohaa but, c# is compiled and suitable for this at a content scripting level, but it would stand that c++ was a standard. All the backface culling blabla would be client-side because what does a server care about rendering. Assuming (as usual for me) an authoritative server and the physics engine has a fixed timestep and is deterministic, the state across all clients should be the same, and this would assume that all servers involved in that clients state were synchronised (i dont know if it stands but skerrets example of an octree might be relevant for this).

    However i assumed for this title that a game session would have a fixed number of servers (or 'computation units' or whatever they're called) all synchronised for the physics timestep at least, meaning information would only be passed to the clients when it needs to, most specifically collisions in the server simulation when it comes to a situation with a lot of dynamic geometry, although what counts as a collision might not (probably doesnt) equate to the shape of a piece of geometry exactly.

    The rendering being all client-side and the speed of communication being (as far as i know, am i wrong?) unknown between the servers in the cloud, i don't think the actual network load is the main thing, but the task of synchronising so many geographically seperate servers all sharing the computation cost of quite a heavy physics simulation even with probable optimisations (convex only mesh colliders at least and wotnot, most of the debris being non-gameplay and dealt with client-side) is interesting. I won't even pretend i'd know how

    Also why are they using havok? Also CUDA doesn't only run on Nvidia hardware
  • That was great, any idea what shaders they were using (as in paperwork)
  • No soz, I dunno. Probably based on UE4 or Jimenez.
  • This was fascinating, even though I'm not particularly knowledgeable about this stuff generally -



    Voxels, froxels, hierarchical stuff, distance fields, point clouds, lot's of things I don't entirely understand. It's amazing how much work it's taken to create an engine that has that painterly look, has to run live and works with the UGC concept.

    There's a few technical papers that are mentioned that may be of interest.
  • He presented it at SigGraph this year if you want to read his presentation as a PDF (230MB, or compressed 34MB available: 
    djchump wrote:
    2015 course papers starting to go up here: http://advances.realtimerendering.com/s2015/index.html

    Also, rest of SigGraph 2015 papers are pretty much out now: http://blog.selfshadow.com/2015/08/15/siggraph-2015-links/
  • froxels

    Is this a newly made-up word? Does it even exist? I can't find/figure out any meaning for it. I mean, frustum voxel looks likely, but I'm pretty sure that doesn't make any real sense to exist as a term.
  • froxel = "Frustrum-aligned voxel" 
    i.e. a 3D acceleration-structure volume created in screenspace ready for raymarching.
  • Voxels in frustrum space apparently. 19mins35secs
  • djchump wrote:
    froxel = "Frustrum-aligned voxel"  i.e. a 3D acceleration-structure volume created in screenspace ready for raymarching.

    Ah, that makes sense. Well, enough of it did for me to accept the word, anyway.

    It was the "aligned" that was missing.
  • The point clouds of point clouds and the notion of compute shaders emanating from each other makes the code of all this sound like a truly beautiful thing. It's completely beyond me, can anyone get any code examples of the compute shaders in general? I want it in unity
  • Wow.
    I'm falling apart to songs about hips and hearts...
  • cockbeard
    Show networks
    Facebook
    ben.usaf
    Twitter
    @cockbeard
    PSN
    c_ckbeard
    Steam
    cockbeard

    Send message
    Is it my imagination or does that look a lot like Elmlea?
    "I spent years thinking Yorke was legit Downs-ish disabled and could only achieve lucidity through song" - Mr B
  • dynamiteReady
    Show networks
    Steam
    dynamiteready

    Send message
    I thought this was extremely cool...



    That... is uncanny valley right there...
    "I didn't get it. BUUUUUUUUUUUT, you fucking do your thing." - Roujin
    Ninty Code: SW-7904-0771-0996
  • acemuzzy
    Show networks
    PSN
    Acemuzzy
    Steam
    Acemuzzy (aka murray200)
    Wii
    3DS - 4613-7291-1486

    Send message
    So the guy next to me at work is reminiscing, as he's just hit 50.

    Turns out he wrote Remote Desktop.  I'm slightly in awe.  Was showing me all his design notes, and presentations (printed onto transparent foils as there wasn't PowerPoint!) etc.  The day he joined the company (27 years ago...), Bill Gates was apparently over to talk business!

    Meanwhile the the guy on the other side of me was one of the people who hacked the PSP.  It all makes me feel very inadequate!
  • Blue Swirl
    Show networks
    Facebook
    Fuck Mugtome
    Twitter
    BlueSwirl
    Xbox
    Blue5wirl
    PSN
    BlueSwirl
    Steam
    BlueSwirl
    Wii
    3DS: 0602-6557-8477, Wii U: BlueSwirl

    Send message
    acemuzzy wrote:
    So the guy next to me at work is reminiscing, as he's just hit 50. Turns out he wrote Remote Desktop.  I'm slightly in awe.  Was showing me all his design notes, and presentations (printed onto transparent foils as there wasn't PowerPoint!) etc.  The day he joined the company (27 years ago...), Bill Gates was apparently over to talk business! Meanwhile the the guy on the other side of me was one of the people who hacked the PSP.  It all makes me feel very inadequate!

    You work with awesome people. They remind me of an ex-housemate of mine at uni. He got bored one evening and made his own GameBoy emulator in Assembly for teh lulz. Another night he put together his own BSD distro. Our file share computer in the house ran it.
    For those with an open mind, wonders always await! - Kilton (monster enthusiast)
  • acemuzzy
    Show networks
    PSN
    Acemuzzy
    Steam
    Acemuzzy (aka murray200)
    Wii
    3DS - 4613-7291-1486

    Send message
    To temper the above, another person on my wing has confessed to fucking a watermelon on national TV
  • acemuzzy
    Show networks
    PSN
    Acemuzzy
    Steam
    Acemuzzy (aka murray200)
    Wii
    3DS - 4613-7291-1486

    Send message
    The confession was on TV, not the watermelon bit, smartasses
  • Blue Swirl
    Show networks
    Facebook
    Fuck Mugtome
    Twitter
    BlueSwirl
    Xbox
    Blue5wirl
    PSN
    BlueSwirl
    Steam
    BlueSwirl
    Wii
    3DS: 0602-6557-8477, Wii U: BlueSwirl

    Send message
    acemuzzy wrote:
    To temper the above, another person on my wing has confessed to fucking a watermelon on national TV

    I bet the watermelon was dressed provocatively.
    For those with an open mind, wonders always await! - Kilton (monster enthusiast)
  • I've decided the time has come to transfer all the console and gaming stuff out of the front room into the attic room. Primarily so that the baby can't fuck with it and secondly to allow me to do some gaming upstairs a couple of nights a week.

    I'll need to buy a new TV.. Something around the 50" I think. Don't want to spend a fortune and I don't really want either a Samsung (Not been happy with the sound from the current one) or a Sony (too expensive). Any recommendations?
    The Forum Herald™
  • The Chinese company Xiaomi do crazy big 4K screens at ridonculously low prices. Can't speak to whether you can get them where you are, or what the long term reliability is like, but if you want a 50 inch TV with good sound (get the soundbar) at a decent price...might be worth a look.
  • Xiaomi is awesome!
    I have the mi3c and it is fantastic. Miui is one of the most polished Android skins out there. Miles better than the Galaxy I had previously.
    I have just ordered 2 mibands, one for the missus and one for me. Should be fun.
    Steam: Ruffnekk
    Windows Live: mr of unlocking
    Fightcade2: mrofunlocking
  • I'm not sure anyone here supplies Xiaomi. :(
    The Forum Herald™

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!