Kye.ps
About
Note: Although Kye.ps is completely free, the original Kye was Charity Ware. If you like what you see, please donate to any Charity that assists children.
Kye.ps is a puzzlescript port of Kye, a puzzle game from the nighties.
Kye is notable because it combines elements that folk wisdom would tell you do not belong in puzzles: It is a real-time game, it has monsters that chase you around and levels tend to be large combinations of smaller sub-puzzles connected in some way. At its root it is a block-pushing puzzle, but the blocks have many behaviors and ways to interact with each other.
My intention was to make as close and accurate of a port as possible, while coding it in puzzlescript. It was initially just meant as a way to challenge myself (those familiar with both puzzlescript and Kye should know that puzzlescript was definitely not inteded as a way to reproduce Kye).
But with time it started to look like something more. First of all, since it is puzzle script, it runs in HTML5 so it's highly portable. It also has an undo button which makes playing Kye levels so much better. And the sprites scale up pretty well in puzzlescript. Other ports go for the smooth look, but there's something nice about the original, very pixelated sprites. Another thing about puzzlescript is that it is really easy to expand on existing scripts, source code is released under a permissive free software license. With some knowledge of the kye level format, you can add levels or even add new objects or modify the sprites in a very open way...
I want this to be a very good sample of the Kye experience. So that people can understand that it has a very powerful set of play pieces. It's really strange as a puzzle game. So I tried to make a nice selection of levels. I have taken a couple of levels from Colin Garbutt's original default.kye file. But I have also taken many levels from Colin Phipps' Python Kye site and a couple of levels that I've made and released in the past, either as part of Xye or as "vexkye.kye".
Controls:
- up , down, left , right: Move Kye around
- X : make the game go (slightly) faster : This is sometimes necessary in some levels that might require you to wait while something else happens.
- Z or U : Undo
- X while in a door's cell (Doors are vertical or horizontal red things that only allow movement in a particular direction, other objects other than Kye can't enter) . Create checkpoint (pressing R will take you here. To undo a checkpoint, press escape and select the level again in the level selector).
Although all of the rules and logic are compatible with vanilla puzzlescript, I had to use Auroriax Puzzle Script + fork for things such as case-sensitive characters in the level format and the larger sprites. As a bonus, there is a level selector you can easily access by pressing escape.
Unfortunately , the level format is not exactly equal to Kye's level format due to puzzlescript limitations. Basically, if you want to add existing Kye levels, you'd have to replace all the spaces in the level with a . (dot) character).
I've tried to make everything work as closely as possible as in Kye. However, there are some differences:
- Some sprites were modified a bit to improve clarity:
- Clockwise/anti-clockwise turner sprites are flipped so that the symbol actually matches the movement.
- Auto-Sliders have a more square shape, to further distinguish them from Auto-Rockies.
- Added a red line to the Door sprites so that it is much easier to distinguish their direction.
- As much as I tried to reproduce timings and movement direction priorities, it is simply impossible to do a 1:1 copy from Kye behavior in puzzlescript, So definitely don't expect to be able to play Colin Phipps' mystical.kye here.
- Diagonal movement is NOT allowed. I don't think this is a very big deal, but the one level from shareware kye that required diagonal movement is now broken.
- Although Kye.ps does have 3 extra lives like in the Original Kye, there is no HUD so you'll have to remember your number of lives. I picked levels in which re-spawning is not necessary. Undoing a movement is much easier than relying on extra lives anyway...
- A lot of things are more deterministic than original Kye. There used to be a random or hard-to-predict element in some things like timer blocks.
Special thanks to jcGyo for help with the movement logic.
If you want more Kye, take a look to "My Kye Page" , it has some level sets, and info about other ports, including a modern Unity remake, a python version that works quite well in modern Operating systems and a really ridiculous fan sequel that adds way too many new objects and concepts.
I really hope you enjoy the included levels.