Chickens
Andrei Ellman

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"}3103_large.png
{"name":"3104_large.png","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/9\/c\/9cb915d23a0846427db7906e5f2c74e6.png","w":640,"h":480,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/9\/c\/9cb915d23a0846427db7906e5f2c74e6"}3104_large.png
{"name":"3105_large.png","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/3\/3\/33bd4dd16e85dcf2b7bd08f35305e6d1.png","w":640,"h":480,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/3\/3\/33bd4dd16e85dcf2b7bd08f35305e6d1"}3105_large.png

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 '/'
- Now possible to select a group of squares for cut/copy operations. Use Mouse-button #2 to drag an area to select. The square displayed in the layer-select area and Corners and Obstacles button is the top-left of the selection.
- Cut and paste operations now implemented. The "Block of squares" button now brings up a menu of options relating to cut 'n paste. A selection can be copied (CTRL-C) or cut (CTRL-X) Blocks of squares can overwrite the existing pipes when pasted (CTRL-V), or can be pasted 'transparently' (CTRL-U). It is also possible to delete an area of squares (DEL). In fact, it is even possible to flip and rotate an entire block of squares.

- 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.
- In the level-select dialog, the order of the levels can be changed. Use drag-and-drop to drag a level to a new position to swap it with the level at that position.
- There is a new option in the IO menu to split a level-group and save the split level to a new file. Use this in combination with the merge level-group option to shuffle levels spanning multiple groups (eg. move a level from one group to another group).
- The level-select dialog now shows thumbnails of the levels instead of boxes with numbers. A green border indicates the level is complete, and a red border indicates the level is incomplete.

- 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 ability to enlarge the level by adding borders to the level.
- Added ability to shrink the level by cropping it (see the "Crop" button in the IO menu).
- The level editor now makes backups of it's files

- 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.
-- level speed. How fast (in ticks per second) a level runs.
-- Maximum number of eggs an incubator can contain. This is the number of eggs an incubator can store before it cannot take in any more. Eggs trying to enter a full incubator will be destroyed.
-- time it takes to hatch an egg in an incubator
-- time it takes to lay an egg
-- time it takes for a superfowl to lay an egg

- 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
- Animated tiles

+ Improved Gameplay, etc.

- Implemented level-speed setting. Level's speed is now the minimum speed at which the level is played at.
- The speed at which the level is played at can be varied in mid-game by using the mouse-wheel or the UP-ARROW and DOWN-ARROW keys. The speed can vary anywhere from the minimum level-speed to 180 ticks per second. Can also be reset to the minimum speed by pressing the middle mouse-button or the 'Z' key. Holding down SHIFT quadruples the rate of speed-change.
- In the game, squares that do something when pressing mouse button #1 are now hilited.
- Square-animations now supported. This is most evident in the incubators (which show how complete a hatched egg is, the number of eggs waiting to hatch, the incubator fullness, and if an egg of the wrong type tried to enter.), but junctions that have just changed state also flash.
- Splitters now display an arrow to show the path that the next item-to-enter will take. It is possible in the level-editor to state the initial state of the arror (or it can be randomised by not having an arrow when in the level editor)
- Added two new types of splitters - clockwise and anticlockwise splitters. Instead of chosing a random direction, these chose a direction that is either cockwise or anticlockwise to the previous direction. Access these from the level-editor by chosing the tile-type of the splitter.
- Added 4 extra separator tiles - these have diagonal entrances and orthogonal exits.
- Overhauled the in-game status-diaplay. Instead of using text and regular numbers, icons and small numbers are used.
- New levels (mostly beginner's levels).

+ Uses an INI file for certain settings.
See the INI file for details on the settings. Note that most of them are meant for tweaking the graphics, but there are some useful settings out there. An example is the 'iswindowed' setting. Set to 1 to run Chickens in Windowed mode (beware - scrolling is dodgy in windowed mode).

+ 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.
+ Fixed a bug where a NOCI would sometimes switch state during the same update (this meant that the change would not be reflected on screen without the animation - this manifested itself by showing the occasional egg 'leak' out of an apparently unchanging interchange).
+ Fixed a bug where the number of chickens left to reach the target could become negative (if two chickens exited level at same time when this happened, this could leave the level being un-exitable).
+ Fixed a bug in the level editor where corners sometimes appearing when erasing a dead end square next to another dead end square.
+ Exiting the game now less likely to leave the screen-resolution in a dodgy state.
+ (WINDOWS) Only one instance can now run at once.

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:]I have only uploaded the Windows version. The DOS version is still the old version. If anyone wants the DOS version, please give me a shout, and I'll try and find the time to compile one.

[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

Looks cool, but rather confusing. I might try it out later. :)

Andrei Ellman

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
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!

Michael Faerber

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

This is one of the hardest, and one of the best games
i have ever played. The puzzles are amazing.
Thanks for the game.

Ralph

tobing

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

Nitpicks! Take the following with salt as desired:
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).
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.
3. The quit button isn't well-labeled. It should have the word "Quit" or "Exit" on it.
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!)
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.
6. There should be a way to easily review the instructions for a level while the level is in play.
7. When 'escape' is pressed during game play, the "are you sure" text makes it seem like the whole program will exit if I click ok. Instead of saying it'll exit the game, try saying it'll exit the 'stage' or 'level' or etc.

Anyway, interface nitpicks aside, it's a fun game! I like what you've done with the chicken theme. :D

miran
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
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
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

This is a pretty good game, I even think I tried this game a long time ago..who knows..

William Labbett

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

Don't use Power Archive? ???

Nils Fagerburg

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!
I'll upload my level pack after I add another level or so and polish the current ones a bit.

Andrei Ellman

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

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 :P Guess I'm not that good. It's a nice puzzle game, maybe you can see about polishing the graphics and interface and actually selling the concept.

Nils Fagerburg

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.
Link: http://www.allegro.cc/files/attachment/590436

A few comments regarding the level editor and game:
- A 'paint' button would be nice to colorize existing track without having to select each piece individually.
- A flip interchange direction button might be nice for people who don't RTFM.
- Tooltips that include keyboard shortcuts for the aforementioned would also be nice.
- Some track pieces affected by egg colour would be nice.

Andrei Ellman

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.
1. Each level will have a different coloured background. The colour can be selected by the level-authour in the level-editor. Unfortunately, this looks too simple, but the level-authour has a great choice of colours.
2. A simple repeating pattern. Again, the colour(s) can be chosen by the level-authour (the HSV/HLS of the background-pattern can be adjusted), and there will be a choice of patterns to use.
3. A backdrop. This could be in the form of various pictures of farms - English countryside farm, American desert-ranch farm, Underwater farm, Space farm (a farm on another planet). On levels with scrolling, the backgrounds will scroll in paralax (the hills in the distance will scroll slower than the hills in the foregeound). The only thing I'm worried about is that the backgrounds will distract from the action going on in the foreground. The solution would be to draw the backgrounds in low contrast, but they won't look so good that way. However, Dennis has drawn the pipes in such a way that they stand out pretty well, but if I ever do a true-colour version of the game complete with translucent pipes (which will be made of glass), the background may be more distracting. One way to make the background less distracting would be to draw it using a low contrast, but low-contrast backgrounds tend to be dull.

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 8-) . Would you let me integrate them into the next release of the game?

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
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.

Michael Faerber

Is that a joke or what? Like the piece of music which contains 2 minutes of silence?

Johan Halmén

Um... reload. :-[

Michael Faerber

Sorry for my being so impatient - because the tune is really good! :D

Nils Fagerburg

A nice tile would be a speedup tile to accelerate whatever is going through.
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.
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.

Andrei Ellman

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"}3137_large.png

Here is a list of changes.

Quote:

  • Game: Pressing 'H' during the game brings up a dialog with the level-text and some other pieces of information about the level.

  • Game: When playing levels larger than a screen, pressing the keys on the numeric keypad now scrolls the screen in the direction of the number-key relative to the position of the '5' key.

  • CSET: Pressing the left mousebutton on the 'type' button (or pressing 5 on the numeric keypad) now cycles the tile-type of the thing currently being carried by the mouse. The old behaviour (bringing up the tile-types menu) is now carried out by pressing the right mousebutton on the 'type'-button.

  • Added the ability to save an image of the entire level. Press CTRL-K from either the Game or the Construction-set. The image is saved as chlvimxx.pcx in the directory Chickens was launched from.

  • Doubled the sprite-limit. This means that there can now be twice as objects sprites in the level as there were before.

  • AEGUI dialogs now yield some CPU time.

  • The main loop now only does vsync()s if the Allegro variable _wait_for_vsync is set (this is set by default, but can be un-set by setting 'disable_vsync=1' in the INI file).

  • The time that a number flashes for in the in-game statusdispaly can now be changed in the INI file using the 'illuminationcountdownstatusdisplayvalue' setting.

  • The text "You are about to quit the game" has been replaced with "You are about to quit the level". This gives the impression that quitting just ends the level and does not does not exit the program. However, if an attempt to exit the game is made (eg. pressing the close-window button), then the text in the dialog is now "You are about to exit the program".

  • The 'About dialog' reports on whether or not to wait for the vertical retrace, and whether or not the accurate FPS measurer is enabled.

  • DOS version: The 'About' Dialog tells whether or not the program is being run in DOS under a multi-tasking OS (such as Windows), or in pure DOS.

  • Bugfix: CSET: Add-Borders now deletes exit-tiles if a border was added on the right.

  • Bugfix: CSET: If dead-ends are at the edge of a cropped area, the dead-ends at the edge would get deleted.

  • Levels: Integrated Nils's 7-level level-pack into the 'Nice' and 'OhMy' levelgroups.

  • Levels: Easy group: Made the last level of the easy group ("Split 'em up") easier to complete.

  • Levels: Easy group: New Level: "The Radioactive Gag-Gag" (PWD = ALPHA)

  • Levels: Easy group: New Level: "It's Super-Chicken to the rescue" (PWD = BIRD)

  • Levels: Easy group: New Level: "Superfowl can lay eggs quickly" (PWD = BIRDEGG)

  • Levels: Logic group: Increased the time limit on the second level by 1 minute.

  • Levels: Logic group: New level: "The adding machine is the key" (PWD = CARRY). This demonstrates chaining a half adder and three full adders to create a machine that can add two four-bit numbers and produce a five-bit result.

  • Levels: In z_logic.pmg, tidied up the flipflop level, and turned the half-adder into a fully functional level.

  • And many other minor changes...

[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.

Johan Halmén
You said:

From the point of view of the graphics, I need something for the background of the levels. Currently, the background is always dark magenta.

Yes, even if it is dark, it's still magenta and makes it look like a sprite bitmap resource. How about a wooden board wall, like the inside of a barn or something. Then for each level, if it is possible, make a shadow of the pipes, blurr it and blend it with the wall, say 50 pixels to the right and 20 down compared to the original. This would add the nice 3D feeling in the outlook, even if the gameplay is 2D.

[edit]
One picture tells more than a thousand nerds:

{"name":"590561","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/f\/d\/fd2b6ee768948cd17e3a2a06d9b605d9.jpg","w":640,"h":480,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/f\/d\/fd2b6ee768948cd17e3a2a06d9b605d9"}590561

The left and upper edge of the shadow doesn't look good, but you could place a darker wall and a ceiling there, to improve the room feeling.

Nils Fagerburg
Quote:

Quote:

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).

If it's hard to implement it's probably not worth it, at least from my point of view. The reason I would have liked a tile like that was to compensate for a long stretch of boring track, but that would just have been a hackish fix for a crappy level design.

Quote:

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.

I'm looking forward to this. :D

Quote:

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?

I think having it translucent would be better, but as I said, it's really a minor issue.

Quote:

A Linux-binary-build (and possibly even a Mac build) is in the pipeline.

Great! :D I no longer have a windows machine readily available which makes playing Chickens complicated. :( (I can't seem to get it to work with WINE)

Quote:

One picture tells more than a thousand nerds: fd2b6ee768948cd17e3a2a06d9b605d9.thumb.jpg

The left and upper edge of the shadow doesn't look good, but you could place a darker wall and a ceiling there, to improve the room feeling.

Looks very nice. An alternative to having the left and top all dark would be to make the faucet tiles have a longer shadow that includes a fictional off screen pipe that leads to it.

ngiacomelli

I loved it. Fantastic. Absolutely fantastic. Is there a 'fast-forward' button? That's one thing I missed.

Nils Fagerburg
Quote:

Is there a 'fast-forward' button? That's one thing I missed.

You can use the scroll wheel or up/down keys to alter the game speed.

For logic levels perhaps a circuit board would be nice background. Here's an edited picture of my current WIP level. I made the drop shadows look better by extending the faucet tiles upward and left on the edges. (I stole the wonderful adding machine from AE's level.)

{"name":"590614","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/c\/a\/ca8a38005534c3966e562a55c27f4e57.jpg","w":640,"h":736,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/c\/a\/ca8a38005534c3966e562a55c27f4e57"}590614

A few more ideas:
-The ability to place chickens the same way you can place ducks. That way you could even have levels without chicken-faucets.
-Alternative goals, for instance instead of having to get N chickens to the drain tile you could have levels that you win by killing all or N# ducks, or by having N# chickens within a certain area, and so on...
-Tiles that set a switch to a certain position. A bit like the 'transistor' tiles but that would toggle the state until it was re toggled rather than only when there is something going through it.

I think I had some other ideas but I forgot for now. :P

Andrei Ellman

Apologies for the delay in my response, but I've recently had to re-install Windows.

Johan Halmén said:

How about a wooden board wall, like the inside of a barn or something. Then for each level, if it is possible, make a shadow of the pipes, blurr it and blend it with the wall, say 50 pixels to the right and 20 down compared to the original. This would add the nice 3D feeling in the outlook, even if the gameplay is 2D.

While I was originally thinking of using outdoor backdrops (pictures of farms and the surrounding scenery/sky/etc.), I like how the images have turned out with the wooden and circuit-board backdrops, and am considering changing my mind on this. If anyone has any other ideas for backdrops, then please post them here or mail me. I personally think that the shadow could be a darkened version of the background and not black, as otherwise, the contrast between the level and the background would be too great.

The only thing I'm worried about is that because I am using an 8-bit paletted mode, the effect might not turn out too well in 8-bits. Fortunately, I have about 32 spare entries in my palette, that could be changed according to which backdrop is being used. As well as the backdrop, I would have to account for the shadow when allocating my palette, but at least I can use the fixed entries as well as the 32 free entries.

It would be nice to have a variety of different backdrops. Various types of wood for the different types of barn, a metalic looking 'barn' for an 'outer-space farm' and of course, the circuit-board.

As Nils suggested, the shadow should be extended to the left and top by adding an extra pipe before the taps. I prefer this to the darker wall/ceiling.

One thing I'm wondering about is what should happen when the screen is scrolled? Should the background scroll, remain fixed, or scroll at a different rate than the level? Unless the background scrolls at the same speed as the foreground, I would have to re-draw the translucent shadow every time scrolling occurs. However, a pre-drawn background with shadow can take up huge ammounts of RAM for the larger levels, but I could of course use dirty rectangles if the background scrolled at the same speed as the level. Also, blurring the tiles seems like an expensive operation in terms of speed, but I could have a pre-drawn set of blurred tiles. Of course, I could make a configuration setting that lets the player chose how the backgroud should scroll with the foreground.

Nils Fagerburg while talking about accellerator tiles said:

If it's hard to implement it's probably not worth it, at least from my point of view. The reason I would have liked a tile like that was to compensate for a long stretch of boring track, but that would just have been a hackish fix for a crappy level design.

It's unlikely I'll ever implement accellerator tiles, although there's a small chance I might implement a set of 'turbo-pipes' where anything that goes through moves at twice (or more) the regular speed.

An alternative is to use spacewarps for long boring stretches of track. However with spacewarp tiles, it will be harder to see which pipes lead where, although they could be useful for supplying a 'supply voltage' to those hard to reach areas. One thing I might end up doing is to increase the spacewarp-limit from 4 to an unlimited amount. To do this, I would have to add to each spacewarp tile the ability for it to remember a user-specified set of tile-coordinates. I could also use this to create non-reflective spacewarps (ie. instead of all A->B spacewarps doing B->A when entered from the other end, they could do B->C etc.), and even to implement things such as interchange-controlled interchanges that change state according to the state of another object in the level (such as another interchange). Internally, spacewarps work this way already - when the game starts, each spacearp is scanned for it's twin (determined by tile-type - hence the limit of four), and they remember the co-ordinates of their twin. However, I would have to implement a means of selecting an associated tile in the level-editor (and modify the PMG file-format to remember associated tiles), and think of what to do if a block of suqares containing several linked-to tiles and linked-from tiles is cut, pasted and pasted again.

Nils Fagerburg said:

Quote:

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.

I'm looking forward to this. :D

I might implement some of the easier to implement suggestions (such as the counter), but at the moment, I'm a bit concerned about feature-bloat. I need to dicipline myself to get what I have polished up and out of the way, rather than adding a never ending cascade of features - otherwise, it will never get finished. This has already happened to the level-editor. However, if you do have any ideas for the game or level-editor, please post them here. It might just be easy enough to implement quickly - you never know.

However, I plan on making an update to the PMG file so I can get ythe user to chose and select different backgrounds and music on a per-level basis, so I might just add a few more block-types.

Nils Fagerburg said:

(I can't seem to get it to work with WINE)

Just out of interest, have you tried to see if you can get the DOS build to work in DosEmu/DosBox/Bochs/etc?

Nils Fagerburg said:

Quote:

Is there a 'fast-forward' button? That's one thing I missed.

You can use the scroll wheel or up/down keys to alter the game speed.

This is mentioned in both the manual, the FAQ and is mentioned three times in the hints to the easy-level. Looks like I'll have to implement an in-game GUI afterall.

Nils Fagerburg said:

ca8a38005534c3966e562a55c27f4e57.thumb.jpg

Wow. I look forward to playing it.

If you need some inspiration for some levels based on digital logic, see http://en.wikipedia.org/wiki/Category:Digital_circuits

Nils Fagerburg said:

-The ability to place chickens the same way you can place ducks. That way you could even have levels without chicken-faucets.

This should be easy to implement, but I may have to modify the storyline to allow for chickens that are already in the level. At the moment, it is however possible to have more than one chicken-tap in the level.

Nils Fagerburg said:

-Alternative goals, for instance instead of having to get N chickens to the drain tile you could have levels that you win by killing all or N# ducks, or by having N# chickens within a certain area, and so on...

For that, I would have to make some additions to the gameplay dynamics - especially in the 'N# chickens within a certain area' part.

Nils Fagerburg said:

-Tiles that set a switch to a certain position. A bit like the 'transistor' tiles but that would toggle the state until it was re toggled rather than only when there is something going through it.

This is actually easy to implement and I might just do it. I would just create a second-type of NOCI-tile (it looks like the regular NOCI but the pipe underneath is a different colour). Incidentally, it is currently possible to get a similar effect by creating a flip-flop (see the first logic-level for an example), but the catch is that you need to supply it with a stream of objects to get it in a fixed state, whereas your NOCI idea can do that with a single object. One thing you could build with this new type of NOCI is a pulse-generator. You could connect one of the outputs of a splitter-circuit to one of these NOCIS to create one.

Nils Fagerburg said:

I think I had some other ideas but I forgot for now.

Please post them here - be they ideas for the game or the level editor. However, I should really do a feature-freeze and save new features for the sequel, but I'm addicted to adding more features.

AE.

Dennis

Time for a public explanation, I think:
As I was and still am dealing with serious motivation problems lately, I haven't had the energy to read the full thread(too much text:P). I also thought that I hadn't had enough motivation left to finish doing all the graphics in my free time after the workday was done.
So I'm keeping this very brief here (already wrote you a long email Andrei).

I like the idea with the wooden texture and the shadow as a backdrop, I also like the circuit board.

Anyway, struggling to get my motivation back or rather fighting to make me think that it is my duty to finish the work left to be done on the graphics for Chickens (it still couldn't hurt to get someone else for reinforcement in doing the graphics) I started doing sketches for the title screen. I threw away the first few sketches and currently this(see below) is the latest one but I already have an idea for a better one, where the duck and the chicken will be shown like that with their full bodies visible inside a half open tube curve that will be facing the viewer.
{"name":"590718","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/1\/6\/168f9274df6cd672b4a6fdcf0bc8e0ed.png","w":640,"h":480,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/1\/6\/168f9274df6cd672b4a6fdcf0bc8e0ed"}590718
I'm also posting this, so that the thread won't die until I have the title screen finished.;)

Michael Faerber

Dennis, that looks amazing! If your new idea should look even better ... what can I say then? :o

Johan Halmén

That's just great, Dennis! Only bad thing is that I would have to make another tune for the title music. I have a jolly country theme ready, but that image would need something more aggressive.

john wells

Am clad you have done what you set out to do all the them years ago while we was working with you at Runecraft in Dewsbury.

We all thought you was crazy, We might have been right!

All the best John Wells, Andy Noble.

Nice to hear from you matey.

Dennis

Michael:
I'm surprised that you already find a mere sketch to be amazing but thanks. :)

Johan:
I skimmed through the thread again and found your midi tune. I like it very much, it's very lively and happy but it does indeed not fit to that title sketch, so if your title music is similar to that other tune, one of us will have to change his work. I still want to sketch out my other idea, which I haven't done yet but since the general idea of confrontation wouldn't change it also wouldn't fit your music...so if it turns out that I'll have plenty of time this weekend, I might think of another "happy" title screen, maybe one with a Chicken party in front of a barn or something though that wouldn't have any elements of the game in it and I want to put game elements on the title screen. So I don't know, don't have another idea yet.

Johan Halmén

Dennis: Andrei had some thoughts of different kinds of music for the game. I haven't done all of them yet, probably I won't do all of them. But some of them would indeed go well with your title screen. So keep on the good work!

Andrei Ellman

Dennis: That's a pretty good sketch. It would look better in colour, but thankfully, the palette I'm using for the title-screen is divided into 15 hues + grey - each with 16 shades, so you just need to select an area, and add a multiple of 16 to the colour-indices. The chicken looks almost perfect, but the duck looks a bit like a goose (it would look better if it looked more like the duck you drew for the game). Perhaps both their necks could be shortened. I like the fists. Perhaps if you ever get the motivation to re-do the Superchicken and Superduck sprites, you could replace the wings with fists.

At the moment, the sketch looks more urban than farmyard-like. One thing you could do is to shrink the image so that it appears in the foreground of the bottom of the screen in the middle. The background could be a barn with a chicken party while other chickens are being attacked by the ducks (the ducks would be dive-bombing them and laying eggs on top of them), and perhaps even some Chickens playing some musical instruments (the exact set of instruments would of course depend on the tune which is eventually chosen for the title-screen). While your original image will still be there, there will be less of a confrontation theme.

One thing I'd also need to do is to place the buttons that lead to the other screens. Following the advice others have suggested, I'm thinking of replacing the level-selection buttons ("Easy", "Nice", "OhMy", Aaarrgh!", "Logic" (and a few more I've not done yet)) with a single "Play" button that leads to a separate level-group selection screen. The main screen will just contain the buttons "Play", "Construction set", "Credits", "About" (I might just leave this merged with the "Credits button"), "Settings", "Quit" [EDIT: and "Help"]. At the moment, they are on a couple of stone slabs, but I'm thinking of replacing them with buttons on a wooden background (using the same sort of wood that you've used for the in-game status-display). You don't need to draw the buttons themselves - you just need to leave space for the buttons to go. I may use your sketch in more than one front-end screen.

The front-end will be split up into the following screens: Title-screen, Level-chooser screen, Credits screen, Settings screen, New-level-group screen (at the start of each level-group) New-level screen (at the start of each level), and Group-completion screen. I think that I could use the same image for all frontend screens, but if you feel motivated enough, some of them could use different images.

Johan: Do you think you could send Dennis the tunes you've made so far? This could help get a titlescreen backdrop and tune that work well together. Originally, I was thinking of playing a MOD which is a re-mix of the song Popcorn, but I'm starting to lean towards your jolly country theme.

John: Nice to hear from you as well mate. Good to see the old Runecraft posse popping up now and again. Say what you like about my sanity, but in response, I say :P . But really, nice to hear from you. Anyway, I'll try your game out sometime.

AE.

Dennis

Andrei, may I kindly remind you that it is just a sketch? ;) The final version will of course be colored and a lot more detailed and less sloppy and and and...
A sketch isn't meant to be at production quality, it's just meant to present ideas and to work out a goal and then that sketch is taken and turned into something good. But as long as it is a sketch, it's sloppy, contains loads of perspective errors, maybe wrong proportions and other evil things, just like this latest one here(I threw away the idea with the half open tube and instead sketched out the scene as you described it):
{"name":"590737","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/c\/3\/c3a7af51327ab24123d3ae47b93eadfe.png","w":640,"h":480,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/c\/3\/c3a7af51327ab24123d3ae47b93eadfe"}590737
Not in the sketch yet are the running away chickens and the duck bombers and the party, but I marked where they are going to be with arrows and text. The signpost in the middle is where the menu can go. There will be rolling hills in the back, maybe more fences, small forest patches, the sky will have some clouds which enclose the top middle portion of the screen in a circleish pattern. There will probably also be more tubes. I took tomorrow off of work, so I have a whole three day weekend to start cooking.

The overall aggressiveness in the picture might be because I'm listening to Iron Maiden and Edguy while I'm sketching.

Pedro Avelar Gontijo

Oh, my... here comes me with a long post. Please forgive me if I repeat something said above, because I have read only some 80% of all the thread. :D
Say, your game is really good and addictive. The concept as a whole is impressive! All this praise got me interested in the game, so now I'm up for helping, even if by raising morale :)
I've come up with some ideas for major changes, if you will:

On backgrounds: instead of having those pipes and adding backdrops to them, why not have the course integrate the background? I don't really like that idea as in pipes + chickens... in fact, I do, for it's cool. But my suggestion is you make it really a farm, and have the objects walk on trails on the grass. It will look less like those Pipes games (whose names I happened to forget now), plus it will look tidier and cozy :)
Also, start and end points could be barns, you could add fences, and all that country feel.
On gameplay: what bugged me most while playing it is the scroll speed change. I think it would be more logical if scrolling up made it faster, and it could be less sensitive as well. You take a nice bunch of seconds to get full speed. However, I appreciate the click restoring the minimal speed, it's a very nice idea :)
On "graphics": it looks kind of ugly when an object is passing through a pipe that has just turned the opposite way, or when it passes through the back wall of the pipe. I know there's not much to be done there for the sake of game logic, but again the farm idea would solve this in some way. You could have fences for the "pipe walls", and objects would just leap over them if needed. (don't ask why don't they jump it when game logic wouldn't allow it ;) )
On networking: ok, this is the most dramatic change, but I think it does more than paying off! Your game engine not only would fit perfectly multiplayer, but is even asking for it!
(of course, it would ask for screen scrolling and really big levels, but seems like that's already been implemented and I'm just a bit late.)
You have ducks and chickens now; if you take the ducks privileges (which aren't even many, I can only think of mono-colored eggs right now) away, they can fit perfectly for other players. Each player would have his/her "barn" (as said above), and it could also be the exit barn for other players (if not, you could just add one right beside the start barn). To make it the clearest: a player could reach any other player's barn for succeeding. Hatchers and nests would be collective, in the middle of the stage, and players could even start with just one chicken each. You could set objectives to exterminate all enemy forces, or take enemy barns by putting a determined amount of chickens inside and be the king of the hill, you choose.
You could also add races for more game fun. For instance, one player might play the ducks, another the chickens, another one the geese, and so on. Or maybe just different colored chickens :D
How would players swap the trails' directions is a good question. Maybe they all should just be free for all to move, which could sound thrilling, but would probably lead to situations where the fastest clicker would win on a certain tile.
On the art: first, I must say more than on the rest of the post, this part is really IMHO, so feel free to discuss, as in opposition to simply say I'm wrong. :)
Graphics look really cool! I shall congratulate Dennis for the sprites, which look tidy and nice. :)
Just as discussed, there is a serious background urge. The layout/GUI could be seriously improved as well, but I'm aware that's under way,
Johan's tune is incredibly nice and sweet, and it's totally approved for gameplay, as long as the title screen brings something more aggressive ;)
If you feel the need, I could do some of that background/additional graphics myself, or some music too. Just the sound effects, which are all you really need now, I can't do. ;D

So, here's the compilation of all my ideas and opinions. I hope not to have forgotten anything.
Very creative and good game, I repeat, and I'm looking forward to see it move towards a glorious destiny. Also willing to help is this poster, even if he does not bring any help at all. :P
Cheers, and keep it up :)

Andrei Ellman

Dennis: Nice pic. I luv it! The suggestions for improving it as well are also good. Here are some of my own suggestions.

  • As you said, there should be more tubes. In order not to clutter up the picture, the complicated tube-junctions (complete with interchanges) could be in the distance, and only a few simple pipe-layouts near the screen-plane (such as the one you've already drawn). Also, one of the pipes could lead inside the barn.

  • As well as the tubes, a console for controling the junction should be shown. This will contain some large levers (which are used to control the PCIs). The console can be drawn in the distance, so there is no need to draw it too detailed.

  • A larger barn. Possily one that looks like this but with an open door.

  • The bomber ducks should be swooping at a lower altitude.

Also, now that it looks like the Chickens logo is going to be letters on a wooden background, do you think I should ditch the distortion-effect and rainbow effect and just use your letters? If I do that, it will mean that you can use whatever palette you like on the titlescreen (even the in-game palette if you want). I could instead use the distortion effect and the rainbow effect for a "Group complete" screen to give the player a more interersting reward for completing a group.

Pedro: Nice one! Any help is appreciated. As well as background gfx and additional music, you could also use the game's built in level-editor to create your own levels. Just mail me your levels (or post them here) when you've finished them.

Quote:

On backgrounds: instead of having those pipes and adding backdrops to them, why not have the course integrate the background?

I prefer pipes, as it's easier to see the paths the chickens will take, and these can get pretty complicated. An interactive background at this stage would take too much re-coding, but what I could do is have a separate set of tiles for drawing background images. These could be 32x32 pixel (or 64x64 or even 128 x 128) tiles that can be arranged to produce images of barns and the farm outside. The graphics will be a 2D side-on view (a 3D perspective image cannot so easily be composed from tiles). The level-editor will have an option for drawing a background image from these tiles. As well as tiles for the background, I could also add foreground tiles so that things like support-poles could be drawn in front of the pipes. I could also use these foreground tiles to hide certain sections of pipe to truly give them that black-box feeling.

There could be several sets of tiles. Each tileset would have a different theme. They would be "English countryside farm" (a bit like Dennis's drawing), "American desert-ranch farm" (anabandoned farm in the desert, complete with a cattle-head skull), "Underwater farm" (seaweed and fish), "Space farm" (a farm on another planet), and possibly more. Currently, there are about 24 free entries in the palette (there may be more if the 1st 16 colours are recycled). The backgrounds may use colours from anywhere in the palette, but each tileset can set the 24 or so remaining colours (including the background) to whatever it wants.

Quote:

On gameplay: what bugged me most while playing it is the scroll speed change. I think it would be more logical if scrolling up made it faster, and it could be less sensitive as well. You take a nice bunch of seconds to get full speed.

It's actually possible to reverse the mouse-wheel direction. In the CHICKENS.INI file, the setting invertmousewheelspeedchangedir reverses the direction the mousewheel/arrows must be moved/pressed. Set this to 1 to reverse this. Also, holding down SHIFT as you move the mousewheel quadruples the rate of speed-change.

Quote:

On "graphics": it looks kind of ugly when an object is passing through a pipe that has just turned the opposite way, or when it passes through the back wall of the pipe.

One of the things I need to do is to improve the path the sprites take on curved pipes. At the moment, the curve is automaticcally calculated, but I need to tweak it a bit more. Hopefully, they should all fit into the pipe.

Quote:

On networking:

Believe it or not, I actually have plans for a multiplayer Chickens. However, that's one of the features being left until after version 1.0 has come out, and to be honest, I don't think I'll have the time to implement. I've mentioned it in the design document (which is currently undergoing a major revision). Like you said, the ducks' eggs will come in four colours, and I'll be using extra species (such as geese, moorhens, ostritches, cuckoos, etc.) - each with their own shape of eggs (square eggs, triangular eggs, and even star-shaped eggs - ouch!). Each species will have their own starting-tap, and their own exit (they can also win by killing off all other players). The interchanges can only be controlled by a single player (the background (or foreground) of the interchange will contain an icon shaped like the egg of the species that owns the interchange). If I use shared interchanges, it will degenerate into who can click the fastest, so there won't be any shared interchanges. The same goes for the delay-egg blocks.

Quote:

If you feel the need, I could do some of that background/additional graphics myself, or some music too.

Cool! I'm especially in need of some background gfx. See above for my ideas on the background tilesets.

Additional music would also be welcome. Is your peferred format of composition MIDI or MOD? I'm thinking of having all the in-game tunes as MIDI, but the titlescreen / level-start and group-complete tunes as MODs (MODs have the advantage that I can use sampled sounds such as clucking chickens).

Attatched is a MOD file of how I immagined the titlescreen music to sound like. The melody will be replaced by clucking.

Good to have you on board. Look forward to your contributions.

AE.

Pedro Avelar Gontijo

I can do MIDI... I can't do MOD. Err I can, but I prefer not to, I have no experience with MOD at all. You could use timed sound effects for clucking chickens, if needed.
About the attached file: are you sure? Is that your own work? It's just a remix of that Crazy-Frog Popcorn tune, and I don't like very much how it sounds (MHO mode on: maybe it's just me, so please don't take this too bad!). From what you said I can't tell if you're using it as a resampled version or if just for having an idea of the feel.
Wasn't the Title Screen music supposed to sound aggressive? Maybe it's just me, but I thought of heavy rockish tunes. That may be just my specialty, if you change your mind ;)

Johan Halmén
Quote:

square eggs

Anyone read the Carl Barks story (Donald Duck)? Just great, as all Barks stories.

Andrei Ellman
Pedro Avelar Gontijo said:

I can do MIDI... I can't do MOD. Err I can, but I prefer not to, I have no experience with MOD at all. You could use timed sound effects for clucking chickens, if needed.

That's OK. Stick to the background gfx for now. You're welcome to contribute a MIDI or two as well.

Pedro Avelar Gontijo said:

About the attached file: are you sure? Is that your own work? It's just a remix of that Crazy-Frog Popcorn tune, and I don't like very much how it sounds (MHO mode on: maybe it's just me, so please don't take this too bad!). From what you said I can't tell if you're using it as a resampled version or if just for having an idea of the feel.

This is not my work. The MOD is a MOD that I've had lyeing around for ages. In fact, it wasn't even remixed by me. I just posted it here so that you could all get an idea for the sort of music I originally had in mind for the titlescreen. I'm not sure about the copyright status of the Popcorn tune, but it appears that there have been millions of commerical remixes of that song (the latest being the one from that amphibian of questionable sanity), so I'm not sure how copyrighted the melody is. If there are copyright issues, the melody could of course be changed.

Pedro Avelar Gontijo said:

Wasn't the Title Screen music supposed to sound aggressive? Maybe it's just me, but I thought of heavy rockish tunes. That may be just my specialty, if you change your mind ;)

At the moment, the titlescreen pic and titlescreen music are in flux. I like Dennis's pic, and I'm sure a suitable tune can come up. Now that the aggressive-looking Chicken and duck are just in the bottom-part of the screen, I can immagine Johan's jolly country theme being used. The more I think about it, the more a MOD would be suited for the titlescreen, because MODs can contain sampled clucking sounds. The in-game music does not need any clucking sounds, as there will be enough clucking from the chickens. A Popcorn-esque tune would be suited if there were Chickens playing the instruments in the background.

AE.

kazzmir

I skimmed through a lot of this thread but when is a Linux build coming? I tried the game in wine but the mouse wouldnt respond, although the title screen came up.

Also the zip should have a top level directory that the rest of the game is underneath.

Dennis

Here's the progress I made this weekend:
{"name":"590774","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/2\/1\/2141f3b20c66a65d1ff6feeec52bae11.png","w":640,"h":480,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/2\/1\/2141f3b20c66a65d1ff6feeec52bae11"}590774
Did only work on it for a couple of hours, because I just can't push pixels around for three days straight and I also had some social duties to fulfill, like drinking beer and playing poker with old friends and also getting a christmas tree, having coffee and cake with my parents... (excuses of a slacker). So as usual, progress is slow on my side.

Andrei said:

  • As you said, there should be more tubes. In order not to clutter up the picture, the complicated tube-junctions (complete with interchanges) could be in the distance, and only a few simple pipe-layouts near the screen-plane (such as the one you've already drawn). Also, one of the pipes could lead inside the barn.

  • As well as the tubes, a console for controling the junction should be shown. This will contain some large levers (which are used to control the PCIs). The console can be drawn in the distance, so there is no need to draw it too detailed.

  • A larger barn. Possily one that looks like this [en.wikipedia.org] but with an open door.

</li>
Those are all nice ideas and they will be in the final version. I also plan of having the party Chickens drink beer. One of them is going to hold a beer up high, one foot in the air, other hand(wing) on the fork. I'll add more details whenever they come to mind. This is going to take forever to finish.;D

Andrei said:

Also, now that it looks like the Chickens logo is going to be letters on a wooden background, do you think I should ditch the distortion-effect and rainbow effect and just use your letters?

Yeah, ditch it. The letters in the finished version will look better than those in the sketch.

Andrei said:

Johan: Do you think you could send Dennis the tunes you've made so far? This could help get a titlescreen backdrop and tune that work well together.

I received your tunes, Johan. Just didn't find time to answer the mail yet.

Welcome to the team Pedro, now stop reading my useless comments here and get to work you slacker.:P

Johan Halmén

I probably get the best laughs from the fact that hens are female but that hen in Dennis' picture is as macho as can be. That's a male hen! ;D

Dennis

That thought occured to me also and at one point I even thought of keeping the jacket open a bit to insert a pair of tits..:-X

Andrei Ellman

Like the updated image - especially the dueling chicken and duck. I'm pretty sure the duck will end up looking more duck-like once it's colored in.

I'm just wondering how I'm going to fit seven buttons on the four wooden boards. Perhaps I could have two buttons per board, with the exception of the "Play" button which takes up an entire board.

Also, the only screens I have in mind that would use the boards attatched to the poles are the main menu and the level-group selection screen (the settings screen will bring up a dialog). I'm wondering how the board will transition form one menu to the other. Here are some ideas.

  • The boards would detatch and fall to the bottom, to be replaced by another set of boards that rise to where the old boards were and attatch themselves.

  • The entire pole would do the same as above, while the boards would remain attatched.

  • The pole would rotate 180 degrees round the Y axis and show the other side of the board. This would be good if there were only 2 menu screens, but if I ever chose to do more than 2 menu screens, it would imply that the contents of the far side of the board get changed (although there's really nothing wrong with that).

  • The pole would rotaste around the Z axis (or X azis) just enough for the boards to be completely buried, and then, a replacement board would appear from the ground being rotated round the Z axis (or X azis).

Personally, I prefer solutions that do not involve introducing 3D graphics code, as this would add size to the execuatbale.

Nethertheless, the board and pole are going to have to be a separate layer, and the chicken and duck at the bottom are going to be in another layer on top of the board-layer and background layer.

Dennis Busch said:

Yeah, ditch it. The letters in the finished version will look better than those in the sketch.

OK. Also, do you think the letters should be securely attatched, or should they be attatched by just one nail so they can move a bit relative to the board?

Dennis Busch said:

This is going to take forever to finish.

Keep at it. Who knows, you might even finish it before the rest of the game is finished.

Johan Halmén said:

I probably get the best laughs from the fact that hens are female but that hen in Dennis' picture is as macho as can be. That's a male hen!

The chickens in Chickes are sex-less. Any non-radioactive chicken can lay an egg if it goes past an empty nest. Any egg can hatch if left in an incubator long enough. I'd say the male-ness/macho-ness of the chicken and duck in Dennis's pic are just about perfect.

AE.

Pedro Avelar Gontijo

Just passing by... do you think it would be better if we had a mailing list?
And still, I haven't got any suggestions with what to work on yet. If you think I should write anything out of the blue (e.g. anything I have in mind with no genre restriction whatsoever), it's ok too. I hope to have any sense left ;D

Dennis Busch said:

This is going to take forever to finish.;D

Faito, Dennis-san! :D
You can do it. :)

Dennis

My thoughts to Andrei's ideas of the menu screen transitions:
Well the ideas are nice but that would also mean more artwork to do. I first want to finish the static titlescreen and after that I'll see if I can make separate layers from the boards, pole and the fighters. I think the falling down boards and reattaching of new ones would be requiring the least amount of additional artwork(the individual boards would be sprites, also the nails).
Letters would be painted on the boards, so they wouldn't be attached at all.

As for the seven buttons to fit onto the boards:
Maybe some other elements of the final screen could also serve as a link to additional screens, e.g. that control console that you suggested could lead to the construction set or the settings.

And yay, I kept at it, worked on it almost every evening during the week(no freetime for me:)). Progress:
{"name":"590842","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/2\/3\/233ad4b38a2facc671ab50dc5a4a2663.png","w":640,"h":480,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/2\/3\/233ad4b38a2facc671ab50dc5a4a2663"}590842
I'll redo the tube, because it turned to be completely out of perspective. I know this doesn't look like a lot of progress and maybe it isn't but it's taking a freaking huge amount of time to get proper handpixelled(placing one pixel at the time) lineart from that sketch. I dare not to even think about how long it will take to color, texture, shade, light and antialias this, but well Pixelart for the win. We'll see. With constant feedback and comments I think I can do it.

Faito! Thanks Chi, uhm Pedro ;).
A mailing list? Nah, what we need is an IRC channel where we can logon every evening after work to slack and to do idle chattering... uhm to discuss our progress.

Pedro Avelar Gontijo

Looking good so far :)
I know how tiresome it is to do lineart. Then you'll color it and it's more rewarding. Then you'll anti-alias it, and it'll... err, nevermind, you don't need to think about it :D you know how good it'll feel to see the entire piece done.

Dennis Busch said:

A mailing list? Nah, what we need is an IRC channel where we can logon every evening after work to slack and to do idle chattering... uhm to discuss our progress.

Good idea. Maybe we could set up a new channel, or if you want you could also use Silly Joy (#silly-joy@freenode), if the lurkers don't mind.
As for me, I'm finishing a piece for BAF right now, and will start working on tunes for Chickens soon. Way to go! :)

Andrei Ellman

Just to let you know that an experimental MacOS X version is now available. This has not been widely tested, and there's still a few issues to iron out. Thanks go to Otto Halmén for compiling it. It can be found in the Chickens depot page.

Pedro Avelar Gontijo said:

Just passing by... do you think it would be better if we had a mailing list?

I think that's a good idea. I'm hoping to keep this thread alive until a Chickens IOTD appears, and see if it generates more interest. After that, I think it's best if we let this thread die a dignified death and let the developpers have their own mailing-list. I'll look into setting up a mailing-list with Yahoogroups.

Dennis Busch said:

A mailing list? Nah, what we need is an IRC channel where we can logon every evening after work to slack and to do idle chattering... uhm to discuss our progress.

I think it's best just to stick to a mailing-list for the time being. We'll see how things go from there.

Dennis Busch said:

I think the falling down boards and reattaching of new ones would be requiring the least amount of additional artwork(the individual boards would be sprites, also the nails).

OK. We'll do it like that then. The nails will fly out, the boards will fall, and then, a new set of boards will rise to where the old boards once were, and the nails will fly into the wood just when it reaches the right height.

Dennis Busch said:

Letters would be painted on the boards, so they wouldn't be attached at all.

An idea that involves even less work is to have the letters for each menu to fade out and fade to the letters for the new menu. However, this may not look as nice as the moving boards.
Just out of interest, do you immagine that the letters are painted on and it would be possible to see the underlying wood texture through the letters, or will the letters be made out of a different material?

Dennis Busch said:

As for the seven buttons to fit onto the boards:
Maybe some other elements of the final screen could also serve as a link to additional screens, e.g. that control console that you suggested could lead to the construction set or the settings.

I can easily fit seven buttons on the boards. The first three boards will conatin two buttons each - one at either side of the nails. The fourth will contain "Play" written accross the board in larger letters. In the level-group chooser screen, the first three boards will conatin two buttons like the main menu. However, the fourth board will contain four buttons. "Prev" and "Next" for scrolling through the available level-groups, "Back" for returning to the main menu, and a "Load Level Group" button for loading your own level-group.

I don't think that having the button for the level-editor in the settings-screen will be a good idea - that's not very intuitive. The settings editor is just meant to be able to tweak the game-settings in game (without having to hand-edit the INI file)

Quote:

With constant feedback and comments I think I can do it.

This version is looking good. It's getting there. Keep at it. No matter how little you move along the path, it will always be closer to the destination.

AE.

Dennis

Hm, maybe I'll submit the titlescreen to IOTD when it's done.

Mailinglist then. Just make sure to not flood it with every tiny detail of changes to the code, because it's quite tiresome to read that. ;) Please keep information brief and get straight to the important things that are needed to get the work done appropriately.

I was thinking of paint with the wood texture being visible through it.

Almost there (the lineart that is..). Progress:
{"name":"590859","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/b\/a\/badc58b953972ddb1691030adfbf3cea.png","w":640,"h":480,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/b\/a\/badc58b953972ddb1691030adfbf3cea"}590859

Frank Drebin

where's the linux binary?

Andrei Ellman
Dennis Busch said:

Almost there (the lineart that is..). Progress:

Well done. It's looking more complete.

Dennis Busch said:

I was thinking of paint with the wood texture being visible through it.

I've had another idea for the transition from one menu to another. Instead of the wooden boards falling off and re-appearing, the painted text can move on the boards. If the font is drawn using translucent text-rendering, the text can move around on the board, fade in and out (if there are enough 'transition colours' in the palette) and even morph into other text (using a similar effect to the one I used in the titlescreen of Video Games I. In fact, I might even be able to have the text-distortion effect on the painted word 'Chickens' as well. The advantage of this method is that the boards do not have to be drawn separately, and the entire image can be drawn as a single layer.

Dennis Busch said:

Hm, maybe I'll submit the titlescreen to IOTD when it's done.

Go for it. I'll leave it up yo you to submit the titlescreen when you think it's ready. Speaking of IOTD, my adding machine has now made it to the IOTD.

Dennis Busch said:

Mailinglist then. Just make sure to not flood it with every tiny detail of changes to the code, because it's quite tiresome to read that. ;) Please keep information brief and get straight to the important things that are needed to get the work done appropriately.

OK. I'll try and add a summary of important changes, but I think it's a good idea to list everything else as well so you know what's changed. Also, remember that the important things for an Artist may not be important for a Musician (eg. the ability to tweak a certain colour) and vice versa.

Do you think we need just one mailing-list ('chickens-devel'), or would a separate list for announcements ('chickens-announce') be useful too?

Frank Drebin said:

where's the linux binary?

So far, there have been a few attempts to build one, but everybody who'se tried either can only produce 64-bit executables (currenty, Chickens has issues when compield as a 64-bit app), or cannot produce a statically linked binary. Nils Fagerburg has managed to produce a dynamically linked binary that only runs on Ubuntu Linux.

AE.

Dennis

I'll just draw the boards as separate images without any paint or nails on them as that will keep us all options open and so we can decide later how the text will be applied and how the menu will work.

Andrei said:

OK. I'll try and add a summary of important changes, but I think it's a good idea to list everything else as well so you know what's changed. Also, remember that the important things for an Artist may not be important for a Musician (eg. the ability to tweak a certain colour) and vice versa.

Do you think we need just one mailing-list ('chickens-devel'), or would a separate list for announcements ('chickens-announce') be useful too?

Good point. I'd say a developer mailinglist will be sufficient. For public announcements we can always go and spam the boards. That being said, I don't think I'll have time the next few days to do anything, will be busy hanging out with the family and friends.590877

Pedro Avelar Gontijo

Merry Christmas everyone! :D
Please remember to mail me when you set things up. :)

Andrei Ellman

OK.

I've created a new YahooGroup for the Chickens developpers - chickens-devel - http://games.groups.yahoo.com/group/chickens-devel/

I've sent out an invite to those who've been involved so far. I've tried to remember everyone, but apologies to anyone I may have forgotten. Of course, anyone who wants to be part of the development process or keep up with the progress of Chickens may subscribe.

Hopefully, all discussion about the development of Chickens will be moved to the new group, and this thread can come to it's natural end.

AE.

Dennis

Help. :\
For no apparant reason, I can't join the group. After registering a yahoo ID, I click join group and then it keeps asking for my password, redirects, asks for password again and never gets anywhere. I'm using Mozilla, got cookies enabled and my yahoo ID is also activated.

CGamesPlay

I am not going to read this whole thread, but...

Quote:

I could implement speed-change buttons.

I want to be able to click on the game speed bar to set the game speed, rather than simply increment/decrement it.

[append]
Oh, other than that, the first few levels have been good. Nice game!

Andrei Ellman

Dennis: Have you tried subscribing by e-mail?

CGamesPlay: Nice idea. I'll bear that in mind when implementing the in-game GUI.

AE.

Dennis

I have now written two emails to [edit: address removed to prevent spamming], one with subscribe in the topic and one with an empty topic. Haven't received an answer yet.

Thomas Fjellstrom

YahooGroups are retarded. Use a real mailing list, or google groups.

Dennis

Got a reply from yahoo now and am now waiting for the moderator of the group(that's you Andrei) to accept my joining of the list.

Andrei Ellman

Just got your request, and you've been approved. In fact, while writing this, got another mail to confirm your approval.

AE.

Dennis

Yay, this thread may now retire.

Andrei Ellman

At last, Chickens now has a statically linked 32-bit Linux Binary. This should theoretically work on any x86-based machine under any Linux distribution. It can be found in the Chickens depot page. It currently only works if the executable ('chickens') is started from the console.

Thanks go to Frank Drebin for succeeding where many others have failed. Frank's efforts inspired me to download a Knoppix DVD and test it myself, and I got the binary to work :D

AE.

LennyLen
Quote:

YahooGroups are retarded.

Yahoo is retarded full stop.

Thread #588324. Printed from Allegro.cc