Thursday, 29 May 2014

3D LEVEL (link to level at the end)

Week One

In this week my tutor explained to us that the new project will be 3D and any type of game we want it to be, we got to choose which path we wanted to take between designer and artist.
Designers would be creating the concept idea for the game and develop the game-play mechanics.
Artists will be in control of making models, textures and animations.
For this first week my tutor told us that we had to present our ideas in front of the class, i chose Designer.
So i came up with a story and game-play mechanic i will link this into my blog.


 I made this presentation for the presentation date.
 I looked at games such as God of war for their style of their old civilization environment with the godly look to it. but at the same time god technology infused with the old look. To come up with these ideas i looked at other games which has used the God theme.

 Week two 

After the artists showed us their model/texture/animations, the designers went and we pitched our ideas but my tutor only wanted 5 projects that went through for everyone to work on. After break he crowed us round and showed us what concepts got through to the development stage, unfortunately my idea didn't go through to development, i understood why because i didn't talk much about the game-play much because we didn't have enough time to present our ideas. I tried to get people interested in the story and hope the rest will follow. So i got put into a different game with Kyle, Anna, Anthony, Adam and William.
We sorted out the role what we will be playing in this group I will be designing the first level which will be a prison with different stages you can take a lift (teleporter) to other destinations in the building, Kyle is designing the second level which will be outside.
Anna is creating the robot and animating the robot, Anthony is making the prison assets with William, Adam is creating the outdoor assets and the security assets.
We had group meetings to further develop the game and how it plays and how it will look.
Assets we all thought about are

Power conduit

Me and Adam had a discussion about how the power conduit will work i didnt want to have a fuse box in the end because if you break a fuse box it will kill all the lights in the building so i tohught something for the lights in the prison cell would be better. We have looked at different designs and resources from the internet to create a design for the futuristic conduit.

Tables and chairs

Ant and me searched for different prison table types such as the dining tables and office tables.
We looked at them and looked at how they were aesthetically and transform them and give it a futuirstic approach.

security panels

Me and Adam looked at a few security panels thorugh the interwebs :D, we though tthey were pretty boring so we looked at already existing panels in games such as fallout's and deus ex's, so Adam used that as resources and evidence to make his own security panel.

textures

Unfortunaely no one has opted in to create textures.

prison bars

Prison Bars was pretty simple so i can do it myself in UDK with the glow effect and create multiple cylinders for it.

Week Three

Me and Kyle discussed the designs for the first layout of the map where the corridors, rooms assets will be.
Me and Kyle started to draw out the map and I started to layout the map and add game play mechanics to it as we developed it such as; to get out of the prison you had to figure out how to shut off the energy bars. Here are a few drawings of the map.




These were a few of the room shape designs and a couple of different shaped corridors we weren't sure on which one to use but i would like to go with a basic shape square but maybe have the square points cut off to make it more dynamic and a better design i have drawn a few more detailed maps where things will fit and where the rooms will appear in the map.


This is the main concept of the map and show where the assets will appear in the game after I created map schematics in Photoshop from these drawings and tidied it up.

After all of this was created our group had to present what we had developed into one presentation we took our own turns to develop and show what and how our game will look and play like. I also have started a script at the end of this week but it wasn't finished.

Week four

In this week i have finished the script of the first level i am designing which wasn't very hard i think i did that quite well because he is just telling the player what you need to do or give you hints on what to do which will point you in the correct direction and you will play through trying to remember what happened to the character you are playing. 
I have started to draw different corridor designs to help show what i would like the corridors in my game to look like, i had to have a few tutorials on 3D aspect drawing because i have not done them before so i did the tutorials with my tutor and watched a few on YouTube. These are some of my designs and attempts at 3D aspect drawing i found it very fun but difficult at the same time. 







These pictures are how i progressed through different designs and to see if i liked the shape and i came up with the square corridor but with the corners cut to make it look like a wide hexagon shape type corridor with thin strips of light running through the walls and ceiling because in a futuristic game i thought they wouldn't have dangling lights like what we have in our present day.
Now i have been blocking out my map and it is hard to get the correct measurements to keep everything equal such as all the separate cells the same size by using the blocking out method... honestly such a drag.. but also fun :D, at this moment in time i have only built the prison building with the corridor and fuse box which will be the starting area for he game and you will diverse through the prison with little light.

Week 5

In this week I was writing out my report given to us by our tutor, i wanted to kill myself....
But i got started and planned what i was going to write with sub headings to specify what im talking about. I also have finished blocking out my level so its ready to be textured and add objects like tables, lights etc.
But going through my levels i have came across various problems like when i wanted the floor to be slanted so i can add stairs it would kill the character and you are unable to diverse the rest of the level. this is what the level looked like.
As soon as you got to this point in the pictures above you would die.
So to fix this problems i deleted this part of the level and carried on without the stairwell and created everything flat. I also had lag because of the two floors being next to each other which caused the frames to drop, i have no idea why. so i just got rid of the other floor too.
After this problem everything else went quite smoothly :D.
Another problem i was blocking out each seperate cell and it didnt touch the ceiling and there wasnt enough space to put a bed and toilet in the prison cubicals. So i deleted the prison cells and restarted and realised how much time a could save if i join the cells together instead of making each individual cell. So i scaled the blocking box larger so i could get a lot of cells in using the one wall

In this picture above this is how i saved myself some time because i was developing each cell sererately.

Week 6

In this week i was eager to have my textures on my walls and have my lights but no one was designing them or developing them, so me being amazing and all i created myself a model of the light i want which trims around the near bottom of my walls, here is what the model looked like.
This is all i wanted from my artists but oh well, This was created from a whole cylinder, i cut half of the cylinder and filled the open half of the semi-cylinder huehuehue, i now have my beautiful trim light.
so i saved it as an FBX so i can import it through to UDK.
So i imported it into UDK and had it in the external packages, i then wanted to make it an actual light source with a glow to it, i did this by right clicking in the spare content space in the content browser in my external packages and creating a new material i can add on to this amazing model! that took around 2 mins :D.
To get this into UDK i just selected my light and changed it to get it to an FBX i just exported out of maya and selected to export it as an FBX, then I clicked the content browser on UDK and then clickedimport



Then afterwards, I created my own Light glow for it. To do this I right clicked in my own package and added a material shown below.


Then in the material editor i held 4 and clicked to get a 4 coloured pallet like so

Then i double clicked the black box in the middle to choose the colour i wanted which was a blue type colour and then linked it to diffuse because this will be the main colour that will be changed into the glow. After i created another box with only one available colour to do so i held 1 then clicked on the open space and gave the r value 1.0 which will be a white colour and linked that to emissive so all of this now will make a blue glow.
Here is the link to my game https://onedrive.live.com/redir?resid=1EBEDE5065351BF0!134&authkey=!ACuzE7lvBexep-0&ithint=video%2c.mp4

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.