Game Development

Configure NxOgre in Ogre3D – Collision Detection


Author : Pubudu Ranathunga (pubudurana@gmail.com)

Here are the basic steps and simple guide for integrating collision detections in Ogre3D using NxOgre. (For Complete Details : Click Here)

Required Software

  1. Physx sdk
  2. NxOgre (Physx wrapper for Ogre)
  3. Critter (Rendering system for NxOgre)
  4. Flour (Bounding box constructer for |NxOgre)

Steps carried out to integrate physics project

  1. Install the Physx SDK to machine and setup Environment variable “PHYSX_DIR” to physx sdk folder path.
  2. Extract Nxogre and  open Nxogre project using VC++.
  3. Link  Physx SDK includes and Lib folder accordingly in VC++ (Tools –> Options –> Projects and Solutions –> VC++ Directories)
  4. Build the project. (If you have successfully configured NxOgre as earlier steps, a separate sdk folder should have been created inside NxOgre folder)
  5. Setup environment variable “NXOGRE_DIR”  and set  path to NxOgre sdk
  6. Extract Critter to a preferred location and open VC++ project.
  7. Link with Nxogre and build the project (If successful, a separate sdk folder should have been created inside Critter folder ).
  8. Include NxOgre and Critter SDK folders to the created project.
  9. Put all the DLL files in Physx,Nxogre and Critter to release or debug folder of the project accordingly.
  10. Put LIB files (Physx,Nxogre,Critter) to a folder and link to the project and Start the project.

Steps to build Flour to create bounding boxes

  1. Extract Flour to a preferred location and link with Nxogre
  2. Build the Project  and put Nxogre and Nxcharacter DLL to use Flour

Steps to build an accurate bounding box

  1. Export  a “.mesh” file from preferd modeling software.
  2. Convert  to “.xml” file using Ogre XML Converter
  3. Then go to exporters/OgerXML  folder in Flour  and  run ogrexmltoflower.rb file using CMD                     ( Machine should have Ruby installed )
  4. Fallow the guidelines on CMD to create  .flower file
  5. Copy that “.flower ” file to the flour release folder and run the command “Flour convert (folwer file name) (folwer file name) .nxs ”

Author : Pubudu Ranathunga (pubudurana@gmail.com)

Categories: Game Development, OGRE, Physics Engines, Virtual Reality | Tags: , , , , , , , | 2 Comments

Game Engine Awareness and Use


3D view of near Colombo Harbor – Vidusayura Ship Simulator

RECENT TRENDS IN GAME ENGINES

There are some huge changes and massive growth in the game industry in past few years. There are
quite a large number of game engines available for developers to use, from likened high end to free
open source. They are also multi platform across personal computers and game consoles, all licensable
and are all available for license without an arrangement with platform manufacturer (Deloura, 2011).

Game engines become more user-friendly as the technology matures and the application of game
engines has broadened in scope. Massive growth of casual, mobile and social games is one of the most
remarkable changes in game industry in past few years. Game engines are now being used not only
simply for video games but also serious games such as visualization, training, medical, and military
simulation applications (Berberich, 2007).To facilitate this accessibility, new hardware platforms are now
being targeted by game engines, including mobile, phones and web browsers (WAELE, 2008). While the
iPhone is doing probably the best job embracing mobile and web convergence, the Apple OS is still a
closed system and used by a rather small market segment of users. But the new Linux-based operating
system Android is open source platform and therefore mobile platform has become a truly competitive
now also in game engine developments.

There are so many game engines are available now in industry. But actually there is some limit when
considering game industry people’s awareness and use of those game engines. Clearly one of the most
important elements for game engine companies is just getting their product in front of the right people,
so if executives aren’t even aware of their engine, they’ve got big issues. Here are some survey results
which is done on awareness and use of existing and popular game engines (DeLoura, 2009).

As data comparison showing above Unreal engine has massive awareness and knowledge. It is the most
well-known, and more remarkably, a majority of responders have used it in this survey done by
(DeLoura, 2009).
After Unreal Engine, the data drops off a cliff fast – with Torque, Gamebryo, and Source all roughly
equivalent as the second most frequently used game engines, with about one out of five people having
used each. The distance between Unreal and the rest is interesting.
Even more interesting is the massive awareness of CryENGINE even though there aren’t many games on
the market using it. Let’s see how perceptions of these game engines correlate with this.

RENDERING ENGINES

  •  Usually built on OpenGL or DirectX
  •  Generates images in real-time from assets
  •  Controlled by the Scene Graph
  •  Interacts directly with the GPU

PHYSICS ENGINES

  •  Handles behavior of objects based on collisions
  •  Simulates or predicts phyics models
  1. Rigid Body Dynamics
  2. Soft Body Physics
  3. Fluid Dynamics

There are more than twenty well known physics engines (Wikipedia, 2011). In late 2009, NVIDIA PhysX,
Havok, Open Dynamics Engine (ODE), Newton Game Dynamics, BULLET physics library were most
popular among game developers (Zogrim, 2009). This analysis was done by NVIDIA Cooperation and
their popularity is distributed as illustrated in Figure 3. They considered physics engines against number
of released game titled in 2009.

REFERENCES

Categories: Game Development, Virtual Reality | Tags: , , , , , , , , , , , , , | 1 Comment

Blog at WordPress.com.