Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 04 Jul 2003
Offline Last Active Yesterday, 05:22 PM

Posts I've Made

In Topic: Space for Unity refugees?

10 July 2016 - 04:49 PM

I see GameDev.net being more of a engine and language agnostic knowledge base, so if GameDev.net started to create forums for specific engines, there's a good chance that we'd have to create forums for CryEngine, LumberYard, Havok, etc, and I imagine a few of those would have very little activity. Anyways, that's my $0.02 and I don't run this site, so I leave this as a consideration for those who do and for the community here :)

This is sort of how I see it as well. Already, the API forum isn't super-duper active, and further fragmenting it by splitting off Unity and UE forums is probably a waste. Any engine-specific questions are probably fine in API, and anything else is probably fine in Game or General, IMO.

Welcome to the new members/refugees.

In Topic: Linux for game development

09 July 2016 - 04:54 PM

I recommend you grab a Live CD or USB boot of some different distros to find one you like. I'm currently using Linux Mint with the Cinnamon desktop, but in the past I've used many other different distros. Although it's easy to get confused, given the number of different distros available, it's helpful to remember that many of them work the same way. Anything based on Debian, for example (Ubuntu, Mint, etc...) is going to be centered around the same basic tools for package management, as is anything based on Red Hat. You've got a few different choices for the actual presentation of the desktop, such as Gnome, KDE, Cinnamon, etc... But ultimately, they all basically work the same.

I'd second Bregma's advice for Fedora, Ubuntu or Mint, with a slight personal preferential lean toward Ubuntu and Mint rather than Fedora. You can read about creating a live bootable USB for Ubuntu at http://www.ubuntu.com/download/desktop/create-a-usb-stick-on-ubuntu and a live USB for Mint at https://community.linuxmint.com/tutorial/view/744

In Topic: Help me (learn to) develop open environments

29 June 2016 - 08:53 AM

Yeah, the heightmap gives you a place to start. In Blender, you can subdivide a plane a number of times, then use the heightmap image with a Displacement modifier on the plane. After that, you'd snip out the parts you need to.

Note, though, that often times an engine's heightmap-based terrain offers optimizations, such as level of detail, that can be crucial in rendering large terrains, especially on older hardware. Implementing the terrain as a large, subdivided plane with a displace modifier doesn't have that advantage. However, most Terrain components don't really provide a way for cutting out holes for caves.

One trick that you can use (which, IIRC, World of Warcraft does) is to mark certain vertices in the heightmap as being a "hole", and having the terrain component not render those faces. See http://www.gamedev.net/topic/668575-newb-question-on-terrain-rendering/#entry5231587 and in particular check out those first couple of links. This would require a specially constructed Terrain component. Another idea is to use the stencil buffer to cause faces marked as holes to not be rendered. By using a technique like this, you can still take advantage of the level of detail that terrain components usually provide, but also cut out holes for caves. Note that you'll need to build geometry for the cave entrance to hide the hole, since it'll have regular, straight edges.

In Topic: Help me (learn to) develop open environments

28 June 2016 - 11:34 PM

This is where having the proper tools can help immensely. Creating a natural environment purely by hand can be somewhat difficult. You can ease your task immensely by incorporating procedural methods into your pipeline. Procedural methods can provide a way to quickly fill in natural detail, giving you a base to work from, after which you use other editing tools to tweak the environment.

You didn't say what your development environment and/or engine was going to be. Typically, the engine will provide some sort of Terrain component to be used in-game, and that component will typically make use of a heightmap texture, or an image that represents elevation to be applied to the subdivided plane of the world. For example, if you are using Unity, the Unity engine provides a Terrain object that uses a heightmap, and an editor to create a heightmap.

If your terrain editing tool provides access to fractal noise methods, you can use those to create a terrain base. Then you can use brushes for height editing, smoothing, terrain painting, etc... in order to further refine the heightmap. The finished heightmap can be saved as an image file, and imported by the engine for use in the game world.

As far as adding things like forests, paths, rivers and so forth, then again you can be helped immensely by having the right tools. Forests can be added using procedural methods such as fractal scattering. A noise fractal is created that delineates continuous areas, and when combined with a slope or steepness map of the terrain (ie, a layer that indicates how steep the corresponding terrain is, in order to exclude trees from spawning on steep slopes) can be used to determine the probability of a tree spawning in a given location, and populate the map correspondingly.

For rivers and paths, it can be helpful to have access to some sort of spline tool. For an example of this, here are some shots of my own work-in-progress terrain editor:


The spline tool operates by allowing the user to set a series of waypoints, which are connected together using a spline curve. Then a filter is applied to the spline to perform a function such as, in this case, smoothing a road and painting the road with a different terrain. A similar filter is used to create river beds that carve through the terrain.

In Topic: Did you know GDNet turned 17 today?

16 June 2016 - 11:21 PM

For some of us, isometric is still all the rage. Get off my lawn.