Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 2b85cc7
Showing
116 changed files
with
25,719 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
Contents | ||
|
||
* Bugs in the MS game logic emulation | ||
* Bugs in the Lynx game logic emulation | ||
* Other bugs and misfeatures | ||
___________________________________________________________________________ | ||
|
||
Bugs in the MS game logic emulation | ||
|
||
* There are numerous situations in the MS game that cause a moused goal to | ||
be cancelled for which TW will keep trying. A clearer understanding of | ||
those situations is needed. | ||
* The MS game checks for input more than once per tick. Probably this was | ||
done to catch last-minute keyboard events, but it has the effect that by | ||
having more than one input event in the queue, Chip can, under certain | ||
circumstances, have the latter keystroke processed after he has moved but | ||
before any other creatures move. | ||
* In TW, the keyboard is scanned twice per tick, once at the beginning and | ||
once in the middle. As a result, if Chip makes a move at the beginning of | ||
a tick, the game does not update the display twice in a row (once after | ||
the creatures move and once after Chip moves), but just does it once. I | ||
do not believe that this optimization has a real effect on the gameplay. | ||
It does, however, make it easier to examine the screen when pushing | ||
against a force floor. | ||
* There are a number of miscellaneous emulation bugs, mostly involving | ||
"illegal" tile combinations. These are documented more thoroughly in the | ||
msbugs.txt file on the website. | ||
___________________________________________________________________________ | ||
|
||
Bugs in the Lynx game logic emulation | ||
|
||
* Under the real Lynx game it is possible to push a block diagonally | ||
without moving at all. This is done by pushing against a wall, and then | ||
pushing diagonally against a neighboring block very briefly. The block | ||
will get pushed, but Chip doesn't follow. This is impossible to do in TW. | ||
* Under the real Lynx game it is possible, with carefully constructed | ||
circumstances, for Chip to push a block away from him as it's heading | ||
towards him. That is, a block starts moving into the square that Chip | ||
occupies, but in the same frame, Chip starts pushing the block in the | ||
opposite direction. This is impossible to do in TW. | ||
* There are a number of miscellaneous emulation bugs, mostly involving Chip | ||
being stuck on teleports. These are documented more thoroughly in the | ||
lxbugs.txt file on the website. | ||
___________________________________________________________________________ | ||
|
||
Other bugs and misfeatures | ||
|
||
* TW ignores field 8 entries in the .dat file unless they are exactly five | ||
bytes long. In this case, it simply ignores the field 6 password. The MS | ||
game will remember both passwords and allow either one to be used | ||
(although if both are present it will only show the field 8 password). |
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,286 @@ | ||
|
||
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.5.3, although Qt 4.4 should also work. | ||
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://groups.yahoo.com/group/chips_challenge/files/ is a repository of | ||
the available level sets that have been created. The biggest fans of the | ||
game try to provide a copy of every known user-created level set at this | ||
place. 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, or "Chip's Challenge Level Pack 2 and 3". | ||
These sets were assembled by the fans, who voted on all of the user-created | ||
levels that existed at the time when each was compiled. 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!) | ||
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 CCLP2 and CCLP3.) | ||
Note that only some levels in CCLP2 can be played under the Lynx ruleset. | ||
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/ | ||
|
||
The grand repository of 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-2010 by Brian Raiter and Madhav Shanbhag. | ||
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. 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. | ||
|
||
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. |
Oops, something went wrong.