Unit 09 - Enderoth

advertisement

Project Planning with IT

L/600/6610

LO3 - Understand software technologies for game platforms

Learning Outcome

(LO)

The learner will:

Pass

The assessment criteria are the pass requirements for this unit.

The learner can:

1

2

3

Understand game platform types

Understand hardware technologies for game platforms

Understand software technologies for game platforms

4 Be able to connect and configure platforms and devices to enable gameplay

P1 Describe game platform types with some appropriate use of subject terminology

P2 Describe hardware technologies for game platforms with some appropriate use of subject terminology

P3 Describe software technologies for game platforms expressing ideas with some appropriate use of subject terminology

P4 Apply techniques to connect and configure platforms and devices with some assistance

Merit

For merit the evidence must show that, in addition to the pass criteria, the learner is able to:

M1 - Describe how computer games platform types have developed over time

M2 - Describe mobile technologies for game platforms

M3 - Discuss the different software technologies for multiple platform usage

M4 - Explain the different connection types for multiplayer gaming

Distinction

For distinction the evidence must show that, in addition to the pass and merit criteria, the learner is able to:

D1 - Explore potential future gaming platform types

D2 - Evaluate the suitability of mobile technologies for game play

D3 - Justify the choice of platform on which to run an identified software technology

D4 - Justify how the connection types are appropriate for the different multiplayer gaming experiences

Scenario

Criteria

Tasks

1

2

3

4

5

6

7

8

9 10

Assessment Criteria P3

P3 Learners must describe types of software technologies for game platforms to include operating systems, drivers and graphics. This should include examples of operating systems, application and scripting software. This could be presented in the form of a report, and should include some appropriate use of subject terminology.

Assessment Criteria M3,

For merit criterion M3 learners must discuss the different software technologies for multiple platforms excluding operating systems. They should discuss and detail the usage of these technologies. Evidence for this could be supported by photographic evidence that the learners have used different technologies with multiple platforms in addition to the discussions of these from the learners which could be presented in the form of a report.

Assessment Criteria D3

For distinction criterion D3 the learners must justify the choices of platform on which to run an identified software technology. This is best achieved if they are given a scenario which gives them the opportunity to look at a number of different platforms to play an identified software technology and to compare any differences with a view to justifying the choice of platform for the user and the technology. This could be evidenced in the form of a report or table that compares the choices with detail.

Scenario

Criteria

Tasks

1

2

3

4

5

6

7

8

9 10

Here the learners need to be encouraged to develop an indepth understanding of the software technologies available for game platforms. They should extend their discussion from the hardware to identify the software used on them.

They should research different software technologies and consider all aspects of software requirements for developing on different platforms. This is ideal group/team working where discussions and new ideas will help wider thinking.

Here the learners will also benefit from having practical gameplay on the different systems; this will give them the opportunity to compare the hardware and software specifications and the differences in performance in the game play with different platforms. They should share their findings and views as discussions with the group.

Scenario

Criteria

Tasks

1

2

3

4

5

6

7

8

9 10

All gaming production software on the market is aware of the limitations of the device it is being programmed for. We would love to have a FPS on the iPhone that had multiple levels, character development, Unreal graphics, video cut sequences etc. but the iPhone is just not capable of handling this. Similarly programming COD on the Xbox so it could be used on the Wii was always going to be a challenge because of the control system.

All games are programmed on a PC or Apple computer, it is the software that games are made on that limits down the usage. For instance Kodu makes 3D games that run on the

Xbox 360, the games have little limit in terms of size, layers, amount of characters etc.

The produced 3D environment is automatic creating a layer plane for the action. Put this onto a Wii and change the code and it might work, put this onto an iPhone and it will struggle, graphics will be reduced to a lower pixel rate, FPS will be reduced, there will be slow down when too many things are on the screen.

Similarly when a game is written for a PS4 and all the sound is linked, flowing action, activated FMV’s, routines etc., it is all written in the language used on a PS4. When something is written for Android it is almost guaranteed to work on other Android devices because of the cross compatibility with OS’s.

Dependent code throughout the written program will need recoding, this is why there was a long wait for porting from one system to another. Remember that it was a long time before video encoding became cross compatible from one system to another.

P3.1 – Task 1 – Research and Describe with examples how hardware dependency can have an impact on software technologies for game platforms using appropriate use of subject terminology.

Internal Hardware dependence Software compliance Code compatibility External hardware issues

Scenario

Criteria

Tasks

1

2

3

4

5

6

7

8

9 10

All Consoles and handhelds have a different operating system and even similar operating systems have subtle difference that can affect the compatible coding of a game. We are all aware of Windows and the different versions of this OS. Installed games take advantage of the coding of Windows to benefit the gaming experience.

Games look at the hardware installed within the OS and use it, Screens, Sound,

Graphics, Networks, Resolution, installed components like DirectX.

The transition time from PC to Xbox was less than any other system because they sued a similar OS, similar modules and routines and define similar hardware. If anything the coding on an XBox is reduced because it only has one graphics card to dice for.

Nintendo used a similar language for its systems which allowed backward compatibility between generations of console, it allowed Gameboy games to play on an Advance,

Advance Games to play on a DS. Coding becomes more streamlined but it is not a huge new learning curve for programmers.

Similarly PS3, PS2 and PS1 OS’s had similarities to make games backwardly compatible.

IOS on Apple hardware is less compatible even with generations of Apples. Cross compatible software from OSX and from generations of IOS so the API’s can run through the generations has limited down Apps on earlier devices.

In comparison Android OS is more open source allowing for devices to upgrade OS to make Apps and Games more compatible.

P3.2 – Task 2 – Research and Describe with shown examples of how OS dependency can have an impact on game creation and game compliance using appropriate use of subject terminology.

Scenario

Criteria

Tasks

1

2

3

4

5

6

7

8

9 10

The biggest benefit stated on programming for the PS, Xbox and Nintendo is the one size fits all (mostly) when it comes to hardware and compatibility. Same for Handhelds, games on the DS work straight on the DSX and Dsi. There is no need for additional downloads, to install drivers, to configure for screen issues. Same for the controllers, any Xbox controller will work, the keys are the same, the buttons, possibly located somewhere else or with a few extra but that is just adding to what is already there.

However on PC’s and Apples there is this issue. Compliant drivers for the game you want slows down the installation and game playing processes. All boxes state what the games work best in but most PC gamers have different hardware, different graphics cards, sound cards, motherboards, screen sizes and resolutions, different controllers beyond the keyboard, different Cameras and Microphones. Games programmers cannot include a one size fits all for these, every card is different and requires different drivers.

The solution is to put the driver files on the site to download, plugins, add-ons, updates and bug fixes. Without the right drivers there will be glitches, dropped frame rates, dropped baud rate on the sound card, or lag on the network. Configuring a game on a PC or Apple for the right drivers will overcome most of these issues, most. Testing after game release and patches tends to fix most of those remaining but it is a burden

PC owners will put up with for that extra water effect, that extra facial feature, that extra reduction in lag to make their games better.

P3.3 – Task 3 – Research and Describe with shown examples of how Driver Issues can have an impact on game creation and game installation using appropriate use of subject terminology.

Graphics Sound Networks Interface

Scenario

Criteria

Tasks

1

2

3

4

5

6

7

8

9 10

All games are written in code, it is what computers understand. There have been so many codes over the years that Computer programming courses struggle to keep up with what is new, what is trendy, what is good and what is necessary to learn. Pascal,

Fortan, Basic, Cobol, all gone now but the basis of their language still exists, the skills learned from them, the techniques, the methodology is the same even with new languages.

C++ and C# (called C sharp) are the current main contenders in the higher level of programming languages, with engines like the CryEngine, Unreal and Rockstar’s priority engine all using C++ as the backbone for the programming. Programmers around the world embrace C because it gives maximum control and efficiency to the programmer. C is an easy language to learn. It is a bit more cryptic in its style than some other languages, but you get beyond that fairly quickly.

C is what is called a compiled language. This means that once you write your C program, you must run it through a C compiler to turn your program into an executable that the computer can run (execute). For example:

◦ #include <stdio.h>

◦ int main()

◦ {

◦ printf("This is output from my first program!\n");

◦ return 0;

◦ }

When executed, this program instructs the computer to print out the line "This is output from my first program!" -- then the program quits. You can't get much simpler than that! Then add a million more lines for the rest of the game.

Scenario

Criteria

Tasks

1

2

3

4

5

6

7

8

9 10

C# or C Sharp is a language designed to be fully compatible with

Microsoft's .NET initiative while taking advantage of what has been learned from C, C++ and Java. C# is designed to be a platform independent language in the tradition of Java. It's language is similar to C and C++, and C# is designed to be an object-oriented language.

In terms of similarity to Java, C# does not support multiple inheritance; instead it provides Java's solution: interfaces.

Interfaces avoid the messy dangers of multiple inheritance while maintaining the ability to let several classes implement the same set of methods.

C#, as part of the .NET framework, is compiled to Microsoft

Intermediate Language (MSIL), which is a language similar to Java's bytecode. MSIL allows C# to be platform independent and runs using just in time compiling. Therefore programs running under

.NET gain speed with repeated use. Furthermore, because the other languages that make up the .NET platform (including VB and

Cobol) compile to MSIL, it is possible for classes to be inherited across languages.

The potential for C# is great if the .NET platform succeeds. C# is designed to take advantage of the design of .NET, and Microsoft has poured a great deal of money into .NET. More importantly, If the user knows C++, then they'll probably be able to pick it up quickly.

Scenario

Criteria

Tasks

1

2

3

4

5

6

7

8

9 10

Java is a programming language and computing platform first released by Sun

Microsystems in 1995. There are lots of applications and websites that will not work unless you have Java installed. Java is fast, secure, and reliable. From laptops to data centres, game consoles to scientific supercomputers, cell phones to the

Internet, Java is everywhere.

Java allows you to play online games, chat with people around the world, calculate your mortgage interest, and view images in 3D, just to name a few. It's also integral to the intranet applications and other e-business solutions that are the foundation of corporate computing.

One characteristic of Java is portability, which means that computer programs written in the Java language must run similarly on any hardware/operating-system platform. This is achieved by compiling the Java language code to an intermediate representation called Java bytecode, instead of directly to platform-specific machine code. Java bytecode instructions are the equivalent to machine code, but they are intended to be interpreted by a virtual machine (VM) written specifically for the host hardware. End-users commonly use a Java Runtime Environment (JRE) installed on their own machine for standalone Java applications, or in a Web browser for Java applets. An example below is the common scripting.

◦ class HelloWorldApp { public static void main(String[] args) {

System.out.println("Hello World!"); // Display the string.

 }

 }

Scenario

Criteria

Tasks

1

2

3

4

5

6

7

8

9 10

J2ME or Java Platform, Micro Edition, or Java ME, is a Java platform designed for embedded systems

(mobile devices are one kind of such systems). Target devices range from industrial controls to mobile phones and set-top boxes.

J2ME technology adopts a modular and scalable architecture. It has two primary kinds of components—configurations and profiles. J2ME configuration defines the minimum set of Java virtual machine features and Java class libraries available for a particular category of devices and then uses that knowledge to build a profile. A configuration typically represents a group of devices with similar processing power and amounts of available memory, like Apple brands or Samsung

Ranges. A profile is a specification that defines sets of application programming interfaces (APIs) and features and utilises the underlying configuration to provide a complete run-time environment for a specific kind of device. So if your device has an API and J2ME knows it, it will clap its hands

(handshake).

J2SE or Java Platform, Standard Edition is a widely used platform for development and use of portable applications for desktop and Network servers. J2SE uses object-oriented Java programming language.

One well-known type of Java application is the applet, a sort of fast-working subroutine that is largely platform - independent and can work within other frameworks. Applets are mini applications that perform a variety of functions, large and small, mundane and dynamic, within the framework of larger applications. A prime example of an applet is a browser-based plugin, such as the one that allows users to see Flash movies or hear audio files by clicking on a Web page link. Such a click keeps the user in the browser environment, while simultaneously launching the application-withinan-application that is the applet, showing the requested video or playing the requested sound.

Many online games are applet-based as well.

P3.4 – Task 4 – Research and Describe with shown examples of how Programming Languages and their choices can have an impact on game and App creation using appropriate use of subject terminology.

C++ C# Java J2ME and J2SE

Scenario

Criteria

Tasks

1

2

3

4

5

6

7

8

9 10

Scripting is the process of making multiple actions work by telling it to do the same thing as a previous action, like a macro in word or excel. Why write the same movement codes when you could write one code and make multiple object do it in a slightly different speed, direction, pace etc. Write the script, change the parameters.

UnrealScript – unreal is the bad boy of game making. Most 3D FPs games use this kind of engine, or this one specifically. UnrealScript is the programming language for Unreal Engine 3 and 4 engine. Because it was designed with games in mind, it contains certain built-in features, such as states and timers, that make implementing gameplay much easier. UnrealScript is compiled, but it is not part of the main executable. This makes it a perfect means of implementing and testing on new gameplay elements without the need to recompile the entire engine when changes are made.

The language is completely built on object-oriented principles and resembles Java or C++ in its syntax. This makes it familiar to experienced game programmers, and extremely easy to pick up. At the same time, because it is used within the context of a game, some of the methods and principles differ from traditional programming. For example, there are no standard explicit constructors or destructors for objects which can be confusing to those used to more traditional programming languages. Once Users become familiar with this things will begin to fit into place and adding new elements to games will be a quick and painless process.

The following is a hello world example using the syntax of UnrealScript.

class HelloWorld extends GameInfo;

{ event InitGame( string Options, out string Error )

`log( "Hello, world!" );

}

What this does is displays the text Hello World on the screen.

Scenario

Criteria

Tasks

1

2

3

4

5

6

7

8

9 10

Maya Embedded Language (MEL) - is a high level scripting language. This means that you can type a

Mel command and execute that command as soon as you hit enter. This differs from a compiled language, a compiled language would require you convert your code into commands the computer understands such as C. Since Mel is a scripting language, it makes Mel extremely fast to use.

Unfortunately, this does not eliminate your having to debug your code. Like any programming language debugging will probably be where you spend the bulk of your time.

MEL is a powerful scripting language that can be used to automate many tasks within the Autodesk

Maya suite. Using MEL, the user can create their own scripts, which can save them time and labour and extend the capabilities of Maya. MEL has developed over the years into a powerful tool embraced by many artists and technical directors. Much of the tedium of working in Maya can be eliminated with just a few simple scripts. Maya users from around the world share their MEL scripts online; these scripts can be downloaded and installed as part of Maya, allowing users to customise your workflow.

For instance creating a sphere in Maya in the script editor. The code in Red is the script:

Create a sphere

Create / Nurbs Primitives / Sphere

Open up the script editor

Windows / General Editors / Script Editor

What you should see in the script editor is: sphere -p 0 0 0 -ax 0 1 0 -ssw 0 -esw 360 -r 1 -d 3 -ut 0 -tol 0.01 -s 8 -nsp 4 -ch 1; objectMoveCommand;

We see two commands. The first command creates a nurbsSphere with some options attached and the second command sets our current tool to the move tool. Let's take the fundamental aspect of this code and type it into the command line. In the command line type sphere; then hit enter and you should see a nurbs Sphere appear on your screen. Open your script editor again. sphere;

// Result: nurbsSphere1 makeNurbSphere1 //

Scenario

Criteria

Tasks

1

2

3

4

5

6

7

8

9 10

ActionScript - This is an object-oriented programming

(OOP) language that is designed specifically for Web site animation. ActionScript makes it possible for developers to create onscreen environments (such as games, tutorials, and e-commerce applications) that can respond to user input through the keyboard or mouse. ActionScript is an event-based language: just as is the case in real life, actions are triggered by events.

If you want to do anything interactive in Flash, you'll need to use ActionScript. It allows you to execute different actions in a movie depending on what a user does or on what frame of the movie is being played.

ActionScript looks a lot like JavaScript, which Macromedia did on purpose. ActionScript in Flash MX is based on the

ECMA-262 specification, so if the user has used Java-Script before, a lot of ActionScript will look familiar to them.

} var x = 1; while (x <= 5) { trace (x); x = x + 1;

This code count up to 5 and then stops at 5.

Scenario

Criteria

Tasks

1

2

3

4

5

6

7

8

9 10

JavaScript – JavaScript is a programming and scripting language used to make web pages interactive. It runs on your visitor's computer and doesn't require constant downloads from your website. JavaScript is often used to create polls and quizzes, marquee text or behaviours of objects on Websites like rollover images or galleries.

JavaScript support is built right into all the major web browsers, including Internet Explorer, Firefox, Chrome and Safari. Provided that the visitors to your site are using web browsers that support JavaScript (most do) and have JavaScript enabled (it is by default), then your JavaScript will run when they visit the page.

There are plenty of pre-written JavaScripts that people have made available for users to plug straight into their web page. All they need to know to be able to use such scripts is how to paste the supplied code into the required places in your web page.

JavaScript is an interpreted language, so no special program is required to create usable code. Any plain text editor such as Notepad (one of the

Accessories that comes in Windows) is quite satisfactory for being able to write JavaScript. That said, an editor that colourises the code to make it easier to see what is what makes it easier to find your mistakes. An example below just shows the titles.

 document.write("<h1>This is a heading</h1>"); document.write("<p>This is a paragraph</p>");

P3.5 – Task 5 – Research and Describe with shown examples of how

Scripting Languages are used and how they can have an impact on game and App creation using appropriate use of subject terminology.

Unreal Scripting MEL Scripting Action Script

Scenario

Criteria

Tasks

1

2

3

4

5

6

7

8

9 10

Javascript

Application Programming Interface (API’s) - API’s are the modules used within programs to make them more integrated - a set of programming instructions and standards for accessing a Web-based software application. A software company releases its API to the public so that other software developers can design products that are powered by its service.

For example, Amazon.com released its API so that Web site developers could more easily access Amazon's product information like Google, GoCompare and Ebay. Using the

Amazon API, a third party Web site can post direct links to Amazon products with updated prices and an option to "buy now."

An API is a software-to-software interface, not a user interface. With APIs, applications talk to each other without any user knowledge or intervention. When you buy movie tickets online and enter your credit card information, the movie ticket Web site uses an

API to send your credit card information to a remote application that verifies whether your information is correct. Once payment is confirmed, the remote application sends a response back to the movie ticket Web site saying it's OK to issue the tickets.

As a user, you only see one interface, the movie ticket Web site, but behind the scenes, many applications are working together using APIs. This type of integration is called seamless, since the user never notices when software functions are handed from one application to another.

An API resembles Software as a Service (SaaS), since software developers don't have to start from scratch every time they write a program. Instead of building one core application that tries to do everything, e-mail, billing, tracking, etc., the same application can contract out certain responsibilities to remote software that does it better.

Scenario

Criteria

Tasks

1

2

3

4

5

6

7

8

9 10

Let's use the same example of Web conferencing from before. Web conferencing is SaaS since it can be accessed on-demand using nothing but a Web site. With a conferencing API, that same on-demand service can be integrated into another Web-based software application, like an instant messaging program or a Web calendar.

Versions of this we are used to include OpenGL ES, DirectX and Java/ Java SE.

OpenGL is an API supplied by Games companies that makes games run faster, work better and display better on the screen. Originally used in games like Quake and Unreal, it meant those people without the quality of cards necessary could run in higher resolution because the OpenGL files were supplied.

OpenGL ES is a royalty-free, cross-platform API for fullfunction 2D and 3D graphics on embedded systems including consoles, phones, appliances and vehicles. It consists of subsets of desktop OpenGL, creating a flexible and powerful low-level interface between software and graphics acceleration. OpenGL ES includes profiles for floating-point and fixed-point systems. OpenGL ES 1.X is for fixed function hardware and offers acceleration, image quality and performance. OpenGL ES 2.X enables full programmable 3D graphics. OpenGL SC is tuned for the safety critical market.

Scenario

Criteria

Tasks

1

2

3

4

5

6

7

8

9 10

DirectX and Direct Suite - enhances the multimedia capabilities of your computer and provides access to the capabilities of your display and audio cards, which enables programs to provide realistic 3D graphics and immersive music and audio effects. DirectX is a set of lowlevel APIs that provides Windows programs with high-performance hardware-accelerated multimedia support.

DirectX enables the program to easily determine the hardware capabilities of your computer, and then sets the program parameters to match. This allows multimedia software programs to run on any Windows-based computer with DirectX compatible hardware and drivers and ensures that the multimedia programs take full advantage of high-performance hardware.

These APIs control low-level functions, including 2D graphics acceleration; support for input devices such as joysticks, keyboards, and mice; and control of sound mixing and sound output. E.g.

Microsoft DirectDraw - supports standard methods of displaying graphics on all video adapters, and faster, more direct access when using accelerated drivers.

Microsoft Direct3D - provides an interface to the 3D rendering functions built into most new video adapters and provides a device-independent way for software programs to communicate with accelerator hardware efficiently and powerfully.

Microsoft DirectSound - provides a link between programs and an audio adapter's sound mixing, sound playback, and sound capture capabilities. DirectSound provides multimedia software programs with low-latency mixing and hardware acceleration.

Microsoft DirectMusic - works with digital audio, as well as message-based musical data that is converted to digital audio either by your sound card or by its built-in software synthesizer. and supports input in Musical Instrument Digital Interface (MIDI) devices

There is also Microsoft DirectInput, DirectPlay and DirectShow.

Scenario

Criteria

Tasks

1

2

3

4

5

6

7

8

9 10

Java/ Java SE API’s – A Java API is a collection of prewritten packages, classes, and interfaces with their respective methods, fields and constructors for the Java enabled environment. Similar to a user interface, which facilitates interaction between humans and computers, Java API’s serve as a software program interface facilitating interaction.

In Java, most basic programming tasks are performed by the API’s classes and packages, which are helpful in minimising the number of lines written within pieces of code. These come as part of the

Java Development Kit (JDK) and comprise of three basic components, as follows:

◦ Java compiler

◦ Java Virtual Machine (JVM)

◦ Java Application Programming Interface (API)

The Java API, included with the JDK, describes the function of each of its components. In Java programming, many of these components are pre-created and commonly used. Thus, the programmer is able to apply prewritten code via the Java API. After referring to the available API classes and packages, the programmer easily invokes the necessary code classes and packages for implementation.

P3.6 – Task 6 – Research and Describe with shown examples of how

Sound and Graphic API’s are used and how they can have an impact on game and App creation using appropriate use of subject terminology.

OpenGL OpenGL ES DirectX

Scenario

Criteria

Tasks

1

2

3

4

5

6

7

8

9 10

Java/Java SE

Maya is a high-end 3D computer graphics and 3D modeling software package that is used in the film and TV industry, as well as for computer and video games, architectural visualisation and design. It is one of three external Engine packages that is used by the industry to create characters and objects and then animate them.

It features Modeling, Dynamics and simulation and powerful

Scripting and plugins. Maya Unlimited adds even more functionality such as: Maya Fluid Effects, Maya Classic Cloth,

Maya Fur and Maya Hair.

It cannot be emphasised enough how large and detailed this package is and specifically how useful it is in creating 3D characters. For some modeling creators there is no other package they will use other than Photoshop to make and create 3D characters and is based on the Autodesk suite, owners of two of the other programs used in the industry.

Game Engines use the models created in Maya rather than create them themselves, loaded as a NURB into the program and then set like Lego wherever the designer needs the characters or objects to be. Think of the mushrooms in

Skyrim, the Books in COD, the trees in Halo, the debris in

Gears of War, all created in Maya and used as a Nurb.

For Maya click here to view what it does and here to view what is possible.

Scenario

Criteria

Tasks

1

2

3

4

5

6

7

8

9 10

Modelling is the creation of a basic shape and structure of objects. These can include game characters, objects, weapons, vehicles and anything else that needs to be modelled. Programs like Maya have their uses but additional programs can be used in conjunction that are better at specific modelling.

Zbrush and Sculptris use polygon modelling to make 3D objects and then use a range of tools to bend, shape and alter the object until it is formed. Then it is added to, covered, meshed and rendered, taken into Photoshop and coloured, separated and then re-meshed back in ZBrush.

The quality of output of these programs is immense, creating 3D characters and objects that are ready for importing straight into Game engines or into other packages like Cinema 4D, After Effects or Maya and 3DS

Max. At the end of the day this is basically clay modelling using a computer, the finished rendered versions are in a file format compatible with every 3D package, capable of scaling, reduction, and lowering the Poly count for other platforms. Click here for ZBrush and here for Sculptris.

Scenario

Criteria

Tasks

1

2

3

4

5

6

7

8

9 10

Animation is the physical manipulation of the models. This can involve motion capture or manipulation by hand. Computer animation is essentially a digital successor to the art of stop motion animation of 3D models and frame-by-frame animation of 2D illustrations.

For 3D animations, objects (models) are built on the computer monitor (modeled) and

3D figures are rigged with a virtual skeleton. For 2D figure animations, separate objects (illustrations) and separate transparent layers are used, with or without a virtual skeleton. Then the limbs, eyes, mouth, clothes, etc. of the figure are moved by the animator on key frames.

The differences in appearance between key frames are automatically calculated by the computer in a process known as tweening or morphing. Finally, the animation is rendered.

Programs for the game industry come in 2 forms, bespoke (created by the company for themselves) or Animation specific packages. We are used to Fireworks and Flash but the industry uses programs like After Effects, Cinema 4D and Maya to control large game animations.

After Effects is very specific for non character based animation, titles, intros, effects,

3D objects on a linear plane. The results are industry standard but sticking to menus and intros.

Cinema 4D – uses the same Nurb systems as Maya and the time framing of Premiere to create linear pathing animation of objects and characters.

Maya as stated on the previous slides is an all round package for animating and creation. Uses a Rag Doll tool to create real physics dynamics onto objects including effect, bounce and rebound.

M3.1 – Task 7 - Discuss the different software technologies for multiple platforms in terms of object and character creation.

Scenario

Criteria

Tasks

1

2

3

4

5

6

7

8

9 10

Most gaming companies use Engines, simple ones like IOS programming for the iPhone and iPad to larger engines like Unreal, CryEngine, Unity and Torque. These engines shortcut much of the tens of thousands of lines of coding necessary for a big game or produce the effects and animations for the smaller games. There are also game creation programs like Scratch, GameMaker and RPG Maker that create games in a specific genre.

CryEngine – one of the bigger and free engines up to a point, makes large commercial

3D games like Far Cry, Crysis games, Evolve etc. Click here for more. It has at its core a library of tools that makes 3D games, editing, graphics manipulation, control, landscape generation and Nurb control.

Unreal – Like CryEngine, this is a free to download serious contender for game making. Again 3D is principle the engines comes with and has access to a world of examples and components for Nurb control. Games such as Fables, Bioshock,

Borderlands and Batmans. Click here for more.

Unity – is a fully integrated with a complete set of tools and rapid workflows to create interactive 3D and 2D content; easy multiplatform publishing; thousands of quality, ready-made assets in the Asset Store and a knowledge-sharing community. Click here for examples. Mostly games made with unity are for smaller platforms like IOS and

Android.

Torque – Torque 3D is a full source, open source game engine. Torque 3D has been is flexible and performs across a wide-range of hardware. Torque 3D comes equipped with a full suite of tools to allow the user to produce high-quality games and simulations. Torque 3D supports Windows and Browser-based web deployment out of the box. Click here and here for examples.

M3.2 – Task 8 - Discuss the different software engines for multiple platforms in terms of ease of use, adaptability, game creation issues, production times and final output.

Ease of use Adaptability Game creation issues Production times Final output

Scenario

Criteria

Tasks

1

2

3

4

5

6

7

8

9 10

Most gaming platforms decisions take time ands a lot of thought. Games cost a lot of money to make and the higher the platform and the bigger the game, the more money will be invested. Gears of War cost £250m to produce, that is a lot of money to risk losing. COD cost £320m GTA cost £450m. All the companies expect a better return than their pay-outs but it does not always happen, 4/5 games started never get completed but the money is still spent. Platform decisions are part of this problem, choosing the right engine, having the ability to use the engine, understanding technical and software issues like API’s and scripting etc.

D3.1 – Task 9 – Using the Game Scenario here , justify the choices under each heading of platform on which to run an identified software technology.

D3.2 – Task 10 – Using the table, compare and contrast issues in game development in terms of platforms on which to run the produced game.

Hardware

Platform

PC or Apple

Xbox

PS

Handheld

Mobile

Creation and

Development

Use of

Accelerators

Game production

Scenario

Criteria

Tasks

1

2

3

4

5

6

7

8

9 10

Costs

Compatibility

Issues

Controller Issues

P3.1 – Task 1 – Research and Describe with examples how hardware dependency can have an impact on software technologies for game platforms using appropriate use of subject terminology.

P3.2 – Task 2 – Research and Describe with shown examples of how OS dependency can have an impact on game creation and game compliance using appropriate use of subject terminology.

P3.3 – Task 3 – Research and Describe with shown examples of how Driver Issues can have an impact on game creation and game installation using appropriate use of subject terminology.

P3.4 – Task 4 – Research and Describe with shown examples of how Programming Languages and their choices can have an impact on game and App creation using appropriate use of subject terminology.

P3.5 – Task 5 – Research and Describe with shown examples of how Scripting Languages are used and how they can have an impact on game and App creation using appropriate use of subject terminology.

P3.6 – Task 6 – Research and Describe with shown examples of how Sound and Graphic API’s are used and how they can have an impact on game and App creation using appropriate use of subject terminology.

M3.1 – Task 7 - Discuss the different software technologies for multiple platforms in terms of object and character creation.

M3.2 – Task 8 - Discuss the different software engines for multiple platforms in terms of ease of use, adaptability, game creation issues, production times and final output.

D3.1 – Task 9 – Using the Game Scenario here , justify the choices under each heading of platform on which to run an identified software technology.

D3.2 – Task 10 – Using the table, compare and contrast issues in game development in terms of platforms on which to run the produced game.

Scenario

Criteria

Tasks

1

2

3

4

5

6

7

8

9 10

Download