In this tutorial, I will show how to create your own 3D game camera. We will also discuss various camera transitions in order to make our camera dynamic. I assume that reader have a basic knowledge about vectors and points in 3D space and difference between them. To understand the code snippet at the end of the article, you must have a basic C++ knowledge.
The basic collision detection system everyone starts with is bounding box collision detection, but this method can be a bit inaccurate; however we will take advantage of it in this article.The basic idea is to check first, if bounding box collision detection has occurred, and then check pixel by pixel if the collision trully took place:
check bounding box collisions
if they exist, take a look p...
This article by Kurt Jaegers, author of XNA 4.0 Game Development by Example: Beginner's Guide, enhances a board-based puzzle game called Flood Control in XNA 4.0 using animation. In this article, we will cover:Animating the rotation of pieces when manipulated by the playerGradually fading out pieces of completed scoring chainsAnimating the falling of pieces into place on the boardAll of the...
In this article, we will look at several ways to make the objects in our scene move. First, we will look at the animation of objects as a whole. We will do this through simple linear interpolation between start and end values, and through a more complex curve interpolation. We will also look at more complex animations through keyframed animation.This article by Sean James, author of 3D Graphics...
This article by Kurt Jaegers, author of XNA 4.0 Game Development by Example: Beginner's Guide, introduces a board-based puzzle game called Flood Control. We introduce the XNA Content Pipeline, and build a recursive function to determine the state of the game board while playing.This article focuses on the following concepts:Using the Content Pipeline to load textures from diskCreating class...
XNA Game Studio is an integrated development environment designed to make it easier to develop games for Microsoft Windows, Xbox 360, and Windows Phone. XNA Game Studio extends Microsoft Visual Studio with support for the XNA Framework and tools. The XNA Framework is a managed-code class library that contains features targeted specifically at game development. In addition, XNA Game Studio inclu...
I'm writing these tutorials for the new XNA 4.0 framework. The tutorials will make more sense if they are read in order. You can find the list of tutorials on the XNA 4.0 Tutorials page of my web site. I will be making my version of the project available for download at the end of each tutorial. It will be included on the page that links to the tutorials.
This is a beginner tutorial on cre...
The DigitalRune Engine empowers professional .NET developers, indie developers and hobbyists to create 3D games and simulations using cutting-edge technology. The complete game engine is written in managed code and took several man-years to implement and optimize.
IntroductionAnyone who’s done 3D graphics work with DirectX or XNA has undoubtedly had to learn about the concept of vertex formats. All vertex data passed to the graphics card needs to be described in order for the data it contains to be used correctly, and each graphics API has slightly different ways of doing so. In the past, when programmable shaders were not a factor, DirectX used a system...
Motivation So you have invested man-years of effort in your C++ D3D graphics/visualization/game engine. Now you want to build a nice GUI that utilizes this engine, such as a scene editor or modeler, but low and behold you are inundated by potential hosting solutions: MFC, wxWidgets, QT, Winforms, WPF. All with different challenges and subtleties.Back in the day I solved this problem with MFC...
This article is for people trying to make a 2D graphics engine using Direct3D 9. It assumes you already have a basic Direct3D 9 application up and running, possibly using ID3DXSprite functions.If you do not, the code for a fully working application using the methods presented in this article is included.This article is divded into the following sections:The conceptThe vertex formatInitializatio...
ContentsOverview of DirectDrawDirectX API groupsWhat is Direct DrawRelationship to WinGDirectDraw surfaces - how you access video memoryThe page flipping approach to animationDirectDraw and COMDirectDraw ProgrammingWhat you need to compile and linkInitializing DirectDrawCreating the primary surface and setting up for page flippingLoading a bitmap into video memoryLoading the paletteColor Keying...