Wednesday, 2 November 2016

Task 1 - Software Technologies for Game Platforms

In this Task, I aim to choose two different games, and examine the differences between them in regards to System Requirements, and what both games require to be compatible with different software. Upon completing this, I shall create a 2D game, and provide a single executable file to show that the game can be transferred from one piece of software to another. I shall also provide a desktop captured game-play video of this game, in order to show that the game is playable and can be compatible with multiple versions of software.

My games for this Task are
  • The Elder Scrolls V: Skyrim
  • Battlefield 1
I have chosen these games due to their contrast in graphical fidelity and their large difference in release dates. This will show a large contrast in regards to both games system requirements, required OS's, API's etc. This will show how software has advanced, and what modern games require to achieve full compatibility with modern and older Operating Systems and API's.

I shall also define the software terms used in this unit in order to back up and bolster my knowledge.

I shall provide 
  • Definition's.
  • Specific Examples.
  • Pro's/Con's of the software and if applicable, the example.
  • The current developments in that software's field.
Platform Dependency:
Platform Dependency is the term for when an application is limited to run under one operating system and can only be run by a single operating environment or a single series of computers. A primary example of platform dependency would be Platform exclusives such as The Uncharted Series for Sony's PlayStation consoles. These games would be designed in a way that makes them impossible to play on Xbox or PC architecture. The games will also be made in a way that makes use of the software exclusive to the PlayStation Consoles and they would be designed to make use of the PlayStation software in order to achieve greater game performance such as higher resolutions and greater FPS depending on the hardware of the systems working in conjunction with the software. Another example would be Sony's competitor Microsoft's Xbox Exclusive games such as Halo and Forza. Just like the PlayStation exclusives, they will utilize the Xbox One's software in order to maximize and refine game performance.


One pro of platform dependency is that the software used to run the dependent applications can be crafted and utilized in a way that maximizes performance for the dependent application allowing for greater quality of gameplay within a game title and a faster work rate should the application be applicable for use in a work environment. However, a prominent con of platform dependency is that the application can not be used on another Operating System or Platform architecture. An example of this would be if a game was dependent on an Operating System such as Windows 10, it cannot be ported directly to another OS such as Macintosh, due to entirely different software. This can prove troublesome, should the application be work related.



Recent developments of Platform Dependency is that more games and software recently are being made with software that now allows for the ability to be moved between different OS's and architecture. An example of this is that the Halo series has been platform exclusive since Halo 3. However, Halo 5 had its forge mode ported to PC, in order to bring it to a larger audience. While Halo 5 PC forge wasn't quite ported to an entirely different OS, it was still moved to a different platform, breaking down a barrier present since 2006 with Halo 2 Vista. It also shows that companies are beginning to shun platform dependency and are now aiming to bring their games and software to more OS's, and as a result, more platforms. Basically the future of platform dependency is for it to die out and platform independancy to become a main focus of the industry.

Skyrim isn't bound by platform dependency and runs on multiple platforms. As of writing, Skyrim is available on Microsoft Windows, Xbox 360, Xbox One, PlayStation 3, PlayStation 4 and is rumored to be available on the Nintendo Switch in the future. Due to this, Skyrim is not platform dependent due to its availability on multiple platforms. Just like Skyrim, Battlefield 1 is not platform dependent. It is available on Windows, Xbox One and PlayStation 4. Due to this, it is not dependent on a single platform, and as such, is not platform dependent.



Operating Systems:

An Operating System is a software program that runs and coordinates the computers basic actions such as registering keyboard input, providing the output from the computer to the display and maintaining control of peripheral devices such as Printers etc. More complex systems require much more of the Operating System and will require it to run programs and software without letting them conflict and would also prevent the confliction of multiple users.

There are 5 distinct OS classifications:

  • Real-Time - The OS responds to input instantaneously
  • Multi-User - This version of OS allows multiple users to run programs at the same time
  • Multi-Threading - This OS allows different parts of a singular program to run simultaneously
  • Multi-Tasking - This OS allows multiple programs to run at the same time.
  • Multi-Processing - This OS allows a program to be ran on more than one CPU
There are three distinct OS's used by the majority of Computer Users.

  • Microsoft Windows
  • Macintosh
  • Linux

Of the three primary OS's, Windows is the most used and most prolific. It is well known for its more recent version, from Windows XP up to Windows 10. There are many distinct pro's that Windows has over Macintosh and Linux. It is more accessible than Linux, due to the latters emphasis on letting the user code it. Due to the pre-coded nature of the Windows OS, it allows for greater accessibility. An advantage Windows has over Linux is that it is more complex the Macintosh. This allows for greater user options than Mac without the greater complexity of Linux. However, Windows has downsides. Due to it complexity over Mac, it removes any chance of people who are new to PC's using it, and would turn them into using Mac as a beginner Operating System. As such, many people use Mac over windows due to its complexity.




The second primary OS is Apple's Macintosh. This operating System is mostly known for its use on Apple's I Mac's and its Mobile Phone version called IOS. Macintosh is the most simplistic of the main OS's and due to this, it is used by many companies due to its simplistic, versatile nature, allowing for faster, more efficient work. A primary pro of Mac is its simplicity. At times, a program can be installed via OS and can work immediately opposed to Windows and Linux which would need more tinkering with the program files. Due to this, it is popular with professions such as Graphic Design due to it simplistic nature allowing for more efficiency when it comes to producing work and the OS is also known for it great compatibility with the professions most used software such as Adobe Photoshop and Fireworks. A disadvantage of Macintosh would be its lack of game support. Due to the industry's focus on Windows, Mac is often overlooked, and as such many game's lack support for Mac OS. Also, Mac is normally used on machines with hardly any options for upgrade-ability, making modern games unsuited for that hardware.

The final primary OS is the Linux Operating System. This OS is well known for its emphasis on letting the user code even the most basic features, and as such, is popular with computer enthusiasts. Linux is also well known for being the OS behind Android. Due to its coding emphasis, it makes it the most complicated of the primary OS's. One pro of the Linux OS is that due to its complex nature, computer savvy individuals can program it to fit any system. This allows it to be used with far more devices and in more situations than Windows and Macintosh. However, its main pro is also its main problem. Despite its versatile nature, anyone without extensive knowledge of coding cannot use Linux for everyday use. Due to this, OS's such as Windows and Macintosh are used for everyday use and are more prevalent in modern desktops.

In regards to Modern OS's, development is still going strong. All three main OS's are constantly being updated allowing for more features to be used for the OS, greater usability and more advanced compatibility with software programs. Microsoft Windows and Macintosh's OS's have had two large updates in recent years, Windows 10 for Microsoft and El Capitan for Macintosh. Due to these frequent updates, interest in these OS's are kept alive, and as such, are kept on PC's worldwide. By constantly evolving, the main OS's are extending their usefulness, and can be used for more software than ever before. In the future OS's may not be bound to certain hardware, and the existence of dependent OS's may become a thing of the past. It is inevitable that the next version of windows may be called Windows 11, however, the features of OS' are constantly changing, so the exact function and features of the next iteration may not be clear. The same applies for variants of the Macintosh and Linux operating systems.

Skyrim is only available for Windows OS's. It is available for Windows XP, Vista, 7, 8.1 and Windows 10. Skyrim also supports both 32 bit and 64 bit windows Operating Systems. Battlefield 1, just like Skyrim, is only available for Windows OS's. However, Battlefield 1 is compatible only with the last few versions, Windows 7, 8.1 and 10. Also, it can only work with 64 bit versions of these OS's.

Drivers:

A driver is a software program designed to control a specific device. No matter what electronic device it may be, it is required to have a driver program, in order to accurately control and use it. Some examples of devices that require driver software are Keyboards, Printers and Disk Drives. Many devices such as the aforementioned Keyboard already come with such software pre installed, however, some devices require their compatible drivers to be installed upon connection with a computer.

A keyboards compatible drivers will come pre installed allowing for instantaneous use upon purchase.
When a device that requires a driver and runs via DOS, the driver files usually utilize the .SYS extension. However, when it comes to windows compatible drivers, the extension is usually .DRV in nature. Essentially, a driver is a translator between a device and the programs it utilizes. The drivers have their own specialized commands that are unique to the driver. Despite this, most programs use generic commands to access devices. Due to this, the driver receives the generic commands from the programs and then converts them to the specialized commands required to control the device.



An example of drivers would be drivers utilized to run graphics cards. Nvidia are the GPU company most known for their vast variety of highly optimized drivers. For graphics cards to work with more modern games, they require new drivers at certain periods in the game industry's technological evolution. For example, when Crysis 3 was released, new drivers were made in order to configure graphics cards to deal with the advanced level of graphics Crysis 3 offered.

One prominent pro of drivers are that even outdated devices such as old graphics cards can be compatible with newer software, due to constantly advancing drivers that allow for greater compatibility with modern software. Due to this, devices become obsolete long after their inception opposed from when their standard drivers become incompatible with a new software version. A con is that despite the fact older devices stay relevant and usable long after purchase, this mean there is less drive to make something entirely different that can vastly improve on the older devices. Due to older devices being compatible, the need for newer devices is reduced leading to less innovation.

In regards to driver development, new drivers for devices are constantly in development, allowing for devices to live on far longer than they would normally become obsolete. The same goes for any device that uses drivers. New drivers are constantly being released to expand the lifetime of the devices used. This allows for greater usage of computer compatible devices. In the future, drivers may be more versatile, for example, currently drivers are specific for certain hardware such as Nvidia and AMD have different drivers. However, in the future, drivers may be designed to adapt to different hardware and still have the same functionality.

The drivers for Skyrim are required to be compatible with Direct X 9.0c. The Graphics Hardware for Skyrim are also required to be DirectX 9.0C compatible. The Drivers for Battlefield 1 have to be DirectX 11.0 compatible, as does the video hardware. I have been unable to find the specific drivers required for both Skyrim and Battlefield 1 however, the latest AMD and Nvidia drivers such as Version 375.70 for Nvidia and Crimson Edition 16.9.2 for AMD should suffice in running Skyrim.

Application Software:

Application software is a program or collection programs designed in order to be utilized by the end user. There are two distinct classes of Application Software

  • Systems Software 
  • Applications Software
Systems Software's are utility programs that manage low level computer resources. Examples of System Softwares are the OS, Debugger, Utilities, Compilers etc. Applications software are programs designed to be used by the end user. Examples include Graphics, Word Proccessing, Games and Databases. Generally, the Applications Softwares sit ontop of the Systems Software due to Application Software being unable to run without System Software such as the OS and System Utilities.


The main pro of Application Software is that they allow for the System Hardware to be used by the user. Without software such as System Utilities, and Operating Systems, PC's themselves could not be run, let alone used. Due to this, there is no distinct cons for the use of Application Software. There always is a valid Application Software for different computer hardware. Their very existence allow for PC's to be used and without them conventional PC's could not be properly used. As far as Application Software's are developing, they are constantly being updated due to their crucial role in running computer hardware. Due to their very existence being crucial to computing, they are being updated often, in order to run on any hardware new or old. Due to this, Application Software in the future will adapt to suit whatever changes future software takes.

Both Skyrim and Battlefield 1 utilize many application software in order to run their game. Notable examples of what software both game's use are the OS, Graphics, Debugger, Utilities etc. They need the OS to run the hardware the game's are being played on, they need the graphics in order to render and display their image onscreen, a debugger to root out and find any bugs in the game files and they need utilities to manage the basic software, in order to make the games run.

Graphical API's:

Graphical API's are sets of routines and protocols for building software applications designed for creating and managing multimedia effects and graphical images within applications such as games and active web pages. There are many graphics API's the most notable being DirectX and OpenGL. Both specialise in both 3D and 2D graphics, and OpenGL creates graphics by utilizing the vector technique.



DirectX is the most well known graphics API. It was created in september 1994 in order to replace WinG as windows primary API. DirectX has 5 different components
  • DirectDraw
  • Direct3D
  • DirectSound
  • DirectPlay
  • DirectInput
Direct3D is the graphics aspect of DirectX. It directly competes with OpenGL and has pro's and con's to its use. One pro to using Direct3D is that due to the fact it was made specially for windows system, it is the best performing graphics API for that platform. However, it has one large disadvantage to it. Since it was created for usage exclusivly on windows platforms, it cannot be used for others such as Macintosh and Linux. Due to this, Direct3D is one of the least portable graphics API's.



The second most well known graphics API is OpenGL. This is an API that specializes in rendering 2D and 3D graphics using Vector. One distinct pro of using OpenGL is that it is constantly evolving. New Version's are released often by a company called the Khronos Group and as such, the features of OpenGL are expanding as well. However, despite the constantly evolving nature of OpenGL, it has one prominent con. Unlike most graphics API's, which are implemented into software, OpenGL is implemented almost entirely into hardware. Due to this, usage of OpenGL and it performance depends on the quality of a systems hardware opposed to its software.

In regards to developments in the Graphics API field, new API's are being made constantly and the existing API's are being expanded upon exponentially. One such new API is Vulkan. This API has yet to release as of the time of writing, and was announced in 2015. Similar to OpenGL, it focuses on 3D graphics and while capable of 2D, it specializes in 3D. In the future, Graphics API's may be compatible with all graphics software, opposed to just certain ones. Also, currently different graphics API's have different functions. In the future, maybe all GRaphics API's will be able to accommodate all roles opposed to a certain ones specializing in rendering etc.


Skyrim utilizes DirectX 9.0c in order to build the software applications required to create Skyrims visual effects such as textures and lighting. Battlefield 1 uses a more updated version of Direct X, DirectX 11.0. Just like Skyrim, Battlefield 1 uses this in order to build the software applications needed to create the games visual effects.

Sound API's:

Sound API's are a set of routines and protocols, required to build software applications that design and manage sound within applications such as games and active web pages. Just like Graphical API's there are plenty of Sound API's such as DirectSound and OpenAL. Both render, mix and record sound, however, DirectSound is specialized in recording/mixing, while OpenAL specializes in rendering sound.



DirectSound was originally a deprecated software component, however after large developments, it is now classed as a mature API. Its main purpose is to play the audio for games, however, it can also be used for playing audio within audio applications. One distinct Pro of using DirectSound is that it can be used for high quality audio within games due to that being its purpose, and as such it being designed to provide the optimal audio experience during gameplay. However, a con of using DirectSound is that it cannot render sound as efficiently as API's such as OpenAL and due to its nature of being Windows reliant, it is not portable to other OS's.

Another prominent sound API is OpenAL. OpenAL is a sound API that specializes in the rendering of sound via multi-channel 3D positional audio. It also serves as a environmental 3D audio library which its purpose is to replace proprietary audio systems such as A3D and EAX. A distinct advantage to using OpenAL is that it can be used for environmental 3D audio, which is done to a standard unmatched by rivals including DirectSound. A con is that OpenAL is tailored exclusively to human users, while other sound API's can be used to create audio for artificial intelligence's and robotic simulations.

Developments in the Sound API field are constant and consistently develop the API's to have more features which allow for greater roles and higher quality of the software built via the API's. Extension Mechanisms can be added to sound API's in order to add extra functionality in the future. Via these extensions, existing API's can have more features added in order to increase functionality. In the future, sound API's may be compatible with multiple sound software and there may be the development of one universal driver without the need for different variants.

Since both Skyrim and Battlefield use a version of DirectX for their graphical API, it can be presumed that they both utilize DirectSound as their sound API. Due to this, the audio within both games will use DirectSound in order to build the software applications necessary to create/render the sound in both games such as the soundtrack, ambient noise and sound effects.



Television:

Television is a medium of telecommunication that transmits moving images via monochrome or color. They are always transmitted in either 2D or 3D and sometimes are transmitted with sound. Television is a modern form of mass medium alongside music, and video games.

Television Images are displayed via a Television Set. The original TV sets were bulky and displayed their image via CRT. More modern TV's come in three forms.

  • Plasma
  • LCD
  • OLED

The earliest forms of TV were displayed via a Nipkow Disc. The images were displayed through using a spinning disk to create and reproduce images. However, due to the technology being early development, the resolution and screen size's were low, and as a result more advanced TV sets were produced. The next step was producing and displaying image via CRT.


One main example of television is the aforementioned CRT (Cathode Ray Tube). The method consist's of using a vacuum tube containing either a single or multiple electron guns and a fluorescent screen in order to display images. A pro to this method is that the CRT produces sharper images at non native resolutions. A con however is that CRT requires a large box monitor in order to display the images. Due to this, the CRT television sets lack greatly when it comes to mobility.

Another example of television is LCD. LCD (Liquid Crystal Displays) are television sets that use liquid crystal to display images. They are much thinner and lighter than television sets that use CRT to display images and can go into sizes much larger than CRT. One pro to LCD is that at native resolution, the image produced via LCD is sharper than on CRT and the size and weight of the LCD opposed to CRT allows LCD sets to have far greater portability. A con to LCD use is that LCD sets have bad viewing angles that can affect contrast, brightness and gamma.

In regards to television developments, many new types of television are being created in order to fix any shortfall with CRT and LCD. example s include the creation of OLED television sets that correct the disadvantages of both CRT and LCD. Despite this, OLED has yet to take off, and LCD has a far greater sale rate and amount. In the future, more ways to display image's may be created. Also television sets will produce clearer images and resolutions will continue to improve with 8K and even 12K Television Display's being available and eventually becoming the norm.

Both Skyrim and Battlefield require television in order to display their images on a screen such as a television set or monitor. However, both games are compatible with any form of television, allowing for both games to display their images via pretty much any television set providing they have a port for a compatible video cable such as HDMI, DVI etc.






Skyrim Video Example:



Battlefield Video Example:




Skyrim Video Reference:
https://www.youtube.com/watch?v=vVdAhdwB6ik

Battlefield Video Reference:
https://www.youtube.com/watch?v=i-9vNYiDYRM

Visual References:
Written References:
http://www.systemrequirementslab.com/cyri/requirements/battlefield-1/13404
http://www.gamesas.com/wait-what-version-directx-does-skyrim-use-t172419-25.html
http://gaming.stackexchange.com/questions/34102/which-scripting-language-does-skyrim-use
http://battlelog.battlefield.com/bf4/forum/threadview/2979150493973858546/
http://www.webopedia.com/TERM/O/operating_system.html
https://en.wikipedia.org/wiki/Microsoft_Windows
https://en.wikipedia.org/wiki/Linux
http://www.pcmag.com/encyclopedia/term/49364/platform-dependent
http://www.webopedia.com/TERM/D/driver.html
http://www.webopedia.com/TERM/A/application.html
http://www.webopedia.com/TERM/E/end_user.html
http://www.webopedia.com/TERM/S/systems_software.html
http://www.webopedia.com/TERM/A/API.html
http://searchwindowsserver.techtarget.com/definition/DirectX
https://en.wikipedia.org/wiki/DirectX
https://en.wikipedia.org/wiki/Comparison_of_OpenGL_and_Direct3D
https://en.wikipedia.org/wiki/Vulkan_(API)
https://en.wikipedia.org/wiki/Battlefield_1
http://www.nvidia.co.uk/Download/index.aspx?lang=en-uk
http://support.amd.com/en-us/download
https://en.wikipedia.org/wiki/OpenAL
https://en.wikipedia.org/wiki/DirectSound
https://en.wikipedia.org/wiki/Television
https://en.wikipedia.org/wiki/Cathode_ray_tube
http://www.displaymate.com/lcds.html

1 comment:

  1. Hello There. I found your weblog using msn. This is an extremely well written article. I will be sure to bookmark it and come back to learn more of your useful information. Thanks for the post. I will certainly comeback.ANIMATION SERVICES in UK
    ANIMATION SERVICES in India

    ReplyDelete