Jump to content

Flexman

Members
  • Posts

    916
  • Joined

  • Last visited

Blog Comments posted by Flexman

  1. Coverage masks like you describe are used some editors and engines. You can import and export vegetation layers as coverage masks in GROME. If you use World Machine you can export generated coverage masks for other engines to render clutter/trees over those areas. The largest data-set I played with was a monstrous 60Gb, many mask layers per terrain tile. It was very detailed but not practical due to the storage requirements. But you can choose to use as much or as little as you like, specify the resolution of the mask, use different channels for different layers.

  2. If I might make a couple of suggestions based on things I would have liked to have had; Support for serializing and deserializing vegetation data so it can be loaded/streamed when working with tiles or tiled terrain.

     

    And the implementation of world modifiers; primitives such as spheres that add an offset to vegetation, simulating movement though tall grass, or localized wind movement (such as a large fan).

     

    Seems to me you can use this for clouds and general ground clutter. Clutter doesn't need to interact, just be there to present visual noise; e.g leaves, small rocks.

    • Upvote 2
  3. I would say testing begins before you write any code. We've got a fairly good size community for CombatHelo but still very much under the radar. Getting some popular YouTubers on board by giving them access to builds can kick up a lot of interest. You have to time it right though. We're going through all this pain right now. Polishing working builds prior to sending out to selective gamers and Greenlight. Scares the **** out of me once it's out there, it's no longer in my control.

     

    Not everyone cares about art, but a lot do. You can publish non-structured games now, they seem to have been adopted as a kind of game in their own right.

  4. They test units of code. And give you code coverage. For large projects that may have multiple releases or rely on 3rd party libraries that might change, it's a way of confirming they still do what you expect if you need to apply an update to your source.

     

    Take RakNet for example, you might have helper functions that listen for a client message and sends back an ack message with some server information. If you have to update the source, you would just run all the Network Unit Tests and if they are crafted well enough, will tell you quickly if the update has borked anything without having to compile the whole project and test it.

     

    For Leadwerks you might want to test different raycasting and collision scenarios with each update. Checking you get expected values from a bunch of operations on hulls and vegetation.

     

    These are more functional tests than Unit Tests but you can use the same Unit Test functions built into Visual Studio to give you a nice 'at a glance' traffic light panel.

     

    You can't always make a good case for using them, or justify the effort at all when dealing with small projects. But they can help you focus on your code and what it's supposed to do. Especially with classes which ideally have singular responsibilities. It's all too easy to pile multiple things into a class and a unit test will flag that if you can't easily write a test for it.

     

    It's more like 'healthy eating', not required, but is of benefit.

    • Upvote 1
  5. All good stuff. Many of us don't have the benefit of being mentored. You learned (like many of us I'm sure) the long way round through experimentation and simply 'doing' which is fantastic. We'd all do things differently if we knew then what we know now.

     

    And to compound it all, some coding practices today haven't been around that long. Some were possibly not around when you start a project.

     

    If I were to add anything to your list it would be unit tests, especially on complex or large projects. That and recognizing basic design patterns as they tell you how to build something (at least recognize the problem and how to structure your code).

     

    I now work in professional testing and development and even though it's not related to games, all the things you mention apply. As skills go, they work across the board.

     

    Josh would have less issues with releases if there was a more solid testing system in place. Sadly testing is much neglected, it's something that not only saves money but also time and customer satisfaction. The earlier you can catch bugs the less impact it has on a project. Developers are the first line of defence when implementing automated testing using unit tests and code contracts. It's also harder to retro-fit to a project the longer it runs.

     

    To end my comment with a t-shirt quote; what doesn't kill you, gives you experience.

    • Upvote 1
  6. Gamers are not gamers anymore, they are walking meat wallets. That's the take-away I get from industry journals and sites. Still, you've got to earn a living. Producing middle-ware or content seems to be the safest part of the food-chain.

     

    Having said that, the one device that's had the biggest impact on how I do things today has been the pocket sized tablet. Office, mail, social awareness, gaming is something that happens on the toilet. More than you wanted to know.

    • Upvote 2

    Virtual Texture Terrain

    Tessellation and displacement are hard to marry with collisions. I know one unreleased engine does this, it doesn't seem trivial.

     

    Back to textures, what if I have surface imagery of Oahu Hawaii (say it was a car racing game like Test Drive Unlimited) and want texture stages 4-5 to be a raw sat image. For low altitude rendering, stages 0-3 as m-textures. What different approaches would facilitate handling this kind of game scenario? We might want to graduate between sat images with pre-computed splats based on altitude.

     

    "Gods eye" to unit view, and back again.

     

    Would the mega-textures be computed at run-time, or during map load time or a longer tool export operation? Your description implies you're having much success with small drawing operations, but how far will it scale I wonder?

    Virtual Texture Terrain

    One of the tools I work with pretty much lets you paint up to 32 layers across very large datasets but renders them down on export so you never have results as good as the source.

     

    One of the biggest limitations we had when building the Afghan map was the 10 meter square resolution and shortcuts made to fit everything into memory.

     

    Interesting stuff.

  7. I can upgrade my Unity 4 iOS Pro license for $1,200 plus I know what I'm getting. Why do I want to invest more than that in a roadmap? It's speculative.

     

    I still think this is a little rich, and I'm all Chuck Norris when it comes to spending. Guess I'll wait till "coupon day" (in reference to the Jurassic Park lawyer).

×
×
  • Create New...