Monday, 12 September 2016

Task 3 Understand Software Technology for games platforms

What is Platform Dependency?

Platform dependency refers to when an application can only run on one operating system, in the term of gaming it refers to video games that are only built for one console and doesn't have a version for other consoles and their operating systems. An example of a platform dependent game would be Halo series for the Xbox systems. Halo is a game developed by a group known as Bungie, the publishers of this game are Microsoft, who funded the development of the game, they are also the company who created the Xbox systems. The operating system that Halo runs on is One core as it is specific to the Xbox.




With platform dependency there comes both advantages and disadvantages, the advantages of platform dependency are that the game being developed becomes backed by the company who creates the console the game is being developed for, this means they are offered more support and funding allowing for the game to be of higher quality. The second advantage is due to the fact of support the development company doesn't doesn't need to find as much funding and will have a lower development time which will make the game hit the markets quicker than other games.
Another advantage is that the developers will already have an idea of a target audience and demographic to aim as certain consoles are chosen by certain audiences, this means that not as much development time will be placed into doing research, this will allow for more concentration on the development of the game. To show an example of of a demographic to a console, if we look at nintendo, the content they offer is aimed towards family friendly fun meaning that the majority of platform dependent games developed will be quite child like and cartoon styled.

The disadvantages of Platform dependency are the risks, if a developer makes their game platform dependent then they are essentially making it so that they rely on one single device and if that devices company goes bankrupt then the game developed for that system could put some companies in jeopardy of going bankrupt depending on how much time and money they spent on the project. Another disadvantage is that if the developers mess up their game and it doesn't appeal to the demographic of the console they are creating the game, for then the game may not sell well causing the company to generate a loss, this may cause the company to go bankrupt or have a smaller budget for their next project.

A few examples of platform dependent games are:

Bloodborne

Bloodborne is an exclusive (platform dependent) game developed for the PS4 by From Software. It is an action role-playing game with hack and slash type gameplay. It has a steampunk environment and is a very difficult game known for its difficulty along with the dark souls series. I would recommend this game as I had a lot of fun playing it, my favourite part about it is the environments you explore and music played throughout the game mainly using the violin and other orchestral instruments.






Sunset overdrive

Sunset overdrive is an exclusive game developed for the Xbox by Insomniac games. It is an action-adventure, third person shooter with parkour elements embedded in the game. It uses a quirky cartoon style and presents comic type combat for the player as they try to use goofy weapons and survive an apocalyptic world. From my experience it was a fun game to mess around with and roam around using creative weapons. My favourite part of the game was the bright and contrasting colours it used to portray its open world.















Amnesia

Amnesia is a platform dependent game created for the PC by Fictional games. It is a first person survival horror based around a man who has amnesia and has to journey through this castle to murder the antagonist. The player cannot fight monsters they encounter and must instead run away and hide so they are not killed. I have only had experience watching this game and it is a chilling horror that made me jump a few times. My favourite aspect of the game was the mechanics involved which would mess with the player.







What is Platform Independency?

Platform independency is the opposite of the platform dependency, instead of the application being stationed to one operating system it can work on multiple ones. This means that the developers need to create the games so they are compatible with the hardware and software of each console which can make the development time longer. Sometimes a game will be developed for one console before another one, this is due to the hardware and software each one offers. When new consoles are released developers will need to become acquainted to the systems at hand before they can develop games for them making video games quite scarce at release. An example to demonstrate a platform independent game is the COD (Call Of Duty) series, COD is a huge game heavily recognised for its FPS multiplayer. The game is available on all consoles but does not offer cross platform play (which is another form of independent media available with some games.)




The advantages of platform independency are that it allows for more people to enjoy the experience of the video game, this is both beneficial to the developers and gamers as it doesn't mean people need to spend £300 or more to play it and the developers get more money due to the accessibility of the game, it also means that there is less chance for failure. Another advantage is one stated from before (cross platform play) which allows for people to play together from different platforms. Xbox and Sony have been huge rivals since the seventh generation of console which makes cross platform play not available (although they have been communicating to each other about the idea) instead cross platform has been made available through PC and consoles with games such as rocket league allowing people from both hardware platforms to verse one another.

There are also disadvantages to platform independency such as exclusive content, within the recent years of gaming developers have signed contracts and deals with the companies who create the consoles, this means that all consoles get the video game but a certain one may get a better experience. An example of this would be with COD, depending on the console they have paired up with then that console will receive DLC (Downloadable content) earlier than other platforms. This means that spoilers can be placed over the internet by those who have the content ruining the experience for people on other consoles who didn't want to see the information. Another disadvantage is that the game is only as strong as the weakest console it has been developed for, this means that if the has been built with consoles in mind first then the PC might not be using its full potential when it comes to playing the game. A lot of players on PC would prefer for consoles to not be around as they feel the experience and content of some games would be far better now if the consoles didn't hold it back. 

Some examples of platform independent games are:

Assassin's Creed Syndicate

Assassin's Creed Syndicate is an action-adventure game created for all platforms by Ubisoft. It is a third person game set during the 19th century about Assassins as they murder a corrupt group known as the Templars, the gameplay involves free run elements and stealth tactics allowing for multiple ways to complete missions and get around the open world city. I would recommend this game as it is a fantastic way to experience parkour.




Batman Arkham Knight

Batman Arkham Knight is a action-adventure game developed by Rocksteady studios for all platforms. It is a third person experience set in the fictional world of Gotham city from the Batman comics. You control Batman and must fight through the night to stop Gotham from being overtaken by criminals. It is a great game to play and one of my favourites due to the gameplay style which is distinctly exclusive to the Batman games. A problem with this game happened at launch however, when the PC version would not work. Both the PS4 and Xbox one versions were fully working but the PC game had a huge amount of game breaking bugs that the developers had to pull it from stores while they fixed it for several months before putting it back up for sale. An example of how independent platforming can go wrong if not handled correctly.















Spider-man Shattered Dimensions

Spider-man is an action adventure game developed by Beenox for multiple platforms. It is a third person experience which uses multiple characters for its story based upon spider-man from the comic books. It is a fun game to play as the gameplay mechanics will change depending on which incarnation of spider-man you are playing as.






What is the purpose of an Operating System?

An OS (Operating system) is the basic software that supports the technology's basic functions, without an operating system then all you have is pieces of unusable hardware in front of you. Operating systems allow for applications to run and so for consoles this allows video games to be played. Operating systems will also manage all pieces of hardware and software acting as a 'middle man' in the process so that they can be compatible with one another, the majority of devices in todays society use Operating systems.



XBOX

The Xbox one developed by Microsoft, uses an operating system known as OneCore. It is a windows based operating system that uses the Hyper V Virtual Machine monitor. This is a piece of software that can run one or more virtual machines, if the hypervisor can do this then it is known as a host machine and all virtual machines running off of it are known as guest machines. At the release of the Xbox one they based the operating system off of the Windows 8 core but has since updated and replaced it so the windows 10 based core is now part of the operating system. The OS is updated frequently by Microsoft with system updates.



PLAYSTATION

The Playstation's operating system is known as Orbis OS and is forked from FreeBSD 9 (a different operating system.) the definition of 'fork' means that the original source code from one software package has been taken and started a different independent development on it to create a different product. Usually you can fork free open source codes but if the code is copyrighted then negotiations and permissions will have to be granted to start forking it. The operating system is updated by system updates that happen every couple of months.




PC

The PC has several options for people to choose an operating system, two examples of operating systems for the PC are Linux and Windows. Linux is a Unix-like operating system developed from free open source software. It was originally developed as a free operating system based upon the Intel x86 architecture. Linux has the largest installed base and is the leading operating system on servers and other systems but is not popular with many PC users such as gamers. The operating system is developed by the community as it can be altered by anyone under the terms of its respective licenses.


Windows is another operating system for the PC developed by Microsoft. it is described as being a metafamily of graphical operating systems. It dominates the PC as more people find gaming on windows to have the best quality. The newest version of the operating system is Windows 10 (which has a version based on for the Xbox one.)




MOBILE / HANDHELD

With Mobile depending on the brand of phone you choose will depend on the operating system you will have installed. The first operating system I will look at is the IOS, an operating system build for apple's mobile devices such as iPhone, iPad and iPod by the Apple company. There have been 10 versions of the IOS with the newest update released in September 2016. The home screen of the devices is where most applications will be placed, with a structure of having apps in rows and columns. Below shows the different iOS updates with iOS 6, iOS 7 and iOS 8.


The biggest operating system for mobile devices is the android operating system. This system is developed by google although originally created by android INC. and based on the Linux Kernel OS. A huge amount of devices use the Android OS making it the dominating operating system for mobile devices (with Apple being in second place.) The User interface is similar to Apple's but has a bigger amount of customisation available with it. The newest version of the operating system is Android 7.1 Nougat released in October 2016.





What is the purpose of a Device Driver?

A device driver is a software translater for devices, if hardware didn't have a device driver than what could mean one thing from one device to the next can mean a different thing to another device due to its programming. An example of this could be with a mouse, if that mouse was developed by one company with a specific coding then any computer that is accoustamed to that coding can use that mouse. However, if you try pugging it into a computer that isn't use to the coding of the mouse then it will translate it into a different object and therfore render it useless, so instead of companies having to constantly re-program their hardware to work with other hardware the device driver was made so it could enable the mouse to be compatible with every computer. Usually when you buy an operating system a device driver is already built into the product as it is such a key element for using technology. Examples of hardware that use device drivers are Keyboards, mouses, any type of hardware card such as sound card, monitors, printers etc. Device drivers also translate software as well as hardware.





What is an API and what does it do?

An API stands for Application Programming Intereface, the job of an API is to act as a messenger. When you need to do anything on your computer or any other device the API is needed so that the command can be sent and tranfered back to the user, an example of an API at work would be when using something such as YouTube or Google, when you search for something the API will look through databases to try and match your search as close and possible and then will respond with the options that get displayed on your screen. API's are what cause the connectivity we have come to know today and without it we wouldn't be able to use a lot of online features.





Unity is another API but one used for creating video games, it is a game engine developed by unity technologies in 2005. At first it was a platform dependent API developed for OS X but has since been branched out onto other devices and operating systems. At this moment there has been five major versions of unity that have been released over the past 11 years. Below are screenshots of the unity software and an explanation of how it works.

Unity

This is the user interface that the developer is greeted to when they load up unity, the bar that is circled allows for the user to swap between how objects are manipulated in game. It can allow for the user to move the object through the 3-dimensional plain, spin the object around and resize the object at hand. It also allows the user to manipulate how the mouse works as there is a drag tool connected so they can drag along the screen to their preferred position.

The bar circled below allows the user to swap between multiple components to create stages. the scene tab is where the player is given the tools and area to create their project, the game tab allows them to see what their project will look like from the cameras perspective and the asset store allows the user to download tools or textures to create and apply for their levels.

The area circled shows a tool tab to create objects such as cubes, cylinders, prisms, cones and more. This object creator is known as pro builder and has multiple uses for manipulating objects and creating them.

Below shows a cube that has been placed in the scene, to the left is a window which allows you to change the basic shape and the size of the object by its 3-dimensions. The circle to the right of the screen shows the hierarchy, the hierarchy shows all objects that have been built in the game and can be renamed so you can trace back to a certain object you want to manipulate.

The circle to the right of the screen shows the final important tab which is known as the inspector. When an object is selected all the properties of said object is shown, it allows the player to see what is altered about the object and also allows them to alter it without using a freehand style.

The bar circled below are another couple of tools which allow the user to edit an object, the tools allow for the object to be moved around the 3-dimensional plain, for the user to manipulate the object using its vertices, the third one allows the user to manipulate an object using the sides of it and the final one allows for the user to manipulate the face of the object.

Below shows the effect of the manipulation of a side of an object, as you can see it only drags the one side making the object look like it has a slant connected to the side.

Below shows the effect of an object that is having a face manipulated, as you can see the object has been dragged out to make it longer.

Below shows the inclusion of a light source, you can manipulate this object using previously discussed tools to change the direction of the lighting and the time of day.

Finally, this is the main area for developers hold all their scripts, assets, textures, prefabs and more.

Example of a unity level:





Construct



Research video games

Game 1: Web based - Tetris

The first game I am analysing is Tetris which can be found on the web using search engines such as google or internet explorer.

Tetris was originally a dependent game created for the Electronika 60 (a Russian console) developed by Alexey Pajitnov on June 6th 1984. The gameplay consists of having multiple different shaped blocks and having to pile them up to clear lines and gain points. As the years have gone by many incarnations of the game and spin offs with branded characters have been created, the main version I will be looking at is the web based version. Due to its accessibility Tetris is a independent game now. The operating systems used to run the game on the web are Windows, Linux and more computer based operating systems. Any drivers needed to run the game would be for the mouse, keyboard, sound driver and visual driver. The programming has been adapted for different ports from the original game however, the web based version uses the Flash application and is coded using the ActionScript programming language. As for the GUI (Graphical API) of the game, depending on your operating system will depend on the GUI the game uses, in this case the windows GUI is DirectX. The sound API will also depend on your operating system and the version that windows uses is an add on from the DirectX library known as DirectSound. The display hardware used for playing this game would be of the users choice, the person has a mass amount of options to choose from ranging from monitors to TV's, it is unknown to me what the highest resolution the game supports but the Flash based software can support up to 1080p.


Below is a video of me playing the Tetris video game

http://tetris.com/play-tetris/


Game 2: PC based – Rayman Legends

The next game I am analysing is PC based, by this I mean it is a game distributed through an application such as steam by a professional company instead of being web based.

Rayman Legends is an independent game developed for Microsoft windows, PS3, PS4, Xbox 360, Xbox one, Playstation vita and the Wii U by Ubisoft. It was originally going to be dependent for the Wii U console but was changed during development to gain more sales. The objective of the game is to platform and fight through levels to get rid of the dark teensies. The operating systems needed for the game will change depending on which platform you use, in this case since it is PC based the user would use the windows operating system, depending on the version of the system depends on the person's preference but it is only supported from Windows XP SP2 or higher and Windows 7 or higher with both the 32 and 64 bit versions being compatible. The drivers needed to support the game would be any kind of sound drivers, graphical drivers, USB drivers for things like keyboard or controller, network drivers, hard drives and more. 

The game is created in the UbiArt Framework engine developed by Ubisoft Montpellier, the engine doesn't use extensive coding but concentrates more heavily on 2D animated vector graphics and turn them into a playable video game. Again the GUI and Sound driver will need to be correlated to DirectX due to it being on a windows operating system. The game can support up to a resolution of 1920x1080 on PC, so a HD 1080p TV or monitor would be needed to utilise these graphics.





Game 3: Console based – Ratchet and Clank

The final game I am going to analyse is based on console and its hardware and software. Ratchet and Clank is a platform dependent game developed for the Playstation 4 by Insomniac games. The objective of the game is to platform through planets and defeat the antagonists from destroying the planet you live on. The operating system the game is built for is Orbis OS, this is the Playstation 4's operating system, this means that the game does not need to be developed and translated for other operating systems on other platforms. The drivers needed would already come with the console and so the user does not need to download any software versions. The game is rumoured to use an in house engine developed by Insomniac games which leaves the coding language of the game to be unknown. The PS4 houses two graphical API's, named GNM and GNMX as for the sound API Sony based it upon AMD's TrueAudio API. The game runs at 1080p/30FPS so HD TV's with a resolution of 1080p are needed to maximise the games full potential.















sources:
https://www.halowaypoint.com/en-GB
http://www.bidnessetc.com/52424-microsoft-corporation-windows-10-for-xbox-one-onecore-to-be-highly-customiz/
https://www.playstation.com/en-us/games/bloodborne-ps4/
https://www.youtube.com/watch?v=CAymNk_ePH4
https://www.youtube.com/watch?v=foDEbAbOVZE
http://www.xbox.com/en-GB/games/sunset-overdrive/
https://en.wikipedia.org/wiki/Amnesia:_The_Dark_Descent
http://www.reaxxion.com/2416/amnesia-the-dark-descent-a-blueprint-for-horror
http://assassinscreed.ubi.com/en-us/games/assassins-creed-syndicate/
http://www.gamespot.com/articles/watch-an-hour-of-assassins-creed-syndicate-gamepla/1100-6428978/
http://store.steampowered.com/agecheck/app/208650/
http://www.gamerevolution.com/screen/batman-arkham-knight
http://store.steampowered.com/app/231990/
http://www.webopedia.com/TERM/O/operating_system.html
http://gearnuke.com/xbox-one-os-explained-detail-main-purpose-serve-devs-gamers-says-microsoft/
http://ps4daily.com/2013/06/playstation-4-os-is-based-on-freebsd-9/
https://www.extremetech.com/computing/128247-getting-started-with-linux-commands
https://www.microsoftstore.com/store/msuk/en_GB/pdp/Windows-10-Home/productID.320418600
http://www.telegraph.co.uk/technology/2016/05/19/apple-ios-through-the-ages-in-pictures/
https://www.cardrecovery.com/photo-recovery/recover_photos_from_android.asp
http://arovic16.blogspot.co.uk/2014/08/android-vs-apple.html
http://www.edm2.com/index.php/A_flat_model_device_driver_for_OS/2:Chapter_1._-_Introduction
http://www.gamepur.com/news/19137-dev-why-ratchet-clank-ps4-runs-1080p30fps-addresses-gameplay-length.html
http://www.insomniacgames.com/ratchet-clank-ps4-previews/

No comments:

Post a Comment