Tuesday, March 18, 2008

Physics the Law for Everything that Exists

The title is purely my opinion and is not based on any theoretical finding that someone else had done.

I've a passion for programming, games and figurine collection. These combined made me interested in AI robotic programming and games programming. I've decided to focus more on the software side and go for games programming. AI robotic programming will be my part-time hobby when I feel like playing God and giving birth to a plastic/metal based artificial life.

During my research into jobs in the games industry and my latest Open Day visit to Frontier Developments in Cambridge (Yeah~! being shortlisted is not bad for a noob :)). I've noticed in the games development industry there are several areas of interests, mainly (my categorization); game play development, engine development, resource development, tools development and misc.

Game Play Development
This is where the actual storyline is incorporated into the game. Where the engines are merged together and the game design forms. Most often, the AI is developed as part of the game play because it makes more sense to have a custom AI for each game rather then a mighty AI brain engine to solve all possible problems.

Engine Development
There is a list of engines that are usually developed like the graphics engine, physics engine, network controller (if any), etc. Engines are like standalone components that are usually reused and built upon as each title is developed.

Resource Development
This is where audio, graphics designing, models, texture, etc. are produced which will be the final game's outlook and representation that players see.

Tools Development
Tools are developed mainly to cut down resource development time. Tools include customized and user friendly modellers, audio generators, designing tools, CAD, etc.

My Take
While working on my projects and specific job position hunting, physics modelling and simulation caught my eye. Its really fun to figure out how things work and react with each element that effects it. It is extremely hard to understand and figure out new techniques to solve each problem, but as the fundamental understanding is instilled, the solution comes easily.

The potential of growth and knowledge in the games development is huge if not infinite. I'm eager and looking forward to contribute and to the industry.

Sunday, March 09, 2008

Dissertation Project Proposal


Group Members
Danielle Cheah, Ding Loong Wei


Title
A 3D immersive environment for a paintball game using the Wiimote.


Gameplay objective (Paintball)
Paintball is a sport in which player(s) eliminate opponent(s) from play by hitting them with balls of paint shot out from an air pressured gun. Players are divided into two opposing teams within an area of terrain. The aim of the game is to capture the flag by move forward towards the opponent(s)' side and reach the flag area or killing off all opponent(s). The first team to capture the flag is the winner.



Project Abstract
A single player paintball training system against an AI opponent. The gameplay area will consist of the player, AI opponent, air pressured paintball gun, obstacles for cover and target objective/flag area. Using the Wiimote and infrared emitters for player head tracking and positioning within the game. Another Wiimote as the point and shoot input device as the air pressured paintball gun. Consideration to have Nunchuck as the player's forward and backward movement. The AI will try to path trace and move forward to capture the player's flag. The AI will try to take down the player by firing at the player and dodge or hide when being fired at. In turn the player should do the same before the AI captures the player's flag. Effects includes physics for gun recoil and impact on target with external factors (speed, external forces, wind, etc).


Section Allocation
Student 1: Wiimote system & graphics
Student 2: AI & physics


Considerations

  1. May allow user to choose between several types of weapon (air pressure gun, padded arrows, slingshot, etc.).
  2. Physics based on different weapon type (speed, external forces, weapon weight, etc.).
  3. Network technology to have player vs player.

Tuesday, March 04, 2008

C++: Using string in switch

This is just a code snippet of how to use strings in switch in C++ which is taken for granted in C#
enum Config
{
SolidBall
};
std::map ‹string, Config› _mapStringConfig;
void Main()
{
switch(_mapStringConfig[str])
{
case MainProgram::SolidBall:
break;
}
}