Graphical and Sound API’s- (Open GL, Direct X)

Graphical and Sound API’s-( Open GL, Direct X)

Open GL

Open GL

 

OpenGL or Open Graphics Library is the most widely adopted 2D and 3D graphics API in the industry, bringing thousands of applications to a wide variety of computer platforms. It is window-system and operating-system independent as well as network-transparent. OpenGL enables developers of software for PC, workstation, and super computing hardware to create high-performance, visually compelling graphics software applications, in markets such as CAD, content creation, energy, entertainment, game development, manufacturing, medical, and virtual reality. OpenGL exposes all the features of the latest graphics hardware.

Direct X

Direct X

Direct X is an application program interface (API) for creating and managing graphic images and multimedia effects in applications such as games or active Web pages that will run in Microsoft’s Windows operating systems.

 

 

 

Graphical and Sound API’s- (Open AL, Java, Sound API)

Sound API- OpenAL, Java, Sound API

OpenAL

OpenAL

Also known as Open Audio Library, this interface software has multiple functions that programmers may use to help to produce high-quality audio output.  Designed to cater for a multi-channel output for 3D sound sources, this platform can because across any platform/ The coding style is similar to that of OpenGL as it uses syntax to function. The basis behind OpenAL is to make it possible to generate audio in 3D space. By doing this it enhances player experience, as mimicking 3D space using audio includes the addition of the Doppler effect by utilizing sound frequencies. This adds a much more immersive experience to video games.

When developer release games that are compatible with the 3D sound developer will have use an API like OpenAL so when the game is being played it produces 3D sound, which is sound output that has multi-channels allowing it to be very high-quality audio. It also gives the developers the control over the pitch, tone, and loudness of audio which gives players a better overall experience with the distance of sound effects to be easily distinguished. OpenAL is also cross-platform so it can be used on several game platforms. The other main sound API used for writing functions for sound output is Java sound API. Java sound API works in a very similar way but is used for Java games on devices like mobile and website games; Java sounds API other functions to developers such as capturing, processing, and playing back audio. It also gives developers access to 8-bit and 16-bit audio data, in mono and stereo, with sample rates from 8 kHz to 48 kHz.

Java

Java

This API is designed to help users write programs, and is a low level API which controls the inputs and outputs of sound, it has an excellent degree of control over audio capability. It is a pretty straight forward API when compared to the others, as it follows the already mentioned conventions.  Java Sound API this is another sound API. The purpose like the purpose of the other API is to help you write programs. Its essential in any game to have a sound API without them the game would be dull and you wouldn’t be able to capture the mood of feel of cut scenes or events you may walk into.  Java sound is low level this affects the controls the input and the output of sounds. It has a really good degree of control over audio capability.

Sound API

Sound API

Pretty much the same as a graphic API, however instead of focusing on visuals, it focuses on audios instead. There are tow main sound API which i will be talking about, and this is OpenAL, and Java Sound API.

Linux & Steam OS

Linux is An open Source OS which has allowed for a variety of different distributions which have different features and functions, below are some of the more Popular Distributions

  • Ubuntu-Debian
    • Ubuntu is an Popular Alternative to windows as it tries to make Linux as accessible as possible while still allowing the more advanced users to use the powerful tools of linux.
  • Mint-Debian
    • Similar To Ubuntu mint also tries to make Linux as accessible as possible by emulating the layout of windows.
  • Arch Linux
    • Arch Linux Is light weight allowing the user to heavily customise the OS and add the features they want, because of this the installation process is rather complex requiring heavy use of the terminal to configure Arch.

Steam OS

Steam OS Logo

In 2013 Steam Released their own Debian Linux Based OS called Steam OS its purpose was to bring PC gaming to the living room and was meant to be used with valve’s Steam machines which were mini PC designed to be used as an living room console.

Steam OS Menu Screen

Steam OS was Not successful mainly due to the limited number of games that have been developed for Linux but also because Steam OS and Steam machines main competitors Xbox and PlayStation provide a wider game selection, cost less and also can be used as media centres

Drivers

Installing the latest driver for your device is usually the best policy because it has all the latest fixes for your device. However, sometimes using an older driver is better because the same driver files are used for different PC models at times, but things don’t always work as expected.

Graphic Drivers:

  • What they are: Graphic Drivers is a software that is used to control the graphics chip-set that is integrated onto the motherboard. Usually you need to download the graphic driver from the same manufacturer as the graphics card that is being used.
  • What they do: Getting Graphic drivers are usually used to solve display issues like, black or gray screens showing instead of the image being displayed or when the screen displays elements slowly.

Sound Drivers:

  • What they are: Sound Drivers are used to sort out audio devices like headphones, microphones and speakers. Usually drivers for audio devices are downloaded as soon as their plugged in using Windows audio drivers.
  • What they do: Sound divers help make those devices work like getting sound out of the devices. It also helps get the best quality out of the device.

References:

https://helpx.adobe.com/creative-suite/kb/update-graphics-driver-windows-7.html

http://www.liutilities.com/how-to/install-a-sound-driver/

Engines

What is a Game Engine:  A game engine is software development Environment which is used developers to build Video Games. Devoloper are able to build games for Mobile devices and Consoles.

a game engine includes :

Rendering engine  for 2D or 3D graphics, a physics engine or collision detection Sound,Scripting,Animation, artificial intelligence, networking, streaming, memory management, threading, localization support, scene graph,video support for cinematic.

Some examples of Game Engines are:

Unity: is a cross-platform game engine developed by Unity Technologies, which is primarily used to develop both three-dimensional and two-dimensional video games and simulations for computers, consoles, and mobile devices.

Games made by Unity Engine: Assasins Creed Identity, Rust, Temple Run and There are many more games which were made by the unity engine.

HTML5:HTML5 is a markup language used for structuring and presenting content on the World Wide Web. It is the fifth and current major version of the HTML standard.

Games made by HTML5 :Cookie Clicker, Angry Birds, 2048 and bejeweled

OpenGL:Open Graphics Library is a cross-language, cross-platform application programming interface for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit, to achieve hardware-accelerated rendering

CRYEngine:CryEngine is a game engine designed by the German game developer Crytek. It has been used in all of their titles with the initial version being used in Far Cry, and continues to be updated to support new consoles and hardware for their games

 

 

IOS and Android

 

The main difference between the two OS is the Android is the most open source of the two. This gives the added benefits of more customisation option and easier development for games programmers. This is mostly because it is based on the Linux operating system. IOS is more restricted which is better for security but will also make it harder for games business to get their games on the app store which is the equivalent of the google play store.

Both operating systems stores have to go through a process to get their games on the stores. How apple is more protective about what is on their stores. This means it will have to follow the guidelines and terms of service. There is also a fee for uploading your game. For Apple this is a $99 a year charge buy on Android the is only a $25 charge per game. Each system has its benefits. For IOS this is the fact that users with IPhone are more likely to pay for app and in app purchases. For Android this is the fact that a larger amount of users has them, this means that your app will reach a larger audience.

In terms of development Android has the upper hand. This is because games can be made on almost every engine and can be exported as an APK which is the extension that Android uses for apps. As the user of Android are less restricted then IOS these APKs can be downloaded and ran even if they are not on the play store.

Hardware Dependency

Hardware dependent software is a type of program or programming language which is designed to work on only one type of hardware. For gaming this means that particular games may only work on one device like a console. On most modern day consoles their games are incomparable with each other forcing players to purchase the same game twice if they want it on multiple consoles.

Temp 2

PC gamer do not have to worry about this problem as much because almost all games are available to them and can be ported across all their PC devices, via online game platforms such as steam and Epic Launcher. Games are made to be hardware dependent because game platforms want to entice people to buy their console because of the “exclusive” games, Nintendo are a prime example of this al almost all of their games can only run on their own devices. Recently a very popular game was released on PC and due to its popularity it has subsequently been released on all major platforms, including a mobile version!

Temp5

 

 

 

Platform Dependency

Dependent
Some reason on why games are platform dependent is that want to use exclusives features of the console such as being able to use a touch screen on the controller in the Wii U, it could be that the company has struck a deal that owner of a consoles in which they will only release on their console but they will get funding or it could be that they have specially gone programmed with the consoles spec in mind.  An example of a dependent game would Fire Emblem Awakening which is only for the 3DS which as it use the top screen for map whilst bottom screen is used to show stats of each character at the same time. A tool that is used to make exclusives platforms would be Corona native as it is specially tailored to be for a mobile devices by Apple.

Hardware dependent software is a type of program or programming language which is designed to work on only one type of hardware. For gaming this means that particular games may only work on one device like a console. On most modern day consoles their games are incomparable with each other forcing players to purchase the same game twice if they want it on multiple consoles.

Temp 2

PC gamer do not have to worry about this problem as much because almost all games are available to them and can be ported across all their PC devices, via online game platforms such as steam and Epic Launcher. Games are made to be hardware dependent because game platforms want to entice people to buy their console because of the “exclusive” games, Nintendo are a prime example of this al almost all of their games can only run on their own devices. Recently a very popular game was released on PC and due to its popularity it has subsequently been released on all major platforms, including a mobile version!

Temp5

Independent

An independent game is specifically built on multiple platforms. An example of independent games are PC games would be Call of Duty Black Ops as it able play on Xbox 360, PlayStation 3, Wii, Nintendo DS, OS X and Windows
An advantage of independent games is that it allows gamers across different platforms to play games specifically made for their device. This will make the game more of a success, than compared to games that rely on one platform.
A disadvantage to these type of games is that these games must rely on being played on different platforms, which means there will be more development time and money in order to create the game on multiple platforms.
Another disadvantage would be that each platform has different controller layout. The developers will have keep in mind that each button on the control layout must be universal. E.g. PS4 controller has a touchpad, but an Xbox controller doesn’t support that feature.

Interpreted Languages

What is it?

An Interpreted language is a language which has most of it’s implementations execute instructions directly and freely, without the need to compile the program into machine-language instructions. The way it works is that the interpreter executes the program directly, and translates each statement into a sequence of one or more subroutines into another language, such as machine code.

Advantages

  • Platform Independence – Interpreted languages can be executed on many platforms as they are not compiled in a particular way. This means they can be easily implemented into different platforms.
  • Reflection
  • Dynamic Typing
  • Smaller executable size – Since the program is interpreted live, it doesn’t require as much space as a compiler which would put the program into a single file would.
  • Dynamic Scoping

Disadvantages

  • Less reliability – There is no type-checking as there usually would be with a compiler, which means that there is lower reliability as type checking would normally eliminate a class of programming errors.
  • Susceptible to attacks – Interpreters are often susceptible to code injection attacks as they read the code line by line, meaning that if someone were to inject malicious code it will also be read.
  • Slower execution – Compared to a compiled program which uses the systems processing power to execute the code, it is much slower. A technique used to improve performance is just-in-time compilation which converts frequently executed sequences of interpreted instruction to host machine code
  • Source code can be seen – The source code can be read and copied, for example JavaScript in a website. Or it can be quite easily reverse engineered through the use of reflection in applications.

Examples

Connectivity

connectivity

Stand alone connectivity

Virgin media
Virgin media

The definition of standalone is when a device is able to function interdependently of another hardware. What this means is that it is not integrated with another device. An example of this can be seen if you look at TiVo box. This is a popular TV box by virgin media which offers an array of features, including recording shows when they on TV. The TiVo box is independent, as it can record TV. Whereas a DVR is not standalone as it must be integrated into a digital cable box to record. In terms of software, stand alone refers to programs which don’t need any other software to run aside from  the operating system. So most software programs are in fact standalone, but software like expansion packs for video games are not standalone, as they need the original game to be installed. This standalone connectivity is important for video games which don’t use the internet or any other connection, like many of the older consoles, as there is nothing to patch them or fix them without an internet connection. However with the power of the internet growing, consoles are become less and less Stand alone, with games like Titan fall which can only be played online.

Controller Ports

controller ports
controller ports

Many years ago, controllers required a controller port. Being the yellow DB-15 socket. Now however, most game controllers use USB connections. USB is used almost everywhere now all the way from your console plug ins to even now which is in wall sockets which is great so you wont even need the plug when charging your phone you can just use the wire which is good.

Local Area Network (LAN)

Local Area Network
Local Area Network

Most commonly referred to as LAN, this is a computer network which spans a small area, unlike the internet which covers the whole world pretty much. The general conventions of a LAN is that it will be confined to a single building or group of buildings. Using telephones lines or radio waves can connect one LAN to another LAN over any distance though, however i will come on to that in a moment under WAN. The use of a LAN line is restricted to small tasks such as sending emails to each other, assuming all computers it is sent to is connected to that specific LAN, as well as connecting to chat sessions. However the main use of a LAN is that each individual computer is able to access data and devices that the most up to date computer can, so a computer that cannot connect to a device like a laser printer can connect to a computer which can. The use of Ethernet’s are the most common way to connect PC’s, however there are many other types, such as topology, which is where devices can be arranged in a ring or straight line. While LANS are relatively restricted, they can be used during events such as video game  tournaments, by connecting each computer at the event to a single LAN, and hosting a game on said LAN. This means all participants will be connected to that specific game, making it easier to organize, and less dependent on internet connections.

Wide Area Network (WAN)

wide area network
Wide Area Network

A WAN is two or more LAN that are connected to each other over a long distance. These LAN are connected via public networks like telephone systems. The largest WAN in existence is actually the internet, as it connects every computer to each other. Well the majority of computers at least. Here is a simple diagram which shows both what a LAN is and a WAN.

Internet

Internet
Internet

The internet is a global network which connects millions of computers. Over 190 countries are linked into exchanges of data. The internet is decentralized, which means that each host, or internet enabled computer, is independent. Operators may choose which internet services to use along with which local services to make available to the global internet community. No one owns the internet, as it is considered more of a concept rather than an actual entity, and it relies on physical infrastructure that connects networks to other networks. Unlike the common misconception, the World Wide Web  is not the same as the internet. The internet is a massive network of networks, whereas the web is a way of accessing information over the medium of the internet. Every computer connected to the internet has a unique numerical address, like the equivalent of a finger print to identify a human. This is called an Internet Protocol or IP for short. The IP address of a computer is made up of your bytes of information totaling 32 bits. Because the internet is connected to so many things, we have become dependent on it, using it on our computers, phones, and gaming consoles. the connections around the world help unite people, especially players, as multiplayer online matches are possible because of it. This has helped form a whole genre of player vs player action,sparking interest in many people. However there are issues which ca occur, directly based to the internet connection strength of a user. For example the further away a user is from whoever they are connecting with, the further distance the connection must ping. Because the internet is essentially massive LAN, it means the connection must travel through the networks in the quickest path possible, which in this case would be via satellite. So the longer the distance, the weaker the connection. This can result in issues such as lag,or a complete lack of connection all together.

Broadband

Broadband is the high speed data transmission carried out by a single cable which s able to carry large amounts of data at a time. The most common types of internet broadband are devices which use the same connection as cable TV named cable modems. As well as DSL modems which rely on phone lines.  Fiber optic broadband is also becoming more and more popular, this technology converts electrical signals carrying data into light, allowing it to be sent much faster through transparent glass fibers, which are about the diameter of a human hair.  The transmitted data is way faster than DSL technology. The downside to fiber optic however is that it is very expensive, and because it is a new and upcoming type of broadband, it is not currently as available as others. Other forms of broadband include wireless, which connects to the internet via radio link between customers and their service provider’s facility.

Wireless General Packet Radio Service (GPRS)

AKA GPRS, this is a packet based wireless communication service that promises data rates from 56 up to 114 Kbps as well as a continuous connection to the internet for mobile phone and computer users. Being on the GPRS means that you can use video calling technology such as Skype, and because of the speed, there is less chance of there being lag. However the most beneficial aspect to this is the strength in mobile support, making it easier to make applications available to users due to the faster data rate. GPRS has become more and more popular since the popularity of smart phones has grown because of the 3G network it provides for its phone users. This is internet connection available wherever the user is, as the connection is intercepted via the radio service. Even handheld gaming devices are making the most of services such as this, like the PS Vita which includes 3G connectivity. This is helping boost online features within a handheld, something which has not really been a focus on that platform since it is designed to be played on the go.

Wireless Application Protocol (WAP)

Once again accompanied by a acronym, WAP. this is a  secure specification, which means that it allows users to access information instantly using handheld wireless devices like a mobile phone, two way radios, and handheld gaming consoles. WAP is supported by al operating systems, making it very flexible, and the internet which runs on WAPs that use displays are called micro-browsers. This is simply browsers which have a small file size to take into consideration the low memory constraints of handheld devices. Although it is a relatively new network, WAP supports most wireless networks. Once again, with this sort of technology becoming more and more popular, it is helping the gaming platform immensely. In fact the popularity of mobile games is a direct result of the internet capabilities now available. And multiplayer mobile games like “Clash of Clans” which require an internet connection to play are becoming immensely popular because of the ease of access to the internet on the go.

WIFI

WIFI
WIFI

Most devices these days can access WiFi, and everyone sort of just accepts it as something that gives us internet if we connect to it. But what exactly is WiFi? Well it is a wireless network technology that allows computers and phones etc. to communicate with each other. It is the standard way of computers to connect to wireless networks, such as the ones covered above, and nearly all modern computers have a built in WiFi chip allowing them to connect to routers. Video game consoles also have a heavy dependence on WiFi connection within most of the modern games. So much so that before the release of the Xbox One, it was proposed that was going to be needed to be connected to the internet for it to work at all. This was changed before the release when people began complaining, but it just goes to show the dependence the gaming genre has on it. Although it is very popular, WiFi isn’t always the best way to connect to the internet, as it can be unstable and unpredictable because of its nature. This is why physical connection to a router via Ethernet cables are always more reliable, although less practical.

Bluetooth

Bluetooth
Bluetooth

The whole point of Bluetooth is to reduce the amount of wires required for technology, allowing for a less cluttered space and for more freedom of movement. This is why one of the most recognizable pieces of Bluetooth technology is the wireless earpiece, which allows people to talk to people on the phone but hands free. This is done by using a special radio frequency to transmit data, the downside to this however is the lack of range, meaning there will always need to be a main transmitter near by. In the case of hands free ear pieces, this would mean that the actual mobile phone would need to be near by to connect to the ear piece. Another common use for Bluetooth is the transferal of data such as songs or photos between devices without having to use wires, as most mobile devices have Bluetooth capabilities. The PlayStation 3 is most notable within the gaming genre to use Bluetooth, as their wireless controllers work on the frequency, as well as their headsets. This proves the use of Bluetooth can also help in not just conventional calls but also online chatting as well.