TASK 3 – CURRENT SOFTWARE TECHNOLOGIES
For this report I will be talking about a variety of technologies available in the current games market. I will be covering such topics as the operating systems used for games platforms (such as Windows, Mac OS X and Linux), the platform dependency , drivers for game platforms, software used to develop games, APIs used for game platforms and more.
In the Operating Systems section I’ll be focused on covering the PC space of things as consoles such as PlayStation 4, Xbox One and Wii U use custom OS’s, although I believe Xbox One uses elements of Windows 8 (and Windows 10 in a future update).
Windows is the most popular operating system on PCs, having undergone almost a dozen revisions and upgrades over the years since Windows NT 3.1 in 1993 with Windows 10 due for release sometime in 2015. It has the broadest compatibility with a range of hardware and software over Mac OS X and Linux, although this is partly due to how much of the PC OS market-share it has. The use of Microsoft’s Direct X API, starting with Direct X 1 in 1995, allows Windows to stay at the forefront of emerging technologies in the software market and it is widely used in a range of consoles such as the Sega Dreamcast and the Xbox family of consoles.
MAC OS X
Mac OS X and its branching family of OS such as Mac OS X Yosemite are the second most popular OS on PCs. Due to the rise in popularity of Apple’s devices over the years Mac OS X has become increasingly popular and this has seen a drive in games and software being made available for the platform. You can get a wide range of games on Mac OS X from Civilization V to Borderlands 2 and more. Mac OS X uses a suite of APIs called Cocoa to power some of its software although the graphical API used is OpenGL, which is also used in Sony’s PlayStation family of consoles.
Linux is the third most popular OS on PCs behind Windows and Mac OS X although in gaming terms for a long time it wasn’t particularly popular as it required many workarounds to get games working although there was a slow adoption rate but with the digital platform Steam adopting Linux compatibility a huge amount of games are now available on Linux or will be available via updates or future releases.
Some software and games are exclusive to certain platforms. There can be a range of reasons but on the console-side it is often due to Microsoft, Sony or Nintendo publishing them so there is exclusivity for legal reasons. However in terms of hardware power there can also be a technical disparity between platforms so a game may only be on PC because consoles are not powerful enough to support it, or the console version might be severely limited. This can also be true the other way round as consoles sometimes have such specialist architecture, such as the CELL Processor on PlayStation 3 that emulating it on PC or “porting” the title across is a near impossibility as it would require investment comparative to the production costs of a full title.
Drivers are pieces of software that allows your computer to communicate with hardware and other devices such as printers, graphics cards etc. Without drivers these devices wouldn’t be able to work properly. For graphics cards these drivers are meant to help optimize the operation of a graphics card while running application such as 3D videogames. Much like Network Interface Cards, or NIC, drivers enable a computer to understand how to use this new “appendage” as if you had a graphics card inserted to your computer, or an NIC card, the computer wouldn’t be able to utilise it without a driver.
Drivers are updated over time as for graphics NVIDIA and AMD update every so often especially with new releases of games. However AMD claim that drivers that have to be updated around new game releases are due to the developers leaving optimisation and fixes up to the graphics cards manufactures, rather than the manufactures simply further optimising and already optimised product. I
SOFTWARE USED TO DEVELOP GAMES
Unity is a multi-platform game engine that supports both 3D and 2D graphics and has become so popular since its release in 2005 that it has even become the default software development kit (SDK) for the Wii U console. While it was created on Windows and Mac OS X it is now available on a huge variety of platforms (which will be listed below). With a freely available SDK based on Unity 4.6.2 it supports mods and user created content, allowing anyone with an internet connection can download and run Unity, allowing them to make their own content in the game.
Unity was designed for portability and compatibility with a wide range of systems and the graphics engine supports the following Application Program Interfaces (APIs): Direct3D on Windows and Xbox; OpenGL (Open Graphics Library) on Mac OS X, Windows and Linux; OpenGL ES (Open Graphics Library for Embedded Systems) on Android and iOS and proprietary APIs on consoles (Wii U uses a proprietary API based on OpenGL, as does PlayStation 4 while the Xbox One is due to adopt Direct X 12 when it is released.
Unity also supports collision detection, Artificial Intelligence (AI), sound and physics without the use of any third party software.
Unreal Engine is a multi-platform game engine that is capable of both 2D and 3D graphics and was considered one of the best and most popular third-party engines of the last decade or so, although the rising popularity of Unity has splintered that somewhat. It was first released in 1998 and used in the FPS game “Unreal” and has gone on to be used in titles such as Gears of War, the Batman Arkham- series, Enslaved Odyssey to the West, Borderlands and Mirror’s Edge.
Unreal Development Kit (UDK) was released to the public for free in 2009 and while, like Unity, it has now moved towards a subscription based business model, Unreal Engine 3 generation-SDK is still freely available. Even with Unreal Engine 1, the engine incorporated rendering, collision detection, AI and more into the engine without any third party software and made use of the Glide API although it was later updated for OpenGL and Direct3D.
The engine was made with C++ although a custom script called UnrealScript was used for large portions of the Unreal game. Due to its modular engine and a scripting language that made it very easy to mod, the engine became very popular.
Platforms Unreal Engine 4 is supported on: Windows, Linux, Mas OS X, Xbox One, PlayStation 4, HTML5 and iOS.
SOURCE ENGINE 1
Source Engine is a multi-platform 3D game engine released by Valve Corporation in 2004, with the first game being Counter-Strike: Source and was followed up with Half-Life 2. While developed primarily as an FPS engine to power Valve’s Team Fortress, Counter-Strike and Half Life games, it has been modified and used to create games in genres such as role-playing, puzzle and MOBA.
Source Engine was made with future-proofing in mind so that it could be updated incrementally in line with technological advances while its competitors were updated and introduces compatibility-breaking upgrades. However yet again Source Engine handles AI, Physics, Rendering and Sound etc without the use of any third party software and features have been added throughout its development such as HDR rendering and Multiprocessor support.
The engine was written in C++ and the use of content authoring tools such as the Hammer Editor have made it popular due to its moddable nature, with titles such as Portal and Left 4 Dead being the result of fan-made mods based on existing Source Games, or simply experiments in the Source Engine using the Hammer Editor.
Platforms Source Engine is supported on: Windows, Mac OS X, Linux, PlayStation 3, Xbox, Xbox 360 and Android.