• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
riuthamus

Skyrim version Overview map in a voxel/cube world?

10 posts in this topic

I am curious as to what procedures people would take if they were to attempt this. I have always liked the concept of the Skyrim map but I am not sure if that is possible/stable for us to do this with a voxel world. The idea would be the following:

[img]http://www.bhslaughter.com/forum/uploads/gallery/category_8/gallery_1_8_147350.jpg[/img]

[img]http://www.bhslaughter.com/forum/uploads/gallery/category_8/gallery_1_8_22149.jpg[/img]
- 85 degree angle view
- Zoomed 75+ blocks from the base land level ( so around the 180 - 250 range )
- only top blocks would be rendered ( unless the cave is visible to the top world )
- key locations and possibly players will be visible via a marker of some type ( special icons for each )
- The map would be dynamic with lighting and environment effects such as clouds.

The idea would be to simply lock the players movement, do a far pan zoom, increase the view rendering, reduce what is rendered, and just manage side scrolling and loading of information as that is being done.

My question(s):[list=1]
[*]Does this sound like it would be a nice system
[*]Do you think it is reasonable for a voxel based game
[*]How would we go about doing it? create a simple mesh of the land and load it up for them to view or simply do a live cam with increased rendering range?
[*]Any other comments or suggestions are welcome.
[/list]
Thanks in advance. Just wanted to run this idea by you guys to see what your thoughts were. Edited by riuthamus
0

Share this post


Link to post
Share on other sites
1.) By 'nice system' what do you mean exactly? System for what? A system for displaying an overhead map of the gameworld?
2.) Absolutely. See 3.
3.) A very simple approach I would take at first is by storing the world in an octree and traversing it near/far rendering more voxels for closer detail that needs higher resolution, and less voxels for objects much further away. Being at a locked angle, you can also have the mountains cull some (not a ton, but it's something) of the voxels they're hiding relatively easily. This thread comes to mind - http://www.gamedev.net/topic/591926-marching-cubes-octree-and-lod-seams/
2

Share this post


Link to post
Share on other sites
Well i just meant, do you think the skyrim system has a place in a voxel world or would it be more reliable, and fitting, to do the traditional flatmap rendering of such? I really like the idea of having a render of the world as it currently is and showing key locations or biome information.. maybe even some user information such as owned cities or regions. I just dont know how complex that would be compared to the normal system. (obviously more complex but to what degree I dont know)

I will read that thread when I get home and see what information i can extract to get a test up. I know telanor is going to hate me for this but I think it is worth exploring ( as a system ). Thanks again. If anybody else has any ideas or suggestions please feel free to share them as well. Ill post if, and when, we get a screenshot or if I need more help.
0

Share this post


Link to post
Share on other sites
Have you seen these [url="http://www.minecraftwiki.net/wiki/Programs_and_editors/Mapping#Mappers"]map viewers[/url] for Minecraft? I've used some of them for generating png-file maps of the game world in a private Minecraft server I was running to play with two people I know. I generated the explored portions of the map then sent a copy to each of us, and re-generated the map every so often when we explored further (this was before in-game maps). I'd even generate maps of the mines we dug.

You're basically just interpreting the data of the world (which you already have) in a different way and rendering it differently.
All you have to do in addition is have your game be able to mark locations of interest (as part of the world data) and render those on the map also. You could even have the map render the area names over the map.
2

Share this post


Link to post
Share on other sites
I've never seen the map zoom in skyrim in action, but from the look I would guess, that they use some kind of LOD for the terrain mesh and texture. So, if you don't have a lod system for your voxel world, you will have a hard time to get it done in realtime. Even worse, if you really zoom out quite far and your cube size is relative small, then you will have fun with subpixel rendering and z-buffer effects.

Therefore I would think about a fix camera high and angle and an orthogonal projection. This way you could render tiles and save them on a texture and update them only from time to time.
2

Share this post


Link to post
Share on other sites
@Ashaman73 this is a very interesting concept. Ill talk to telanor and see what he thinks about that process. Thanks again for another great suggestion.

@Servant Yes, we use dynmap for our minecraft server and love all of the features that it supports. The goal would be to get a more... realtime version of the process. The players want to know this information in game and not through a server that does outward rendering. So, while possible, I want to try and get as much information in the actual game as we can. The information displayed will be regions owned, waring locations, and key points of interest on the map. We could, in time, support the players personal wavepoint or markers they have created. Anyway, thanks for the advice so far.
0

Share this post


Link to post
Share on other sites
[quote name='Ashaman73' timestamp='1348640754' post='4983904']
I've never seen the map zoom in skyrim in action, but from the look I would guess, that they use some kind of LOD for the terrain mesh and texture.[/quote]They do exactly that.

Even before Skyrim, Bethesda had their whole world map rendered into different levels of detail, stored into meshes and textures inside the game files. The LOD system picks up the different levels it needs and loads the models accordingly. So nothing is processed real time in that respect, its just pre-made low poly/low res models/textures loaded as the game needs them.

For Skyrim they just picked up the least detailed level and assembled it into a 3D map. Make terrain LOD, get a sweet and free ingame map. Pretty clever [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img]

@riuthamus. I guess that if you want exactly the same on a voxel world, you'd need to generate the map on the fly, depending on what you're doing. If players can change the terrain, then it should be updated every time the player open ups the map. If it doesn't, you might get away with just generating it once on a "building world/loading game" screen before the game starts.

Or you could just set up intervals at a fixed time in which the map updates and just let the players wait for their stuff to appear on the map. Normal players aren't that picky with the technical details if the game keeps them entertained nevertheless.

As far as for the implementation, no idea, i'm not that experienced yet. All I know is what caldiar said, octrees could get you easily different interpretations of your world in different resolutions (more exactly, different cube sizes). By zooming in, you go into lower levels of the tree, by zooming out you go into upper levels. Though if you don't already have your map stored in a octree, changing the whole world representation may not worth the hassle.

I *think* that it may be too hard for the CPU to do all of that (massive traversing of octrees if the map is big enough), but I'm not sure, as I said, I don't have any relevant experience. Edited by TheChubu
1

Share this post


Link to post
Share on other sites
Aren't these 2 different problems? Apples and oranges?

Skyrim has a fixed map.

The map screen doesn't actually zoom out. The menu screen where you select the MAP option scrolls out of view while the map fades in, giving it the feel of zooming out. It's just a very low polygon version of the terrain, with a basic diffuse, normal, and spec map on it. Both of them either kept in ram, or are small enough to load in half a second. Every location you've discovered then gets an overlay icon on the HUD.

---

Off the top of my head (knowing nothing of your program's architecture), for a changing voxel world, I'd have a low detail overworld map that was made up of tiled models. Each model would be a low detail version (8 to 1, 16 to 1, 32 to 1, whatever) of everything in it's zone. When enough changes are made to a zone, I would update it's associated overworld tile. (no need to update after every change, because at that small resolution (8/16/32 to 1) you wouldn't see the changes anyways!

Since you only want to render the top tiles, I would probably start with a small grid model for every overworld tile, then have a diffuse and heightmap texture that get updated. Then you just render out your same grid model for every zone, with a unique texture set for each. You can try different resolutions of grid model to see what gives you the best results.

For the texture generation, I'd just do a for loop over all the top most tiles in the zone, and get their average color and height then RTT those values right into the texture.

I think this would give you an overworld map that was a good rough approximation of your game world.

Disclaimer: I pulled this right out of my ass based on the first post. :)
1

Share this post


Link to post
Share on other sites
Well, i did not think this would get so many comments and suggestions! I am overjoyed!

1) The overview map would not be zoomable. You would only be able to view, pan left and right, top and bottom. The idea is to give them a more world based view of what is going on. We have already created he minimap ( radar type thing ) that lets you see where you are and displays wavepoints and such. We want to make this overview map a tool for seeing borders of regions ( owned land of other nations/countries ) and a way to track where you are in the world compared to other players.

2) Our game is 100% multiplayer. There is no single player, the Singleplayer option is just a multiplayer server with a server player count of 1! So loading screens will not exist except for when entering a server. Everything else must be done on the fly and in real time.

3) We are using dx11, and C#. The actual code itself is rather strong... i just am not sure of the best process for creating the overall look and theme I want. I will start out with the ocrtree and see where we can go from there. All of your suggestions are very much appreciated and I will let you know if we make any headway with this process. Thanks again
1

Share this post


Link to post
Share on other sites
I'm not sure if its possible, but couldn't you render the whole map to a texture when you open the map menu. You wouldn't see real time block changes, but there's probably a way around that.
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0