- Home
- Products
- Integration
- Tutorial
- Barcode FAQ
- Purchase
- Company
c# print barcode s CREATING A THIRD-PERSON SHOOTER GAME in Font
CHAPTER 12 s CREATING A THIRD-PERSON SHOOTER GAME Paint Data Matrix ECC200 In None Using Barcode encoder for Font Control to generate, create Data Matrix 2d barcode image in Font applications. www.OnBarcode.comDraw Code 128B In None Using Barcode generator for Font Control to generate, create Code 128 image in Font applications. www.OnBarcode.comThe first level of the XNA TPS game is called AlienPlanet. Create the CreateAlienPlanetLevel method to construct this level. Inside the CreateAlienPlanetLevel method, first create the game cameras: Generating Barcode In None Using Barcode generator for Font Control to generate, create Barcode image in Font applications. www.OnBarcode.comDrawing UPC A In None Using Barcode creation for Font Control to generate, create UPC Code image in Font applications. www.OnBarcode.comfloat aspectRate = (float)game.GraphicsDevice.Viewport.Width / game.GraphicsDevice.Viewport.Height; // Create the game cameras ThirdPersonCamera followCamera = new ThirdPersonCamera(); followCamera.SetPerspectiveFov(60.0f, aspectRate, 0.1f, 2000); followCamera.SetChaseParameters(3.0f, 9.0f, 7.0f, 14.0f); ThirdPersonCamera fpsCamera = new ThirdPersonCamera(); fpsCamera.SetPerspectiveFov(45.0f, aspectRate, 0.1f, 2000); fpsCamera.SetChaseParameters(5.0f, 6.0f, 6.0f, 6.0f); // Create the camera manager and add the game cameras gameLevel.CameraManager = new CameraManager(); gameLevel.CameraManager.Add("FollowCamera", followCamera); gameLevel.CameraManager.Add("FPSCamera", fpsCamera); // Add the camera manager to the service container game.Services.AddService(typeof(CameraManager), gameLevel.CameraManager); PDF417 Drawer In None Using Barcode drawer for Font Control to generate, create PDF417 image in Font applications. www.OnBarcode.comMaking GTIN - 128 In None Using Barcode creation for Font Control to generate, create GS1 128 image in Font applications. www.OnBarcode.comYou need to create two different game cameras, where each camera is of the type
Draw EAN 13 In None Using Barcode maker for Font Control to generate, create EAN-13 image in Font applications. www.OnBarcode.comUSPS OneCode Solution Barcode Maker In None Using Barcode maker for Font Control to generate, create USPS OneCode Solution Barcode image in Font applications. www.OnBarcode.comThirdPersonCamera. The first camera, named FollowPlayer, is used to follow the player, and
Data Matrix Scanner In VB.NET Using Barcode reader for .NET Control to read, scan read, scan image in .NET framework applications. www.OnBarcode.comData Matrix Drawer In None Using Barcode maker for Office Excel Control to generate, create ECC200 image in Office Excel applications. www.OnBarcode.comthe second camera, named FPSCamera, is used while the player is in the aim mode. You need to add both cameras to the CameraManager of the GameLevel structure, and the CameraManager needs to be added to the Game s ServiceContainer. Next, create the game lights: Make USS Code 39 In None Using Barcode generator for Excel Control to generate, create Code 3/9 image in Microsoft Excel applications. www.OnBarcode.comGenerating ANSI/AIM Code 39 In Java Using Barcode encoder for BIRT reports Control to generate, create ANSI/AIM Code 39 image in BIRT applications. www.OnBarcode.com// Create the light manager gameLevel.LightManager = new LightManager(); gameLevel.LightManager.AmbientLightColor = new Vector3(0.1f); // Create the game lights and add them to the light manager gameLevel.LightManager.Add("MainLight", new PointLight(new Vector3(10000, 10000, 10000), new Vector3(0.2f))); gameLevel.LightManager.Add("CameraLight", new PointLight(Vector3.Zero, Vector3.One)); EAN-13 Printer In Java Using Barcode printer for BIRT Control to generate, create European Article Number 13 image in BIRT applications. www.OnBarcode.comRecognizing PDF-417 2d Barcode In Java Using Barcode scanner for Java Control to read, scan read, scan image in Java applications. www.OnBarcode.comCHAPTER 12 s CREATING A THIRD-PERSON SHOOTER GAME
PDF 417 Generation In Java Using Barcode maker for Java Control to generate, create PDF-417 2d barcode image in Java applications. www.OnBarcode.comPDF417 Encoder In None Using Barcode generator for Software Control to generate, create PDF417 image in Software applications. www.OnBarcode.com// Add the light manager to the service container game.Services.AddService(typeof(LightManager), gameLevel.LightManager); Generating Barcode In None Using Barcode encoder for Word Control to generate, create Barcode image in Microsoft Word applications. www.OnBarcode.comGenerating Data Matrix In .NET Framework Using Barcode generation for .NET framework Control to generate, create DataMatrix image in .NET framework applications. www.OnBarcode.comThe game level has two lights: a main light positioned at (10000, 10000, 10000), which barely illuminates the scene, and a camera light positioned at the camera position, which highly illuminates the scene. You add these lights to the LightManager, which is also added to the game services container. After creating the camera and lights, you should now create the game s terrain and its material: Creating QR In .NET Using Barcode creator for ASP.NET Control to generate, create QR Code ISO/IEC18004 image in ASP.NET applications. www.OnBarcode.comCode 39 Extended Decoder In Java Using Barcode reader for Java Control to read, scan read, scan image in Java applications. www.OnBarcode.com// Create the terrain gameLevel.Terrain = new Terrain(game); gameLevel.Terrain.Initialize(); gameLevel.Terrain.Load("Terrain1", 128, 128, 12.0f, 1.0f); // Create the terrain material and add it to the terrain TerrainMaterial terrainMaterial = new TerrainMaterial(); terrainMaterial.LightMaterial = new LightMaterial( new Vector3(0.8f), new Vector3(0.3f), 32.0f); terrainMaterial.DiffuseTexture1 = GetTextureMaterial( game, "Terrain1", new Vector2(40, 40)); terrainMaterial.DiffuseTexture2 = GetTextureMaterial( game, "Terrain2", new Vector2(25, 25)); terrainMaterial.DiffuseTexture3 = GetTextureMaterial( game, "Terrain3", new Vector2(15, 15)); terrainMaterial.DiffuseTexture4 = GetTextureMaterial( game, "Terrain4", Vector2.One); terrainMaterial.AlphaMapTexture = GetTextureMaterial( game, "AlphaMap", Vector2.One); terrainMaterial.NormalMapTexture = GetTextureMaterial( game, "Rockbump", new Vector2(128, 128)); gameLevel.Terrain.Material = terrainMaterial; // Add the terrain to the service container game.Services.AddService(typeof(Terrain), gameLevel.Terrain); The terrain material is composed of a LightMaterial and some TextureMaterial. After creating the terrain material, you need to set it into the terrain, and you also need to add the terrain to the game services container. In the preceding code you re using the GetTextureMaterial method to ease the creation of the TextureMaterial. The code for the GetTextureMaterial follows: CHAPTER 12 s CREATING A THIRD-PERSON SHOOTER GAME
private static TextureMaterial GetTextureMaterial(Game game, string textureFilename, Vector2 tile) { Texture2D texture = game.Content.Load<Texture2D>( GameAssetsPath.TEXTURES_PATH + textureFilename); return new TextureMaterial(texture, tile); } Now, you create the game s sky: // Create the sky gameLevel.SkyDome = new SkyDome(game); gameLevel.SkyDome.Initialize(); gameLevel.SkyDome.Load("SkyDome"); gameLevel.SkyDome.TextureMaterial = GetTextureMaterial( game, "SkyDome", Vector2.One); The game s sky also has a TextureMaterial that you can create through the GetTextureMaterial method. Last, you need to create the game s logic objects, which are the player and the enemies. The code used to create the player follows: // Create the player gameLevel.Player = new Player(game, UnitTypes.PlayerType.Marine); gameLevel.Player.Initialize(); gameLevel.Player.Transformation = new Transformation( new Vector3(-210, 0, 10), new Vector3(0, 70, 0), Vector3.One); gameLevel.Player.AttachWeapon(UnitTypes.PlayerWeaponType.MachineGun); // Player chase camera offsets gameLevel.Player.ChaseOffsetPosition = new Vector3[2]; gameLevel.Player.ChaseOffsetPosition[0] = new Vector3(3.0f, 5.0f, 0.0f); gameLevel.Player.ChaseOffsetPosition[1] = new Vector3(3.0f, 4.0f, 0.0f); After creating the player, you can set his initial position and rotation, modifying his transformation. To add a weapon to the player, you use AttachWeapon method. You can also change the default camera s chase position, creating an offset vector in the player for each game camera. Now it s time to create the game s enemies. Because the game level usually has many enemies, create a method named ScatterEnemies, to create the enemies and scatter them through the map:
|
|