<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
      "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <link href="splash.css" rel="stylesheet" type="text/css" />
  <link href="index.html" rel="start" />
  <link rel="meta" href="labels.rdf" type="application/rdf+xml" title="ICRA labels" />

  <title>Python Kye</title>

</head>

<body>
<div id="rightmenu">
<h3>Navigation</h3>
<ul>
<li><a href="index.html">Kye Intro</a>.</li>
<li><a href="pygtk">Python Port</a>.</li>
<li><a href="mylevels">My Levels</a>.</li>
<li><a href="levels">Suggested Levels</a>.</li>
</ul>
</div>
<div id="content">

<h1>Python Kye</h1>

<p>This is a clone of the <a href="http://www.kye.me.uk/">classic puzzle game Kye</a> to Linux (well, to Python and pygtk, so it should run on most platforms where those are available). If you want to know what Kye is about, <a href="index.html">read here</a>.</p>

<p>Python Kye is written and maintained by me, <a href="mailto:cph&#64;moria.org.uk">Colin Phipps</a>. News of new Python Kye releases will be posted <a href="http://blog.moria.org.uk/games/kye/">here</a>.</p>

<p><img style="float: right; margin: 1mm;" src="trick-anim" width="492" height="397" />
 Kye is an unusual little puzzle game, with a variety of different types of
objects. It takes a little time to figure out all the objects and their normal
behaviour; so I have included 6 starter levels to introduce the different
objects and different types of level you see them in. Once you have a feel for the game, there are plenty of extra levels to choose from. I have put together
 <a href="levels">a levels page</a>, which picks out some of the easier level
sets for people getting started. The levels vary enormously in difficulty, so once you are finding the levels easy, look for a harder set.
</p>
<p>
 See the other pages on this site for more information about the game, and suggestions for levels to play. <a href="http://www.kye.me.uk/">The "My Kye Page" site</a> also has lots of good information. I have also started a <a href="http://groups.google.co.uk/group/kye-game">mailing list</a> as a discussion forum to allow people to discuss levels and level design ideas.
</p>
<p>
 This is a clone of the original Kye, but it is a good one. I have done my best to make it as authentic to the original game as possible (and when I say my best, people who have seen <a href="http://prboom.sourceforge.net/">PrBoom</a> will know I take this seriously). It mimics the original, including some of the unusual/buggy things which occur in the original game. It should be compatible with all levels for v1.0 and v2.0 of the original Windows version of Kye. Let me know if you find a level which seem not to work right (<a href="pygtk#differences">*</a>).
</p>

<h2>Download and Install</h2>

<p>To play Python Kye, first download the current version. There are two ways to install Kye:</p>

<h3>RPM Package</h3>
<p>This will be most suitable for people running Mandriva, Fedora or another RPM-based distribution with little or no experience of running programs from the command line. You will have to run a couple of commands, but after that it is installed, and depending on how your version of Linux is set up, you should get an icon for Kye appear automatically in your desktop menus.</p>
<ul>
<li><p>First, at a command prompt run <code>python --version</code> to see what version of Python your distribution uses. You'll get an answer like:</p>
<blockquote><pre>
Python 2.6.2
</pre></blockquote>
<p>which in this case means you have Python 2.6 (ignore stuff after the second .). Currently I only provide a package here for Python 2.6, as that is the right version for most current Linux distributions.</p>
</li>
<li>Open a root terminal session (some systems have a root prompt/root terminal
icon; otherwise, open a normal terminal and use <code>su</code> to get a root
prompt).</li>
<li>Install the RPM <!-- based on which Python version you have -->.  <ul>
<li>For Python 2.6, <code>rpm -ivh <a href="http://games.moria.org.uk/kye/download/kye-0.9.4-1.noarch.rpm">http://games.moria.org.uk/kye/download/kye-0.9.4-1.noarch.rpm</a></code></li>
</ul></li>
<li><p>You will also need to install librsvg2 and pygtk2 (might be called pygtk or python-gtk depending on your system): the versions of these with your Linux distribution should be fine, and most systems will already have these, but if not use your distribution's package installation tool to get them.</p>
<p>For example, on Fedora 10 or 11, use:
<blockquote><pre>
yum install pygtk2 librsvg2
</pre></blockquote></li>
<li>You should then be able to run <code>Kye</code> in a terminal window to start the game. (You may also get an icon appear in your menus.)</li>
<li>Note that when you go to the menu to open a new set of levels, it will not automatically navigate to where the levels are installed to; look for the /usr/share/kye directory to find the included levels (or of course you can download more from the 'net).</li>
</ul>

<h3>Source Package</h3>
<p>
 This is suitable for the users happy with running stuff from the command line, and people with non-RPM distributions (like Ubuntu). You can also use this method if you would prefer to run Kye without properly installing it (you can run Kye just by extracting it to your home directory and running it from there).
</p>
<ul>
 <li>Download <a href="http://games.moria.org.uk/kye/download/kye-0.9.4.tar.gz">kye-0.9.4.tar.gz</a> .</li>
 <li><p>You also need a working installation of <a href="http://www.pygtk.org/">pygtk</a>, version 2.4.0 or later, and (to use the supplied SVG tiles) the rsvg graphics library. I will add instructions here for various systems:</p>
<ul>
 <li>Debian (3.1 or better), or Ubuntu: <code>apt-get install python-gtk2 librsvg2-common</code></dd>
 <li>FreeBSD: <code>portinstall py24-gtk</code>, and <code>portinstall librsvg2</code></li>
 <li>Mandriva: you need Mandriva 10.2 or later to have the needed pygtk libraries. You should install the pygtk2.0-2.4.1-4mdk and librsvg-2.8.1-5mdk packages, or their later equivalents.</li>
</ul></li>
<li>
 Extract the tarball (<code>tar xzf kye-0.9.4.tar.gz</code>). Then enter the <code>kye-0.9.4</code> directory, and run <code>./Kye</code>. (The level editor is <code>./Kye-edit</code>.)
</li>
<li>If you want to 'properly' install Python Kye, run <code>./setup.py install</code> as root. (Note that this seems only to work if you have the python development libs installed.) You should then be able to run <code>Kye</code>.</li>
</ul>

<h3>Questions etc</h3>
<p>Please direct questions and comments, and discussion about the game, to <a href="mailto:kye-game&#64;googlegroups.com">the Kye mailing list</a>.</p>

<h2 id="images">Image sets</h2>
<p>These are alternative image sets, which can be dropped in in place of the supplied <code>images.tar.gz</code>.</p>
<ul>
 <li><a href="http://games.moria.org.uk/kye/download/images.tar.gz">Original Kye theme</a> — use these if you want things to be exactly like the original Windows game. Note that these are from the original shareware Kye game, so you should consider making a <a href="pygtk#donation">donation</a> if you use these.</li>
 <li><a href="http://games.moria.org.uk/kye/download/images-improved.tar.gz">Improved Kye theme</a> — this is the original Kye theme, with a few of the images replaced with new ones, by Robert Phipps. It makes the turning blocks and one way doors clearer. Most of the images are from the original shareware game, so again are not open-source and you should consider making a <a href="pygtk#donation">donation</a>.</li>
</ul>

<h2 id="editing">Creating your own levels</h2>

<p>Unlike in the original Windows version of Kye, the level editor in this version is a separate program, <code>Kye-edit</code>.</p>

<p>A palette of the available objects is shown along the bottom of the screen — select objects from here, and then left click on the playing area to place them. Use right click to remove objects. Note that the palette is condensed to show only one object of each type — click on the palette entry repeatedly to cycle through similar objects (e.g. to get different slider directions).</p>

<p>Remember that each <code>.kye</code> file can contain multiple levels. Use the Level menu to select between the levels in a file, add or remove levels, and also to name individual levels and set their hint etc.</p>

<p>Every level should contain at least one diamond (otherwise the game will exit the level immediately), and exactly one Kye (or the game will get confused) (the editor now warns you if you try to save without this minimum). It is best to always have a solid border around the level, or at least to never allow the player to reach the edge of the grid.</p>

<p>And remember to share your levels with the rest of us :-). I believe <a href="http://www.kye.me.uk/">Robert will put new Kye levels on his level's page</a> (note that levels created for python Kye are fully compatible with the original Windows Kye, and so are suitable for his page, provided you do not break the rules of the previous paragraph).</p>

<h2 id="donation">Charityware</h2>

<p>
 The original Kye for Windows was shareware, with the proceeds going to <a href="http://www.savethechildren.org.uk/">Save the Children</a>. As I have used the game idea, it seems fair to maintain the spirit of the original program, and make it charityware — so (for example like <a href="http://www.vim.org/">vim</a>) if you like Python Kye, you are encouraged to donate to a children's charity of your choice.
</p>

<h2 id="differences">Gameplay Differences from the Original Kye</h2>
<ul>
 <li>In the original, timing-sensitive mechanisms in levels would sometimes break for no reason; I think the original used two separate timer objects to control the faster and slower objects, and these would sometimes drift apart. My version does not do this; but this effect was so marginal that I doubt any levels exist which depend on it.</li>
 <li>The animation of black holes appear to interact in the original game; black holes will skip frames back or forward, speeding up or slowing down their consumption, if there are other black holes eating at the same time. To some extent this seems to be just that later black holes try and match state with earlier ones; but it appears to be more complex than that. I suspect that this is really a bug of the original, and as I don't fully understand it, I have not tried to reproduce the effect.</li>
</ul>
</div>
<p id="copyright">Except where otherwise noted, this site is Copyright (c) 2005, 2006, 2007, 2010 Colin Phipps &lt;cph&#64;moria.org.uk&gt;, and
licensed under a <a href="http://creativecommons.org/licenses/by-sa/2.5/">Creative Commons Attribution-ShareAlike 2.5 License.</p>
<p>
<!-- <rdf:RDF xmlns="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <Work rdf:about=""> <license rdf:resource="http://creativecommons.org/licenses/by-sa/2.5/" /> </Work> <License rdf:about="http://creativecommons.org/licenses/by-sa/2.5/"><permits rdf:resource="http://web.resource.org/cc/Reproduction"/><permits rdf:resource="http://web.resource.org/cc/Distribution"/><requires rdf:resource="http://web.resource.org/cc/Notice"/><requires rdf:resource="http://web.resource.org/cc/Attribution"/><permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/><requires rdf:resource="http://web.resource.org/cc/ShareAlike"/></License></rdf:RDF> -->
<span  style="float: right;"><a href="http://validator.w3.org/check?uri=referer"><img src="images/valid-xhtml11.png" alt="Valid XHTML 1.1!" height="31" width="88" style="border: 0px;"/></a>
<!--Creative Commons License--><a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/"><img alt="Creative Commons License" border="0" src="images/somerights20.png" width="88" height="31" /></a><!--/Creative Commons License-->
<a href="http://www.icra.org/sitelabel" ><img src="images/i26x25ltb.png" alt="Labelled with ICRA" width="26" height="25" style="border: 0px;" /></a></span></p>
</body>
</html>

