In early 2014 I started to develop Chicken Tournament for Android, a reimplementation of my 2003 classic 3D Ego Shooter, Chicken Tournament for Windows. Even though the game is very similar, it technically is a reimplementation from scratch.
This is a one-man-project and still under development. Again, the engine is completely self written, this time based on OpenGL ES 2.0 on Android, using a mix of Java and native C++ code while I allowed myself to reuse most of the assets I created 10 years ago, with enhanced graphics, effects and performance.
Please note that this is a very early development version and content is likely to change. Please send bug reports to firstname.lastname@example.org.
Chicken vs. Farmer
CT is a classic first person shooter for Android, about the ancient and everlasting conflict between chicken and farmer. The farmer can choose between one of four weapons: harvester, garden claw, plasma cannon and golf club.
Beware of chicken that throw eggs at you. When chicken are out of eggs they have to sit to regenerate eggs. While sitting they are vulnerable as they can’t move. Chicken can go to the chicken house to get eggs faster while being protected but they also can’t attach. The farmer has no access to the hen house. Another fast way to get more eggs is to collect the egg box items.
Chicken have no health; once hit they usually die straight away.
The farmer has to defend himself using one out of 4 weapons: the harvester, the garden claw, the golf club or the plasma cannon. He can only use one at a time and starts without any weapon. He can collect health packs to refresh his energy. Farmer can’t collect items while driving the harvester but they are more protected.
Hen houses are the chickens refuge: while inside they cannot be harmed but also can’t attack. Farmers have no access to the hen house. The farmer can collect health packs to refresh energy but items can’t be collected while driving the harvester. Chicken can collect egg packs to get more eggs to throw at you.
How to play
The game is optimised for touch devices like phones and tablets but has limited support for keyboards and mouse input. Playing 3D shooter on a phone is never a good experience but the controls are easy to learn and it’s fun to play:
- touch the right half of the screen to look around
- touch the left half of the screen to start moving forward or sideways, just like on a D-Pad or WASD.
- The D-Pad can be set to locking in the controls settings so it always keeps the last movement.
- the harvester can be controlled either using the devices accelerometer or an on-screen steering wheel. Press the on-screen pedal to reverse, tap the screen of the steering wheel to honk. If a keyboard is present, the harvester can be controlled using WASD or the arrow keys.
- Tap any where to shoot, tap twice to hold (golf club, garden claw)
- The green button in the top right corner lets you eject your weapon; you can also press the space bar if present. The garden claw can be thrown.
Mouse support is very limited due to Androids limited APIs e.g. to hide and “catch” the cursor.
Get it on Google Play
Chicken Tournament for Android can be downloaded from Google Play. A free version is available with limited features but otherwise unlimited and free of ads or pay-to-win, as well as the paid full version. I made the core decision to not place advertisements or In-App-Purchases into any of my apps.
Please try the free version first and if you like the game, support the development by buying the full version.
Please be aware that Chicken Tournament for Android is not feature complete yet!
I began developing CT for Android in January 2014. Starting from scratch and with the amount of boiler plate code it took a while until the first chicken was visible on the screen. The original models were saved as *.3DS files which then were converted into *.x files to be easily loaded in Direct-X. I managed to convert the original files to much simpler wavefront *.OBJ files, which were initially parsed and loaded during runtime using a java parser for wavefront object files.
Later on that parsing was modified to create static java classes containing the model data, which could immediately sent to the graphics card. To eliminate the copy step from java to native memory, the current version now creates static *.cpp files that contain raw model data which can be rendered instantly. That reduced model loading time to around zero.
More and more code was first written in java and then selectively reimplemented in C/C++ for efficiency and speed, which is essentially important for the particle systems and physics algorithms.
All OpenGL Shaders are self-written, even the water shader which was carefully tuned to look realistic enough. I’m very pleased with the graphic presentation compared to the much simpler Direct-X version from 2003.
The game logic is still written in Java but time critical parts will hopefully be rewritten in optimised C++ code. Lots of features are still missing, like multiplayer support or game modes as chicken.
Please be patient.
Chicken Tournament for Android is Copyright (c) by Sascha Hlusiak, 2014.