Book Image

Panda3D 1.6 Game Engine Beginner's Guide

Book Image

Panda3D 1.6 Game Engine Beginner's Guide

Overview of this book

Panda3D is a game engine, a framework for 3D rendering and game development for Python and C++ programs. It includes graphics, audio, I/O, collision detection, and other abilities relevant to the creation of 3D games. Also, Panda3D is Open Source and free for any purpose, including commercial ventures. This book will enable you to create finished, marketable computer games using Panda3D and other entirely open-source tools and then sell those games without paying a cent for licensing. Panda3D 1.6 Game Engine Beginner's Guide follows a logical progression from a zero start through the game development process all the way to a finished, packaged installer. Packed with examples and detailed tutorials in every section, it teaches the reader through first-hand experience. These tutorials are followed by explanations that describe what happened in the tutorial and why. You will start by setting up a workspace, and then move on to the basics of starting up Panda3D. From there, you will begin adding objects like a level and a character to the world inside Panda3D. Then the book will teach you to put the game's player in control by adding change over time and response to user input. Then you will learn how to make it possible for objects in the world to interact with each other by using collision detection and beautify your game with Panda3D's built-in filters, shaders, and texturing. Finally, you will add an interface, audio, and package it all up for the customer.
Table of Contents (22 chapters)
Panda3D 1.6 Game Engine
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Using point stars and billboard stars


The last step to completing our skybox will be adding stars. To get good results with stars, the most important things to remember are blending and variety. We want the stars to meld into the night sky in a natural way, so we have to blend them nicely with the elements already in place. We also want to hide the fact that they are computer generated, and most of them are just colored pixels. To do that, we introduce a lot of variety in them so that the eye is less likely to notice the similarity that gives away those weaknesses.

When using point and billboard star layers, we rely on masking to control their placement. We have two masking strategies to choose from. Our first option is to use the built-in masking available to us in the point and billboard star layers themselves. This option allows the most accurate control over positioning and color. The second method is to use masking noise layers, like we did for our dark background nebula. The second method is great for making background stars to populate our background nebula, because we don't have to create a new mask, we can use the Purple Nebula Ridged Mask we've already made.

There's one other note to mention about using stars. The size input for billboard stars is relative to the size of the eventual texture output. The size input for point stars isn't. What that means to us is that the size of billboard stars will be the same, relative to the nebulas, no matter what resolution we choose to export at. The same is not true for point stars; their size is an absolute number of pixels. If we set a particular size for our point stars and export both a 512x512 image and a 4096x4096 image, we'll see a huge difference in the point stars between the two. That's why, when checking to see if point stars look the way we want, we always have to export an image at the final desired resolution. That's the only way to see how the point stars are actually going to look.