A Chip's Challenge clone
C C++ Makefile
Permalink
Failed to load latest commit information.
data
docs Update to Tile World 2.1.0 May 13, 2015
generic
oshw-qt Update to Tile World 2.1.0 May 13, 2015
oshw-sdl Update to Tile World 2.1.0 May 13, 2015
res Including tileset with iceblock graphics from the original patch. May 13, 2015
sets
BUGS
COPYING Import Tile World 2 to repo. Apr 14, 2012
Changelog Update to Tile World 2.1.0 May 13, 2015
Makefile Update to Tile World 2.1.0 May 13, 2015
README Update to Tile World 2.1.0 May 13, 2015
cmdline.c
cmdline.h Update to Tile World 2.1.0 May 13, 2015
common.mak
defs.h Apply 64bit patch. I don't know if this will still work in 32bit comp… May 13, 2015
encoding.c
encoding.h Update to Tile World 2.1.0 May 13, 2015
err.c
err.h Update to Tile World 2.1.0 May 13, 2015
fileio.c Apply 64bit patch. I don't know if this will still work in 32bit comp… May 13, 2015
fileio.h Apply 64bit patch. I don't know if this will still work in 32bit comp… May 13, 2015
gen.h
help.c
help.h Update to Tile World 2.1.0 May 13, 2015
logic.h Update to Tile World 2.1.0 May 13, 2015
lxlogic.c Update to Tile World 2.1.0 May 13, 2015
messages.cpp Update to Tile World 2.1.0 May 13, 2015
messages.h Update to Tile World 2.1.0 May 13, 2015
mklynxcc.c Import Tile World 2 to repo. Apr 14, 2012
mslogic.c Added iceblock patch modified from the 1.3.0 version. May 13, 2015
oshw.h Update to Tile World 2.1.0 May 13, 2015
play.c
play.h Update to Tile World 2.1.0 May 13, 2015
random.c Apply 64bit patch. I don't know if this will still work in 32bit comp… May 13, 2015
random.h Apply 64bit patch. I don't know if this will still work in 32bit comp… May 13, 2015
res.c Update to Tile World 2.1.0 May 13, 2015
res.h Update to Tile World 2.1.0 May 13, 2015
score.c Update to Tile World 2.1.0 May 13, 2015
score.h Update to Tile World 2.1.0 May 13, 2015
series.c Added iceblock patch modified from the 1.3.0 version. May 13, 2015
series.h Update to Tile World 2.1.0 May 13, 2015
settings.cpp
settings.h
solution.c Apply 64bit patch. I don't know if this will still work in 32bit comp… May 13, 2015
solution.h Update to Tile World 2.1.0 May 13, 2015
state.h
tworld.c
tworld.ico Import Tile World 2 to repo. Apr 14, 2012
tworld2.ico Import Tile World 2 to repo. Apr 14, 2012
unslist.c Apply 64bit patch. I don't know if this will still work in 32bit comp… May 13, 2015
unslist.h Update to Tile World 2.1.0 May 13, 2015
ver.h Update to Tile World 2.1.0 May 13, 2015

README

  Welcome to Tile World

Tile World is an emulation of the game "Chip's Challenge" for the Atari
Lynx, created by Chuck Sommerville, and later ported to MS Windows by
Microsoft (among other ports).

  Important Note

Tile World is an emulation of the "Chip's Challenge" game engines only. It
does not come with the chips.dat file that contains the original level set.
That file, which is copyrighted and cannot be freely distributed, was
originally distributed with the MS version of "Chip's Challenge". If you
have a copy of this version of the game, you can use that file to play the
original games in Tile World. If you do not have a copy of this file,
however, you can still play Tile World with the many freely available level
files created by fans of the original game.

  Installing Tile World under Windows

First of all, you'll want to store the files contained in this archive into
its own separate directory. If you're using the self-extracting executable,
you can create a new directory during the installation. Otherwise, you'll
need to create a new directory beforehand -- something like c:\tworld --
and extract the files in there.

If you have a copy of the chips.dat data file, copy it to the data
subdirectory. This will allow you to play the original levels under Tile
World (for the MS ruleset and the Lynx ruleset both).

If you have other data files that you would like to try out in Tile World,
copy those to the sets directory.

The shell commands to do the above would look something like:

  cd c:\wherever\my\copy\of\chips\challenge\is\at
  copy chips.dat c:\tworld\data
  cd c:\my\collection\of\dat\files
  copy *.dat c:\tworld\sets

That's all that needs to be done to set it up. Run the program as
c:\tworld\tworld2, or create a shortcut for it.

  Installing Tile World under Linux (or building from source on Windows)

Tile World 2 has not yet been extensively tested on Linux.

The build system at this point is not extremely robust, consisting of
only a hand-written makefile for GNU Make and no configure script.

(Efforts are underway to improve upon this, and to possibly also provide
pre-compiled binary packages for some flavors of Linux.)

Before proceeding, ensure that you have Qt 4 and SDL installed on your machine.
(If you don't have SDL, you can get it by visiting
http://www.libsdl.org/download.html. If you download a precompiled version
-- i.e., an .rpm or .deb file -- note that you will need the development
runtime, as opposed to the binary runtime.)
Tile World has been tested with Qt 4.8. Earlier versions of Qt may not work.

Installing Tile World involves the following steps:

Assuming that the Qt and SDL development libraries are properly installed,
the makefile will try to figure out the necessary flags internally by calling
qmake and sdl-config.

If the environment variable QTDIR is set, then $QTDIR/include and $QTDIR/lib
will be used instead of calling qmake.

For Windows, it is necessary to set the environment variable SDLDIR to the
location where SDL is installed, and to set OSTYPE=windows.

  make

There shouldn't be any serious warnings from the compiler. Use "make
mklynxcc" if you want to also build a copy of mklynxcc (see below).

For Windows, mingw32-make must be used and the default Command Prompt (cmd)
is assumed, not the MSYS shell.

  make install

Running "make install" as root will do the following:

* Copy the tworld2 binary to /usr/local/games.
* Copy the tworld2.6 manpage to /usr/local/man/man6.
* Create /usr/local/share/tworld if it does not exist.
* Copy the external resources (i.e., the bitmaps and wave files) to
  /usr/local/share/tworld/res.
* Create the directories /usr/local/share/tworld/data and
  /usr/local/share/tworld/sets.
  
Running "make install2" instead will copy only the binary and manpage,
which is sufficient for upgrading existing installations of Tile World.

The sets directory is where you will generally store the .dat files that
you want to use. However, if you want to make use of a configuration file
with a particular data file, then you will need to store the data file in
the data directory, and the configuration file goes into the sets directory
instead. See the documentation for more information.

  Level Sets

As mentioned above, the original "Chip's Challenge" level set does not come
with Tile World, for reasons of copyright. If you do not already have a
copy of Microsoft's Windows version of "Chip's Challenge", you might still
be able to find a copy. Search the links listed below, under "Resources on
the Internet", for helpful hints on finding the game online.

If and when you do, you can copy the chips.dat file from there into Tile
World's data directory. You will then be able to play the levels of the
original set (both in MS mode and in Lynx mode).

There are also many "user-created" level sets. These are sets of levels
which have been invented by fans of the game. These sets are freely
available for downloading. If you have a .dat file that contains a level
set and you wish to use it, just copy it to Tile World's sets directory.
The next time you start Tile World, the new .dat should appear in the list
of available level sets.

At http://www.pillowpc2001.net/levels/ is a list of the available
level sets that have been created. I have not included any of these
level sets in this distribution, as the authors continue to add new
levels to their sets over time.

Actually, this distribution does contain one small level set. This is
included so that even if you don't have the original level set, you can
still get a brief glimpse of how the game works, and what some of the most
basic challenges are. Also, the same set of levels can be played with both
the MS and Lynx ruleset, so you can see how they differ.

Finally, there are some special level sets that deserve particular
mention.  They are CCLP2.dat and CCLP3.dat "Chip's Challenge Level
Packs 2 and 3".  These sets were assembled by the fans, who voted on
which levels to include. The levels that were voted as being the most
fun were then all put together. They are the closest things we have to
sequels for the original game.  (But be careful: they are both much
harder than the original!)

Also, there is CCLP1.dat. This set is especially intended for people
new to the game, conceived of as a replacement of the original
chips.dat for those who do not have it.

You can download a copy of Tile World with these sets already
installed. If instead you download them separately, you will want to
store them in your data directory instead of your sets
directory. (This is because Tile World comes with special
configuration files for CCLP1, CCLP2, and CCLP3.)  Note that only some
levels in CCLP2 can be played under the Lynx ruleset.  CCLP1 and
CCLP3, on the other hand, had compatibility with both rulesets as a
criterion, and hence all of its levels can be enjoyed in the ruleset
of your choice.

  The Complete Documentation

The full documentation for Tile World is included with the distribution, in
the file tworld2.html. There you will find information on how to play the
game, adding new level sets, customizing Tile World, and more.

  Creating New Level Sets

The most widely used program for creating new level sets is ChipEdit. It
comes with excellent documentation, and you should have little trouble
learning how to use it. Some other editors have recently been made
available, such as CCEdit and Chip's Workshop.

Normally, ChipEdit creates levels for the MS ruleset. If you wish to make a
level set for the Lynx ruleset, you have a few options:

* A very simple command-line utility is included with Tile World, called
  mklynxcc. This program will change a normal .dat file to one that will
  use the Lynx ruleset instead of the MS ruleset. Running mklynxcc foo.dat
  will change foo.dat's ruleset from MS to Lynx.
* You can use a configuration file to override the builtin ruleset. This
  method requires creating an extra file, but does allows you to avoid
  making changes to the .dat file. See the complete documentation for
  information on how to set up a configuration file.
* Finally, ChipEdit has an obscure feature which allows you to control the
  signature of the data file. This is done by adding a SIGNATURE entry to
  the chipedit.ini file. The default signature value is 0x0002AAAC, which
  indicates a data file that uses the MS ruleset. If you set the SIGNATURE
  to be 0x0102AAAC, then ChipEdit will create data files marked to use the
  Lynx ruleset instead.

  Resources on the Internet

There is quite a bit of information about "Chip's Challenge" available on
the internet. Much of it is focused on maximizing your score on the
original level set for the MS game, but you will also find lots of general
help and useful information as well.

Jimmy Vermeer maintains a site that tracks people's scores on the original
level set and CCLP2, as well as information on other levels and links to
many other pages. (But it hasn't been updated in a long time.)

  http://www.geocities.com/purpletentacle1977ca/

Mike L's Chip's Challenge hosts CCLP2 and CCLP3 and has links to almost
every custom level set available.

  http://www.pillowpc2001.net/

Anders Kaseorg's site contains the Chip's Challenge FAQ, as well as the AVI
repository and a web interface to the newsgroup:

  http://chips.kaseorg.com/

Many (but not all) user-created level sets can be found at the
chips_challenge Yahoo group:

  http://groups.yahoo.com/group/chips_challenge/files/

ChipEdit's home page is at:

  http://www.stage62.com/chipedit/chipedit.htm

Finally, the original Tile World home page is at:

  http://www.muppetlabs.com/~breadbox/software/tworld/
  
This latest version - Tile World 2 - is being maintained at:

  http://madhavshanbhag.sitesled.com/Landlubber/TileWorld/index.html

  License

Tile World is copyright (C) 2001-2014 by Brian Raiter, Madhav
Shanbhag, and Eric Schmidt.  This program is free software; you can
redistribute it and/or modify it under the terms of the GNU General
Public License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.  This
program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License,
included in this distribution in the file COPYING, for more details.

  Bugs

Bug reports are always appreciated, and can be sent to Madhav Shanbhag
at CrapulentCretin@Yahoo.com, or to Eric Schmidt at
eric41293@comcast.net. The list of known bugs is at
http://www.muppetlabs.com/~breadbox/software/tworld/BUGS.html. Please
check here before sending a bug report, to to make sure the bug has
not already been documented.

  Credits

Tile World was written by Brian Raiter.

Tile World 2 - which simply improves upon the user interface of the original
Tile World program - was developed by Madhav Shanbhag.

Version 2.1 was produced by Eric Schmidt.

The sound effects included in this distribution were created by Brian
Raiter, with assistance from SoX. Brian Raiter has explictly placed these
files in the public domain.

The tile images included in this distribution were created by Anders
Kaseorg, with assistance from POV-Ray. Anders Kaseorg has explicitly placed
these files in the public domain.

The introductory set of levels included in this distribution were created
by Brian Raiter. Brian Raiter has explictly placed these levels in the
public domain.

Thomas Harte and Michael Hansen have developed Mac OSX ports of Tile World and
Tile World 2 respectively.

Thanks to "The Architect" for his corrections to the font bitmap file.

"Chip's Challenge" was designed by Chuck Sommerville, who is also the
author of the original Lynx program.

"Chip's Challenge" is a registered trademark of Alpha Omega Publications.

Creating this program would have been flatly impossible without the help of
several fans of "Chip's Challenge". The author would particularly like to
acknowledge Anders Kaseorg for sharing the fruits of his investigations
into the game logic of the MS version and for being an effective bug
hunter, Chuck Sommerville for his pointers regarding the game logic of the
Lynx version and his unfailing support of this project, and "CCExplore" for
his in-depth investigations of esoteric game behavior.

Many other regulars of the annexcafe.chips.challenge newsgroup assisted
with bug reports, suggestions, and all-around encouragement. Their help is
gratefully acknowledged.

The anonymous author of the document describing the .dat file format, Don
Gregory, the "Charter Chipsters", and the contributors to the CC AVI
library all deserve mention as well -- this program would never have been
written without the information they made freely available.

Last but not least, a tip of the hat to John K. Elion for writing ChipEdit.