Wednesday, 2 April 2014

Report



Purposes of game engines

A 2d engine obviously is an engine that creates a game in 2d, a game engine commonly used for 2d development is construct 2 it is a powerful HTML5 game editor. The purpose of this 2D game engine is it be be very easy to use without having to do all the coding  It is really easy to use it’s just  a quick drag and drop anything into the level, add behaviors (behaviors give the object a meaning so if you give a solid behavior to a small shape you can walk on it and use it for a path or wall) and add events (Events gives everything a motive such as an elevator or a floating platform so you would use an event for that certain object and tell it to go up and down every 5 seconds to give the player a chance to use it easily). Events are made by choosing a condition such as if you walk across a certain collectible like a coin and action is applied like a counter will go up for the character like a score.  It has a good layout editor which provides ‘what you see is what you get’ visualization on the design of your level. Everything is customizable, you can drag, re-size, and rotate objects, and visual effects can be applied. Objects can be organized on different layers for better arrangement; this allows parallax and blending effects. There is a built-in image editor which makes quicker edits to your graphical objects.
Throughout this program you will be a great problem solver because you can come across problems such as dropping floors on have no collision on walls are very simple to correct by giving it a behavior called solid this makes the floor/wall collision so you can fall or walk through the object.
Game play in this engine is known as a platform games which is a game which includes controlling a character to move between platforms which could be far and wide by jumping to them or even jumping over obstacles or even dodging them by moving through the platforms, In a 2D game engine you can easily make platform games that have an action-adventure, action RPG, stealth, survival and beat ‘em up genres. Platform games are mostly side scrollers, side scrollers are game that have you moving to the side of the screen as the camera moves with you through the background.
Sprites in the art side are computer graphics in a 2d image made out of pixels or vectors. this is a simualtion of sprite images that are linked together to form the animation simulation like a jump or running cycles or any type of movement you see in 2D games.
Bitmaps  is a domain that is a rectangle which is indexed by two coordinates and has pixels with two colours such as black and white. Bitmaps and sprites are created by the pixels that have been drawn together to make a form that conveys an image and shows the animation.
Vectors is a graphical geometric primitive which has points. cruves, lines and other shapes and is based on the mathetical side that represents images in computer graphics.
 Examples:
Action-RPG & Action-adventure: Final Fantasy has made many 2d role playing games on hand held consoles. The game-play to this game was diverse because as you progress through the game you can sell and buy items which will empower your characters, you can make different characters powerful by using your skill points which allows you to develop a character to become better for the rest of the game because as you progress it will be harder to kill enemies, you can explore dungeons and other towns to explore more of the story and gain more gold and loot which again will empower your character. All of this is implemented in a 2D engine by creating events as you walk through the wilderness and every certain amount of steps you will encounter enemies to make the game interesting this event is quite easy by going to the event sheet adding an event set the character steps to the event and add an action every certain amount of steps with start the process of that event so after those amount of steps you will go into a fight.
To give your characters animations you must make them or if you have it already you can import it through you obviously have to have your character to make your character you right click on the page insert new object and then click sprite, you should then have an edit image page come up, if you already have your design of your character then import by opening it in the edit image box, after you imported your character an animation box will appear and you can import you already made animations by right clicking inside and add animation this will bring up an extra animation icon so you rename it to the animation you want to import such as walk cycle and then make sure it is a gif then import frames and your whole animation should be their ready to use. To get this to actually play you must set an event on key press simulate walk cycle animation.

A 3D engine is of course a game engine that uses 3d assets to design 3d environments.
A well known 3D engine is of course UDK (Unreal Development Kit), it is a free engine that has a good toolset such as: Game development, architectural visualization, mobile game development and 3D rendering. The purpose of making this engine is to be easily used because the tools are easy to find and everything is already coded. In UDK  you can go into the asset library and then drag and drop (just like construct 2) the assets you want and rotate or flip them with the tools. Collisions are already implemented on the assets. It also has kismet which is an interface which allows you to perform actions in a game engines without creating a script. Another good aspect of UDK is matinee it is a type of tool for key-framing sectors of actors in the scene over time. 
The purposes of these game engines are to be used over and over again for development of games of their own unique development tools, the tools are simplified to provide an easy integrated development environment, in this case it is a fast development process to develop a game. Engine developers created robust software for an easy re-use engine and holds elements a developer will need to create a level, this is known as 'pre-inventing the wheel'.
Some game engines contain functions that makes development a walk in the park (easy), these include AI, sound, graphics and physics. The game engines mentioned above are called middleware as i described before they are already make engines for an easy re-use system to create games which hold functions all in one. As an industry this would save time and money for creating new games so they can battle other industries for popularity and growth for that industry.

Functions of components of game engines

Rendering
Rendering is a strong component in a game engine. It is known as real-time rendering, it creates a fast synthetic image on the computer/console so the player can interact with the set environment. Real-time rendering has a rate that displays games and is measured in frames or hertz. Its a measurement of how fast an image device creates images consecutively. So as you play on the pc and you have slow movement time and feels liek its 'lagging' your computer can now withstand that game and is fairly hard to play. On the contrary if you are running the game fine without any 'lag' then your computer can process the consecutive images with ease so you can play without any problems.
There is an architecture of the real-time rendering which creates the foundation of real-time graphics, which is also known as a pipeline, here are the stages:
Application stage - This is creating a base filled with simple images, that further on builds bigger into a better image. The 'application' is used in the software giving developers control over the implementation to change the performance.
Geometry stage - This is a stage that computes what is to be drawn, how it should be drawn and where the locations of the drawings are.
Model and view transform - Before the final model is shown, it is transformed into several different spaces. So if a model has been moved or manipulated, the objects vertices will be transformed.
Lighting - To make the model have a realistic look, a light or a few lights are used to the model.
Projection - There are two differential types of projection perspective and orthographic. An orthographic is 2D space but which a representation of a 3D model. A perspective drawing is a projection on where we see things from our eyes or where a camera is placed to show how far away or how close it is.
Clipping - This is a process of taking away primitives that are outside of the view box so it can complete the rasterization stage, if the primitives are outside of the view box (in our case screen) they are removed or 'clipped' so we cant see them.
Screen Mapping - Screen mapping has it in its name, it suggests that it finds out coordinates of the primitives that are to be on the inside of the view box in the clipping process.
Rasterizer Stage - Once all the other steps are completed from the stages and elements, it is ready to enter the rasterizer stage. rasterization is described as turning all the elements into pixels and adds color to them.

Animation
There are types of animation but I will be talking about CGI animation this process used for implementing the images and animated images by using the computer graphics. Animation is a important part of the components of games because it is used for the movement of characters: The walking, attacking, deaths, jumps etc. These are all types of animations that have to be developed in an animation software, a known software is AutoDesk Maya, This software allows you to rig and animate the game character models so you can create the aniamtion sets like the walking animation. These will be in different cycles so you can pick and choose between them and easily access them. Another good way of animating now is motion capture, in this process you record movement of objects or people. in game development it records actions on human actors, using that information to animate digital charcter models in 2d and 3d animation. You can use this process for animating faces easier a good game to show this would be Infamous Second Son, Delsin the character was Troy Baker and he was used in the motion capture project to get all the expressions and lip sync for the game. Here is a link to the video and develpoment process http://blog.us.playstation.com/2013/06/05/inside-sucker-punch-the-tech-of-second-son/

System (particle, physics, sound)]

Particle system - This is a computer graphic technique that uses a large number of small sprites and other graphic objects to simulate different types of phenomena s. A few commonly used in the particle system is fire, smoke and explosions, water and how it flows and waves when touched, clouds, fog, snow etc. So the particle system is very efficient and easy to use and a lot faster then to animate it yourself through maya, you would have to create your own small sprites (particles) and then animate a simulation in every small detail, but to make this a quicker process 3dengfx is a software for easy use of paricle animation/simulation.
Physics System - This system is to do with the physics in games, a well known physics engine is havok, havok has had many many games used its engine and is an amazing software, a recent game used the havok engine is dark souls 2, This engine contains Robust dynamics and constraint solving this supports a variety of rag-dolls and vehicles, battle-tested collision detection this will give us a continuous collision detection for environments, characters and vehicles, complete production-ready tool chain is an asset conditioning pipeline so you can use autodesk software and a visual debugger which displays and records on-target profiling and debugging data, also a real-time multi-threaded performance data.
The systems itself obviously explained above is the way bodies drop when you kill someone or if you drop an item it will fall to the ground different ways depending on the weight and size of the object everything is valued and read to show physics throughout the game, even when things explode you will see objects fly off in different directions because of the physics engines gravity calculations. The physics engine gives an approximate simulation of physical elements such as the rigid body dynamics, soft body dynamics and fluid dynamics.
Sound System - This is a system that controls sound, Sound such as an openning sound on a door plays as soon as you trigger the door to move, these can be changed in the 2d engine construct you set the action then while the animation or action is used it simulates the sound you want such as a gun, when you pull the trigger the firing pin hits the back of the round and makes an explosive sound.
Or when you walk you hear the sound of yur own footsteps when you get on concrete or if you change environment to grass it is silent.
AI, OTS middleware (havoc)

AI - AI (Artificial intelligence) is a simulation of another player or human-like behaviour, seen in games such as the Halo series playing on the hardest mode the AI makes it their ultimate mission to destroy you and use tactical monouvers to flank and kill you and your team. AI is an amazing aspect in a game which makes the game more interesting and harder to complete. Like fire emblem their AI are crazy tactical too, they tend to try and out smart the other players movements. AI can also be in NPC's for quests, say in Infamous second son you do a bad thing the AI is programmed to give you a bad reaction, when you become infamous in the game the citizens hate you and as you run past they scream and say bad things.
OTS Middleware - Off the shelf middeware is a ready to use systems such as physics engines, AI, the particle system and rendering, all of these are in the OTS middeware like UDK, it gives you everything in the game engine and as soon as your run the program you can do and use anything you want in it. If you want to add in enemies, just do it through the click of your mouse and set pathnodes so the AI can follow and use as their movability through the map. Physics are already implemented as soon as you click the play button on the level so if you jump gravity will pull you down because of the physics implemented, or say you die and your body will drop to the floor because of gravity and rag-doll in the middle-ware. rendering is no problem because it is already done in the engine when you add things to your environment. Particles are already in the UDK content browser such as gun pick ups have a glow effect and it spirals, or the teleporters energy particles around the warp zone.


Theory and applications of 3D


Hardware Technology 
At Cambridge University in the year of 1949, a man called Maurice Wilkes assembled something called the EDSAC, which was the first practical stored-program computer. But ten years before this Walt Disney Pictures brought the first technology Hewlett-Packards, only for the use of the sound effects generators for the 1940 movie ‘Fantasia’.
From three years before is when the ideas for this had developed out of the Moore School lectures he had.
For programming the EDSAC, Wilkes established a library of short programs called subroutines stored on punched paper tapes. With a Memory Of: 1K words, 17 bits, mercury delay line and a Speed of: 714 operations per second. From then on the army has developed a technology radar ''SAGE - Semi-Automatic Ground Environment'' Which was a technology used for monitoring radars with a light gun which from then on I guess the SEGA has copied the idea of the gun and used it as an arcade shooting weapon at 1930 and from then on the realism of our games have risen to make it more realistic by using the weapon actually to control in game shooting.  In 1974-78 the ‘HUD-HMountD’ was released. This was the very first device used in helicopters and jets for Applications which allowed cuing of weapon system and allowing the user to have a situational awareness and/ or cue weapons system to the direction his head is pointing. This was much better for the pilot as it was easier as they could make bore attacks without having to action a maneuver for the firing position or the location. This convinced the world that they wanted more real life games, which then came out tings such as MechWarrior 2. All these kind of games had the army training that was very real but could not be done so in real life as it was too dangerous.
Software
The software is the programs and other operating information used by a computer. For games the game engine is a piece of software developed by game studios which can be sold to make games and other applications. Game engines are intended to make everything with regards to game development easier. They do each have their own unique features, but generally they provide easy abstraction layers for graphics, audio, input, scene management, collision detection, maths and general useful utilities. It updates the game simulation live and outputs all graphics and audio within the games. It handles events that happen within the game but receiving game data. Human intelligence in hardware is become more and more evolved every year. This is why new computers are also coming out every year. Because of these new machines, programs are having to be re-written so they are able to run on them. The Unreal Engine: is a game engine developed by Epic Games, first illustrated in the 1998 first-person shooter game Unreal. Although primarily developed for first-person shooters, it has been successfully used in a variety of other genres, including stealth, MMORPGs and RPGs. With its core written in C++, the Unreal Engine features a high degree of portability and is a tool used by many game developers today. Unreal Engine 2 was released in 2002 in which featured an Unreal Editor which was a level editor which is used to create levels for Unreal.  After that came Unreal Engine 3, which was no only used for games but also for popular children television shows. 
Applications of 3D 
Most blockbusters that come out now are more than likely to be released in 3D. I guess it makes the audience more connected and involved with the movie itself or brings it to life. Watching a 2D movie is just as good but obviously you do not get the treat or the feeling of being closer to the movie itself as 2D is flat and does not come out at you. It’s very unlikely to have a movie come out in 3D if it’s not in 2D as well, but some films are an exception. For example movies like, Avatar or Star Trek come out in 3D but as some people can suffer from this technology its best for them to see it in 2D.
3D can also be used by Architects. I would say 3D views of a design for an Architect can be very important as they can see the length and height and all sides of the plan. Whereas if they just have 2D views they would be very restricted. They could use a software called Maya which is a 3D design program. 3D technology had actually helped the architects in constructing their buildings in CAD/CAM software to represent it to the customer and add or take away what they want and improve it or suggest his designs for their item. CAD and CAM assist engineers and designers in a wide variety of industries to design and manufacture physical products ranging from buildings, bridges, roads, aircraft, ships and cars to digital cameras, mobile phones, TVs, clothes and of course computers.
3D can also be used in other things such as Engineering. This is for a design of a vehicle. Like an architect they can plan for what they want their automobile or what not to look like with a finished 3D design. The modeling software’s are used at leading car manufacturers. They streamline the design cycle by reducing the number of prototypes needed during the design stage.
Autodesk Maya 3D computer animation software delivers an end-to-end creative workflow with comprehensive tools for animation, 3D modelling, visual effects, 3D rendering, and compositing on a highly extensible production platform. Autodesk® Maya® 2012 software delivers new features and toolsets for pre-visualization and games prototyping, extended simulation capabilities, and improved pipeline integration. It delivers viewport and sequencer enhancements, node-based render passes, editable motion trails, and a new library of 80 Substance procedural textures. Autodesk Maya commonly shortened to Maya, is 3D computer graphics software that runs on Microsoft Windows, Mac OS and Linux, originally developed by Alias Systems Corporation (formerly Alias| Wave front) and currently owned and developed by Autodesk, Inc. It is used to create interactive 3D applications, including video games, animated film, TV series, or visual effects. The product is named after the Sanskrit word Maya the Hindu concept of illusion. Maya is an application used to generate 3D assets for use in film, television, game development and architecture. The software was initially released for the IRIX operating system. However, this support was discontinued in August 2006 after the release of version 6.5. Maya was available in August 2008, when it was turned into a single suite. Users define a virtual work space to implement and edit media of a particular project. Scenes can be saved in a variety of formats, the default being .mb. Maya exposes node graph architecture. Scene elements are node-based, each node having its own attributes and customization. As a result, the visual representation of a scene is based entirely on a network of interconnecting nodes, depending on each other information. From playing something like ‘tetris’ to something like ‘infamous second son’ or ‘beyond two souls’, you can clearly see the impact.  3D software has a way of making games look and seem more realistic. The graphics are far better than they used to be.  Before, because games were 2D they appeared very flat. It’s not just for the environment but for the characters too. The way they interact with their environment is amazing. The reason the body movement looks so pretty is because of the use of motion capture. Because of the 3D, more shadow is casted from objects in the game, making it appear a lot more real.

Theory of 3D
3D modelling is creating 3D models using modelling software programs such as Maya, Autodesk and Zbrush. These programs can be very similar. For example, they all provide a large space for you to create your object, this different sides of the object are shown by the coordinates x, y and z, these coordinated show the height, width and length of the objects.  Rendering is the process of generating an image from a model and adding volume to it to make it more realistic and with more texture. Box Modeling is a technique or a method in 3D modeling software's again like Maya or 3DSMax. To create a primitive shape to create a draft of a final or pre released model. Which later can be evolved and development into a texture making software's such as Mudbox to create the feeling and realistic view of the model.  You can select faces and move them which ever direction you want them to go. You can also adjust the length and width of these faces. There is also extruding a face, which extends them and makes them longer. For a different selection, this would be the vertices. These are the corners of the polygon. These make it easy to adjust the polygon and move them to how you want it to look. Polygons are more flexible and faster to render, this is why most models are made using them. There’s also a thing called UV vertices used for the texturing of the model. These help position the texture how you want it on the model.




No comments:

Post a Comment