week 2

A2 Technologies used in computer gaming

Technologies are continually evolving; it is vital to remain up to date with what is current at the time.

 

• Benefits and limitations of different platform options for the development of computer games:

 

Personal computers, e.g. Windows®, Mac®

 

Consoles, e.g. PlayStation®, XboxTM, Nintendo®

 

Mobile devices, e.g. smartphones, tablets, notebooks

 

Web-based, e.g. Flash®, HTML5.

 

Create a magazine article on the differences between dedicated gameing Pc's, Consoles, mobile devices and webbased applications. Make valid justifications around your reasoning and discuss thier features and limitations, ensure that you use images in your work as this will be for publication in a minimag.

Hardware options and their effect on the development of computer games, including:

Central processing unit (CPU)

Processor cache is a type of very fast RAM, keeping the processor from slowing down in a similar way to how disk cache helps the hard drive work faster. Graphic files can be huge, so everything that the hardware can do to make rapid transfers of data helps. 
Every program consists of instructions for the processor that are decoded and actioned inside the processor to make them work. When running a program, the processor has to make every instruction work, usually one after another, but some modern processors can run processes side by side. 
The quicker the instructions are run, the quicker a program responds to the user. The processor is very important in maintaining performance with complex digital images, so it's important to choose a system with a powerful CPU. 
The power of a CPU depends upon: processor speed- the faster the circuits are driven, the faster the computer runs processor design - the way the circuits have been designed has a massive effect on performance. Modern CPUs may have single, duo or quad cores with a lot of variation within these designs. 
The core of a processor is a collection of circuits that run programs. For early CPUs, there could only be one core, as the technology of that time needed all the circuits on the chip just to make the processor work. Technology has advanced so much that now manufacturers can include two or more cores in the same chip, equivalent to having two or more CPUs in the same component. 
There is a lot of choice of processor designs and it takes research to find out which performs better. Some graphics manipulations are easy for the processor, e.g. loading a graphic from disk to RAM, which is delegated to the DMA controller(s). 
Many graphics operations involve a lot of processor work, such as: rescaling an image, so the picture is a different size saving or exporting the image into another format, e.g. converting a bitmap file into a JPEG file applying a complex effect to a graphic, such as adjusting the tone or colour balance. All of these operations needs good, fast processor(s) to operate effectively. 

 

Graphics processing unit (GPU)

The Graphics Processing Unit is a dedicated chip on a computer/consoles motherboard that deals solely with the graphics, and processing of the information to present the images back to the users. These can range from relatively cheap to extremely expensive into the thousands. Improvements over the years in the development of graphics cards have enabled games to become more lifelike and run quickly without making a game look pixellated or leaving ghost images because of poor refresh rates. 

Almost all graphics cards these days carry their own memory allocation, this means that the computer is not sharing resources to make a game work graphically. 

Memory, e.g. random-access memory (RAM), read-only memory (ROM)

The internal memory of a computer system is called RAM. It is primarily used to hold programs when they are running and any documents or graphics files that the user has opened. There is a constant flow of data between the hard disk, the RAM and the processor. 
When a software application is run, the program is first copied from the hard disk to RAM. Once in RAM, the program can travel at very high speed to the processor where the program code can be run. RAM works at the speed of electricity, much faster than a hard disk, which works at the speed the disk spins. 
Similarly, when a document or data file is opened, it is first copied from the hard disk to RAM. Once it is in RAM, the file can be worked on by the user. Most modern hard disk drives have cache memory built into the control electronics to help the drive work faster. 
The cache is used so that: the FAT is copied from the disk to cache to make finding disk addresses faster, as fast electronic cache is used rather than slow disk to access FAT if data is needed from a drive, the required data is brought to cache, as well as the next data on the disk, so if the computer needs this as well, it is already in the cache, ready to go when data is written to disk, it is very quickly sent to cache so the drive electronics can then write the data to disk at slow disk speed without reducing performance in the rest of the system. 
Usually, there is some cache memory between processor and RAM. This cache may be on the motherboard or part of the processor. The processor works a lot faster than RAM, so needs a good supply of data and software to keep running without slowing the system down. 
 

Output, e.g. display, sound

The current market for gaming has numerous outputs that can be used by players to provide a truly immersive experience. Devices that are available today range from,

Oculus Rift

4 and 8 K monitors

7.1 and surround sound

 

Input, e.g. keyboard/mouse, touch, gamepad, joystick, kinetic, voice

The games sector has moved forward in a huge way from the origins of the humble joystick controller. Games consoles offer a large array of inputs that keep players engaged and interested in the games that they play. Inputs that are used today are,

WII Remote - 

Omni - 

Controller -

Joystick - 

Voice - 

Games Keyboards - Keyboards have developed from not just a device to input text on to a word editor, but to enable keys to perform a specific input based on the program, these even can have a custom image displayed on them also.

 

Gaming Mice - Mice these days are not just limited to the simple one or two button clicks! Mice for games consoles or PC can have a plethora of buttons in some cases 10 programmable buttons that enable the users to trigger actions on the click of a button. This enables the gamer to be able to throw grenades and shoot a gun whilst zooming through the scope of the gun and run all at the same time.

Steering Wheels - Games like Forza enable players to drive around in high-performance cars and using a steering wheel they can get force feedback to give the impression that they are actually driving the car in real life. Things like understeer and oversteer are not just words that are shown on screen, the player now can experience them. 

Storage, e.g. hard disk drive, cloud

Hard drive The hard drive is the obvious place to store graphical files as it is quick and the graphical software will look there first to open or save work because of the computer system default settings. Modern hard disks are very quick and spacious, with lots of room for work. Hard disk drives also have cache memory to improve the disk performance. 
 

Connections, e.g. internet, local area network, mobile network

 

New technologies.

The hardware listed above are intrinsic to any computer and how well they run, produce a report detailing why these elements are important within games development and design and what the impact of having insufficient levels of these hardware could have to the overall success of any developed game

Software options and their effect on the development of computer games, including:

Operating system, e.g. Windows, Mac OS, Linux®

The wonderful world of computing, has provided the user of it with a number of different platforms that users can choose from, this has been a battle of dominance for decades since the humble beginnings of Microsoft and Apple. However nowerdays we have many more platforms to offer. Each of the systems like Mac, PC can have open source operating systems on them, or thier own propratory software. However some of these have benefits and drawbacks, these range from lack of support or titles released on them, to non support of features like flash or input options like the Wii.

Programming language, e.g. C++, Java®

There are a number of programming languages that a developer may use in the development of a computer game. These range from high level to low-level languages. Commonly used are C#, C++, and Java, these are classed as Object-oriented languages that can be used to create Android and iPhone applications and games. The use of Javascript can be used in game creation these are classified as "Lightweight" 

 

Device drivers, e.g. input/output devices

Device drivers are a key element to consoles and games. The use of a device driver enables hardware and software to work with each other, almost like a translator that converts the input into a language that the console hardware can convert into instructions that enable actions to happen in a game.

Console developers often release new driver updates to their systems to allow them to introduce new hardware, a good example of this was when Sony released their PlayStation motion controller originally on the PS3. This allows the consoles to have a longer lifespan by keeping players interested.

 

Graphics options, e.g. DirectX®, OpenGL

The graphics options for Application programming interfaces (API's) to enable the management of tasks related to the software and GPU are  

DirectX - a Microsoft API 

OpenGL - An open sources API

 

Audio options, e.g. music, ambiance, file format.

The use of audio within a game is key, the sounds within a game add to the feel and theme of the game drawing gamers in and making them jump and react. Sounds in games enable players to understand when a feature or level has been achieved, and an enemy destroyed, a change in gameplay. The file formats that games can make use of are;

WAV - The WAV file format is uncompressed and as a result the file sizes are large. WAV formats are used on Audio Compact Discs (CD's). 

MP3 - The MP3 file format is often used today on portable players like iPhones, Android players, and dedicated MP3 players. MP3's are compressed and are in most cases (depending on the encoding options) when they are created from an original WAV format are 10 times less in file size.

FLAC - The FLAC file format is compressed in the Free Lossless Audio Codec (FLAC) format, which is an open source lossless audio compression format.

AAC - The AAC or Advanced Audio Coding is an audio coding standard for lossy digital audio compression it was created to be the successor of the MP3 format. In comparison to MP3, the AAC generally achieves better sound quality than MP3 but at the same bit rate.

Each of the above files has their merits and their drawbacks, compression is often used to ensure reductions in file sizes, however, this could be at cost of the quality of the sound.

We can take for granted that our IT devices use software to enable us to do things, however, software in games development and design can provide further obstructions to the development of a AAA title, using your previous report on hardware add a new section to review and discuss the necessary software that is required to create games (ensure that you look at the complete system)

Uses of game engines, their capabilities and how they aid computer game developers, including:

 

Rendering engines

Developers use rendering engines to create games for consoles, mobile devices, and personal computers. The main function within most games engines is a rendering engine ("renderer") for 2D or 3D graphics, a physics engine or collision detection (and collision response), sound, scripting, animation, artificial intelligence, networking, streaming, memory management, threading, localization support, scene graph, and may include video support for cinematics.

 

Physics engines

A physics engine is responsible for simulating the motions and reaction of objects as if they were under the constraints of real-world (or similar to real-world) physics. It is not usually a standalone program but rather a component of a larger, more interesting program (such as a game).

The input to a physics simulation is generally a collection of objects ("bodies") with properties (such as whether they are rigid or soft, their masses, shapes, and so on) as well as the collection of forces acting on those bodies.

Based on that input, the engine simulates updated positions and orientations of the bodies and applies ("outputs") them. Generally, when objects collide or overlap, that is included in the output of a simulation step in the form of a callback that client code can hook into to handle the specific gameplay logic relevant to the collision.

Essentially Physics engines try to simulate the effects of both gravity and collisions. For better physics engines that means they include both permanent and temporary deformation of objects, including splitting objects into multiple objects, and angular momentum of objects. Ideally, they'd also simulate stress, e.g. how many trucks can cross that bridge until it collapses, but that's quite rare. Further simulation variables like air resistance would also count as physics engine, but these haven't made it into any game yet.

Most physics engines are specialized to some degree and will simulate physics to a point that's necessary for the game. Physics engines for car games are often quite different from physics engines for 3D shooters. And the physics engine of a golf game might have excessive calculations of the interactions of the golf ball and the individual grass leaves, while completely missing the handling of high-speed collisions and deformation of a car (in case it gets hit by a golf ball).

 

Collision detection

After physics are added to objects in the game they have the ability to collide with each other. This is known as collision detection, it is another key role within a games engine. When an object moves around the game there may be colliders surrounding the game area to ensure that player objects don't walk off the edge of the screen, or the playable area, or through walls. The player in the game will also have colliders that enable them to stop walking through walls or other objects such as enemies.

As you play games you may see a games players arm move through a wall but not the whole player object, this is due to the complexity of the shape of the characters that it would be to taxing on the system to have every part of the player object to have a collider.

Scripting

Almost all games engines will enable developers to create and add new scripts within a game to allow for new things to happen. These can be added using scripting languages like Javascript and C++.  If developers are using the Unreal Engine the program has a library of scripts called "Blueprints" that can be used and manipulated to meet the needs of the developer. 

Animation.

Within a games engine, one of the responsibilities is to animate the objects and make them move. There are two kinds of animation used in gaming, these are;

Vertex-based animation - these move parts of a 3D mesh or a 2D sprite. 

skeletal animation - which is a rigid object, for example, a door opening when a player approaches it.

 

In a final section to the report that you have created this week identify at least 3 games engines that are used to create games, in your discussions review their features and limitations and how that they aid the creation of computer games. (it is recommended that you use some well known and some smaller less well-known engines to enable you to discuss in sufficient detail.

For pass standard,
learners will provide descriptions of how current and emerging technologies in gaming impact on the users and the games industry. The descriptions must be supported by examples of current and emerging technologies.
Learners will explain the technologies available in gaming and how they affect the design and implementation of a game.
Learners must support their explanations with examples from existing computer games and how they make use of the technologies available during development.


Last Updated
2019-07-18 15:28:39

Links to Learning Outcomes

Links to Assessment criteria

 

A.P1 Explain social and technological trends of computer games.

A.P2 Explain how current and emerging technologies impact computer games’ design and development.

A.M1 Discuss how current and emerging technologies impact on how games are designed and developed to meet the requirements of the users and the larger computer games industry.

A.D1 Evaluate the impact of current and emerging technologies on the design and development of computer games to meet the requirements of the users and the computer games industry.



English

Key Terms

Scripting Language - Programming Language that requires an application to enable is to run, ie a games engine or a web browser

Graphical Node  - Blocks of colour that are used to represent functions of a programming language

Reading: Read and understand texts, selecting material appropriate to purpose, collating from different sources and making comparisons and cross-references as appropriate.

Organising Information: Organise information and ideas into structured and sequenced sentences, paragraphs and whole texts, using a variety of linguistic and structural features to support cohesion and overall coherence.


Maths

Statistic extracting information: Tables, Diagrams, Charts and Graphs

Using numbers: Written or mental methods, using a calculator, rounding and estimating, problem solving

 







How 2's Coverage

Clarifying Learning Objectives - Using coloured discs and/or peer explanation, check to ensure that learners have understood the learning objectives.

Question and Answer - Verbal discussion with learners to quantify understanding

Product Evidence - Learners to create product evidence to demonstrate understanding



Anonymous Assessment - Learners assess an anonymous piece of work containing deliberate mistakes against given success criteria.

Files that support this week


| | | | |
Week 1
Prev
Week 2
Prev
Week 3
Prev

Next

Next
Webmaster Spelling Notifications