Animal, Vegetable, Mineral - a Java game project
Description
Animal, Vegetable, Mineral (avm for short) is very similar to 20 questions.The aim of the game is to think of an object that the computer cannot identify.
Once you have told the program what category of object you are thinking of (animal, vegetable or mineral) you then answer a series of yes/no questions about your object. Finally, the program will either be able to correctly guess your object or you will have won.
Once you have finished playing, your contributions to the program's knowledge are saved. When you play again, you will need to think of some new objects :)
The game is based heavily around the Amstrad CPC 464 version, which I used to play quite a lot when I was younger.
The question structure is very simple - rather than using a set of gathered facts to find a known object that meets all of the criteria, the game has a binary tree of questions, each node either leading to another question or to an object.
Currently, the game comes with knowledge of only a few objects. This will eventually change, when I eventually find time to sit down and teach it to recognise a load more things.
Raison d'être
AVM was a classic game on the Amstrad CPC 464. Both me and my sister had great fun playing with it when we were growing up. I doubt that many people will be interested in playing with this, but if even one person can derive some enjoyment from it then it will have fulfilled it's purpose.I don't think I've really learnt much while writing this program. A little about trees (the programming type, not the 'Vegetable' type), I suppose. It was quite a fun program to write, though.
Development Plans
- Increase the size of the pre-loaded data banks
- Create a GUI frontend - not everyone likes command lines :(
- Add the ability to create totally new categories and install them by simply dropping the .dat file into the data folder
- E.g. How about a Star Wars or Stargate category? Or an anime character one?
- E.g. How about a Star Wars or Stargate category? Or an anime character one?
Development History
- Summer 2007 - project started.
- Summer 2007 - Version 1.0 completed
- XX 04 2008 - project moved to CVS, project refactored into sensible packages
- 13 04 2008 - development restarted, code changed to seperate user interface and core game engine
- 13 04 2008 - Version 1.1 completed, project webpage created
System Requirements
- Java Runtime Environment, version 5 or above
- Any Windows, Mac or Linux operating system *should* work
Downloads
- Just the game, as as a .jar file - AVM Version 1.1
- The game, plus the source code included in the .jar file - AVM Version 1.1 + Source
- Just the source code - AVM Version 1.1 source code
Instructions
- To run the game from the .jar file, you need to use the command line.
Your current directory will need to be the same as the directory in which the .jar file is stored
The command to run the game is "java -jar FILENAME.jar", where FILENAME.jar is the name of the .jar file. - If you are using Windows, you can just double click on the included runme.bat file.
- To access the source code, you need to open the .jar file with a program such as WinRAR.
Licence
I don't currently have a specific licence in mind at the moment. However, the conditions I want you to abide by are these:- I am not responsible for anything that goes wrong with your computer, either as a result of using this program or not.
- The program has absolutely no guarantee of quality or anything of the sort. It is provided free of charge for entertainment purposes. You should not use this program on any computer where security, uptime or quality of service are important. If you do, and something goes wrong, then you agree to acknowledge that the program was not my fault in any way, and in fact was your fault for messing around on important machines.
- You are welcome to distribute this program as much as you want, as long a) as you do so without charge, and b) You do not remove any references to me as the creator.
In other words, please feel free to give it to your friends, don't take money in exchange for it and don't claim that it's your work. - If you want to alter the program, feel free. If you want to share your alterations with other people, then you may do so as long as a) you don't charge for them, and b) you don't remove any references to me as the original creator.
In other words, the source code is available for you to use - please use it if you want to! If you create something nice, then share nicely and don't make other people pay for it. Also, don't claim that it's entirely your work if it isn't.