Wednesday 30 September 2015

unit 66 exercise 1

Applications of 3D

Applications of 3D can be seen in numerous mediums in different industries. These include films, games, TV series, Visual effects, Product design and architectural design among others. The list is endless. Most of these mediums utilise 3D software for modelling. They create 3D visualisations that can then be used in their respective sectors whether it be on a big movie blockbuster or in an indie game.

Displaying 3D Polygon Animations

Application programming interface: API is a set of routines, protocols and tools for building software applications. A good API makes it easier to create a software application by providing the necessary and simple to use building blocks. Examples of API are Direct3D and OpenGL
Direct3D: Direct3D is an API for Microsoft Windows and is used to render 3D graphics. It is used for applications where performance is paramount such as video games. Direct3D uses hardware acceleration. Direct3D uses techniques such as Z buffering, W buffering, Stencil buffering, Spatial Anti-Aliasing, etc.
Graphics Pipeline: GP or Rendering pipeline refers to process of creating a 2D representation of a 3D scene. When a 3D scene is created GP is the process of turning that 3D scene into what the computer displays to the user. Examples of GP are OpenGL and DirectX.
Rendering Techniques:
Radiosity: Radiosity is a method of rendering based on a detailed analysis of light reflections off diffuse surfaces. The images that result from a radiosity rendering are characterized by soft gradual shadows.
Ray Tracing: In computer graphics, ray tracing is a technique for generating an image by tracing the path of light through pixels in an image plane and simulating the effects of its encounters with virtual objects.
Rendering Engines: A major requirement for any image data application is the ability to display images. In most applications, this is achieved by reading pixel data from a filesystem and then mapping the pixel data to the 256 grey level available on most computer display monitors. Because these operations can require many thousands of operations and must be displayed rapidly to support the display of time-lapse movies, most image display software applications use a high-speed graphics CPU and dedicated hardware for image rendering and display.
Distributed Rendering Techniques: or Parallel rendering is the application of Parallel programming to the computational domain of computer graphics. Rendering process’ deal with four major parts: frame distribution, pixel distribution, object distribution and hybrid distribution. Parallel rendering refers to the delegation of rendering process among many different files. This is necessary as in such media as video games there are many different files that must be rendered and loaded all at once such as objects in the environment. The engine must render multiple different models at once or else there will be significant visual blemishes during play. The two main types of Parallel rendering are performance scaling, which allows for frames to be rendered more quickly, and data scaling, which allows for larger sets of data to be visualised.
Lighting: Lighting refers to the ways that the 3d scene is lit. Different lighting can effect mood and atmosphere and will also affect the shadows displayed in the scene. Two commons lighting methods are Radiosity and Ray Tracing.
Textures: Textures are 2D graphics that are applied to a 3D model or mesh. It usually utilises a Bitmap or Raster image. The textures are wrapped around the 3D mesh and when coupled with lighting can give the illusion of extra detail or depth. Textures are mapped onto every model in the game engine, this includes characters, environments, foliage, etc.
Distance Fog: Distance Fog is used in video games to simulate distance. Objects that are further away often appear hazier or more distorted. This effect aims to replicate the effect of light scattering as objects get further away. This effect causes objects to appear lower in contrast which makes object’s colours appear drowned out.
Shadow Mapping: Shadow Mapping is the process of the game engine calculating where shadows should be cast according to the geometry of the shapes and the lighting. Depending on what engine is being used there could be a variety of different parameters that are taken into account when calculating shadowing. This could be things such as shadow sharpness, darkness or intensity of shadows, dynamic shadows, etc. An explanation of the process by Wikipedia reads “Shadows are created by testing whether a pixel is visible from the light source, by comparing the pixel to a z-buffer or depth image of the light source's view, stored in the form of a texture.”
Vertex and Pixel Shaders: A Pixel Shader is a GPU (Graphic Processing Unit) component that can be programmed to operate on a per pixel basis and take care of stuff like lighting and bump mapping.
A Vertex Shader is also GPU component and is also programmed using a specific assembly-like language, like pixel shaders, but are oriented to the scene geometry and can do things like adding cartoony silhouette edges to objects, etc.
Level of Detail: The level of detail of a scene refers to how much data or memory is being used to render a scene. If the level of detail, which is usually tied to file type and how many polygons there are, is too high then the computer running the engine may not be able to render said scene and may crash. Similarly if the level of detail is too low then this use less memory, but will result in a crude looking model. Often video games have several different iterations of the same model that are used at different distances to scale the level of detail. For example a high detail model would be used up close, but a low detail model would be used from far away.

Geometric theory:


Vertices
 A point that describes the corners or intersections of a shape
Lines
A connection between two vertices
Curves
When a group of vertices are connected to change the direction of a line
Edge
The outside lines and cures of an object, area, or surface.
Polygons
A many-sided figures, with sides that are line segments.
Element
A specific part of a shape or object, elements together make a mesh.
Face
The surface of a shape.
Primitives
Any of a set of basic geometric shapes which may be generated in computer graphics.
Meshes, for example wireframe.
Represent a geometric object as a set of finite elements.
Coordinate geometry (two-dimensional, three-dimensional)
Plotting points, lines and curves on an x and y axis for 2D, to add another dimension, plot depth on the z axis.
Surfaces
A continuous set of points that has length and breadth but no thickness.
Constraints:
Polygon count
The polygon count refers to the number of polygons being rendered per frame. The higher the number of polygons in a model the more detailed it is, but it takes up more memory and is harder to run.
File size
The amount of data inside a file. The more detailed the model, the higher the file size. If a file is large it is going to be difficult to store and move between devices.
Rendering time
The time it takes to generate an image from a 2D or 3D model.

Mesh construction

Box modelling:
Box modelling is a technique used in 3D modelling where the user makes use of a primitive shape, such as a cube, and manipulates it to construct the basic outline of the final model. From this basic shape, the user will be able to further sculpt the mesh into the final model.
Extrusion modelling:
This technique of 3D modelling is also sometimes referred to as inflation modelling. The basic concept is to take a 2D mesh and sculpt it to match a reference image within the software. From this 2D sculpt, the user will then extrude the mesh into 3D with the help of a second reference image, sculpting the mesh to match. This method of modelling has proved common when sculpting faces and heads.

3D development software

Software
3Ds Max:
3Ds Max is a 3D computer development program used for making 3D animations, models, games and images. It is developed and produced by Autodesk media and entertainment.
Features:
·         Polygon, Spline and NURBS –based modelling
·         Advanced texturing toolset
·         Enhanced ShaderFX
·         OpenSubdiv support
·         Easy to use placement tools
Maya:
Similar to 3Ds Max, Maya is also a 3D computer graphics software. The program is used to create video games, animated films, TV series and visual effects. Maya was previously owned by Alias System’s corporation, however is now owned and produced by Autodesk media and entertainment.
Features:
·         Polygon and subdivision mesh modelling
·         3D Type
·         New sculpting toolset
·         Surface modelling
·         UV toolset
This will be the main software that we will be using as we have easy access to the software both in and out of college. The software is also the most helpful and efficient at creating the models we need.
Lightwave:
Lightwave is a 3D computer graphics tool developed by NewTek. It has been used to create a huge variety of mediums including that of films, TV series, motion graphics, digital matte painting, visual effects, video games, product design, architectural visualizations, virtual production, music videos, pre-visualizations and advertising.
Features:
·         Polygon and subdivision modelling
·         Surface modelling
·         Zbrush GOZ Support
·         Unity Game engine support
·         Autodesk Geometry Cache support
AutoCAD:
AutoCAD is a commercial software application for 2D and 3D computer-aided design (CAD. Hence Auto”CAD”) and drafting. AutoCAD is developed and produced by Autodesk media and entertainment. The software is used across a range of industries such as architects, graphic designers and project managers among others.
Features:
·         Coordination modelling
·         Reality computing
·         Surface curve extraction tool
Cinema 4D:
CINEMA 4D is a 3D modeling, animation and rendering application developed by MAXON Computer GmbH. The software is capable of procedural and polygonal/subdiv modelling, animating, lighting, texturing, rendering, and common features found in 3D modelling applications.
Features:
·         Flexible sculpting tools/Integrated sculpt system
·         Mirroring and masking
·         Mesh projection

File formats
.3ds: Native file format used by Autodesk’s 3Ds Max. It is a binary file format.
.mb: Similar to .3ds for 3Ds Max, .mb is the file format native to Autodesk’s Maya. This file format, believe it or not, is also binary.
.lwo: A .lwo file is the file extension used for a LightWave 3D Object File, developed by NewTek.
.c4d: A .c4d file is a Cinema 4D Model File developed by MAXON.
Plug-ins: In computing, a plug-in (or add-in / addin, plugin, extension or add-on / addon) is a software component that adds a specific feature to an existing software application. When an application supports plug-ins, it enables customization. The common examples are the plug-ins used in web browsers to add new features such as search-engines, virus scanners, or the ability to use a new file type such as a new video format.

Constraints
Polygon count: The polygon count refers to the number of polygons being rendered per frame. The higher the number of polygons in a model the more detailed it is, but it takes up more memory and is harder to run.
File size: The amount of data inside a file. The more detailed the model, the higher the file size. If a file is large it is going to be difficult to store and move between devices.
Rendering time: The time it takes to generate an image from a 2D or 3D model.





Tuesday 9 June 2015

wayne's assignments

consoles, unit 20, assignment 2

http://louisbentley.blogspot.co.uk/2015/06/consoles-unit-20-assignment-2.html

unit 20, Assignment 3, game adaptations

http://louisbentley.blogspot.co.uk/2015/05/game-adaptations.html


unit 20 game platforms platforms assigment 1

handed in as paper copy

unit 22 & 72Assignment 1

http://louisbentley.blogspot.co.uk/2014/10/assignment-1.html
http://louisbentley.blogspot.co.uk/2014/10/visual-styles.html

for the video playthrough, i uploaded the video to youtube 
https://www.youtube.com/watch?v=slPmNy7cloQ

i received a distinction overall for these units.

unit 22, assignment 2- paper copy, received a distinction 

unit 74 assignment 1 and 2- paper copy




Maze Game pre production unit 1

sources of finance
budgets.
time constraints
competitors
relevance
opportunity
Release date
availability
personnel
contributors
expert personnel
size
skill level
facilities
soft ware
hard ware
materials
sources
concepts
research
locations
settings
codes of practise
legal
regulatory bodies

I have four weeks to produce my maze game, this is the deadline set by Wayne for this assignment.
As this is part of a college course all software and hard ware will be provided free, but if I had to buy it the total costs would be:

PC- £1000 (hardware - ... )
Game Maker-£0
Adobe complete pack-£1200
audacity-£0

I would estimate the budget for soft/hard ware at about £2200. This is all in house equipment, all in one facility ( the college ) as it is only a 2D platform game and will not need dedicated studios and facilities for each aspect of the game ( graphics, sounds etc).

As this is my assignment, I will be the only one working on it but I may get friends to contribute music clips if they play an instrument. I f this were for a company, I would consider a art and concept team, voice actors or musicians and a program and coding team although they would be small as the game is not that technical or advanced and would not want to make the budget for the personnel exceed its efficiency and the estimated profit.

Again, because this is a college assignment I will not be going off site to locations so I will be using images on the internet for inspiration and reference. If this were a real game to be sold, I would want to go to locations of castles and dungeons around the UK to get inspiration and use images I get for reference in sprite and level design. e.g. Edinburgh castle as it is extremely old and from the ere that my game is based on, plus it has great fortresses, turrets and views of the surrounding towns and villages. Another example is Warwick castle dungeons and the London dungeons for reference to cells, torture tools and the atmosphere in these deep dark places. Travel to these places by plane would be about...

I will not need any financial contribution as all of the equipment is free, but if I was developing this game outside of college I still would not need financial contributions as a games designer makes on average £40,000 per year at entry level (http://www.gameindustrycareerguide.com/video-game-programmer-salary/) and the total costs of this project is .....

To research my target audience, again because this is a assignment I would have to use secondary research on the age and gender of the players of 2D platformers, maze games and who are interested in the medieval ere. I have looked at previous surveys and sales from past platformers and internet forums and have come to the conclusion that:

Wednesday 3 June 2015

consoles, unit 20, assignment 2

PLAYSTATION 2
The outer case. On the front of the machine, it has four controller ports and one memory card slot.
 Here on the back it has the AV port and the Ethernet port 
This is the AV cable, to connect your PS2 to a tv or monitor.
This is the the power cable of the PS2



The HCI for this console is the PS2 dualshock 2, dual analogue controller.
ethernet cable, used to connect to the internet.


PLAYSTATION 3
the outer case. On the front there is the disk insert, the eject button and the power button.
on the back we have the ports for the ethernet, the HDMI video output and the power cable.

A HDMI lead to connect to a TV/Monitor.

The HCI is the PS3 dual shock 3 Dual analogue controller.

The power lead.
Monitor to display video.





XBOX
The outer case. On the front of the console, you have the two memory stick slots, a disc tray and the power button.
On the back, there is the port for the power cable, a scart lead, a HDMI cable and an Ethernet cable


The HCI for this console is the X Box wireless/wired controller.
This is the Xbox power lead, the large grey box is a step down transformer.
HDMI cable, carries both audio and video to a TV or monitor.

Ethernet cable, used to connect to the internet.
Monitor, used to display the image.


LAPTOP
The outer case.
this side of the lap top has a dick tray and ports for an SD card, an Ethernet cable and the power lead.
This side had fan vents, a VGA port, a HDMI port and ports for microphones and headphones.
The power lead.
The ethernet cable to connect to the internet (the wireless network card in this machine has broken)
The laptop HCI is built in, it has a keyboard and track pad. It also has a built in screen.


PC
On the front, we have two USB3 ports, mic in and head phones, the power button and disc tray. plus some holes for ventilation

On the back, we have a fan, four USB 3 ports, a VGA port, three DVI port, a HDMI port, two USB 2 ports and an ethernet port.
A male to male VGA cable with a DVI converter to connect one monitor to my graphics card ( graphics card only has DVI ports.

A HDMI cable for another monitor.

audio cable, to carry audio from the monitor that only has VGA outputs as this does not carry sound).
 HCI part one, a keyboard.

HCI part two, a mouse and mouse mat.
HCI part three, a USB microphone.

Ethernet cable to connect to the switch.
Switch to connect more than one thing to my router through a single ethernet cable.

Two monitors to display video.




GAMEBOY

The outer case.
 Flips open to show HCI and screen built in. a four way button pad, an a an b button, a start and a select.
 the power switch is on the side of the console.
 on the bottom is the cartage insert.



Monday 11 May 2015

game adaptations

Task.1
Android
A mobile game is a video game played on a feature phone, smartphones, smartwatches, PDA, tablet computer, portable media player or calculator, often using touch screen and built in speakers.
Limitations of android:
·         Screen size 93.8x55.3
·         Resolution 480x800
·         CPU: Arm Cortex A9 Dual Core Processor
·         GPU:
·         Memory: microSD( up to 32 GB), Internal 16/32 GB, 1 GB RAM
·         HCI : Touch screen
·         Audio output: mono

How this will affect my game:
Screen size
The phones screen size is considerably smaller than that of a computer monitor, this means I will have to down scale the room size and sprite sizes so they fit the dimensions without distorting. Also, possible increase the size of any text so it is easily visible on the screen.
I may also have to change to position of objects in the room as it will be a different aspect ratio.
Resolution
As the screen is a different resolution to a computer monitor, it would be ideal to have an option in the menu to set the resolution of the game, so the sprites can match the resolution of the phone. Although, as both resolutions are low already it should make much of a difference.
CPU & GPU
The phones processors are not as powerful as that of a computer. If my game was graphically intense, I would consider lowing the quality of the sprites used and lowering the resolution so it would be easier for the phone to run. Also, to lower the processing power needed I could pre-render things like each player had or optimise my code better so it runs faster and smoother. As my game is fairly easy to run anyway I don’t think I will need to modify anything to compensate the processing power of the phone.
Memory
The internal memory and external cards are smaller and slower than a standard hard drive, SSD and RAM. My game does not have the ability to save to any storage so the size and speed of the SD card is irrelevant. However, the RAM may factor in as it is the memory used to run the game.
HCI
This phone has three buttons and a touch screen, the buttons cannot be used in game as they operate functions on the phone like showing the home screen etc. Because the player will need to interact with the screen to use the controls, I will have to add virtual buttons that will be displayed on the phone’s screen for twisting and sticking. Plus I will add a virtual button for exiting the game.
Audio
Unless using ear/headphones, the phone only has one audio channel so will only play mono sound. My game sounds are currently stereo but it will convert to mono when played so I will not have to change anything. The format for my sound files are wav, this is compatible with the phone.


























Task.2
HTML
A browser game is a computer game that is played over the Internet using a web browser.
Limitations of HTML:
·         Audio: MP3s, supports mono, stereo and surround sound
·         View on screen: has black border in window
·         Cross platform: can be accessed by other consoles and phones
·         Needs host
How this will affect my game
Audio
Google chrome is compatible with MP3 audio files, this is the file format my game sounds are in already so I won’t need to re-format them.
Screen
Screen is a computer monitor, as it is still being played through a PC. I will not need to change any of the resolution settings or room/sprite sizes. However, by default a web browser window will be full screen and put the room view in the top left hand side of this window with a black boarder around the left and bottom sides. I will need to move the room view to the centre of the window and set the default size to that of my room view.
Cross platform controls
Web browser games can be accessed by any console with an internet connection and a search engine. To ensure and consoles HCI can interact with the game and control it, I will used virtual buttons like in the android port.
Host
As this game will be played on the web, it will need to be hosted on a website and server so people can run in in browser without having a game launcher.












Task.3
What I did:
Html 5-

To make the game easier to play and to cover other platforms controls when play my game in browser, I added virtual buttons to control twisting, sticking, going to the next round and restarting the game.
First, I made sprites for the twist and stick buttons as I did not have these buttons on the windows version.








I then made objects for both twist and stick (I already have a next round and restart button). I these object I assigned the virtual keys, enter for twist, backspace for stick.
I also made virtual keys for the next room and restart buttons.

All of these virtual keys are the same dimensions and positions as the buttons they relate to (self.x, self.y , sprite_width, sprite_height)
Next I edited the code in the twist, stick, next and restart functions I already had in the room so they would work with the new virtual keys.
Twist:

Stick:



Next:
Restart:

Finally I edited the view of the game in the window so that it was central and the port on the screen was only as large as the room so there were no black boarders.
What I did:
Android –
As the controls I added in html are cross platform and phone friendly, I did not need to make any major changes for this port.
The main change was to the room size and scaling the sprites down to fit on a 5” phone screen.
Then I added a button to close the game, as on phones the game is not in windowed form and cannot be closed.
http://farm8.staticflickr.com/7153/6852073179_00961ba267.jpg