https://hardwaretechnologies.tech.blog/assignment-4/
Platform dependency
Dependant-
Platform dependency relates to how game can be created for a certain type of console and thus the game can’t be played on other different consoles within the console market. Example of this can be PlayStation games as they cannot be played on the Xbox console. Similarly, Specific games made for Xbox cannot be played on PlayStation consoles. In addition, the code has been specifically structured so it can be only be played on one system. E.g. the ode for RDR2 on the PlayStation 4 can possibly play on the PS4 which is not suitable for the Xbox because the hardware between the two consoles is different. Thus the code had to be altered for each system separately. On the other hand this is different to platform exclusive games which can be seen as game that are like Spiderman on the PlayStation 4.


There are many platform dependant games such as crash bandicoot and Mario kart. An advantage of platform dependency is that the user is compelled to purchase the console for the game thus promoting the device that video game is played on by the user. As example of this can be when the Spiderman game came out on the PlayStation 2 videogame console, when the game come out it was only available on the PS2 thus the Spiderman fans had to buy the console in order to play their favourite game. This is crucial for the business as it allows them to get more potential customers from platform dependency. Another benefit which is that permits the initiation game development to have a straight vision and clear goal. There is only one specific audience that the designers need to think about as there is only one demographics. This is different to games which are cross platform that need to think and consider groups of different games and their consoles. Example to illustrate is the Nintendo as they are known for their family friendly video games. As Mario is created for the purpose of it being single platform, e,g Wii U , it not affect it is rated family friendly as if other users are alienated such as PlayStation audience. This shows how if focus is put on specific audience then the game will please the specific audience greatly instead of keeping the game general so it can interest all other audiences which is very difficult and hard mission. On the other hand there are some disadvantages linked to platform dependency which is that as it is only suitable for one console. This would mean that it can’t used as cross platform game. Thus high amount of loss is accumulated due to not being cross platform. This is because if it was made for other consoles then there would be a wider target audience. Similarly, more purchase of the game would generate more income as more users are able to play the game with their peers who have other consoles. Lastly, another limitation of platform dependency is that if the game is depended on only one console. E.g. Wii U, a gamers that has PlayStation and who have not enough money to afford Wii U they are not going to purchase the game like Mario kart even if they wanted to purchase the game.
The opposite of dependent games are independent games, this is where the game is available on multiple different platforms and it is specifically designed in a way where it different platforms are taken into considerations. Example of a independent game is a DVD game which is a great example. These are games intended to be put onto a DVD game storage medium more precisely the DVD format used for movies. This makes the game independent as most consoles devices have the ability to play film DVD’s. it’s because of this that the disc can be used and operated on many system due to them all having a DVD drive. E.g. Harry potter DVD game is a ideal illustration for this. The advantage of this is that less code is needed as code can be re-used for the other platforms, unlike creating new code every time for new platform which is energy consuming and time consuming. This also breaks down unnecessary repetitive task thus eliminating excessive toil however this is not a new concept that is very recent. This method had been used in software development for many years and the benefit of re-usable code is seen here as well. Another advantage of cross platform is that mobile app development is possible, business can now invest one time to make their app functional unlike before the companies had to spend time and money on different tools and technologies. Thus now the companies don’t need to spend as much on making apps for each specific platform. An disadvantage of platform independency is that due to Cross-compliance during the making procedure the code can be come poor and it can reduce the speed. Similarly, sometimes it becomes necessary for the developers to make use of other methods/tools and consider sticking to one type of app. This would be frustrating for the gamers as the input delay can be extremely slow and irritating . Lastly, cross-platform applications are not able to fully grasp full capabilities of native-only features so the gaming experience for the user can be enhanced.


Operating systems
Desktops (PC /Mac)
Windows is a OS which stands for operating system that is used on ordinary desktop, which was developed by Microsoft in 1985 so the standard of a stand up computer can be possibly met and it is a graphical user interface. In the earlier times Microsoft Windows could be downloaded via MS DOS. DOS was the core of the whole OS and the way to play the game on Microsoft Windows, the user had to primarily go into DOS to start the game they liked o play. However up to the recent time of Microsoft Windows, the user doesn’t have to do this due to the development of windows. The interface has drivers and APIS which stands for application programming device so the game can be ran and functioned properly. API is an interface or communication protocol between client the server so the building of the client-side software can be made more simple. Windows API is an example of a multiple different forms of API’s, the developer can develop a graphics card so the requirements needed for the game can be met by the graphics card. These can be explosion, smoke and shapes. Microsoft had linked their platform directly to a console which is known as direct Xbox. This mostly known by the people as Xbox (Microsoft Xbox). This was released in the late 2001 and it was released as the Microsoft first foray into the gaming console market. PC gaming wasn’t always the most difficult way of gaming, it was one of the original interfaces to achieve online gaming many games are online which allow the user to play games with many gaming websites. Example of these include ‘Friv’ and ‘Flonga’ the user is able to make a avatar, chat to the their friends and play games together. On of the biggest rivals to Windows is Mac OS. Mac OS comes already installed within all Macintosh computers, as both are owned by the Apple company. This interface offers different style of display as shown my the images below. However people prefer the sleek design of Macs than the design of the windows. Despite the preference of the people an study has shown that there is only accounted 9,5 % of Mac users and almost 90 % of windows users and this research was conducted in 2014. The main reason for this is that the Macs are very expensive and tend to be used for proper work use, however the windows is more leisure friendly. The different operating systems offer technical aspect which are quiet unlike. This means that sometimes games will not run on a specific one. This is essential when deciding to create a gaming PC. The most common opinion OS to choose for gaming is PC as this is the most common OS thus more games should be suitable for its specific. Gaming on PC can be also similarly done via cross platform development and the other way around. This would mean that gamers on computers can interact with PlayStation gamers online. E.g. fortnite, the user can be in the same lobby as PS players, Xbox players and PC players. This is beneficial for gaming community as there is more competition with different video game players.


Mobile phone
Gaming on mobile phones has also had drastic changes and strength to is development over time. Games that were firstly on mobile such Angrify birds, to allowing players play online against each other not only with different type of mobile devices such as apple and android. Now even with console players such as PS or Xbox with cross platform games. In the gaming community, user can now be able to download games not only from the stores from the phone e.g. google store or app store. The internet is another route now however games that are downloaded from the stores such as app store or google play store, they are virus free and are much more secure than downloading games from online sources or the web. In order to download games from the internet. E.g. the user must have a option to choose to trust the source because there is a security software built on the phone. This is for the android and IOS mobile software’s. For IOS devices the user can download some unsecure apps by jailbreaking the phone, this is illegal option however it is permissible to do now. Android OS is Linux builds which is good OS for gaming because it is open source thus allowing small developers to produce games for the device. IOS is OS which is pre installed on all iPhone and iPad devices. IOS comes with regular updates to improve the performance of the phone by how quickly to the apps perform.


Drivers
Soundcard driver/graphics driver
A driver is bit of software or part computer that panels device that is attached to a computer. It gives software interface that makes the OS to interact with the device by communicating. It can access the hardware and it doesn’t need extra additional information about the hardware. The driver typically communicates the hardware by the communications ‘subsystem’ that the hardware is connected to. These are used to cut length programming with the help of interpreting information sent by the hardware device and the applications or even OS that uses it. E.g. the crucialness of drivers is the new Razor gaming keyboard. If the drivers for this device are not installed, a problem will rise as the device cant be used to its full capabilities. All of the drivers will come with device typically prepared to be installed and downloaded however if they are not, issue can rise due it possible damaging the device’s workability

Drivers take information from the hardware input and output, this permit them to be understood however software is required so the drivers can be understood. The way this completed is that information is translated into a language which is understandable to the software. Therefore, it lets games consoles to play and understand games specific to their video game console. This is because each console has different driver with different translations or codes. Each deice has its own unique instructions which the driver only knows, and the driver accepts general instructions from a program, then interprets them into a command for the specific device to understand. A sound card driver is picture below and what is does is that specialises in informing the software exactly how to translate the data into audio signals. This is done so the card can then output to a set of speakers that the user has. This is required when it comes to games. If there is no sound card driver then no audio can be heard because the audio is not being processed. This happened because the data didn’t reach the driver so it meant that the information couldn’t be converted and carried on to the rest of the software. The driver made for the graphics card works in a similar way to sound card drivers but instead of focusing on audio, it efforts interpreting the data for video. This includes aspects e.g. lighting within a video game or textures. If the driver is better, then this would mean that the quicker the data will translate when loading is required. Thus, it gives players advantage when playing games if the drivers are better as it game will load very quickly. This would mean it will allow them to see objects clearly and in a better quality. This is the reason why drivers are essential to games console or a machine. Similarly, if there was no driver then there would be no video. Thus, making the game crash because the computer software can keep up with the instructions given is told without a interpreter or translator.


Application software
Interpreted language for games
When making a specific software specialised language which are known as interpretive language must be used. As the interpretive language is being used, the set of commands must be listed so the computer can interpret and translate in order to function correctly. As interpretive languages need a separate piece of software for them to perform, they are much slower than complied languages if compared. This refers to a type of programming language that needs another piece of software which is known as interpreter. When information is required it is converted into binary. The language to do this can be studied by users so they can write commands/instructions for a program and it is made by this. The most common used languages for games are Java, C# and j2ME. The main language used for websites and games is java as that was its primary purpose in its development. Java is object-oriented meaning user can benefit from inheriting code that is common to the object. However, there are different types of java not just one and different types allow different development. E.g. J2ME is a application software which is designed to create application for phones and J2ME is acronym for Java 2 platform micro edition. Unlike java, it is open to everyone. Java is friendly to new user once they start learning the language. As is it is made as a easier for of coding to C++. C is a form of application software, one is mixture made up of C and C++ and this form of coding is used for websites predominantly.

Compiled languages for games
Compiled is quite different to interpreted if compared because compile is where the user has already got the code and this used to make new or repeating instruction. This would meant that the code already exist and are required to be identified again but compared to interpreted code is written on the go. While this is fast however it is not suitable for big programs that are complicated. As writing line by line will become tiring and also make the program way too big. However compiled language would make it small in size and more efficient on its size. E.g. C++ is a common type of programming language for users on Windows OS. Collected languages are more ordinary than and similarly are used by many people in the games development industry. This is because compiled languages are able to run quicker than interpretive languages. This is crucial as games need to run fast so as not to disturb the flow of the game. Object oriented programming is used when using complied languages. E.g. C++ most game engines are coded in C++

Scripting Unreal, QuakeC, ActionScript and JavaScript
Unreal Script was Unreal engine’s usual language for scripting and it was used for authoring the game code and gameplay events before the Unreal engine 4 was released. The language was created for the purpose of high-level game programming and also simple programming. It permit the designer and the developers to make a realistic and interactive environments which is across all platforms such as desktop, mobile and console. Also, it allowed virtual reality, augmented reality and finally mixed reality. The code is written C++ programming language for the aim of easier, upgrading debugging, growth and customization. The company allowed open access to the source code of Unreal engines so everyone one from skilled developer to an amateur can take use of the engine for game development. The number reason why many games are being created using Unreal Script is because it allows developers to make most realistic breath-taking games with fascinating action. The engine run physically-based rendering, producing settings with photorealistic shadows and lightning. QuakeC is another compiled language which a wonderful ID software is used to program bits of the game which is made by Quake. If QuakeC is used then the programmer can customize the Quakes content by increasing objects such as weapons, changing the games programmed logic and the actual physic of the video game. Thus, it makes programming complex scenarios possible. Also, it can be used to switch the aspect of the game like AI’s trigger points or changes of the level. The engine Quake was the only likely game engine that can be used for the QuakeC. Other engines would use diverse gaming modules to modify written in C.


ActionScript is a form of object-oriented software and was firstly made to switch 2D vector animations in Adobe Flash. In the beginning it was restricted in scripting, ActionScript has changed to provide for than just animation, leading to users to have ability to make web-based games using it, internet apps and other interactive medias. ActionScript is very essential when trying to play many games online because it is a ordinary application software for games that are classed as home-made. JavaScript is a dynamic computer programming language which is very lightweight and primarily used for web pages. Thus, allowing client-side script to make interacting with the user possible and make dynamic web pages. JavaScript has possibilities with object-oriented programming and also it is a interpreted language. The most common computer programming language used by the people is JavaScript. It is often used on part of webpages to create a website and the implementations permit client-side scripts to communicate with the users and interact with them effectively. This JavaScript code can be utilised to make game using JavaScript code. Most popular game created by using JavaScript was Mario kart, it used JavaScript code and also html 5 code. The html 5 code was necessary for the movement of Mario and obstacles ahead in the race


Graphical API openGL and Direct X
OpenGl is a software that makes the rendering on the media better and more enhanced. Open GL is a computer graphics rendering application which is used for the purpose of rendering computer graphics that are 2D and 3D. E.g. video games that played on the console also mobile phone and tablets. To illustrate the example of graphical API being implemented is the theme for PlayStation console. PlayStation uses blue colour theme to cover all of their applications, so the system looks more attractive and appealing for the user. Similarly, they include the shapes that are recognised by the user, they use these in their theme which adds to the outcome of Graphical API. DirectX is software created by Microsoft what interacts to a PC’s hardware parts. It is set group of application programming interfaces or API’s which are developed to take care of task related to rendering 2D/3D vector graphics. Also rendering video and playing audio on the Windows platform. It is realised that DirectX 12 is a immense deal for Microsoft is making it out to be marking a great advance over earlier form. For the Xbox One, it creates a chance for more rendering options for greater quality games with improved visual effects. DX12 will announce quicker PS4-like fps as it will permit developers simple contact to Xbox One’s fast SRAM. Lastly, DX12 will give Xbox One a quicker dashboard and turn 4K video into a reality.


Sound API Open AL and Java sound API
OpenAL is also called Open Audio Library, this interface software got numerous roles that programmers may user to aid constructing high quality audio output. Developed to give for a multi-channel output for 3D sound sources, this platform can do this as across any platform/ the coding style is very familial to that of Open Audio Library because it utilises syntax to function. The purpose of Open AL is to make it likely to create audio in 3D space. This improves the player experience because copying 3D space using audio comprises the addition of the Doppler Effect by using sound frequencies correctly. Thus, it make video game experience more fulfilling to the user. Creating audio for the user’s computer is made simpler by the aid of sound API. Example of sound API can be Open AL which is a cross platform audio API that has been decisively made to render multi-channel 3D positional audio. Thus, it can allow game to feel more realistic to the user. Also produce the effect of sound coming from distance or the alteration frequency due to movement. Java sound API is API intended to aid users to write programs and is a low level API. It panels the inputs and outputs of sound, it also has outstanding degree of switch over audio ability. It is clear API it is compared to the others and similarly follows already mentioned conventions.

