Quake Ports

Posted in Linux by Shafkat Shahzad, M.Sc - Senior Technical Content Manager on September 17th, 2011

The article will educate a user with information and a brief history of Quake ports.

Please note that in 1996, there was a port of Quake to Linux by an id software employee working in his free time. It was not until 1999 that a retail version for Linux was distributed by Macmillan Digital Publishing USA in a bundle with the two add-ons as Quake: The Offering for Linux and in 1997, the official port to Mac OS was done by MacSoft and a port of Quake to SPARC Solaris was released.
Quake was also ported to console systems. In 1997, it was ported to Sega Saturn by Lobotomy. The Saturn port used Lobotomy’s own Slavedriver engine (the same engine that powers the Saturn port of Duke Nukem 3D and Powerslave) instead of the original Quake engine. It is also the only version of Quake that is rated “T” for Teen instead of “M” for Mature. The Saturn version also contains four exclusive levels not seen in any other version. In 1998, Quake was brought to Nintendo 64 by Midway Games.

Both console ports required some compromises because of the limited CPU power and ROM storage space for maps. The Saturn version lacked multiplayer but had most of the maps from the original game, with only the secret levels (Ziggurat Vertigo (E1M8), The Underearth (E2M7), The Haunted Halls (E3M7) and The Nameless City (E4M8)) not making the cut. Instead, it had four new maps: Purgatorium, Hell’s Aerie, The Coliseum and Watery Grave. The N64 version had multiplayer, but was missing The Grisly Grotto (E1M4), The Installation (E2M1), The Ebon Fortress (E2M4), The Wind Tunnels (E3M5), The Sewage System (E4M1) and Hell’s Atrium (E4M5).

It also did not use the “START” map where the player chooses difficulty and episode; difficulty is chosen when starting the game, and all the levels play in sequential order from The Slipgate Complex (E1M1) to Shub Niggurath’s Pit (END). A port for the Commodore Amiga was also made available in 1998 by clickBOOM Software. It is currently only available in a 68K version.

After reading the article a user would have learnt about the ports of Quake and a brief history for it.

Bookmark Us
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • MisterWong
  • Netvouz
  • Reddit
  • Slashdot
  • Spurl
  • StumbleUpon
  • Technorati
  • Wists

Quake - Custom maps

Posted in Gaming by Shafkat Shahzad, M.Sc - Senior Technical Content Manager on September 10th, 2011

The article will provide a user with information on custom maps. Please note that there are a large number of custom maps that have been made by users and fans of the game. These maps are continuing to be made today, over ten years since the game’s release. Custom maps are completely new and original maps that are playable by simply loading them into the original game. Custom maps of all gameplay types have been made, but the most custom maps for Quake have been in the single-player and deathmatch genres.

As an example of the dedication that Quake has inspired in its fan community, a group of expert players recorded speedrun demos (replayable recordings of the player’s movement) of Quake levels completed in record time on the Nightmare skill level. The footage was edited into a continuous 19 minutes, 49 seconds demo called Quake done Quick (QdQ) and released on 10 June 1997. Owners of the game could replay this demo in the game engine, watching the run unfold as if they were playing it themselves.

This involved a number of players recording run-throughs of individual levels, using every trick and shortcut they could discover in order to minimize the time it took to complete, usually to a degree that even the original level designers found difficult to comprehend, and in a manner that often bypassed large areas of the level. Stitching a series of the fastest runs together into a coherent whole created a demonstration of the entire game. Recamming is also used with speedruns in order to make the experience more movie-like, with arbitrary control of camera angles, editing, and sound that can be applied with editing software after the runs are first recorded. However, the fastest possible time for a given level will not necessarily result in the fastest time used to contribute to running the entire game. One example is acquiring the grenade launcher in an early level, an act that slows down the time for that level over the best possible, but speeds up the overall game time by allowing the runner to bypass a big area in a later level that they could not otherwise do.

A second attempt, Quake done Quicker (QdQr), reduced the complete time to 16 minutes, 35 seconds (a reduction of 3 minutes, 14 seconds). The culmination of this process of improvement was Quake done Quick with a Vengeance (QdQwav). Released three years to the day after QdQr, this pared down the time taken to complete all four episodes, on Nightmare (hardest) difficulty, to 12 minutes, 23 seconds (a further reduction of 4 minutes, 12 seconds), partly by using techniques that had formerly been shunned in such films as being less aesthetically pleasing. This run was recorded as an in-game demo but interest was such that an .avi video clip was created to allow those without the game to see the run.

If a user has read the article then he/she would have learnt about Custom maps.

Bookmark Us
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • MisterWong
  • Netvouz
  • Reddit
  • Slashdot
  • Spurl
  • StumbleUpon
  • Technorati
  • Wists

Quake Mission Pack 1 and 2

Posted in Gaming by Shafkat Shahzad, M.Sc - Senior Technical Content Manager on September 3rd, 2011

The article will provide a user with information on Quake Mission Pack 1 : Scourge of Armagon and Quake Mission Pack 2: Dissolution of Eternity.

Quake Mission Pack 1: Scourge of Armagon
Let’s have a look at Quake Mission Pack 1 first. Quake Mission Pack 1: Scourge of Armagon is the first official mission packs released on February 28, 1997. It was developed by Hipnotic Interactive. It features fifteen new single player missions, a new multiplayer arena, and gameplay features not originally found in Quake, including rotating structures and breakable walls. New enemies include Centroids, large cybernetic scorpions with nailguns, Gremlins, small goblins that can steal weapons and multiply by feeding on enemy corpses, and Spike Mines, floating orbs that detonate when near the player. New weapons include, Mjolnir, a large lightning emitting hammer, a laser cannon, which shoots bouncing bolts of energy, and a Proximity Mine Launcher, which fires grenades that attach to surfaces and detonate when an opponent comes near.

The storyline follows Armagon, a general of Quake’s forces, planning to invade Earth via a portal known as the ‘rift’. Armagon resembles a giant gremlin with cybernetic legs and a combined rocket launcher/laser cannon for arms.

Quake Mission Pack 2: Dissolution of Eternity
Now, Let’s have a look at Quake Mission Pack 2. Quake Mission Pack 2: Dissolution of Eternity was the second official mission pack, released on March 31, 1997. Developed by Rogue Entertainment, it featured sixteen new single player levels as well as several new enemies and bosses.

New enemies included Electric Eels, Phantom Swordsmen, Multi-Grenade Ogres (which fire cluster grenades), Hell Spawn, Wrath (floating, robed undead), Guardians (resurrected ancient Egyptian warriors), Mummies, and statues of various enemies that come to life. The bosses were Lava Men, Overlords, large Wraths, and a dragon guarding the “temporal energy converter”. Rather than offering new weapons, the mission pack gave the player new ammo for already existing weapons, such as “lava nails” for the Nailgun, cluster grenades, rockets that split into four in a horizontal line, plasma cells, and a grappling hook to help in moving around the map.

If a user has read the article then he/she would have gained knowledge on Quak Mission Pack 1 and Pack 2.

Bookmark Us
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • MisterWong
  • Netvouz
  • Reddit
  • Slashdot
  • Spurl
  • StumbleUpon
  • Technorati
  • Wists

Linux – Quake gameplay (Multiplayer) mode

Posted in Gaming by Shafkat Shahzad, M.Sc - Senior Technical Content Manager on August 27th, 2011

The article will provide a user with information on Quake gameplay’s multiplayer mode. As we are aware that Quake has two fundamental modes of gameplay:

- Single player
- Multiplayer

We have already discussed Quake gameplay’s single player mode in the previous article. Now, Let’s have a look at Quake gameplay’s multiplayer mode. In multiplayer mode, players on several computers connect to a server (which may be a dedicated machine or on one of the player’s computers), where they can play against each other. Typically in multiplayer mode, when a player dies then he/she can loses any items that were collected. This means that a user has to start collecting the items again. Similarly, items that have been picked up previously respawn after some time, and may be picked up again.

The most popular multiplayer modes are all forms of deathmatch. Deathmatch modes typically consist of either free-for-all, one-on-one duels, or organized teamplay with two or more players per team (or clan). Teamplay is also frequently played with one or another mod. Typically, no monsters are normally present, as they serve no purpose other than to get in the way and give away the player.

The gameplay in Quake was considered unique for its time because of the different ways the player can maneuver through the game. An example will further explain this. bunny hopping or strafe jumping can be used to move faster than normal, while rocket jumping enables the player to reach otherwise-inaccessible areas (or just move faster), at the cost of some self-damage. The player can start and stop moving suddenly, jump unnaturally high, and change direction while moving through the air. Many of these non-realistic behaviors contribute to Quake’s appeal. The nature of the gameplay is often fast and frenzied, and has become considerably faster over the years as players mastered advanced movement techniques.

As Quake did not include any automap, it also requires considerable knowledge of the sometimes confusingly-contorted maps (made more complex by the frequent use of teleporters) as well as careful planning in order to collect needed items and conserve health and ammunition. Strategies include regularly picking up items to prevent one’s opponent from having access to them and controlling certain critical areas of each level. Duels often take place with opponents mostly out of sight of each other, jockeying for position and carefully stocking up on items, with sudden changes in speed of play when one player or the other gains an advantage. Sound also plays a central role in keeping track of other players and even items in the game, so many players use headphones to give the clearest sound and directionality. Teamplay adds even more tactical layers, with different ways to communicate and cooperate.

IF a user has read the article then he/she would have gained knowledge about the Quake gameplay’s multiplayer mode.

Bookmark Us
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • MisterWong
  • Netvouz
  • Reddit
  • Slashdot
  • Spurl
  • StumbleUpon
  • Technorati
  • Wists

Linux - Quake gameplay (Single player mode)

Posted in Gaming by Shafkat Shahzad, M.Sc - Senior Technical Content Manager on August 20th, 2011

The article will provide a user with information on Linux Quake gameplay in a single player mode. The game engine was developed for Quake, the Quake engine, popularized several major advances in the 3D game genre.

Quake has two fundamental modes of gameplay:
- Single player
- Multiplayer

In this article, we will look at Quake gameplay’s single player mode. In single-player mode, players explore and navigate to the exit of each level, facing many challenging monsters and a few secret areas along the way. Usually there are buttons to press or keys to collect in order to open doors before the exit can be reached. Once reaching the exit, the game takes the player to the next level.
Before the start level, there is a set of three pathways with easy, medium, and hard skill levels; in order to reach the Nightmare skill level (described in the game manual as so bad that it was hidden, so people won’t wander in by accident), the player must drop through the water before the Episode 4 entrance and jump into a secret passage.

Quake’s single-player campaign is organized into four individual episodes of about eight levels each (each including a secret level, one of which is a “low gravity” level Ziggurat Vertigo in Episode 1, Dimension of the Doomed that challenges the player’s abilities in a different way). As items are collected, they are carried to the next level, each usually more challenging than the last.

If the player dies, he must restart at the beginning of the level. However, games may be saved at any time. Upon completing each episode, the player is returned to the hub Start level, where he can then enter the next episode. Each episode starts the player from scratch, without any previously collected items. The ultimate objective at the end of an episode is to recover a magic rune.

If a user has read the article then he/she would have learnt about Linux Quake gameplay in a single mode.

Bookmark Us
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • MisterWong
  • Netvouz
  • Reddit
  • Slashdot
  • Spurl
  • StumbleUpon
  • Technorati
  • Wists

Linux - SerialICE

Posted in Software by Shafkat Shahzad, M.Sc - Senior Technical Content Manager on August 13th, 2011

The article will provide a user with information on SerialICE. SerialICE is a QEMU-based firmware debugging tool running system firmware inside of QEMU while accessing real hardware through a serial connection to a host system. This can be used as a cheap replacement for hardware ICEs.

Please note that following information provides a user with the incomplete support for less frequently-used architectures:
• As of 2011 only supports the traditional BIOS boot model for the guest OSes, no UEFI boot model support yet on x86-64 systems
• Few special device drivers (graphics, sound, IO) for guests are available, thus there is quite a large overhead for multimedia applications. For example, a Cirrus Logic graphics chip and various popular sound cards (ES1370, Sound Blaster 16, Gravis Ultrasound and AdLib) are emulated, but they do not take advantage of hardware acceleration on the host system. Recently a virtual video device compatible with the VMWare video driver has been added, however it does not support any scaled video or 3D features.
• QEMU only supports SDL or Cocoa libraries for video output, in addition to VNC for networked operation.
• Runs significantly more slowly than alternatives on PCs without hardware CPU virtualization, rendering virtualization of modern or visual systems sometimes unusably slow

If a user has read article then he/she would have learnt about SerialICE.

Bookmark Us
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • MisterWong
  • Netvouz
  • Reddit
  • Slashdot
  • Spurl
  • StumbleUpon
  • Technorati
  • Wists

QEMU - virtualbox, XEN-HVM , Win4Lin and Win4Lin Pro Desktop

Posted in Software by Shafkat Shahzad, M.Sc - Senior Technical Content Manager on August 6th, 2011

The article will provide a user with information on virtualbox, XEN-HVM , Win4Lin and Win4Lin Pro Desktop

VirtualBox
VirtualBox uses some of QEMU’s virtual hardware devices and has a built-in dynamic recompiler that is based on QEMU. As with KQEMU, it runs nearly all guest code natively on the host via the VMM (Virtual Machine Manager), and uses the recompiler only for special situations as a fallback mechanism (this holds true for guest code that executes in real mode and some other rare scenarios at runtime). In addition, VirtualBox goes through a lot of code analysis and patching via a built-in disassembler to reduce usage of the recompiler to a minimum. VirtualBox is open-source software under the GPL, except for a number of enterprise features, and standard user features like USB 2.0.

Xen-HVM
The Xen virtual machine monitor can run in HVM (hardware virtual machine) mode, using Intel VT-x or AMD-V hardware x86 virtualization extensions. This means that instead of paravirtualized devices, a real set of virtual hardware is exposed to the domU to use real device drivers to talk to.
QEMU includes several components: CPU emulators, emulated devices, generic devices, machine descriptions, user interface, and a debugger. The emulated devices and generic devices in QEMU make up its device models for I/O virtualization.

Xen-HVM has device emulation based on the QEMU project to provide I/O virtualization to the VMs. Hardware is emulated via a patched QEMU device model (qemu-dm) daemon running as a backend in dom0. This means that the virtualized machines see as hardware: a PIIX3 IDE (with some rudimentary PIIX4 capabilities), Cirrus Logic or plain VGA emulated video, RTL8139 or NE2000 network emulation, PAE, and somewhat limited ACPI and APIC support and no SCSI emulation.

KVM
KVM (Kernel Virtual Machine) is a Linux kernel module that allows a user space program access to the hardware virtualization features of various processors, with which QEMU is able to offer virtualization for x86, PowerPC, and S/390 guests. When the target architecture is the same as the host architecture, QEMU can make use of KVM particular features, such as acceleration.

Win4Lin Pro Desktop
Win4Lin Pro Desktop is based on a tuned version of QEMU and KQEMU and it hosts NT-versions of Windows.

If a user has read this article then he/she would have learnt about virtualbox, XEN-HVM , Win4Lin and Win4Lin Pro Desktop.

Bookmark Us
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • MisterWong
  • Netvouz
  • Reddit
  • Slashdot
  • Spurl
  • StumbleUpon
  • Technorati
  • Wists

QEMU - Tiny Code Generator, Accelarator and Hardware assisted emulation

Posted in Software by Shafkat Shahzad, M.Sc - Senior Technical Content Manager on July 30th, 2011

The article will provide a user with information on QEMU’s Tiny code generator, Accelerator and Hardware assisted emulation.
Tiny Code Generator (TCG)
The Tiny Code Generator (TCG) aims to remove the shortcoming of relying on a particular version of GCC or any compiler, instead incorporating the compiler (code generator) into other tasks performed by QEMU in run-time.

Accelerator
Virtualization of machines or operating systems comes at the cost of speed of execution. One tried and true method to reduce the effect (cost) are software-based drivers which perform specific functions that would otherwise be very costly to perform by the virtualization software.

KQEMU or QEMU Accelerator was a Linux kernel module which notably sped up x86 emulation on x86 platforms. This was accomplished by running user mode code directly on the host computer’s CPU, and using processor and peripheral emulation only for kernel mode and real mode code. KQEMU also supported a kernel emulation mode in which portions of kernel mode code run on the host’s CPU.
Unlike KVM, KQEMU could execute code from many guest OSes even if the host CPU does not support hardware virtualization. KQEMU supports both x86 and x86_64 CPUs.

QVM86 was a drop-in replacement for the then closed-source KQEMU, licensed under GNU GPLv2 license. The developer of QVM86 ceased development on January 21, 2007 as they decided that the project had been rendered obsolete by the release of VirtualBox.

Hardware-assisted emulation
The MIPS-compatible Loongson-3 processor adds 200 new instructions to help QEMU translate x86 instructions; those new instructions lower the overhead of executing x86/CISC-style instructions in the MIPS pipeline.

Parallel emulation
Virtualization solutions that use QEMU are able to execute multiple virtual CPUs in parallel. QEMU is also able to run multiple threads in user-mode emulation mode.
For full system emulation, QEMU uses a single thread to emulate all the virtual CPUs and hardware. COREMU is a patch to QEMU to break this limitation. Each core uses a separate instance of QEMU binary translation engine, with a thin library layer to handle the inter-core and device communication and synchronization.

If a user has read this article then he/she would have learnt about QEMU’s Tiny code generator, Accelerator and Hardware assisted emulation.

Bookmark Us
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • MisterWong
  • Netvouz
  • Reddit
  • Slashdot
  • Spurl
  • StumbleUpon
  • Technorati
  • Wists

QEMU’s Features

Posted in Software by Shafkat Shahzad, M.Sc - Senior Technical Content Manager on July 23rd, 2011

The article will provide a user with information on QEMO’s features. QEMU offers many features that are also present in other emulators. An example will make this clear. QEMU can save and restore the state of the virtual machine with all programs running. As with many emulators, guest operating systems do not need to be patched to successfully run.

Please note that QEMU supports the emulation of various architectures, including IA-32 (x86) PCs, x86-64 PCs, MIPS R4000, Sun’s SPARC sun4m, Sun’s SPARC sun4u, ARM development boards (Integrator/CP and Versatile/PB), SH4 SHIX board, PowerPC (PReP and Power Macintosh), ETRAX CRIS and MicroBlaze architectures. The virtual machine can be equipped with many types of hardware and this includes: hard disks, CD-ROM drives, network cards, sound chips, and USB devices. USB devices can be completely emulated or the host’s USB devices can be used.

Virtual hard disk images can be stored in a special format (qcow or qcow2) that only takes up disk space that the guest OS actually uses. An emulated 120 GiB disk can take up just several hundred megabytes on the host. The QCOW2 format also allows the creation of overlay images that record the difference to another base image file which is not modified. This can be useful to have the possibility of reverting the disk’s contents to an earlier state. An example will prove helpful her. A base image could hold a fresh install of an operating system that is known to work, and the overlay images are worked with.
• QEMU can emulate network cards which share the host system’s connectivity by doing network address translation, effectively allowing the guest to use the same network as the host.
• QEMU integrates several services to allow the host and guest systems to communicate, for example, a SMB server and network port redirection (to allow incoming connections to the virtual machine).
• QEMU can also boot Linux kernels without having to prepare a bootable image with a bootloader.
• QEMU does not depend on the presence of graphical output methods on the host system.
• QEMU can allow one to access the screen of the guest OS via VNC.
• QEMU can also use an emulated serial line, without any screen, with applicable operating systems.
• QEMU does not require administrative rights to run, except if additional kernel modules for improving speed are used (like KQEMU).
If a user has read this article then he/she would have learnt about the features of QEMU.

Bookmark Us
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • MisterWong
  • Netvouz
  • Reddit
  • Slashdot
  • Spurl
  • StumbleUpon
  • Technorati
  • Wists

QEMU

Posted in Software by Shafkat Shahzad, M.Sc - Senior Technical Content Manager on July 16th, 2011

The article will provide a user with information on QEMU. QEMU is a processor emulator that relies on dynamic binary translation to achieve a reasonable speed while being easy to port on new host CPU architectures.

In conjunction with CPU emulation, it also provides a set of device models, allowing it to run a variety of unmodified guest operating systems; it can thus be viewed as a hosted virtual machine monitor. It also provides an accelerated mode for supporting a mixture of binary translation (for kernel code) and native execution (for user code), in the same fashion as VMware Workstation and VirtualBox.
QEMU can also be used purely for CPU emulation for user level processes; in this mode of operation closely resembles Valgrind.

One feature exclusive to QEMU is portability: The virtual machines can be run on any PC, even those where the user has only limited rights with no administrator access, realizing the “PC-on-a-USB-stick” concept. Similar applications (such as MojoPac) exist, but they currently require administrator rights to run, making them useless in areas such as public libraries, internet cafes, and so on.

QEMU has two operating modes:

User mode emulation
QEMU can launch Linux or Darwin/Mac OS X processes compiled for one CPU on another CPU. Target OS system calls are thunked for endianness and 32/64 bit mismatches. Fast cross-compilation and cross-debugging are the main targets for user-mode emulation.

Complete Computer System mode emulation
QEMU emulates a full computer system, including a processor and various peripherals. It can be used to provide virtual hosting of several virtual computers on a single computer. QEMU can boot many guest operating systems, including Linux, Solaris, Microsoft Windows, DOS, and BSD [1]; it supports emulating several hardware platforms, including x86, x86-64 (AMD64/Intel 64), ARM, Alpha, ETRAX CRIS, MIPS, MicroBlaze, PowerPC and SPARC.

If a user has read the article then he/she would have learnt about QEMU.

Bookmark Us
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • MisterWong
  • Netvouz
  • Reddit
  • Slashdot
  • Spurl
  • StumbleUpon
  • Technorati
  • Wists

« Previous entries · Next entries »