![]() |
|
Chickens |
Andrei Ellman
Member #3,434
April 2003
|
At last, I have released a new pre-release version of Chickens. Come and get it! Chickens is a game that gives players a chance to solve problems in a new way. It presents bizarre problems that require bizarre solutions. The chickens must negotiate their way through a complicated spaghetti junction of pipes in order to reach the end of the game. Not only do they have to deal with the threat of the evil ducks, but the layout of the pipes also poses a puzzle. The game is divided up into levels, which are subsets of the pipe system. Each level consists of a series of pipes with obstacles, a certain number of chickens at the start, a target (number of chickens that have to reach the exit), and a time limit. The player must solve a problem by sending the target number of chickens to the end of the level within the time limit in order to be allowed access to the next level. The game comes with a construction-set (level-editor) so you can create your own levels. A chicken will die if it encounters a duck and attempts to fight it (and so will the duck it's fighting), or come across a bomb or a dead end. However, they can reproduce by laying eggs, and sending the eggs to the incubators to hatch. To make things difficult, the chickens' eggs come in four different colours (green, red, blue and yellow), and must be guided through the same system of pipes to the correct incubator for that colour in order to hatch. The Ducks can lay eggs too, and while there are ducks' eggs in the incubators, any chickens' egg trying to enter will be destroyed. The junctions consist of ordinary pipes, interchanges, command blocks, and other obstacles. The main control the player has over the game is the ability to switch the paths of some of the pipe interchanges by moving the cursor over the interchange and pressing a button. The player can also release eggs that are being delayed. Some of the interchanges have a red pipe running underneath them. If an object passes through this red pipe, the state of the junction changes to it's changed state and does not change back until the red pipe is empty again. This makes it possible to construct things like logic-gates out of pipes 'powered' by a stream of ducks' eggs. These can be combined to create computational logic circuits. An example of this is in the secod screenshot where in the top half of the screen, there are three flip-flops. The flip-flops are currently in an unstable state. This can be seen by the regular pulses of ducks' eggs in the pipes leading from the flip-flop-output to the bottom-right (in the game, you can see the flip-flops constantly changing state). To win the level shown in the second screenshot, the player must send a stream of chickens' eggs to the correct input for each flip-flop to stablise it and set it to the right state for it to send a continuous stream of ducks' eggs (or no eggs) to the three AND gates at the bottom-right (actually, the right-most one is really an A&!B gate). Once this has been done, the chickens will be released from the loop and pass through the 'AND gates' and if they are in the correct state, they will reach the exit. In the first screenshot, you can see that some of the chickens have put on a superhero costume (consisting of a leather jacket and sunglasses) and become Superchickens. Below are two screenshots of the game and one screenshot of the construction-set (level editor). {"name":"3103_large.png","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/e\/f\/ef4c803ef2e3c7dcfc07363886569f60.png","w":640,"h":480,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/e\/f\/ef4c803ef2e3c7dcfc07363886569f60"} Anyway, here is a list of the notable changes since the last major public release. Quote: + Vastly improved level-editor - There is now a new way of rapidly laying ordinary pipes with the numeric keypad. Lay a single pipe-section in the usual fasion, and press the numbers on the numeric keypad to lay the next pipe in the direction dictated by the numeric keypad (relative to the '5' in the middle of the keypad). Either pipe must already have an exit leading to this direction, or the last pipe to be layed must be an ordinary pipe (which can be bent). Note that selecting a different area without drawing anything (or erasing something) cancels this mode. Note that on Laptops, "Num Lock" should be enabled for this to work. If using it on a level larger than a screen, it scrolls the screen if the newly layed pipe goes off the edge. - It is now possible to flip and rotate the selected tile. Use the buttons in the level-editor. An alternative way to rotate is to use the mouse-wheel (or PGUP/PGDN). Flipping can also be performed with '\' and '/' - New button: Corners and Obstacles button (to the left of the layer-buttons) - use this button to modify the status of the square-corners and the square's obstacle for the currently selected square. If an obstacle is selected, pressing this button will place the obstacle in the selected square. If the eraser is selected, pressing this button will erase the obstacle in the selected square. The corners of the tiles are also shown. If a corner is shaded light or dark, that means it's visibility can be toggled. Press the button with the mouse over the corner who'se visibility you wish to toggle, and the corner's visibility (whether or not the pipe crossing this pipe at the corner is displayed on top of or undeneath of) will be toggled. - In the layer-select area, it is now possible to swap the order of tiles on a square by dragging and dropping a tile to a different layer. - Level editor: Now, it is possible to specify the duck starting direction in the level-editor. Just place a duck-obstacle (there are now 8) that faces the direction you want your duck to start moving. It is even possible to flip duck-obstacles with the middle mouse-button like it is with tile-obstacles. Also don't forget that it can be rotated with the mousewheel. - Added five new per-level paramaters to the level (these can be edited in the level-editor's "level and group information" dialog). Previously, these were constant for all levels. The INI settings that used to control these values have been taken away. - Increased certain limitations for some level-settings, including the maximum length of some of the strings. - IO errors are more descriptive. - More verbose tooltips. + Completely new graphics (thanks to Dennis Busch) - Animated sprites + Improved Gameplay, etc. - Implemented level-speed setting. Level's speed is now the minimum speed at which the level is played at. + Uses an INI file for certain settings. + Many optimisations Notable bugfixes: + When deciding which sprite to destroy in an incubator when an egg of the wrong type enters, instead of the first egg in the queue (the first to have entered, or hatching egg if no eggs queueing), the last egg in the queue is destroyed. This should mean that when the direction of the hatching chicken needs to be taken into account, all eggs that have not been destroyed will have travel-directions on exit which are in the same order as the travel-directions in which they entered the incubator. I would like to thank Dennis Busch for providing me with the graphics and animations, and Amarillion for providing me with some levels. Enjoy, AE. [EDIT:] [EDIT2:]I've released an updated version. This time, I've produced both Windows and DOS builds. A Linux Binary build is in the pipeline, and possibly even a Mac build too. [EDIT3:]An experimental MacOS X version is now available. This has not been widely tested, and there's still a few issues to iron out. [EDIT4:]A Linux 32-bit x86 binary-build is now available. -- |
Kikaru
Member #7,616
August 2006
![]() |
Looks cool, but rather confusing. I might try it out later. |
Andrei Ellman
Member #3,434
April 2003
|
I forgot to mention that one of the things I did since the previous version was to make the game easier to play. Not only have I introduced some easier levels, but I've slowed down the pace of the game (it is possible to vary the speed of the game mid game and even make it run faster than I did before). The screenshots provided show some of the more complicated levels (although some are even more complex). AE. -- |
Dennis
Member #1,090
July 2003
![]() |
Quote: I would like to thank Dennis Busch for providing me with the graphics and animations You're welcome, though I must admit I've grown pretty lazy lately when it comes to freelance work. "Real life" is just so time consuming. I'll check out the new release this weekend. Rock on! --- 0xDB | @dennisbusch_de --- |
Michael Faerber
Member #4,800
July 2004
![]() |
The game looks really cool! Could you maybe mail me the source code or publish it here (so I can try it on Linux)? -- |
ralph hulett
Member #4,690
June 2004
|
This is one of the hardest, and one of the best games Ralph |
tobing
Member #5,213
November 2004
![]() |
The kids are enjoying this game. Really good! I would expect foxes instead of ducks, but that's a matter of taste of course. Which libraries did you use besides allegro? Would be interesting to look at your source code, if you're willing to share it. I had the idea to do something similar, but easier, with a labyrinth to find a way through, and a few doors and switched. Target audience would be kids, maybe around 6 years old. Some of that could be done with chickens, of course. |
Zaphos
Member #1,468
August 2001
|
Nitpicks! Take the following with salt as desired: Anyway, interface nitpicks aside, it's a fun game! I like what you've done with the chicken theme.
|
miran
Member #2,407
June 2002
|
Quote: If anyone wants the DOS version, please give me a shout, and I'll try and find the time to compile one. Whatever makes you think anyone would want a DOS version? I can however imagine people wanting to have a Linux version... -- |
Andrei Ellman
Member #3,434
April 2003
|
Michael Faerber said: Could you maybe mail me the source code or publish it here (so I can try it on Linux)? At the moment, I am a bit undecided about making the sourcecode public, but I will send it to anyone who wants to compile a Linux binary. I am visiting England for a few days but when I get back to NL, I'll send off the source. I only have limited experience of Linux and do not know how to make binaries that run on Linux-boxes other than the one it was compiled on. Speaking of which, if anyone wants to make me a Mac binary, I'd be willing to send them the source. Quote: This is one of the hardest Did you start with the 'Easy' group? I remember the feedback I got from the previous version was that it was too hard and too fast, so I created a bunch of beginners' levels and added the ability to vary the speed. Hopefully, the learning curve isn't too steep, but if anyone has any ideas for beginners levels, let them be known, or even better, use the level-editor to realise them. tobing said: I would expect foxes instead of ducks I chose ducks because a fox would always win a fight with a chicken, but chickens and ducks are evenly matched. tobing said: Which libraries did you use besides allegro? Just PMASK and AEGUI (which is my own GUI library). Zaphos said: 1. The interface is kinda overloaded -- tends to throw too much information at the player all at once. I'd try to clean it up: Increase the font size, use less words, break menus down into sub menus (for example, a "play" button leads to a menu of difficulty modes). I take it you mean just the front-end, or are you talking about the interface for the other parts of the game? The front-end is due for a redesign anyway. Zaphos said: 2. The title screen is quite a bit less pretty than the rest of the game -- it gives a bad first impression. I'd prefer something more plain. See answer to point 1. The titlescreen is just using placeholder-graphics. Zaphos said: 4. In the game itself, there should be a way to click something to change the game speed. Mapping the adjustments to the mouse wheel and keyboard is fine, but when someone starts up the game and just clicks in to play, they're going to be frustrated that it's going so slowly, and there's a good chance they won't figure out how to adjust the speed right away. (I see it's in the FAQ but you shouldn't expect a player to read the FAQ or the readme before playing the game!) I also mention the mousewheel in the text at the start of the level for the first level of the Easy group (and remind them in the text of a later level). I could implement speed-change buttons. One advantage adding a GUI would give is that I can create tooltips for all the statusbar-icons. Zaphos said: 5. Passwords for levels seems a bit silly -- it'd be pretty easy to just save progress to a file, and skip passwords. As a simple aid, even if you want to keep passwords, the game could make a little passwords.txt file that logs the passwords a player has collected so far ... to save them the trouble of minimizing the game between levels, or finding a pen. I think that a well-chosen password complements the title and theme of the level - it's part of what makes up the level aesthetically (and can even be used as a hint). I could implement a password file for each group that remembers the saved passwords and gives the player a menu of the unlocked levels, but I like passwords, so they're here to stay. Zaphos said: 6. There should be a way to easily review the instructions for a level while the level is in play. If I add a GUI to the game, I could add a button (with a keyboard shortcut) for reviewing the level-text. Anyway, as you have noticed, there is a serious shortage of levels. If anyone has made any interesting levels with the level editor, please send them to me or post them here. AE. -- |
Zaphos
Member #1,468
August 2001
|
Quote: I take it you mean just the front-end, or are you talking about the interface for the other parts of the game? The front-end is due for a redesign anyway. Just the front end. So, yeah, that redesign would hopefully address most of the issues I raised. Quote: I could implement a password file for each group that remembers the saved passwords and gives the player a menu of the unlocked levels Something like that, to make it more convenient, would be appreciated. Quote: I also mention the mousewheel in the text at the start of the level for the first level of the Easy group In general I'll jump right to playing a game, first, then go back and read the instructions if I need to ... so it's easy to miss something like that. Having the interface right there as an element of the GUI would make it much harder to miss.
|
wiseguy
Member #44
April 2000
![]() |
This is a pretty good game, I even think I tried this game a long time ago..who knows.. |
William Labbett
Member #4,486
March 2004
![]() |
Hi, I'd like to try it but when I download the windows file I just get an 11KB file that PowerArchiver doesn't like. Any suggestions ?
|
Kikaru
Member #7,616
August 2006
![]() |
Don't use Power Archive? |
Nils Fagerburg
Member #7,193
May 2006
![]() |
Argh, curse you and your addictive game. I haven't written a single line of code for my game since I started playing Chickens. Great job! -- |
Andrei Ellman
Member #3,434
April 2003
|
Here is a hint. As I have not yet implemented the ability to lock a group (password protect an entire group), if you have come accross a level that you cannot complete, go to the level-editor, load the group in, select the next level in the sequence, and play that. Also, remember that in the front-end and level-editor, if you hover the mouse on top of a button long enough, a tooltip will appear explaining what it does and which mouse-buttons do something. I use my own GUI (AEGUI) for most GUI-related things, but for dialogs requiring more complicated widgets which I have yet to implement, I still use the Allegro GUI. AE. -- |
Steve Terry
Member #1,989
March 2002
![]() |
I spent a few hours playing chickens, I took the easy level and got through 15 and got stuck on level 16. Tried the next level up and didn't get very far ___________________________________ |
Nils Fagerburg
Member #7,193
May 2006
![]() |
Here's my level pack. 7 levels, I think they shouldn't be too hard to solve, but of course I'd have no idea since I made them. The difficulty level should be increasing, let me know if you think I got the order wrong. The titles and level text are lousy, please post your suggestions for improvement. Feedback is most welcome. A few comments regarding the level editor and game: -- |
Andrei Ellman
Member #3,434
April 2003
|
Hi, I've returned from England and recovered from the flu, so I can get to work on tweaking the game. Before I hand out the sourcecode to anyone who wants to build a linux binary that can run on multiple linux-boxes, I'll try and implement some of the quick-to-implement suggestions that have been made, and integrate Nils's level-pack in the game (if it's OK with him). I will then try and add a separate level-group choser in a separate screen in order to un-clutter the main screen, a gui to the in-game statusdisplay, and a means of automatically saving the passwords. These will not be in the forthcoming release. I just want to fix a few minor things in this one so I can hand the source to people who want to compile for other platforms. Most notably absent from this release is audio of any form. I currently have someone composing some music for me, but I would appreciate it if someone could create some suitable sound-effects for me. An idea that I have for the music is that when the time limit starts to run out (ie, gets to the last 10 seconds), the pitch of the notes of the music will be modified so they gradually become more and more out of tune. So if you hear the music becoming out of tune, that's your cue to the urgency to complete the level ASAP! Also, I plan to change the speed of the playing music as the player changes the level-speed. Both of these things are easy to achieve if I use MIDI for my music. From the point of view of the graphics, I need something for the background of the levels. Currently, the background is always dark magenta. There are 3 possible things I could do with the bacground. My preferred choice is suggestion #3. However, this will require someone to draw the backdrop. Dennis only promised to do the sprites and the pipes, and now doesn't even have time to do the remainder of those. So I would need someone to volonteer to draw some backdrops for me. And of course, the graphics of the front end require a complete overhaul... Steve Terry said: I took the easy level and got through 15 and got stuck on level 16 Now that I think of it, level 16 is too hard for the 'Easy' group. I'll look into making it easier or placing it in a harder group. Nils Fagerburg said: Here's my level pack. 7 levels, I think they shouldn't be too hard to solve, but of course I'd have no idea since I made them. The difficulty level should be increasing, let me know if you think I got the order wrong.
Thanks. I appreciate these levels Anyone else is also welcome to contribute levels. Nils Fagerburg said: - A 'paint' button would be nice to colorize existing track without having to select each piece individually. Something like that is already in the pipeline. One of the ideas on my TODO list is to have a function that 'fills' a set of connected ordinary-pipes (ie. pipes that are not junctions or command-blocks, etc.). That is, if you select a pipe in the level with the 'fill' tool selected, it follows the path of the pipe in both directions (until it reaches a dead-end or a pipe that is not an ordinary pipe) and changes the pipe-colour as it follows the path. Nils Fagerburg said: - A flip interchange direction button might be nice for people who don't RTFM. Is this in the level-editor or game? If in the level-editor, do you mean a button that switches the interchange (or flips the obstacle-direction) of the selected square? If in the game, do you mean a small button in the interchange square that switches the interchange if pressed? Nils Fagerburg said: - Some track pieces affected by egg colour would be nice. One thing I could add is a pipe that's a bit like a separator, but has five entrances instead of three. No matter which entrance incoming objects take, the eggs will exit at the exit that is the same colour as the egg. Ducks' eggs, along with chickens and ducks will leave the fifth pipe. An alternative idea I had for an egg-colour separator is something that works similar to the fowl/eggs separator (in which only objects entering the 'entrance' pipe become separated). This will have six entrances (one 'entrance' pipe and five 'exit' pipes). Only objects entring through the entrance pipe will be separated. Four of the exits will be where the coloured eggs go to (one for each colour), and the fifth exit will be where fowl (Chickens and ducks), and ducks' eggs end up. Anything entering in one of the exits will head straight to the entrance. Another idea I had is a separator for separating anything related to chickens (chickens and chickens' eggs) from anything related to ducks (ducks and ducks' eggs) that is similar to the fowl/eggs separator square. But for this one, I may have to change the storyline a bit, because the invasion of the ducks is unexpected, and therefore, Farmer Pineapple would not have prepared anything for separating Chickens and ducks. I could say that Pineapple added te species-separators at the last minute, but then to comply with the storyline, the level-authours will have to use this type of separator sparingly. William Labbett said: Hi, I'd like to try it but when I download the windows file I just get an 11KB file that PowerArchiver doesn't like. Any suggestions ? So after trying out Kikaru's suggestion, did you manage to download it in the end? AE. -- |
Johan Halmén
Member #1,550
September 2001
|
AE said: I currently have someone composing some music for me That would be me. Here's my contribution. If you have a karaoke player, you might even find some lyrics there. It's not complete yet, having some trouble with my midi player, which by the way is MidiSwing, a java application. Very simple, but it can do pitch bend rather easily. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Years of thorough research have revealed that what people find beautiful about the Mandelbrot set is not the set itself, but all the rest. |
Michael Faerber
Member #4,800
July 2004
![]() |
Is that a joke or what? Like the piece of music which contains 2 minutes of silence? -- |
Johan Halmén
Member #1,550
September 2001
|
Um... reload. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Years of thorough research have revealed that what people find beautiful about the Mandelbrot set is not the set itself, but all the rest. |
Michael Faerber
Member #4,800
July 2004
![]() |
Sorry for my being so impatient - because the tune is really good! -- |
Nils Fagerburg
Member #7,193
May 2006
![]() |
A nice tile would be a speedup tile to accelerate whatever is going through. -- |
Andrei Ellman
Member #3,434
April 2003
|
I've now updated Chickens to Chickens 0.2.0.2. Come and get it!. I have added some of the suggestions that I've recieved in this thread (and a few other things), but not all of them. This is only a small update. Things like adding sound, music, a separate level-chooser screen, settings-screen, backdrop etc. are still on my todo-list. Currently, I've created Windows and DOS builds of the latest version. A Linux-binary-build (and possibly even a Mac build) is in the pipeline. Anyway, one of the new levels I've added (in the 'Logic Group') contains a simple calculator (that just adds numbers from 0-15 and produces a result from 0-30) that runs off ducks' eggs. Below is a screenshot of said level. See if you can spot the full-adder circuits. {"name":"3137_large.png","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/3\/9\/39e5ee058010e6eb27ecafda41193636.png","w":1280,"h":1248,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/3\/9\/39e5ee058010e6eb27ecafda41193636"} Here is a list of changes. Quote:
[EDIT:] Nils Fagerburg said: A nice tile would be a speedup tile to accelerate whatever is going through. I thought about adding a new type of pipe where anything going through would double in speed while it was in the pipe, and return to normal speed once outside the new pipe-type. The only problem is that unless I make some modifications to the code, objects moving between the two pipe-types will change speed instantly and not speed up gradually. Or do you mean a tile that accellerates the objects so that they still move faster when moving through ordinary pipes? In this case, it might be hard to implement, and I'm not sure if the collision-engine could handle such fast-moving objects (without a major rewrite). Nils Fagerburg said: An another nifty piece would be a piece that counts the number of objects going through it. It would be purely cosmetic (and perhaps useful for debugging), but would be a nice touch for one of my new levels. This is something that's easy to implement, but I might leave it until I make the next major update of the available tiles (I'm trying to minimise the number of updates I make to the level-data-format to minimise the number of different versions of the PMG file-format that I have to support). As well as just counting objects, it could also count things like the # of chickens, # of ducks, # of fowl (chickens and ducks combined), # of green eggs, etc. Also, I could make it switch an otherwise static-interchange somewhere else on the level if the count reaches a certain number. Nils Fagerburg said: Another detail that would be nice would be to have the cursor tile in the level editor be semi transparent so you tell it apart from a real tile. Again, this is something I'm thinking about.Do you think it is best for a translucent cursor-tile (the ammount of translucency can be set as an option in the INI file), or a flickering cursor-tile? Enjoy, AE. -- |
|
|