IG2 Assignment Brief


Assignment Brief
Qualification 
Level 3 Extended Diploma in Creative Media Production – Games Design
Unit number and title
Unit 70 Computer Game Engines
Unit 1 Pre Production Techniques for the Creative Media Industries
Assessor name
Iain Goodyear
Date issued
Monday 29th February, 2016
Hand in deadline
Friday 3rd June, 2016

Assignment title
IG2 2D and 3D Computer Game Engines
Purpose of this assignment is to:
Unit 70 LO1: Understand the purposes of game engines.
Unit 70 LO2: Understand the functions of components of game engines.
Unit 70 LO3: Be able to use a 2D game engine following industry practice.
Unit 70 LO4: Be able to use a 3D game engine following industry practice.
Unit 1 LO1: Understand requirements for a specific media production.

Unit 1 LO2: Be able to prepare pre-production documentation for a specific media production.

Unit 1 LO3: Be able to apply pre-production planning for a specific media production.
Scenario
You have started up your own Game Development Studio and your new product has sparked interest across the industry. You will formally announce your company name and game you are working on with multiple major publishers. Publishers will expect an in depth written analysis report on your process in research for game engines, including their purposes and functionality via Industry Terminology.
In addition to this, publishers have asked to view your game prototypes produced in Construct 2 and Unity. Publishers have also requested the development workflows to analyse your ability to develop a solid game prototype. This will have to include industry standard techniques and terminology before they can give you the funding for your product. They will ask you to look into the areas of:
·         Self-Analysis
·         Development theory and application
·         Technology Analysis and work plans

They also want you to develop a new prototype using the Unity 3D Engine while sticking to the same design process as the 2D engine. This should also include a thorough 3D workflow and design plan to support your prototype when presented to one of the publishers.
Task 1 – The Purposes and Functions of Components of Game Engines
You must produce a report to show case your process of thought on how you came up with the engine for your product; this includes looking at the purpose of game engines, functionality of game engines supported with industry terminology, analysis and research.
When evidence is produced it must be uploaded to your blog in the task 1 section. The title of this blog post is: The Purposes and Functions of Components of Game Engines

This provides evidence for unit 70 P1/M1/D1 & P2/M2/D2
Task 2 – Computer Game Production Budget
Produce a report & a budget that outlines the specific requirements for a computer game  production with supporting research & hardware/software costs:
·         Describe what job roles will need staffing (level designer, concept artist, asset artist & programmer) and be able to define the job responsibilities of these roles.

·         Equipment needed and daily costs (researched with links to hire or purchase software and equipment)
Produce a budget expenditure spread sheet in Excel that outlines expenditure to a budget of £4000 and what this will be spent on.
*Your budget and any company quotes & links must be evidenced on your IG2 blog using the following title: Computer Game Production Budget
This provides evidence for unit 1 P1/M1/D1
Task 3 – Computer Game Planning
Produce content specific pre-production planning for your chosen 2D game & 3D arena level design idea.
This should include a broad selection of the following:
·         Initial concept art work
·         Draft and final asset designs
·         Draft and final level designs
*Your pre-production & planning evidence must be uploaded your IG2 blog using the following title: Computer Game Planning
This provides evidence for unit 1 P2/M2/D2
Task 4 – Using a 2D Game Engine
This task must include an understanding and playable 2D level to industry standards using the Construct 2 engine. Evidence for this task should also be accompanied by an extensive 2D workflow that showcases the ability to adhere and develop to industry level standards.
You will need to produce a short desktop captured video to evidence your 2D game in play.
*When evidence is produced it must be uploaded to your blog in the task 4 section. The title of this blog post is: Using a 2D Game Engine                                                                                                                                                                       
This provides evidence for unit 70 P3/M3/D3 & unit 1 P3/M3/D3  
Task 5 – Using a 3D Game Engine
This Task must include an understanding and playable 3D level to industry standards using the Unity 3D engine but should also be accompanied by an extensive 3D workflow that showcases the ability to adhere and develop to industry level standards.
You will need to produce a short desktop captured video to evidence your 2D game in play.
*When evidence is produced it must be uploaded to your blog in the task 3 section. The title of this blog post is: Using a 3D Game Engine
This provides evidence for unit 70 P4/M4/D4 & unit 1 P3/M3/D3 
Evidence checklist
Task 1: 1 x completed purposes and functions of components of game engines analysis worksheet.
[ ]
Task 2: 1 x job role description document for level designer, concept artist, asset artist & programmer. 1 x computer budget research document detailing costs of hardware and software needed to produce a computer game with supporting images and URL links. 1 x completed excel budget sheet detailing costs of hardware and software needed to produce a computer game.
[ ]
Task 3: Evidence of produced concept artwork, final asset designs & final level designs uploaded in jpeg format.
[ ]
Task 4: 1 x workflow detailing the process of producing your 2D game in Construct 2. 1 x 2D gameplay video.
[ ]
Task 5: 1 x workflow detailing the process of producing your 3D arena level in Unity. 1 x 3D area level walkthrough video.
[ ]
Sources of information




Task 1 The Purposes and Functions of Components of Game Engines

Name: Ben Ankers

RESEARCHED DEFINITION (provide short internet researched definition and URL link)
DESCRIBE THE RELEVANCE OF THE RESEARCHED TERM TO YOUR OWN PRODUCTION PRACTICE?
IMAGE SUPPORT (Provide an image and/or video link of said term being used in a game)
VIDEO GAMES / VIDEO GAME TESTING
Demo
A game demo is a freely distributed piece of an upcoming or recently released video game. Demos are typically released by the game's publisher to help consumers get a feel of the game before deciding whether to buy the full version.
https://en.wikipedia.org/wiki/Game_demo
When creating my games i used demo's of the game to play the game and improve it by learning how it plays
Beta
A beta test refers to the distribution of pre-release game software to a select group of people so that they can test the game in their own homes.
https://www.techopedia.com/definition/27136/beta-test-gaming
When creating my games i had beta versions of the games that were not complete although i wouldnt consider it a beta.
Alpha
The alpha phase of the release life cycle is the first phase to begin software testing (alpha is the first letter of the Greek alphabet, used as the number 1). In this phase, developers generally test the software using white-box techniques. Additional validation is then performed using black-box or gray-box techniques, by another testing team. Moving to black-box testing inside the organization is known as alpha release.
https://en.wikipedia.org/wiki/Software_release_life_cycle
I consider this the same as the beta as i didn't think about these as i didn't distribute my games.
Pre-Alpha
Pre-alpha refers to all activities performed during the software project before testing. https://en.wikipedia.org/wiki/Software_release_life_cycle
This is the same as the alpha
Gold
The term "release to manufacturing", also known as "going gold", is a term used when a software product is ready to be delivered or provided to the customer. This build may be digitally signed, allowing the end user to verify the integrity and authenticity of the software purchase. A copy of the RTM build known as the "gold master" or GM is sent for mass duplication. RTM precedes general availability (GA), when the product is released to the public. https://en.wikipedia.org/wiki/Software_release_life_cycle
When i completed my games i "released" the game when i submitted them for grading.
Debug
Debugging is the routine process of locating and removing computer program bugs, errors or abnormalities, which is methodically handled by software programmers via debugging tools.
https://www.techopedia.com/definition/16373/debugging
I played through my games and fixed bugs throughout my game.
Automation
IT automation is the linking of disparate systems and software in such a way that they become self-acting or self-regulating. 
I used an automation in Photoshop to create various contact sheets.
White-Box Testing
White box testing is a testing technique that examines the program structure and derives test data from the program logic/code. The other names of glass box testing are clear box testing, open box testing, logic driven testing or path driven testing or structural testing.
http://www.tutorialspoint.com/software_testing_dictionary/white_box_testing.htm
I have not used White-Box testing in my productions
Bug
A software bug is an error, flaw, failure or fault in a computer program or system that causes it to produce an incorrect or unexpected result
https://en.wikipedia.org/wiki/Software_bug
I have encountered various bugs when creating my games.
GAME ENGINES

                               









GAME ENGINES



Vertex Shader
Vertex shaders are the most established and common kind of 3d shader and are run once for each vertex given to the graphics processor. The purpose is to transform each vertex's 3D position in virtual space to the 2D coordinate at which it appears on the screen (as well as a depth value for the Z-buffer)
https://en.wikipedia.org/wiki/Shader#Vertex_shaders
I dont think that i have used this in my projects
Pixel Shader
Pixel shaders, also known as fragment shaders, compute colour and other attributes of each "fragment" - a technical term usually meaning a single pixel. The simplest kinds of pixel shaders output one screen pixel as a color value; more complex shaders with multiple inputs/outputs are also possible
https://en.wikipedia.org/wiki/Shader#Vertex_shaders
I dont think that i have used this in my projects
Post Processing
The term post-processing (or postproc for short) is used in the video/film business for quality-improvement image processing (specifically digital image processing) methods used in video playback devices, (such as stand-alone DVD-Video players), and video players software and transcoding software. It is also commonly used in real-time 3D rendering (such as in video games) to add additional effects.
https://en.wikipedia.org/wiki/Video_post-processing
I dont think that i have used this in my projects
Rendering
Rendering is the process of generating an image from a 2D or 3D model (or models in what collectively could be called a scene file) by means of computer programs. Also, the results of such a model can be called a rendering
https://en.wikipedia.org/wiki/Rendering_(computer_graphics)
I have rendered 3d models that i have created using blender.
Normal Map
In 3D computer graphics, normal mapping, or "Dot3 bump mapping", is a technique used for faking the lighting of bumps and dents – an implementation of bump mapping. It is used to add details without using more polygons.
https://en.wikipedia.org/wiki/Normal_mapping
I have used this in my 3D arena level, although i did not like how it looked. it gave the walls more depth but it looked too shiny 
Entity
 In a database, anything about which information can be stored; for example, a person, concept, physical object or event. Typically refers to a record structure.
http://www.yourdictionary.com/entity


I dont think that i have used this in my projects
UV Map
UV mapping is the 3D modeling process of projecting a 2D image to a 3D model's surface for texture mapping.
I have used this to texture my 3D arena level to give is a better look
Procedural Texture
A procedural texture is a computer-generated image created using an algorithm intended to create a realistic surface or volumetric representation of natural elements such as wood, marble, granite, metal, stone, and others, for use in texture mapping.
https://en.wikipedia.org/wiki/Procedural_texture
This was used in textures for my 3D arena level to give the walls a more natural look.
Physics
Computer animation physics or game physics involves the introduction of the laws of physics into a simulation or game engine, particularly in 3D computer graphics, for the purpose of making the effects appear more real to the observer.
https://en.wikipedia.org/wiki/Game_physics
I have used physics in my 2D platformer game to make the character fall
Collision

Collision detection typically refers to the computational problem of detecting the intersection of two or more objects
https://en.wikipedia.org/wiki/Collision_detection
This was used in all of my projects to make it so the character cannot leave the boundaries of the level and so that they could not go through walls.
Lighting
the way light falls upon a face, object, etc.
http://www.dictionary.com/browse/lighting
I used lighting in my 3D levels to make the level more visible.
AA – Anti-Aliasing
In computer graphics, antialiasing is a software technique for diminishing jaggies - stairstep-like lines that should be smooth. 
http://www.webopedia.com/TERM/A/antialiasing.html
I dont think that i have used this in my projects
LoD – Level of Detail
In computer graphics, accounting for Level of detail involves decreasing the complexity of a 3D model representation as it moves away from the viewer or according to other metrics such as object importance, viewpoint-relative speed or position.
https://en.wikipedia.org/wiki/Level_of_detail
I dont think that i have used this in my projects
Animation
An animator is an artist who creates multiple images, known as frames, which give an illusion of movement called animation when displayed in rapid sequence.
https://en.wikipedia.org/wiki/Animator
I have animated my 2D sprites to make them walk when they move
Sprite
A computer graphic which may be moved on-screen and otherwise manipulated as a single entity.
http://www.oxforddictionaries.com/definition/english/sprite
I created sprites that were used in my 2D games
Scene
Scenes contain the objects of your game. They can be used to create a main menu, individual levels, and anything else.
http://docs.unity3d.com/Manual/CreatingScenes.html
I used scenes to save my unity work
Library
In computer science, a library is a collection of non-volatile resources used by computer programs, often to develop software. These may include configuration data, documentation, help data, message templates,pre-written code and subroutines, classes, values or type specifications.
https://en.wikipedia.org/wiki/Library_(computing)
I created a sound library for my sounds that i created for my Projects
UI
 The user interface (UI), in the industrial design field of human-machine interaction, is the space where interactions between humans and machines occur.

Every software i used has UI so i used it a lot.
Frames
 Frames per second (FPS) is a unit that measures display device performance. It consists of the number of complete scans of the display screen that occur each second.

When creating my games i made sure that they run at the highest frame rate possible, having too many sprites/effects effected the frame rate.
Concept
Concept art is a form of illustration used to convey an idea for use in films, video games,
https://en.wikipedia.org/wiki/Concept_art
I created many concepts when designing my games, from art to sounds.
Event
An action or occurrence detected by a program. Events can be user actions, such as clicking a mouse button or pressing a key, or system occurrences
http://www.webopedia.com/TERM/E/event.html
I used events in Construct 2 to create my code.
Pathfinding
 Pathfinding in the context of video games concerns the way in which a moving entity finds a path around an obstacle

I dont think that i have used this in my projects