Among the many other related questions on the site, there's an often linked article for map generation: Polygonal Map Generation for Games you can glean some good strategies from that article, but it can't really be used as is.
While not a tutorial, there's an article on how Dwarf fortress world maps are generated. Basically you generate multiple layers of ...
I made a picture to sum it up. Basically, the difference between both types of maps has mostly to do with the angle formed between each axis which results in one appearing to be seen from a topdown point of view, while the other appears to be seen from an angle:
It is also worth noticing the visual difference between an isometric projection and perspective ...
Here's a rough idea using image processing transformations to isolate the features of interest:
Apply a flood fill from an ocean cell to make a mask of all ocean cells. Depending on how your rivers are set up, you might need an extra elevation or clearance criterion to keep the ocean mask from flowing inland. ;)
Apply a local smoothing to the edge of this ...
Amit Patel, a user of this site, has created a wonderful resource of information about random world generation that will certainly be of use to you.
Further there are some great questions/answers about procedural generation on this site.
Road / river generation on 2d grid map
Procedural world generation oriented on gameplay features
How can I generate ...
Most games place the map origin in a corner. The main reason for this is that tilemaps are often internally stored in two-dimensional arrays, and most programming languages don't allow negative array indexes. There are a lot of discussions about which corner should be the origin, but I don't consider any of the arguments particularly strong. In the end it's ...
Back when I experimented with this type of thing (late 1990s), I read some papers and books to learn about water flow, but I didn't keep a record of which ones I looked at. I ended up doing my own thing because I wanted to handle erosion. I wanted rivers to produce canyons and floodplains. I wanted dam reservoirs to fill up with sediment. I wanted rivers to ...
I've done this sort of thing before in one of my games. To get rid of outer islands, the process was basically:
First there must be a guarantee the center of the map will always belong to the main land, and each pixel starts out either as "Land" or "Water" (i.e. different colors).
Then do a four direction flood fill starting from the ...
I have been able to come up with a few reasons myself, but I'd really like to hear more.
Horizontal layout matches the layout of the keyboard. You could use WEADZX for movement, similar to WASD on square grids. On the other hand, I have also found suggestions that QWEASD is a natural fit for vertical hexes.
Horizontal hexes seem to be better suited for 3D/...
While the other answers here are really good for generating the kinds of static landscapes that would work for this specific need. There are other methods that people coming across this question might be looking for if they want to create landscapes that change over time or appear much more realistic you can follow this technique.
Unlike the other answers ...
The way Dragons Abound identifies bays is to walk along the coastline and find two spots on the coastline where the straight-line distance between the spots is less than the distance along the coastline between the spots. This is the sinuosity of the coastline between the two spots. By selecting a sinuosity limit and limits for the straight-line distance ...
I would go with vertical layout if you are using any sort of bird's eye perspective, as in the image above.
Why? Because all walls will be visible. If you use horizontal layout, and you have walls that run along the vertical lines, you will not be able to make out details on them very well (such as doors or gates). Furthermore, if you are using the ...
By playing it!
Whether a game world is too big or small depends on a countless number of factors, including:
How big the player is
How fast the player moves
How many other characters there are
Whether the game is multiplayer
The hardware capabilities of the target platform
Your target audience
How the save mechanism works (can I pick up where I left off, ...
First off, let me say that 2D RPGs are near and dear to my heart and working with old DX7 VB6 MORPG engines (don't laugh, it was 8 years ago, now :-) ) is what first got me interested in game development. More recently, I started converting a game I worked on in one of those engines to use XNA.
That said, my recommendation is that you use a tile-based ...
You can generate the optimal path using A*, then distort it with midpoint displacement.
This will ensure your endpoints are met and allow you to control the randomness to a great degree. For example, I would not randomize roads as much as rivers. Whatever intelligence is building roads typically attempts to be optimal about it.
Take care to ensure that if ...
You could use an algorithm that checks near blocks, and varies the probability depending on what is there - but I think it's largely the wrong approach.
What you want to be looking at is fractal noise types - in this case, perlin or simplex noise. If you generate noise, you'll get values from -1 to 1.
You can then ...
I travelled in a lot of "hot" countries in the 10 last years and each time I went to elevated areas it was cold or very cold even when I was close to the equator.
In fact elevated areas are semi-arid to arid. Vegetation is small (except some special species like cactus) and burned (by sun and cold). Most of the time, there is very little snow except at ...
Sounds like you're leaning toward horizontal as having more advantage. For what it's worth, bees agree with you when they build their honeycombs:
The axes of honeycomb cells are always quasi-horizontal, and the
nonangled rows of honeycomb cells are always horizontally (not
vertically) aligned. Thus, each cell has two vertical walls, with
Layers are needed not only the most basic use of a tile map, but also allow more artistic expression and play features. Layers define the draw order of the sprites used in your world. They're simply a way to say, "Draw sprite X after sprite Y, so that sprite X will appear on top of sprite Y". They're typically generalized into layers so you don't need to ...
I think the Voronoi idea is a good one. Each star becomes a seed point for Voronoi, and then the Voronoi regions show the areas owned by each faction. However, there are some changes that will make it work better:
As you mentioned, there are empty areas that shouldn't be assigned to a faction. Voronoi will create large polygons that extend out to areas ...
Let's start with the array. Don't think about it as tridimensional. Indeed, if you want to have stackable units there, it makes sense at first sight:
first dimension is collumns of rows of tiles
second dimension is rows of tiles
third dimensions is tiles, i.e. arrays of units.
But this third dimension won't be consistent, as you will store there not only ...
You want multiple paths from A to B.
You want to work in grid space, presumably this is tile space for your side-scroller.
You don't want paths to cross, or it will spoil game progression.
You want the paths to look reasonably organic.
Voronoi Diagrams are space-filling, planar graphs:
One nice thing about them is how you ...
Step1: Randomize points-each time taking a step forward on the x-axis
Step2: Imagine segments(lines) between these points, add new points in the middle of each one
This is how it looks now without the segments:
Step3: Draw bezier from red point to red point, using the original point as control.
Randomize new control point
If you are building a strategy game, the game requirements and design itself should dictate which orientation you choose. Note that defensive lines are more easily held with the grain than against it, so your choice of grid orientation relative to map orientation will affect game play. To emphasize defence, such as in WWI, align the hex grid with the natural ...
Have you tried Lloyd's Algorithm? The procedure is pretty simple, and will generate fairly regular looking regions (depending on how many iterations you run).
Tile the map with blank hexes to start.
Choose N hexes at random. These will represent the "center of mass" for each country.
Tag each hex with the center hex it is closest to (Voronoi Diagram). ...
You could use OpenStreetMap data.
It is liberally licensed. In particular, their wiki says:
3c. If I make something with OSM data, do I now have to apply your
license to my whole work?
No. For example, if you have written a game or published an artistic
map which includes OSM data, only the data is covered by the license.
This is called a ...
From a technical and programming perspective, there should be no fundamental difference in data structure between the two orientations - any reasonable scheme should be easily modifiable to work well with either setup.
Design-wise, in the end it will come down to preference — as you've noted, there are multiple games using either scheme, which is ...
Your hex orientation will influence both your general aesthetics and your asset production.
If you choose vertical tiles, you can make your hexes twice as wide as they are tall and have pixel-perfect accuracy. Here are some 64x32 hexes.
Note that the diagonal edges are at 45 degree angles, making them easier to render in pixels.
The narrow height of the ...