Tile World (also known as TileWorld or Tileworld) is a game designed to emulate Chip's Challenge. It was written by Brian Raiter. To avoid copyright infringement with Chip's Challenge, the game does not use the original graphics, sound or music. The original level set is not bundled with Tile World, so is legal for use.
Tile World has several features that are not found in Microsoft Chip's Challenge. These include:-
- Open-source software, available for multiple platforms - including 32-bit Windows, Linux and Mac
- Emulation of both MS and Lynx rulesets (see below)
- The ability to choose levelsets and levels from a list within the game
- Solution recording, playback and verification
- Customizable graphics, sounds, font and colors
Tile World has two rulesets intended to emulate two different implementations of Chip's Challenge: the MS ruleset and the Lynx ruleset. Many glitches from the Microsoft implementation are emulated into Tile World, in order for scores obtained from Tile World to be consistent with that implementation. The Lynx and MS rulesets also have a variety of subtle differences in how monsters and other game elements work, which are readable at Lynx. For instance, in the original Lynx version, fire is an acting wall to everything but fireballs; in the MS version, it only stops bugs and walkers.
Differences in the Lynx emulation
The Lynx ruleset in Tile World does allow some things the actual Lynx implementation of the game does not. Tile World accepts arbitrary connections of buttons to traps and clone machines (in the actual Lynx game the connections are made implicitly based on positions of the buttons and targets), a concept borrowed from the MS implementation. North and west thin walls, which did not appear in CC1, can be used. One can also touch the border in the Lynx emulation without any unpredictable results that would occur in the actual Lynx game. Also, Tile World is not hindered by the limitations of the Atari Lynx hardware, so various limits aren't reproduced. Examples are only being able to hold a maximum of 256 keys, a maximum of 128 monsters that can be on screen, and having the titles contain no lowercase letters or symbols.
Tile World still includes a command-line option (-P) which turns on pedantic mode, forcing the Lynx ruleset to emulate the original Lynx game as closely as possible.
The original 32x32 tiles in the MS version are replaced with 48x48 tiles created by Anders Kaseorg, which also don't use the 4-bit colors (16-color palette) that are used in the MS Chip's Challenge. With the Lynx ruleset, all objects move smoothly from one tile to the next, and animations are included when an object runs into water, a bomb explodes, objects are cloned, or Chip is killed. Also, elements except ice visibly "shimmer" and the exit continuously pulls its borders inwards as if it were a portal to another world.
There are also some differences between the sound effects used for the MS ruleset and the Lynx ruleset. The green button adds a sound effect identical to the other three buttons; sounds are made when blocks move and when Chip steps over elements (differing for ice and force floors when Chip has the boot), recessed walls, fake blue walls, dirt and traps; the computer chip has the same sound as the keys, and the socket has the same sound as the locks.
Tile World introduced a couple of new file formats to support some of its features.
- DAC files: These specify additional information about a levelset, such as the ruleset.
- TWS files: These record the solutions for levels that have been completed.
Tile World is written in the C programming language. It uses the SDL library for platform-specific tasks. The platform-independent parts of the code - such as the game logic - are neatly separated from the platform-specific layer that renders the user interface, making it easy to port Tile World to a new platform.
The Linux and Windows ports were developed by Brian Raiter. The port for the Mac was done by Thomas Harte.
Chuck Sommerville, interviewed about Chip's Challenge's origins, notes that Tile World was the game's original name: "[Helping other programmers] was not too terribly creative, so in my spare time at home, I started working up an idea for a game I always wanted to do that involved a player moving across tiles of different types, and interacting with them. I called it "Tile World."