Category Archives: Uncategorised

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.

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

 

 

 

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.

Graphic Processors and Displays

  • What is a Graphic Processor?
    A GPU is used to accelerate the process and creation of images on a hardware device. the world’s first GPU was the GeForce 256 by Nvidia in 1999.
  • Types of graphic processors:
    • Dedicated Graphics cards: Dedicated GPU is when the GPU uses its own memory and processor so, it relies on itself to work
    • Integrated Graphics cards: Integrated GPU is when the GPU is integrated into the CPU so, it takes memory and processing power from the rest of the device.
    • Hybrid Graphics Processing: hybrid means that the GPU is both integrated and dedicated methods to give options for how much power usage the device uses and performance output from the device.
  • Types of Displays
    • LED (Light-Emitting Diode) display is a a screen display that uses a panel of LEDs as the light source to display content from the device.
    • CRT (Cathode Ray Tube) is a display that uses a vacuum tube coated with phosphors to emit light onto the display from the device
  • VR Headset Displays
    • Comprised of 2 small led screens that displays in 720p

Sound – Mono, Stereo, and Surround

Mono

Monophonic (Mono) is a system in which all audio signals are mixed together and directed through a single audio channel. Mono systems can have multiple loudspeakers, and even multiple widely separated loudspeakers. The key is that the signal contains no level and arrival time/phase information that would replicate or simulate directional cues. Common types of mono systems include single channel center clusters, mono split cluster systems, and distributed loudspeaker systems with and without architectural delays. Mono systems can still be full-bandwidth and full-fidelity and are able to reinforce both voice and music effectively. The big advantage to mono is that everyone hears the very same signal, and, in properly designed systems, all listeners would hear the system at essentially the same sound level. This makes well-designed mono systems very well suited for speech reinforcement as they can provide excellent speech intelligibility.

Stereo

True stereophonic sound systems have two independent audio signal channels, and the signals that are reproduced have a specific level and phase relationship to each other so that when played back through a suitable reproduction system, there will be an apparent image of the original sound source. Stereo would be a requirement if there is a need to replicate the aural perspective and localization of instruments on a stage or platform, a very common requirement in performing arts centers.

This also means that a mono signal that is panned somewhere between the two channels does not have the requisite phase information to be a true stereophonic signal, although there can be a level difference between the two channels that simulates a position difference, this is a simulation only. That’s a discussion that could warrant a couple of web pages all by itself.

An additional requirement of the stereo playback system is that the entire listening area must have equal coverage of both the left and right channels, at essentially equal levels. This is why your home stereo system has a “sweet spot” between the two loudspeakers, where the level differences and arrival time differences are small enough that the stereo image and localization are both maintained. This sweet spot is limited to a fairly small area between the two loudspeakers and when a listener is outside that area, the image collapses and only one or the other channel is heard. Living with this sweet spot in your living room may be OK, since you can put your couch there, but in a larger venue, like a church sanctuary or theatre auditorium, that sweet spot might only include 1/3 the audience, leaving 2/3 of the audience wondering why they only hear half the program.

In addition a stereo playback system must have the correct absolute phase response input to output for both channels. This means that a signal with a positive pressure waveform at the input to the system must have the same positive pressure waveform at the output of the system. So a drum, for instance, when struck produces a positive pressure waveform at the microphone and should produce a positive pressure waveform in the listening room. If you don’t believe that this makes a tremendous difference, try reversing the polarity of both your hifi loudspeakers some day and listening to a source that has a strong centre sound image like a solo voice. When the absolute polarity is flipped the wrong way, you won’t find a stable centre channel image, it will wander around away from the centre, localizing out at both the loudspeakers.

Surround

 

Graphics Processors and Displays

  • investigate Graphic processors: types; speed; cache; address/data bus; two-dimensional (2D) and three-dimensional (3D) processor, eg pixels, polygons, nurbs; speed; graphics memory

Speed – The greater the clock speed, such as 2 GHz vs. 3 GHz  does not automatically mean that the later graphics card will have twice the performance.  Sometimes 3 GHz clock speeds are slower than 2 GHz if they are based on an inferior GPU architecture.

Type – Older PCs will have Advanced Graphics Port (AGP) type bus slots for installing graphics adapters.  Newer PCs have x16 Peripheral Component Interface Express (PCI-E or PCIe) as the standard way to connect the graphics card to the motherboard.  PCI-Express offers roughly twice the data transfer rate of 8x AGP, so if you have a choice, use the PCI-E slots.