-1
\$\begingroup\$

I have a very good knowledge about Java, C++, Qt, C# etc... and I wanted to start making a game... most the engine that the game per se since I don't like the "design" part of making a game..

I have read a lot of tutorials and learn the basics of OpenGL since this was the API I choosed. To start I wanted to create a simple 2D game like mario and then create the same but in 3D with a map like ine Minecraft composed of cubes (as it seems more funnier to code).

But I just don't know How video game developers create those maps ! I just know that for 2D games for example, we can use tiles (I think this is the right name), and then create an array that stores numbers and then match the number with the pixel position of the tile so that the game appears in front of the user....

But that is not very easy to code when we want a big map (even for a 2D game)...

So my question is :

Could someone tell me how they archive that ? Just the idea, the rest I will try to develop myself and learn by myself.. I really just want the idea to understand how they easily create those big maps in 3D and 2D.

Thanks in Advance, And sorry for my horrible english.

Luis Da Costa

\$\endgroup\$
1
  • 1
    \$\begingroup\$ I think you're fundamentally mistaken about it being easy for them to create those big 2D/3D maps. \$\endgroup\$ Dec 16, 2011 at 22:38

1 Answer 1

2
\$\begingroup\$

Your question is too vague. You should start by deciding if you want 2D or 3D, and what sort of world you're trying to create. Since you already know that many 2D games are built with tiles (not all though) I'll talk a bit about 3D instead. For 2D maps check this other topic for many variations. And for a Minecraft-like 3D world read this. I'll talk about the general case.

Most 3D maps are built with pieces (where each piece will usually be a separate 3D model), and if it's an outdoor scene, most of these pieces will be placed on top of a height map that serves as the ground. Then there's other systems that can add further detail to the world, such as decals (which is basically applying textured quads on top of existing geometry to give variation), animated billboards to create vegetation, a water rendering system (which involves using a water shader with reflection and refraction), etc...

Take a look at one of the The Elder's Scrolls Construction Sets to see a bit of how this might work in practice.

Following the guys at Wolfire as they develop their new game is also pretty inspiring. They've showed a lot about map construction before, just browse their blog and youtube channel.

But that's really just touching the surface. There's a lot to learn, so you should just pick one topic and start learning it. For instance, start learning how to create and render an height map. Make it more efficient. Then look into rendering 3D models and organizing them using a Quadtree or Octree. Decals. Billboards. Water. Skybox. Night and day cycles... The list is almost endless.

When you have a more specific question, feel free to ask again.

\$\endgroup\$
8
  • \$\begingroup\$ Thank you for the answering that really helped me a lot to understand how the 3D maps are done (my biggest problem was that I didn't knew the technical terms at all which difficulted my search) I will start with 2D just to understand the concept... I think jumping directly to 3D it's kind of a suicide since I praticly don't have any knowledge on opengl :S... But I have a question, you said that not all 2D games used tiles... so what do they use to create a big 2D scrolling map like a maior (but bigger) ? And thanks again for the answer \$\endgroup\$
    – aliasbody
    Dec 16, 2011 at 23:13
  • \$\begingroup\$ PS : I only seen the 2D link after posting the comment :S... Really sorry... Notch game me a big inspiration in 2D gaming on the earlier posts (Before the "Minecraft period")... he was just a little happy programmer back then ^^ \$\endgroup\$
    – aliasbody
    Dec 16, 2011 at 23:29
  • \$\begingroup\$ The maps can be huge and still use tiles. I just said there are other ways to create 2D games. For instance look at Aquaria's level editor. It's mostly done with transformed (rotated/scaled) sprites. These sprites would be grouped into layers, and stored as a list for each layer, for instance. \$\endgroup\$ Dec 16, 2011 at 23:33
  • \$\begingroup\$ And this is how Aquaria stores the general map's shape. Sprites are used mostly for decoration on top. \$\endgroup\$ Dec 16, 2011 at 23:37
  • \$\begingroup\$ Thank you ^^ A lot ! I will start with these and learn the rest by myself ^^ Really thanks ! I just have one last question just to be sure, is OpenGL a good choice for multi-platform 2D Gaming ? \$\endgroup\$
    – aliasbody
    Dec 16, 2011 at 23:42

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .