Monday, June 8, 2015

This is the End....

Hey everyone!

So this is my final post, and its strange because I've kinda got used to explaining and just generally talking about Video games and how they work to you lot... But anyways, to conclude about the final things I have spoken about I feel that you don't actually realise the amount of components and parts that you need to actually allow you to play your games. 

So next time when you're sitting down playing some game on your console just think about everything that's going on inside your console and monitor and just everything you're using that is allowing you to see what you're playing. But don't think about it for too long or you might get attacked by some troll or something and you may not have saved... Yeahh just be careful out there.  

For the final time..
Fairwinds internet travellers!

Investigation of operating systems used for games platforms

Hey Everyone!
So I want to be talking about operating systems today, annd I shall start by giving an explanation on what it is and how it runs everything.

  Looking at the diagram on the right you can see that the computer is in the middle and that's because its the most important part as it runs and controls everything else.
Think of it like the Mothership is the computer and the peripherals (everything which is connected to the PC) are the rest of the fleet, now they can't do anything unless they are told to by said Mothership. That's what is happening with operating systems, the computer is the power source and gives all the instructions to the peripherals. 

So operating systems can do simple tasks like being able to recognise input from a mouse or speakers and they can access things like your printer and hard drives.     

With the tasks of Operating systems they come down to six separate categories these being:
  • Processor management
  • Memory management
  • Device management
  • Storage management
  • Application interface
  • User interface
PC's nowadays give you more freedom as you can install any operating system you want onto it but usually when a PC is bought it has a package already install as it makes things easier for the user. Plus with consoles they have set operating systems which aren't possible to change as they are hardware specific, so its not possible to run the operating system of a Ps4 on a Wii U.

Picture on the right shows the Operating system for the Playstation 4, which was made with the user in mind as its clear lay out is simple and more beneficial for those who are using it.

To the left here is the OS for the Xbox one, and its very similar to the layout of windows 8 with multiple apps and tabs. Again its extremely user friendly the same as the Playstation 4 and is convenient.    

Moving away from consoles and towards PC's, as I said before when it comes to operating systems you have a lot more freedom with what you want as there are many types that are available a few normal ones would be: 

Mac OS - Now this operating system is super fancy in the world of PCs and Apple products in general are just super expensive but still, the software itself is hardly open source at all and its only available on mac systems with the specific hardware so its fussy to say the least. 

Windows 8 is the most up to date version of windows and I must admit I don't like it but Windows 7 is my jam. Windows in general is a worldwide loved operating system, as its the most user friendly one you can get. When getting a PC more than likely it will come with Windows, its great! Plus with the up coming release of Windows 10, which should be awesome as I have signed myself up for that when its actually out so I can update my windows 7 immediately.  

Linux, is another OS which is quite open source, but it can be complicated.  Depending on which system you get, you may not be able to run games on it. Kali (the picture) its not actually possible to run games on it, however is it possible if you have Linux mint or Ubuntu.  So depending on what you wanted to do with it, you would have to look into things more.

So there are four types of operating systems  which all vary depending on what system they are running on.
Firstly, regarding operating systems we must assess real-time operating systems which are used in an industrial or scientific context. For example, in laboratories there are machines which extract particles for example from a sample. These run regularly and once they are turned on there is no necessary intervention from whomever is using it as the machine can complete the task on its own. Similar to that of a factory setting. This is useful for large scale operations where corporations will need something to be produced at mass and as an operating system, this is very useful for such a need. Single-user, single task operating systems are designed to ensure that the user in charge of operating it can do one thing at a time within their work process. For example, a mobile phone, let's say Apple iOS. In this case only one screen is needed for interaction and basic functions can be carried out, like taking a photo or putting on some music. Another example is Windows CE which was a miniature version of what we know as the Windows operating system. We must also take into account operating systems like Android, as based on Linux. Symbian as developed by Nokia and the Blackberry OS as developed by Research in Motion in 1999 Thirdly there is Single-user multi-tasking, wherein an operating system lets a single user have several operations running at once. As found on Mac OS, for example we are able to scroll through Facebook while downloading a song from iTunes and writing a piece of homework. This is very useful for the individual, much like Single-user, single task. Boot Camp on Mac is an exam of a computer being able to use an operating system which differs from its native. It allows Mac users to hold down their option key during start up and from there choose whether or not they'd like to run Windows or Mac OS. Finally we can assess Multi-user operating systems. This is where multiple users are supported throughout time. For example, in a school or college all computers are run off the mainframe computer from which hundreds of people can use their own. This is useful for big companies with regards to tasks like processing data.

So Mobile devices have their own operating systems just like consoles and PCs and that's because they are very much the same as them but smaller and with less processing power and specifications.
To start with Android with their Linux based OS. This operating system can be run on more devises than other OS and is very free with what you can do with it. Androids main competitors are iOS and I must admit I do prefer iOS, I know there is more freedom with Android but iOS just has better presentation and looks more professional

So lets talk about iOS instead. At the present time they're on their 8th version which is iOS 8, and it can be run on their more newer versions of their products but anything bellow the iphone 5 has stopped updating and is stuck on their highest version. This is very annoying as it means that if you want to keep up to date with their things then you have to keep spending money and update your gadgets. But once you've had an apple product it doesn't feel right to use anything else as its just not as simple, like swapping from an iPhone to a Windows phone wouldn't feel right as it has a completely different layout. Also with iOS you can only run it on apple products so its not possible to put anything else on them either. 

Windows have made a mini version of their OS for tablets and phones, and each time it gets updated so will their phones. At the moment its on Windows 8 but as soon as Windows 10 is released then there will most likely be an updated version available.    

 This pie chart shows the shares on the phone market with the different operating systems of 2014 and its very obviously mostly with iOS and Android, with everything else only taking up a small amount of the market.

This is the final proper post, apart from my conclusion of it all, I hope you have enjoyed reading and as always,
Until next time 
Fairwinds internet travellers!

Investigation application software used to develop games

Hey all!

So I want to be talking with you guys today about, games application software and just explain everything to you.
Lets start with the basics of it all and let me explain what a computer program is. So its a set of instructions which tell the computer what it needs to do, this could be adding up numbers or make decisions based on a answer from a previous task. However, a computer program is only a set of instructions for the computer and it will follow anything that you tell it to do and at the same time can do something else that you want it to do. This could be the situation like you were on a game and you couldn't progress through the level because something was blocking your path and you couldn't defeat it, you would be able to go onto the internet and search a way of getting passed the problem and then you could just flick between your game and the web.

Now the computer needs to be able to understand all of the commands and instructions that you are giving it and in order for it to do that it has to be in a specific language, this is the programming language. There a multiple different programming languages just like in the real world where people in different countries speak different languages. Depending on the tasks the different languages can be used, but all of the languages are pretty much saying the same thing its just in different ways.
With most video games they are predominantly written in C++, C and occasionally assembly language. This assembly language is a relatively basis language and it written so that it will run on a specific hardware, so the assembly language for an Xbox One wouldn't be the same as a PS4. 

So with there being different types of games programming language there has to be another program that is there to help translate code because for the CPU to understand and act upon but with most things there are advantages and disadvantages for instance for disadvantages the process will take a lot longer because the system has to spend more time translating the information which can cause it to be slow, also it only has a limited access to the operating system and hardware. However, the advantages of it is that it makes things a lot easier to program with than different languages and also if you were to make an error when coding it wouldn't cause a huge problem and would be a lot more forgiving, this allows you to experiment and try new things. 

So Java is one of the main Interpreted languages and its used a lot on the internet for web games as it is cross-platform and the user wont have to install anything to allow it to work, also because nothing is downloaded then you don't have any risks like you would if you were to download something because there wouldn't be anyway to allow any virus' into whatever you are using it on. The problem is its not often available on games consoles but it is one of the more commonly used language for phone apps and games. 

C# is another interpreted programming language which is preferred for developing game development tools. These tools are specialised software applications which facilitates and can assist with the developing of computer games. The types of tasks which is helps to preform are converting the assets so this is thing like the 3D models and their textures into formats required by the game and editing levels. So this could be changing 3DS Max files to FBXs. 

So with most games being written in C and C++,  these are the best examples of compiled Languages. So this pretty much means that once you've written your C program you will have to run it through a C compiler which will turn the program into a format which your computer will be able to run. The C program is the part that is understandable from our point of view and once its gone through the compiler then it will be in a form which the computer will be able to understand.    

So thats all for this i hope you've liked what you have read!
Until next time 
Fairwinds internet travellers!

Investigation of APIs used for game platforms

Hey Guys!

So I'm going to be talking about APIs and just explaining them and giving examples, so starting from the beginning.

API or Application Programming interface is a collection of code which is accessed by applications, these APIs work as a foundation to most applications as they are a universally used code and it means that the coder wont have to keep rewriting code as its already been written once and can just be reused. So the two main APIs that are used for video games are DirectX and OpenGL, however these aren't just used when it comes to games as they are also involved with computer applications.

So OpenGL (Open Graphics Library) is a cross-languagemulti-platform application programming interface (API), and its is used for rendering 3D and 2D vector graphics and computer graphics also its used to draw 3D complex scene created from easy shapes. The API is sometimes used to work with a graphics processing unit (GPU) to achieve hardware-accelerated rendering.
It was developed by Silicon Graphics Inc
 and was released in January 1992. OpenGL exposes all the features of the latest graphics hardware in the best way possible. Games that use OpenGL include, Doom 3, Dota 2 and Minecraft. 

So like OpenGL,  OpenAL is an environmental 3D audio library that try's to provide an open replacement for proprietary 3D audio systems such as EAX or A3D. Also OpenAL can add realism to a game by simulating the degradation of sound over distance and the Doppler effect which is the change in frequency as a result of motion, like when you hear an ambulance drive past you with its sirens on and gets super loud when its near you but it fades as it gets further away.

Microsoft’s DirectX is a collection of API’s (application programming interfaces) designed to deal with tasks related to the multimedia, video and game programming on Microsoft platforms. The name DirectX was chosen as a shorthand term for all of these APIs, the X standing in for the particular API names and soon became the name of the collection. When Microsoft later decided to develop the Xbox, the X was used as the basis of the name to indicate that the console was based on DirectX technology. Originally, the names of these APIs all began with Direct, such aDirect3D, DirectDraw,  DirectMusic,  DirectPlay, and DirectSound to which they were combined together to create DirectX . It’s been used in a wide variety of games for Windows and the Xbox 360 as well, these include DiRT3 and Lost Planet 2.

With both OpenGL and DirectX there is always people trying to compare them to find the best one and this video is one of those times. But personally I can't exactly tell the difference as they are both of a high quality. But what do you think?

Hope you have enjoyed reading.
Until next time 
Fairwinds internet travellers!

Investigation of drivers for sound, graphics and network interface cards with game platforms

Hey Guys!

I want to be talking about device drivers with you for this post and just explain what they are so you all get a better understanding of it all.
Starting with the basics, device drivers are a specific type of software which has been created so that the operating system can interact with hardware devices, so this could be your keyboard, mouse or printer.
So these drives are specific to the area of hardware that they are connected to, the hardware can be supplied with the hardware or may be downloaded when its in need by the operating system. If a newer model of the hardware is installed then the operating system will look to see if the driver is up to date and if this isn't the case then drivers can be updated and downloaded.

Sound-card Drivers, now to be able to use a sound-card your operating system needs to be able to have access and use a sound-card driver. This is a programme that links the OS and the sound card together, it tells the system what the sound-card is and what capabilities it has, like the amount of inputs and outputs its has.
There are many ranges of sound cards and obviously the more you pay for them the better quality they will be, for instance the 
ASUS Xonar Essence STX  (shown in the picture) runs off its own software which makes its easier to update, plus with an audio performance rating of 9.5/10 it is one of the better sound cards available on the market.

Moving away from Sound cards and onto Graphics cards now and in a similar way to sound cards,  the operating system has to have a graphics card driver to be able to use the card itself. This is the programme which allows the OS to connect with the Graphics card. This programme will tell the OS the details of the card, so this would be the name of it plus the types of frame rates it would be able to handle and the resolution of it. 

Network Interface controller drivers (bit of a mouth full), these are another component which are controlled by a driver. This is the part which allows you  to be connected to network via an Ethernet cable and the driver will tell the card how to access the network and also operate it properly. So in brief terms its a circuit board or a card that can be installed into a PC so you are able to connect to the internet.

This is the end of this part but I hope this has all made sense to you all :3
Until next time 
Fairwinds internet travellers!

Investigation of platform dependency with game platforms


Okay so to start with I'll talk about Independent and dependent platforms and what it means to be either.
Dependent platforms are those who's software applications only run under a certain operating system or in one type of computer. For instance Mac OS will only run on Macintosh hardware and the same with Windows only working on PC hardware.
 Games consoles work much the same as they have games that will only work for the console they're made for, so things like PS4 games wont work on Xbox One games and vise versa.

Independent platforms however are the opposite, so these applications can run in multiple operating systems. Programming applications like Java or HTML are both easy examples because as they can be run on multiple systems and they are recognised on a wide scale and it.      

Cross Platform Games are games which are released on multiple consoles, for example Rockstar released GTA V across various platform which were PC, Xbox one, Xbox 360, PlayStation 4 and PS3 and also is accessible on iOS on iPhone.
GTA is a recent game which is cross platform but its range is not as vast as some, for instance Myst which has been released on
Mac OS,  Sega SaturnPlayStation, 3DOMicrosoft WindowsAtari Jaguar CD, CD-i, AmigaOSPlayStation PortableNintendo DS, iOS and Nintendo 3DS. So Not only are cross platform games over consoles they're also moved onto portable devices like handhelds and Mobile Phones.  

I hope this has given you a better understanding of the different dependencies with platforms.  
Until next time 
Fairwinds internet travellers!

Sunday, May 31, 2015

The last of it all...

Hey Everyone

So, once again I'm going to be talking about some new things.
This time ill be covering the topics of platform dependency, the operating systems that are used, the different drivers for sound, graphics, and network interface cards which are all for games platforms. I will also be looking at application software with is used to develop games and the graphical and sound API's which are used for games platforms.

I hope you will stick around for these up coming topics!

Until next time 

Fairwinds internet travellers!