• 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
Benedict Jaeggi

Planet Rendering Engine (Request)

2 posts in this topic

Hello, this is my first post here.

I want to make a game where it is possible to battle on a planets surface and also in the surrounding solar system/s and planets. If possible, Ogre3d would be used. I am not great in graphics, more in gameplay stuff, so I wanted to ask if someone has already developed some stuff I could use. It would be great, so I could concentrate more on the gameplay.

Also, tutorials would be great. Possibly with Ogre3d or another free graphics engine.

Water must not be great, but possible and ready to extend.

Requirements are:
- Atmosphere
- LOD generation.
- Terrain generation based on a seed Value (same Value=same terrain), so only the value has to be saved in the database.
- Planetary Gravity
- Buildings/Plants/Trees should be possible to put on surface.
- if possible some terrain collision code, I don't know how to do this. Is this done with physics?

I am using MS VC 2010 Express with Ogre 1.8.0
- cannot use geometry shaders!

Project ist all fresh, nothing done so far. I used ogre in the past but not...much.

Any help with this would be great.

Thanks in Advance

Share this post

Link to post
Share on other sites
I'm working on a game that's going to have some planets and stuff. But we won't be going down to the terrain level, so it'll just be textures for our world map stuff. View from space pretty much. But either way I can post the info I've written down as planning our planetary rendering scheme here, just a copy/pasta from our dev forum.
I don't have a planetary rendering engine ready, but when I've finished it I can send you the shaders and code and that. Not the textures though... I wouldn't mind releasing the assets for the game we're making as open source along with shaders and that, but I need to talk about that with my partner, also finish the game too.
We can definitely have pixelated or nicely rendered planet. I'd go with pretty much what ever is easiest to use.
I want to try and adapt valve's alpha tested magnification algorithm for planetary detail:
Basically we have a small texture map (64x64 probably like what they have on page 2 of that document) that specifies the land/sea areas on a planet. Land/Sea/Ice might be a bit more difficult, we're probably just going to have to live with only 2 textures per planet for the surface. And we can use the same algorithm for cloud layers as well.
Planet Types:
Type A (Homoterranean Atmospheric): 1 product texture for surface, No distance texture for surface, 1 library texture for atmosphere, Distance texture for the atmosphere
Type B (Heteroterranean Atmospheric): 2 product textures for surface, Distance texture for surface, 1 library texture for atmosphere, Distance texture for atmosphere
Type C (Homoterranean Anatmospheric): 1 product texture for surface, No distance texture for surface, No texture for atmosphere, No distance texture for atmosphere
Type D (Heteroterranean Anatmospheric): 2 product textures for surface, Distance texture for surface, No texture for atmosphere, No distance texture for atmosphere
Type E (Anterranean Conatmospheric): No texture for surface, No distance texture for surface, 1 library texture for atmosphere, No distance texture for atmosphere
So basically we have planets that have a mixture of land/sea or land/ice, for the surface, or have only 1 texture for the surface. The distance texture if you read the valve source article is a pretty good way of discriminating the boundary between the 2 different textures to create land forms or ice caps, that uses a texture that is very small so reduces the download size of the application. We can have clouds that cover completely ( so no surface texture ) or we can have no clouds, or we can have partially obscuring clouds. The partially obscured clouds will use a distance texture as well.
Distance texture: Opacity map that hopefully doesn't contain aliased articles.
Product texture: A combination of blending of two or more library textures
Library texture: A texture from a library
The terrains I think can use the product textures which we combine on the fly because blending those and having a good result would be easy.
The atmospheres I think we'll just have to use a library texture (although we could tint it) because combining library textures may not produce a good enough result for atmospheres.
Note on language: I'm debating whether to use the anti meaning pretext Anatmospheric, which means not vapor sphere, or use Vacuuspheric which means empty sphere.... Both sort of fail to describe the situation properly. Maybe subatmospheric? In terms of rendering I think anatmospheric is the best definition. Atmospheric as in visible atmosphere, anatmospheric for invisible atmosphere.. And Conatmospheric for an atmosphere that occludes the surface 100%
To be honest I wouldn't worry so much about the naming scheme, players won't see it.
I don't think they'll see this forum either...


And I hate a chat with a fella a while ago about planetary generation down at the micro-level where you would actually visit. And there's a fair number of rules governing geology. I'd recommend using that algo above for rendering from space, and the distance texture can be generated from whatever geological stuff you generate at the micro level, so the distance textures would be on the fly. Anywho, the rules we came up for geological simulation were:

First create coasts and land masses, first step in that is to determine the ratio of land/sea. distances from the costs and location in the world (tropical regions, cold regions) dictate where you'll see vegetation. As does elevation, a lot of trees only live within certain vegetation bands of elevation. Rivers run to the seas, just make some observations about how geology works and you'll have what you need to generate good realistic terrain.

To be honest I appear to have forgotten 80% of that discussion. Edited by Kyall

Share this post

Link to post
Share on other sites
This is like asking for the most important system of your game without doing anything before hand yourself. Are you going to next ask if someone has written networking where one server can host two thousand people and every server communicates with each other with internal network so that if 10,000 players play they all will see each other?

Anyway look into icosphere generation. You can quite easily generate different levels of the icosphere for level of detail.You do not just want this algorithm, but actually want that we implement the physics for it too. My physics is not that good, but in 3 dimensional world calculating gravity for one point in space is not as simple as with flat terrain where you can just decrease the horizontal axis value of an object, in 3 dimensions you would need to change the value of all three axis.

Do some work on the planetary system and you will learn the graphics, because you seem to have idea what you want and if you run into a problem come here to ask guidance.

Just my opinion that do it yourself do not ask for code we all most likely could use in our portfolios.

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