AI and NPC’S

The core tasks that programmers face when scripting intelligent life like behaviour for NPC’s are,the synchronization of synthetic speech and gestures , the expression of emotion and personality by means of body movement and facial display,the coordination of the embodied conversational behaviour of multiple characters and the design of artificail minds for synthetic characters.

A 3D topology analyzer is something that looks at the shape of a terrian within a 3D map (this inludes buildings, etc.) and tells the NPC’s not to walk into them.A 3D topology analyzer will.

  • identify all potential locations from where an enemy can easily shoot and hide.
  • dynamically identify all potential locations from where one can shoot at a VIP.
  • dynamically identify the different ways to reach eneimes to organise an opposite flank assault.
  • (to positon your camera properly) identify the best perspective that gives you the best understanding of scene topology.

Game developers are trying to cure blindness in NPC’s .previously developers used trricks that impat game design as well as the production process.for example

Terrains are simplified-configurations that are not properly handled by the pathfinding algorithms are removed from the terrain.

Scenarios area adapted-NPC’s remain in limited areas and cannot move around the whole world.

But with next-gen games the situation will not improve,

  • map sizes will increase ,manual terrain data generation and tuning will take to much time.
  • Number of NPC’s will grow , so pathfinding performances will become an even more sensitve issue.
  • Worlds will become full with physics, so it will seriously challenge existing static pathfinding solutions.

Scripting language can be embedded within HTML, and are commonly used to add functionality to a webpage.But mosst 3D games systems have scripting languages for controlling objects or actors. A scripting language that is still used in game development is SCUMM ( story creation utility for manic mansion).

Artificial intelligence

An NPC is a non- player character.This refers to the various games systems creatures, which are generated byt the game that is not controlled bya player, instead they are operated and controlled  by the game itself.

  This is an NPC within the Half-life series

The core tasks of life like NPCs include ,the synchronization of synthetic speech and gestures,the expression of emotion and personality ;by means of body movement and facial display.

NPC’s need data to move more intelligently, identify hiding positions and more generally analyse 3D topology.The data must cover:

identify all potential locations from where the enemy can easily shoot and hide.

The 3d topology analyser will dinamically identify all potential locations from where one can shoot a VIP.

The 3D topology will dynamiclly identify the different ways to reach eneimes to organize an opposite flank assasult.

To position your camera properly.

Accurate world navigation is alos known as path finding , and it has become very useful for games developers lately.it helps to know where walls are located so that the non-player character does not walk into walls, and so that they can find their way around a level.

The two main catergories of world navigation are called,world navigation and local navigation,the difference between the two is just one of scope but most programmers address it seperatly,since it is easier to handle that way.

I think local would be more dynamic because of the charaters and the objects.

A flocking algorithm is something that stops NPC’sfrom bumping into each other because they are trying to get to the same destination,this means they all take the same path.A flocking algorithm allows some variance in the pathing to avoid this.

Peter molyneux suggested that AI will fundamentally alter the way games are designed, he thinks this because he wants the game AI to show character, personality and emotion.so thinks that all of this will changed the way games will be designed.

Jess Crable suggests that there can be too much realistic AI in games,  as he says too much realism can take the fun out of the game.He thinks there should be a good balance between the two, so the game can still be enjoyed ,but also be believable.

Chess can be considered an example of ‘emergent gameplay’, because there are a set of rules, but the game can get into all sorts of situations that the programmercannot deal with on an individual basis.

 

The sims is an example of emergent gameplay.

level Design

 Level design  

To be a games designer you need a tremendous traditional art or architectural experience, and a tremendous frame rate, game flow and pacing experience. If you can do both of these you are likely to succeed as a games designer, but if you can only do one and not the other then you are more likely to fail. The quality I value the most is tremendous traditional art or architectural experience because I think it is a lot more important to have that skill in the games industries.

A digital architect is a person who designs different architectures, produces it and finishes the products on a computer game.

Moore’s law will mean that digital architects will have to work even harder than before, since the expectations of detail in games engine are getting higher, the digital architects will be expected to keep up, and produce buildings which match up to the high standards of the game engines.

Level designers are thought as chefs or glue. They are thought as chef because they take different ingredients from different talented people and mix them into something special while following ‘‘recipe’’ of a design document. They are thought of as glue because they are becoming assets of the development team, they take every one else’s hard work and seem to be tying it together.

I think peer criticism is a good thing because you get someone else’s opinion on the matter and because you think critics are not as experienced as you are it brings a new perspective, and push you to try new things.

For a good level design its best if carefully plan on paper and improvise, I wouldn’t work as well if you only plan and not improvise, or if you only improvise and not plan.

                                                                                                 

Frame rate is important because it allows the game to run smoothly and at a right pace. If a team is creating an action game the frame rate would be fast, if it isn’t then fans of the certain series will reject it as they wouldn’t really see it as a action game because it runs slowly.

In conclusion to this here are the names of three level designers.

Richard gray –duke nukem

John Romero -doom

Paul baertone -halo

Animation systems

The disadvantages of using a mesh based system is that you have to move every single point individually within the mesh, also it has 200 polygons with 300 vertices.

The advantages of using a skeletal aniamtion system is that when you move one part of the skeleton the rest of it follows, this helps you to make your characters animations look more realistic.

skeleton-mesh.jpgThis a picture of a skeletal frame with a mesh on it.

 skeleton.jpg This is a picture of a skeleton used to animate characters.

To Weight each vertex individually means, the weight around the skeleton must be correct, as the mesh snaps onto to the skeleton,so the correct size of the weight helps the mesh move with the skeleton. if the weight was to small the skeleton would move but the mesh would stay where it is , causing the charater model to look deformed.

 Here is a link that helps to explain Hierarchical skeletal systems.

http://www.mysticgd.com/site2007/products/products.php

Hierarchical skeletal system works by having  a parent bone move in a certain direction and then the other bones follow to help it animate.

If a characteer were to pick up a weapon inverse kinematics would be used as it would require a child bone to lead after the parent bone , as the characters arm would be the  first thing to come into contact with the object.

An LOD (level of detail)system is something that helps maintain a realistic frame rate within a game ,it is need so that the frame rate does not mess and so that it will move as realistic as possible.there are many types of LOD systems , two of them are ‘messiah’ and sacrifice,but they are not cheap.you have to be sure that  LOD system are not taking up time trying to work out which polygons to render, compared to rendering  everything.

Mocap stands for motion capture and its when you get real people to act out a scene to use in a game , while filming them with motion capture suits on (suits with white balls on them), games like heavenly sword or metal gear solid used them to help them with cutscenes.

Its possible to utilise ‘fast fluid aniamtions to decrease the polygon count in a scene .A game taht hab sdone this NFL Blitz.

There are amny level craetion tools, like 3Ds max , Maya and QERaidient.

3Dsmax

   

Maya

QERadient

Lighting

An API (application programming interface) is a initial interface between an application and hardware.it tells device drivers what programs it wants to do.there has been different API’s for all sorts of software and hardware, but for the the graphics in the PC games nowdays they are made using only directX or openGL.

The three forms of lighting offered by open GL are per polygon, per vertex and per pixel lighting.Vertex lighting determines how many polygons are touching one vertex and then it takes the mean or average of the resultant polygons orientations (normal)and then it assigns that normal to the vertex.

 

The advantages and disadvantges of vertex lighting are, it  increases the realism of the scene most currnet API’s and CPU’s offer (hardware lighting(t&l)or transform and lighting),they are the first two of the four major steps a GPU computes in the 3D graphics pipeline.The transform engine converts 3D data from one frame of reference to a new frame of reference,the frames of references are world space (includes everything,position and orientation for all items is needed to calculate transfomations into screen space),screen space(the view presented to the user) .the system must transform the data to the current view before performing(lighting , triangle setup and rendering) .Lighting is the next step in the 3D pipeline and it provides high visual impact.lighting effects enhance the realism of a scene .so you can define light sources and surfaces properties, but only per vertex local models can be applied directly in todys hardware , therefore real-time ray tracing or radiosity is not performed automatically on the hardware.

 If you wanted to illustrate the shininess of a object in a scene you would use a Phong shader, it is more expensive than the Gouraud shading but it gives you the best results.As it allows effects like specularity(shininess).

                                                               

      gouraud                phong

                                                                                                                                                         

      

      facet             gouraud           phong

A light map is a second texture map, which you blend with an existing texture to create a lighting effect, for example sunsets or moonlight within games.Game producers still use light maps because it allows per pixel quality at a resonable cost, and when it is teamed up with a radiosity pre-processor you get good results.They also render quickly.Light mapping is also used in half-life 2.

Heres a link to a website that talks about light mapping.

http://www.flipcode.com/archives/Light_Mapping_Theory_and_Implementation.shtml

culling methods

 Culling methods 

Three hundred thousand triangles pose a problem for game coders because, they cannot handle these triangles in the view of a current 3D card and still maintain 60fps.since the card cannot handle it some coding has to be done in order to remove the polygons that are not visible, before handing them to the card. By culling the non-visible parts of the 3D world a game engine can reduce its work load quite a lot.

The difference between marketing and real world polygon rates is that, marketing polygon rates are the rates that the card can achieve theoretically, .e.g. how many polygons can it handle if the are all on screen.  However in real gaming situations the application is often doing many other things in the background, .e.g. doing the 3D transforms for the polygons and then lighting them. 

  

The lowest rendering unit that all graphic cards use is, (which is for almost all hardware) is a three point polygon /triangle. Newer cards like ATI cards allow you to render mathematically, this is called higher –order surfaces. Since it is not standard against all graphic cards, you can’t really depend on it as a rendering strategy.

  

There are advantages and disadvantages of using a higher- order surface like patches. The advantages are they are very useful because they describe geometry with a mathematical expression. The disadvantages are that you have to decode all of it in the first place and build meshes.

Two types of occlusion culling techniques are

  1. binary space partitioning trees
  2. portals

These techniques are used for the same reason, which is to eliminate unnecessary work early.

    

The five stages of the basic graphics pipeline are,

  • The game determines what objects are to be put into the game. .e.g. (what models they have ,what textures they use, what the animation frame is ,and where they are located  in the game world. It also determines where the camera is located and the direction it is pointing.
  • The game passes the information to the renderer. With models, the renderer might first look at the size of the model and where the camera is located, and then it will determine whether or not the model is onscreen or if it is to the left of the observer, behind them or in the distance where it is not visible.
  • The world visualization system determines where in the world the camera is located, and what section s polygons of the world are visible from the camera viewpoint.
  • The renderer transforms the polygon according to local mathematics (is the model animating?) and world mathematics (where is it in relation to the camera), and then it examines the polygons to determine if it is back -faced or not. The ones that are back-faced are discarded and the ones that aren’t are lit, according to whatever lights the renderer finds in the vicinity.
  • The renderer looks at what textures the polygon uses and ensures the API/graphics card is using the texture as its rendering base.

 Basic graphic pipeline flow chart  

Game looks at what objects to put into it

         

Game passes information to the renderer

    

Visualisation system determines where in the world the camera is located

    

The renderer transforms polygons according to mathematics

   

Z- Buffering influence on the rendering of polygons that have transparency in them, they have to be rendered after all of the non- translucent polygons are done, so that whatever is behind them can show up correctly in the scene. These polygons would have to be rendered back-to-front.

                                                                            

 To examples of API’s are hardware –accelerated transform, and lighting. This is now commonplace in 3D cards. Transforms allow the 3D card to render the polygons of whatever you are trying to draw at the correct angle/ place in the world to where your camera is pointing at that moment. Lighting operations work out how bright textures colours need to be depending on how light in the world falls on a vertex and from what angle it is.

The benefit game developers have while using patches is that they describe geometry with a mathematical expression rather than just listing out masses of polygons and their positions in the gaming world.

retesselation is when an ATI takes a triangle-based model and converts that model to one based on higher-order surfaces to smooth them out,and then convert it back to a higher triangle -count ,with about ten times as many triangles as before.

importance of a renderer

The importance of rendering Without rendering it is not possible to see anything you are doing when creating a game. It helps to visualise the scene for the player/ viewer so they can make the right decisions based upon what is displayed. The renderer is where over 50% of the CPU processing time is spent, and is also where game developers will often be judged. If someone gets it wrong the whole company would become a laughing stock of the games industry. Acronym or ‘‘API’’ stands for application programme interface, this is one of the things that helps to get pixels on a screen these days. For consoles this knowledge is also necessary. It’s more difficult to build a renderer for a PC because it does not at allOver the lifetime of a console, also a consoles hardware configuration is a frozen snap shot in time unlike a PC so this makes it easier to build a renderer for a console. 

 Vertices are 3D objects stored as point in a 3D world, which has a relationship towards one another. So that the computer knows to draw lines or fill surfaces between theses points in the 3D world.  It is possible to replace a renderer in a games engine with a new one and not touch a line of a game code. Many cross-platform engines .e.g. the unreal engine do just that, .e.g. the renderer model for the game cube version can be replaced. Anti-aliasingwhat anti-aliasing does to pixels is, blur the edges of a new polygon so that you wont get jagged pixels,that would normally be visible.

A 3D card has two ways to generate anti-aliased images.The first way is at the individual polygon level, where you have to render polygons back to front,so its possible for each polygon to blend with whats behind it.If it is rendered out of orderyou might end up with some strange effects.The second way is you render the whole frame at a much larger resolution that you intend to display it.once you scale down the image sharp jagged edges tend to blend away.

The pros and cons of the first approach ,of anti-aliasing are,once you render the polygons back to front, each polygon blends with whats behind it, but if you render it out of order it will mess up.

the pros and cons of the second approach, of anti-aliasing are,once you render the frame and then scale it down you get nice results,but it requires a large memory foot print and a lot of memory bandwidth.

 fogging

fogging is handy for fading out the world in the distance so you don’t see models and scene geography showing up in the distance, as they come within visual range crossing the far clipping plane.

A clipping plane is where it restricts the contents of a rendered image based on the Z coordinates of objects,there is both a front clipping plane and a rear clipping plane,objects closer to the camera than the front plane are not rendered and objects further from the camerathan the rear plane also are not rendered.

 

volumetric fog is considered to be an object that you can see,travel through and passout of the other side, with the visual fog levels changing as you move through the object.

A read -modify -write operation is when you retrive a pixel that is already there, then mix in a new pixel and put  the resulting blended pixel back in the same location.

There are two types of blend modes,Alpha blending and Additive blending. Alpha blending adds a percentage of the background pixels to an inverse percentage of the new pixel.Additive blending takes a percentage of an old pixel , and adds a specific amount of a new pixel rather than a percentage.

Bitmap

bitmap images or raster images are based on a grid of  small squares known as (pixels).each of these has a certain location and colour value to it.when using it you must use a certain operating system when saving files in the format.they are a type of memory or image file format used to store digital images . The word bitmap is a compter programming term, which just means a map of bits.Bitmap graphics can represent subtle gradations of shade and colour.the problem with bitmaps is that they represent a fixed nuber of pixels, so they become jagged and appear loose if it is rescaled to a bigger size or displayed on a screen at a higer resolution, e.g. 

 

although bitmaps images are suitable for artwork created painting programmes,and for photographs,vector graphics are clear and crisp at any size or resolution,so therefore are suitable for things like line art and graphics, that might need to be scaled.e.g. logos and maps.Personally I think vector images are better than bitmap images.

jpeg or(jpg) which stand for joint picture experts group. Are files that compress photographic or natural images of up to 24-bit colour. jpeg are considered as a ”lossy” format, which means it must downgrade its image quality slightly by removing small pieces in order to reduce its file size.

 MPEG -moving pictures expert group,it is a video format which compresses file sizes,to do this it has to get rid of frames and it changes the quality of the video.

Gif (graphics interchnge format) is the most common type ogf graphic formats found on the internet, and the best online format for illustartions.it compresses and stores graphic files for quick transfer and is best for solid colour graphics like  clip art , and logos. most of the buttonsand icons you encounter while making a website are in Gif format. Gif files are smaller and easier to transfer than most other formats, but are not the best way to store images like photographs, which usually contains more than the 256 colours that a Gif format is capable of handling.

PNG stands for portable network graphics, its a bitmapped image format that employes ‘ data compression’. it was created to improve and replace the GIF format. PNG’s support 24- bit colours and greyscale images.the PNG fomat was designed for transferring images on the internet,that were not professional graphics. therefore it does not support other colour spaces such as CMYK.

Tiff stands for tagged image file format, and it is a container format for  storing images like photographs and line art, it is a popular format for colour and black & white images. Tiff is quite a flexible file format, it can handle lots of images and data in a single file through tags in the file header.

PSD stands for photoshop document,its a format which stores an image wioth support for most imaging options avaliable in photoshop.These include layers with masks, colour spaces ,transparency , text ,etc. photoshops popularity means that this format is widely used , and is supported to some extent by most competing software like,PSB(photoshop big) and PDD(photo deluxe document).

EPS -encapsulated post script,is a postscrip document with some restrictions intended to make EPS files usable as as a graphic file format. An EPS file contains a DCS comment, describing a  rectangle containing an image described by the EPS file, applications can use this information to layout a page.

AI-Adobe illustrator is a file format developed by adobe systems, which represents single paged vector - based drawings in either EPS or PDF formats.Newer versions of this file format, including PDF based formats and recent EPS formats are based on an old format called PGF.

 colour space

grey scale images are digital image where each pixel is a single sample, these types of images usually consist of shades of grey .Greyscale images are different from black &white images, computer imaging are images with only two colours ,black & white,whereas greyscale images has many shades of grey in between.greyscale images are stored with 8bits per sampled pixel,which allows 256 shades of grey.

 

RGB-Red, GREEN, Blue is quite a useful colour model for computer graphics,  one of the most commonly used is adobe RGB.each colour of light can be characterised in a three-dimensional space.

 

 

file extensions

a file extention is a suffix to the name of a computer file, it is applied to indicate the file format of its contents. for example if you  had a word document the last three letters would .doc,because of this you can tell that it is a word document before you even open it.

what is a games engine?

A games engine is the core software component of a computer game or of an interactive application with real-time graphics. This provides the underlying technologies; it simplifies development and can make the game run on multiple platforms. The core functionality typically provided by a games engine includes a rendering engine or(renderer)which is for 2D or 3D graphics, physics engine or collision detection, sound, scripting, animation, artificial intelligence and cut- scenes. The most common thing that a games engine provides is the graphics for 2D and 3D games.Engines that only provide real-time 3D graphics are called 3D engines, also many games engines are created for other purpose than games.

 history

 The term games engine came around during the mid-1990’s, in connection with 3D games such as first-person shooters (FPS). some of the popular FPS ’s ,like doom or quake, weren’t made from scratch. other developers licensed the software and designed their own graphics ,characters weapons and levels.The term games engine may have first been used in the 1990’s ,but there are a few earlier systems in the 1980’s that were also considered as games engines. such as sierra’s AGI and SCI systems.

 

2D engines

2D computer graphics are mainly used in applications that are normally developed from painting and drawing technologies,for example typography ,cartography ,technical drafting and advertising.With these applications 2D images are not just a representation of a real-world object,its an independent object with additional properties, So 2D models are preferred , because they give a more direct control of an image than 3D computer graphics,this is because that approach is more like photography than typography.

 

 

 

 

 

 

 

Hello world!

Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!