Jump to content

Flexman

Members
  • Posts

    916
  • Joined

  • Last visited

Posts posted by Flexman

  1. Recently with the hoha of the Occulus Rift project on Kickstarter, VR seems to be the buzzword again. With the death of 3D TV (did it ever live?) the promise of 3D VR that fills your peripheral vision seems like too good to be true.

     

    VR has been around since the late 80s, my clothes drawer still contains an original "Virtuality - I'm Real, Are You?" t-shirt from the now defunct company of the same name. The t-shirt, stained brown with age and about three sizes too small is a good analogy of all that is VR.

     

    The problem that comes with AR and even more so with enclosed VR (the kind that blocks all natural vision) is latency. AR is easier for human physiology to deal with. If you've used any of the commercially available head tracking systems such as TrackIR 5,6 for games, these run cameras at 120fps. In practice, with the software interface and routines that smooth out the motion, what you're left with is even more latency. Smoothing is important as it reduces fatigue, but it relies on soaking up many frames and outputting the mean.

     

    One trick we can use to reduce these problems in VR systems is taken directly from handling multiplayer lag. Adding predictive motion to the headset as it turns out, works well in reducing the number of sample frames needed for adequate motion smoothing. This doesn't eliminate lag however. Long term use is still going to be uncomfortable and nowhere near accurate enough for FPS junkies.

     

    With domestic AR/VR, there are going to be applications that benefit and some that don't. The trick in making it successful is going to be be picking your battles. Playstation 3 "Flower" and games of that ilk which benefit from natural fluid inputs will be the big winners here, twitch games will end up the losers if they follow the same format as existing titles.

     

    There's a risk of it being yet another flash-in-the-pan like VR gaming was in the early 90s with crappy frame rates, bulky hardware and failed promises. And it's easy to blame those old issues for VR never seeing a mass market but that's simply not the case. VR has been used in labs and aviation constantly and many papers and lessons have been learned. Even in high-end gear you need two mortgages to pay for, the equipment can extract a toll on human physiology. While in dangerous environments these considerations can be excused, in the living room however there is far less justification.

     

     

    Further reading:

    http://www.gamesindustry.biz/articles/2013-01-02-valves-michael-abrash-latency-is-getting-in-the-way-of-vr

  2. I'm forever buying software I don't use. I remember buying AGK, which was a right buggy POS that held promise of cross-mobile deployment, sadly let down (as usual) by poor attention to testing and real-world use before release. When you can't even get string management right you have to wonder.

     

    LE2 still manages to piss me off in all manner of irritating ways, mostly the tools lack of basic usability beyond doing really basic stuff. Having being spoiled by other editors in which I can rapidly tweak something to experiment, trying to do the same thing with LE2 is painful, often met with some exception error. I have high hopes that the tools in LE3 have addressed these issues. If not, well it will go the way of all the other SDKs that didn't quite make the grade. There's only so many times you want to get stung no matter how much you want to support the effort.

     

    Sadly most of these kits fall down when you try something beyond the trivial. One scene demos are easy enough. The litmus test is going to have tools that let you mash-up materials (without falling over), have more than one tool running at the same time, multi-scene loading with no creeping memory issues, dynamic resolution handling and all the basic code functions working as documented.

     

    And if that sounds overly ambitious, it's not. It's very basic working functionality that many failed to get right from day 1.

    • Upvote 2
  3. I do this using GROME just fine but I only use exported terrains as separate 3D meshes, not as a native terrain object.

     

    I'm not sure if the base map of the terrain entity takes a normal map, but could probably be fudged to do so. Like all the other shaders thay are packed into SHADERS.PAK, unzip and tweak. It's something I should look into.

     

    edit:

     

    Looks like the normalmap is taken in on texture channel 14 (in terrain.frag) but no idea how you load that in the editor.

  4. Thanks Red.

     

    Flex, also wanted to add that I try to follow your Combat Helo sim, looks real good, is it intenting to become a commercial project?

     

    Andy

     

    Yes it's going to be a commercial combat sim. The helicopter flight model works in the same way, process the dynamics using a library called HTR (the same one available for Flight Simulator X) and updating the forces in the physics hook.

     

    The undercart has always been a problem. I've tried different things and nothing satisfactory yet. HTR doesn't model it as in FSX there's a flag that says "I'm on the ground now" and control is handed over to the native engine to deal with the ground dynamics.

     

    I wanted to do strut compression but the A frame shape of the undercart on the Apache is difficult to work out (for me anyway). We got something working but what happened was the wheels would sometimes get left behind. Joint stiffness doesn't work at all.

     

    Anyway, one of those problems to iron out later.

     

    Looking forward to reading/seeing more.

  5. That's really good. NGD is Newton yes? Are you calculating all the forces and applying them in the physics callback?

     

    And you've implemented a credible look-up flight model. Does it have proper wheels for the undercart too or not implemented yet? (I'm having real problems with that as the Apache is a tail dragger with a jointed tail wheel, has never worked right).

  6. Oh that's a good question. It's one of those things that you take for granted until you don't have them.

     

    (edit, answer just beat my reply).

     

    All I can say is, awesome. It's why some folks shell out loads'o'money for a pro version of a certain engine. It's not considered optional. LW3 is sounding like a must have for mobile if it can deliver on the visuals.

  7. I concur with Josh. There are many ways to skin a cat and I achieved this in the following way.

     

    If you're wanting to jump from vehicle to vehicle, you'll want to code around that by adding 'hooks' to your different vehicle models that you parent your player to (hooking them on like coats of a coat rack). When you exit the vehicle you can un-parent and position your player at an entry/exit hook (and if your vehicle is on it's side, upside down or against a wall you'll need to compensate for that by checking for the first valid exit hook position).

     

    A hook can be some dummy entity, or pivot parented to a vehicle, a good idea is to use an entity assigned a common name e.g. "player_hook_1". That way when you run the action to 'mount' a vehicle you run a function to look for the nearest player hook entity and parent the player to it.

     

    In practice I hide the player TController in these circumstances because it's not needed (and I had collision issues between the TController and the different vehicle entities).

  8. I'm interested to know what people would even use soft bodies for in their game. I can't imagine it's benefit being worth more than the performance cost that I imagine it would induce.

     

    Well initially I thought it could be used for vegetation, powering through scrub, tree canopy etc. but you don't need soft body physics for that. Soft body physics makes me think of jelly cubes (that's jello for Americans).

  9. I don't think there's a global physics update callback. the Entity callback is your best bet. This is called during UpdateWorld(). Assign it to every entity then branch off for specific types in a single function. But you probably did this already.

     

    ' INITIALISING ENTITYS IN A LOOP, SET THE PHYSICS CALLBACK '
    ...
    SetEntityCallback(newEntity, UpdatePhysicsCallback, ENTITYCALLBACK_UPDATEPHYSICS) ;
    ...
    ...
    ' CALLED 60 FPS REGARDLESS OF FRAMERATE '
    Function UpdatePhysicsCallback(entity:TEntity)
      if (entity <> Null)
         if (game.LocalPlayer.entity = entity)
            UpdateLocalPlayerPhysics(entity) ;
         Else
            UpdateRemoteEntityPhysics(entity);
         End If
      End If
    End Function
    

     

    If you have to do this for lots of entities, but have many of a specific type, it would make sense to use caching to your advantage by having specific callback functions for them.

  10. Not to derail the thread in any way, I am curious; Is that people who have been using AOL for 13 years? Or people born 13 years ago who are still using AOL? Or people who used AOL 13 years ago?

     

    Back on topic, the screens are so small on most devices I don't notice real shadows unless in close-up. That's more a comment about my 40 y/o eyes as well as screen dimensions.

     

    Certainly in publicity shots,(and Josh himself has made the same comments to me) you should throw in the kitchen sink.

    • Upvote 1
  11. I know you can't use things like "Load Scene" in a script. I tried making pre-fabs by having an entity script load a map with the entity as the parent. This is slightly different though.

     

    It would have been nice to have this feature, and also potentially annoying as some objects load children you really don't want to touch. In another game editor I won't name, this behavior is handled. If you break a pre-fab you're wasked (warned and asked) if you want to create a separate pre-fab?

     

    I don't know how to do what it is you want. But thought I'd chime in anyway.

  12. I would suggest avoid parenting unless you have to. I have 3 kids now and they are quite demanding.

     

    In the past I've seen issues relating to scale (and rotation) when parenting one model to the child object of another. I will instead parent the model to another model's root or pivot, then translate the attached model to its final position/rotation (fine if the position is static).

    • Upvote 4
  13. Aye, this was my experience also. When we created the cockpit textures we noticed a huge difference in quality between DTX5 compression and uncompressed. It introduced a purplish hue and grain (bumps) to flat black panel surfaces. As you say the quality is much better without. It left me wondering if there's a texture tool that can achieve a compromise.

     

    What we ended up doing was picking choosing which textures to compress and which not to.

  14. This is 1 base texture with 1 detail layer. We use a 3rd party terrain editor and bake everything into a single base texture. Max res is 4096x4096 per terrain tile which looses definition when close to the ground so we apply a detail/noise layer over that.

     

    This leaves 3 more splat texture layers to play with. It's not the best example just one I had to hand.

     

    post-52-0-35930700-1347297875_thumb.png

     

    (Using GROME imported into LE but several programs can generate maps and baselayers)

  15. What I do is calculate ambient and sun light values every lighting update (which is configurable to every frame or every 5 seconds). This happens regardless of the visibility of the sun or moon.

     

    The directional light representing the sun is turned it off when the sun is masked by the terrain. To prevent shadows from suddenly vanishing what I do is attenuate the sun entity (a d-light) intensity *before* it dips below the horizon, and in the morning it's attenuated until it's a few degrees above the horizon.

     

    When the sun d-light is hidden the sun colour is still blended with the calculated ambient light colour to achieve a smooth lighting transition. It works even if the colours are not natural.

     

     

    As a quick thought (I've never tried this) put a flipped plane under the terrain to cast a shadow?

  16. I just feel for you NA. This has been FUBAR since it was conceived (if it ever was and not - as it feels - made up as they go along by a naive individual who thinks they know what they are doing, the very definition of incompetence ).

     

    It doesn't inspire confidence in the product.

    • Upvote 1
  17. That seamless tiling is 100% awesome sauce.

     

    I'm currently writing a chapter on water features in Unity, UDK and other engines and all the time I can't help but compare them to your shader. Visually this has enormous bang per buck. If the physical interaction can be worked one it's going onto the shelf of "I can't believe it's not from a AAA game".

×
×
  • Create New...