Homebrew (video games)
From Wikipedia, the free encyclopedia
Homebrew is a term frequently applied to video games that are produced by consumers on proprietary game platforms; in other words, game platforms that are not typically user-programmable, or use proprietary hardware for storage. Sometimes games developed on official development kits, such as Net Yaroze or PS2 Linux, are included in the definition. Some of these typically go under more frequently used labels, such as freeware. The term doesn't, however, include commercially sold games that are developed without the console manufacturer's license. A popular type of homebrewed games is fangames.
In Japan, these games are usually called Dojin soft, which is the way of saying this software is not illegal depending on what the software does.
Contents |
[edit] Development
Homebrew games are typically developed to be used with emulators. There have been efforts to use actual console hardware; Atari 2600 homebrew developers can use various methods, for example, audio transfer via the SuperCharger module. Game Boy Advance homebrew developers have several ways to use flash memory cartridges (see Game Boy Advance flash cartridges).
The Atari 2600 and Nintendo Entertainment System are interesting because they both use the 6502 instruction set which is likely to be familiar to people who have programmed 8-bit computers, such as the Commodore 64.
Today, along with the Sega Dreamcast, Game Boy Advance, and the PlayStation Portable, the most frequently used platforms for homebrew development, represent a good part of the older generations of the consoles - the Atari 2600 and Nintendo Entertainment System.
A big factor is that the platforms (and portable platforms in general) are simple enough that a very small team, or a lone programmer, can make a decent enough game for them, therefore favoring homebrew projects which are usually undertaken by small teams or individuals.
All of the major sixth generation consoles enjoy some popularity with modders, but less so than earlier generations. Mostly this is because producing software for powerful platforms needs more resources, there aren't very good emulators for these platforms yet, and the consoles themselves often employ rather complex systems to prevent unauthorized code. Homebrew developers often have to use "loopholes" to get their software to run.
[edit] Atari 2600
The Atari 2600, released in 1977, is a popular platform for homebrew projects. Games created for the Atari can be executed using either an emulator or copied directly to a blank cartridge making use of either a PROM or EPROM chip. This allows the construction of homebrew cartridges that will run on an original Atari 2600. Unlike later systems such as the Microsoft Xbox, the Atari does not require a modchip.
Although there is one high-level compiler available for the Atari 2600 (Batari Basic), most of the development on the platform is still done in 6502 assembly language. Homebrews written for the Atari 2600 in assembly language are typically considered programming challenges for expert-level computer scientists. Unlike later video game consoles, the Atari 2600 lacked video memory. Instead, the program runs simultaneously with the television screen and updates graphical registers a fraction of a second before the television draws each scanline.
For each scanline, the Atari 2600 can only draw two custom graphical objects (8 bits each), a "playfield" consisting of 20 bits, and three solid pixels called Missile 0, Missile 1, and the "ball".[1] Timing is critical in this environment. If the program takes too long to update the registers, the television will update the screen before the graphics are properly initialized, resulting in glitches or video problems. In this respect, Atari 2600 programming could be considered a form of hard real-time computing.
[edit] Sega Master System and Genesis
Although on a much lesser scale, both the Sega Master System and Genesis/Mega Drive do enjoy some homebrew development, as there is no physical lockout mechanism (akin to Nintendo's 10NES); thus, running homebrew software on that hardware is much easier. But the efforts in the homebrew-scene for Sega's 16-Bit-machine have been growing recently, as there are now several full games in development to be released not only as a ROM image, but in physical form, such as Pier Solar or a port of the classic Teenage Queen.
Frog Feast for the Mega Drive and Good Deal Games' Mighty Mighty Missile for the Mega CD are examples of released homebrew games for Sega consoles.
The Sega Saturn has a relatively small, yet very creative homebrew website in Denmark and is slowly increasing in popularity.
[edit] Sixth generation consoles
[edit] Sega Dreamcast
The Sega Dreamcast was a console that, while over shadowed by its later competitors, is particularly lauded for its homebrew development capabilities because it does not need any modchip to run them.
One example is Last Hope released by Red Spot Games in 2007, which was actually a port from a Neo-Geo homebrew game.
[edit] PlayStation 2
Early versions of the PlayStation 2 have a buffer overflow bug in the part of the BIOS that handles PS1 game compatibility; hackers figured out how to turn this into a loophole called the PS2 Independence Exploit, allowing the use of homebrew software. Another option for homebrew development is the use of a modchip. Or, developers can use a PS2 hard drive and HD Loader.
Sony also released an official homebrew-development kit that allows PlayStation 2 to run Linux. See the PS2 Linux article for more information.
[edit] Nintendo GameCube
The GameCube, when it comes to homebrew, has historically enjoyed little success because it uses quite obscure hardware. False rumors claimed that the GameCube used non-standard DVD-media that was incompatible with consumer DVD burners, or stated that GameCube discs spun backwards, claiming that the discs were written from the outside in.
In fact, the only barrier to burning GameCube discs with a consumer DVD burner is the Burst Cutting Area, a "barcode" in the innermost ring of the disc, an area inaccessible to most burners and writeable only by very expensive disc pressing machines. For a long time the only way to run homebrew software on GameCube was through a patching-system exploit of Phantasy Star Online Episode I & II, requiring users to find the game and a Broadband Adapter. Both of these are difficult to find because a disc has been released (under the name Phantasy Star Online Episode I & II Plus) and thus the original PSO is rarely sold, and because the Broadband Adapter is not often carried in stores due to the Gamecube's very limited selection of online games.
Currently the most common method is to use a special loader software, often using a modchip, and homebrew software can be loaded from DVD-R, SD card (with an SD Gekko adapter), or over Ethernet. As the GameCube's case does not fit a full-size DVD-R, third party replacement cases are available. Most of GameCube homebrew software is developed to emulate other videogame systems such as NES, SNES, Master System, Genesis, Turbografx-16, Game Gear, GameBoy, GB Color, GBA, Neo Geo Pocket, Neo Geo CD, MAME, N64,...
Recently a full-fledged IDE has taken form to aid homebrewers. http://sourceforge.net/projects/gceclipse/
[edit] Microsoft Xbox
The Xbox console uses several measures, including cryptographically signed code to obfuscated firmware. The primary method of executing homebrew code required installing a mod chip which could be flashed with a modified Microsoft BIOS. This BIOS allowed the system to boot unsigned executables (XBEs) and control several hardware variables, such as region coding and video mode. With the leak of Microsoft's official development kit (XDK) homebrew coders were able to write replacement Xbox GUIs (known as dashboards), games and applications for the Xbox.
A softmod which uses a commercial game such as 007: Agent Under Fire, Mech Assault or Splinter Cell to load up homebrew software has been discovered. This method utilizes modified font and sound files to cause the Xbox to intentionally crash and load one of the homebrew dashboards. Once in this condition, the Xbox was now able execute homebrew games and applications.
Because the Xbox uses standard PC libraries, writing homebrew games is extremely easy, as the vast majority of commands available for a PC programmer are available to an Xbox homebrew programmer. This ease of coding is the same reason that commercial developers loved the Xbox.
One of the more common type of homebrew games for the Xbox are ports of PC games whose source has been publicly released or leaked. Many classic PC games have been released for Xbox, but most are created with the XDK which limits their availability. The only places to find these ports are through IRC or peer-to-peer browsers.
The Xbox system is also very adept at running emulators which have been ported from PC. The Xbox is able to emulate systems up to the previous generation, including the Nintendo 64 and the PlayStation. For this reason, many different emulators have been created for the Xbox, and some of them have even more development support than their PC counterparts.
Recently, progress has been made in the creation of a legal development kit for the Xbox, known as OpenXDK. The OpenXDK is intended to allow coders to create new applications and games, as well as port existing source codes, without using illegally obtained Microsoft software. The games and applications created under the OpenXDK can be legally hosted on the net, and downloaded by users.
Even after the release of the Xbox 360, the Xbox homebrew scene remains extremely active, with new game ports, emulators, and applications coming out weekly. Microsoft is currently encouraging Xbox 360 homebrewed content with XNA, though at a charge of $99 per year.
[edit] Seventh generation consoles
[edit] PlayStation Portable (PSP)
[edit] Nintendo DS
[edit] Xbox 360
Microsoft has released a free Software Development Kit (SDK) to would-be homebrew programmers. This SDK, called XNA Game Studio Express, is a free version of the SDK available to professional development companies. Microsoft has announced that the games written with XNA Studio Express will be made available -- for no cost -- to all Xbox 360 owners, an announcement is due in Q3 2007. This will allow creators of homebrew content access to their target audience of Xbox 360 owners. It is believed that a new "XNA Community" blade will appear in the console's Dashboard, similar to the Xbox Live Arcade.
On March 20, 2007 it was announced that a hack using the previously discovered Hypervisor Vulnerabilty in the Xbox 360 kernel versions 4532 and 4548 had been developed to allow users to run XeLL, a Linux bootloader. The initial hack was beyond the average user and required an Xbox serial cable to be installed and a flashed DVD Drive firmware. Felix Domke, the programmer behind XeLL has since announced a live bootable Linux CD suitable for novice users, with the capabilities to be installed to the SATA hard drive of the Xbox 360. Despite the availability of such a distribution, the Xbox 360 still isn't considered a popular platform for homebrew development, given the dependence of the exploit on the DVD-ROM being able to load a burnt DVD game, a modified version of the game King Kong, and two older kernel revisions of the console itself.
A group independent of Microsoft is working on the means to run homebrew code, as part of the Free60 project.
[edit] PlayStation 3
The Playstation 3 has been designed to run other operating systems from day one. Very soon after launch, the first users managed to install Fedora Core 5 onto the Playstation 3 via the 'Install Other OS' option in the PS3's XMB (Cross Media Bar), which also allows configuring the PS3 to boot into the other OS installed by default.
So far, several Linux flavors have been successfully installed to the PS3, such as Fedora Core 5, Fedora Core 6, Gentoo and Yellow Dog Linux (YDL). The latter comes installed with the Cell SDK by default, allowing programmers a low cost entry into Cell programming. See also: Linux for PlayStation 3
At this point graphics support is limited to framebuffer access only (no access to the PS3's graphics chip RSX yet). Since NVIDIA has a good track record when it comes to releasing Linux drivers for its products, there is some hope that Linux on PS3 will be able to support the RSX graphics card eventually. In the meantime however, they will have to make do with framebuffer access and software-only implementations of OpenGL, such as Mesa 3D. A port of Lua Player, which will implement Mesa 3D, is already underway.
Homebrew developers do have access to the revolutionary Cell microprocessor, including 6 of its 7 active Synergistic Processing Elements (SPEs). The Game OS resides under a hypervisor and prevents users to take full control of the PS3's hardware. This is a robust security measure which has helped Sony feel secure enough to allow users to install other operating systems to the PS3.
The Sixaxis controller has also been exposed to Linux, but as of yet no driver seems to have been successfully created that exposes its tilt sensor and accelerometer functionality.
From May 2008 a vunerability was found in the Playstation 3 allowing users to install debug firmware allowing backups of games to be ran.
[edit] Nintendo Wii
[edit] GP2X
The GP2X by Gamepark Holdings is fully dedicated to running homebrew software.
[edit] Gizmondo
The Gizmondo was cracked early 2006. Because Tiger Telematics, the creator of Gizmondo, is bankrupt, a small but loyal fan base provided a fair amount of homebrew applications and emulators.
[edit] Pandora
Made by the people who made the G2PX. This is their new portable hand-held console made for homebrew. more info http://openpandora.org/
[edit] NUON
The Nuon was a game chip built into several DVD players. The company who made the system called VM Labs released a homebrew SDK just before they went bankrupt. The graphical capabilities are on par with the PlayStation. The homebrew SDK & homebrew apps written in Nuon can be downloaded from http://www.nuon-dome.com/download.html. Homebrew Nuon apps can only be played on Samsung DVD-N50x and RCA Nuon DVD players.
[edit] References
- ^ AtariAge - Atari 2600 Programming. Retrieved on December 27, 2007.
[edit] External links
- Homebrewgames.co.uk (English)
- DC Emu news (English)
- GP2x developers forums (English, Dutch)
- Dev-Scene Nintendo related Homebrew Portal (English)
- PDRoms – Homebrew News and Downloads for many systems (English)
- AtariAge - Atari 2600, 5200, 7800 and ColecoVision homebrews
|