Using XNA, you can get up and running with 3D graphics development in no time, and you will quickly start developing fun gaming experiences. Developing a 3D graphics engine can be very rewarding when done right; learn how to get an immediate payoff so you can focus on developing your game. This course includes videos on shader development, coding for extensibility, scene construction, and multi-platform game development.
XNA 3D Toolkit will walk you through all the information you need to develop a 3D graphics engine. Along the way, you will learn how to deal with a complex game scene and how to incorporate and work with in-game debugging tools. This is a great series for anyone who wants to get an in-depth view of how to design 3D graphics using XNA.
Starting from scratch, with this course you'll learn all the building blocks needed for developing a cross platform 3D graphics engine. You'll build upon this until you have a sound infrastructure that will allow you to quickly implement the functionality needed for your future games.
XNA 3D Toolkit helps you learn how to effectively work with models, providing you with the ability to go from concept to scene. You'll learn how to display your models many times on the screen without wasting memory, as well as making them look ultra realistic. You will then move on to creating a basic foundation for physics and shaders to get the most out of your engine. Once everything is in place, you'll learn how to add all of your content to a scene to produce a high-quality effect. Lastly, we will ensure that your game is ready for the real world by deploying it to the Xbox and Windows Phone Emulator.
By the end of this course, you should be comfortable using all the tools necessary to start creating your very own 3D video games.
About the Author
Dustin Heffron is an avid gamer and programmer. He has over 8 years of experience programming in various languages and environments including Linux, Windows, embedded systems, and various consoles. He has been working with XNA since version 2.0 and has created everything from 3D military applications to small 2D games. Dustin currently works for Johnson Controls where he creates a variety of tools to integrate with AutoCAD to facilitate the design of HVAC equipment. He is also currently working on a variety of different game projects using Monogame. Dustin has previously helped Packt as a technical reviewer for the book XNA 4.0 Game Development by Example and the video series 3D XNA Game Development by Example.
Larry D. Louisiana has worked as Lead Software Developer at Magenic since 2010. He is a self-taught programmer with a dual bachelor's degree in Biology and Chemistry from Minnesota State University in Moorhead. Larry is an accomplished problem-solver who has published peer-reviewed research in synthetic chemistry. Larry is a Minnesota native who spent his summers working on a family carnival and his winters working in a sawmill. He is an outdoor enthusiast with formal training in forestry and fire fighting. His hobbies include gaming, abstract mathematics, and fishing.
Larry is currently a Software Consultant at Magenic as well as a Microsoft Gold Partner, where his main focus has been developing, architecting, and leading teams of developers working on web and business applications using Microsoft technologies.
Cut down on startup time and complex cross-platform solutions. Learn some of the important architectural and hardware considerations for working with XNA.
I have an idea for a great game, and I've made some assets; where do I go from here? Adding content and processing it can be as easy as an out-of-the-box dropdown or as complex as you want to make it. This section talks about both.
I want to write clean, simple, and robust code to manage my game. Using game components and a manager, you can orchestrate how input and control flows inside your game, targeting only the active component.
Make a camera instance so that we can see what we are doing in game
You want to develop one code base but leverage the game-debugging tools. You can use preprocessor directives or conditional attributes to create simple variations to your code base.
Every 3D game needs models but there are so many different models out there. How do you deal with all the variation? Control model variation with a model manager and custom classes.
You want to create a game but you aren't sure if you need a full-scene graph or something lighter. Start with implementing a drawing order manager as a minimal scene graph. As your approach gets more sophisticated, you can modify the drawing order manager to use a scene graph.
The game you're developing doesn't require a lot of intricate models, and you just want to make them "on-the-fly". Create the models in the game and have finer control over what is happening.
XNA can only go so far out of the box. If you really want to graphically push your game, you need to learn another language. Learn how XNA leverages HLSL (*.fx) files, how to write them, and what HLSL is all about.
Just like other content, you will need to orchestrate how your shaders are loaded and referenced in code. Shaders need to be used on multiple models and under different circumstances; but how is this done? Manage your shaders as a decoupled list and push the complexity into the architecture to make an easy-to-understand solution.
I have an idea of what I want my shader to do, but I'm not sure how to get there. This approach will handle many of the common shader usages, to get you in the position to hot-swap shaders in game.
You have a vision for how you want your models to look and what ambiance you want your game to have, but you're not sure how to get there. Sit down and map out the commonality of your shaders and try to limit truly unique code to support specific effects.
Games look static and dull without rain, fire, smoke, bullets, and explosions. We include the Microsoft sample to get a smoking campfire.
Games require different models to be placed in different places to make a scene. Using the tools that we've built up, we construct a realistic game scene.
Not all lighting is static in a game level; how do you make a moving light? Here we add a moving light source at the campfire to make a good dynamically flickering fire.
All the samples available show a scene/level defined at compile time. Save the scene/level data to a file and load the file at runtime.
Projects only compile to support one platform. Here we add multiple projects to support alternative platforms and make modifications to the code specific to each platform.
Windows Game code won't work on a phone without modification. Here we show the modifications needed to get this scene into Windows Phone.
XNA Game Studio needs special help to deploy to the Xbox. We go through the deployment steps in both Visual Studio and on the Xbox 360.
You have a game idea that cannot be realized by using traditional approaches like keyboards, mice, and controllers. Touch and Kinect are wonderful new ways to get input from the user and get them more immersed at the same time.
You've learned about graphics and are ready to go out and make a game, but what should you do next? Learn how you can expand your graphics engine and what are the next steps to making a game.
Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.
With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.
From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.
Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.