Overview

                                      ___                           
                                     /\_ \                          
  ___      __       ___ ___     ____ \//\ \       __      __  __    
 /'___\  /'__`\   /' __` __`\ /\ '__`\ \ \ \    /'__`\   /\ \/\ \   
/\ \__/ /\ \L\.\_ /\ \/\ \/\ \\ \ \L\ \ \_\ \_ /\ \L\.\_ \ \ \_\ \  
\ \____\\ \__/.\_\\ \_\ \_\ \_\\ \ ,__/ /\____\\ \__/.\_\ \/`____ \ 
 \/____/ \/__/\/_/ \/_/\/_/\/_/ \ \ \/  \/____/ \/__/\/_/  `/___/> \
                                 \ \_\                        /\___/
                                  \/_/                        \/__/ 

 
 





::::::|::\ ::|.:::::|::::::| ::::\ ::|    ::|    ::::::|::\ ::| :::::\
  ::|  ::::::|`:::::>  ::|  ::|,::|::|    ::|      ::|  ::::::|::>  ==
::::::|::| \:|,::::/   ::|  ::| ::|::::::|::::::|::::::|::| \:| :::::/
          INSTALLING

CAMPLAY
    CamPlay was tested with Ubuntu 11.04 and 10.04, on the following hardware: 
        * ThinkPad T410s
        * HP 
	* Dell Inspiron Mini

    It probably will work with other Linuxes, assuming the webcam is compatible
    with Linux (and with pygame.camera).

    I have NO idea if there is a way to run it with Windows or OS X


DEPENDENCIES
    pygame, v 1.9
    python, v 2.6 or later


INSTALLATION
    Until it gets stabler, I'd recommend just copying it to a ~/bin directory
    or into /opt, or wherever you see fit.





::::::| ::::\ ::::::\ ::::\ 
  ::|  ::| ::|::| ::|::| ::|
  ::|   ::::/ ::::::/ ::::/ 
          TODO


LIBRARY
    * CamPlay should support multiple resolutions

    * Add support for walking, jumping crouch detection, etc
    	class Event(object):
		POINT, JUMP, WALK, CROUCH, WAVEBUTTON  = range(0, 5)
		LOW, MEDIUM, HIGH = (0.7, 0.4, 0.1)
		def __init__(self, type):
			self.type = type

    * Try implementing head tracking library! o.O
	http://www.panda3d.org/forums/viewtopic.php?t=10589
 
    * Saving the cache
         * Add support to CachedMutable to serialize its cache
         * cm.binary_serialize("filename.tar", saver(value)->returns fileobj)
         * cm.binary_deserialize("filename.tar", loader(fileobj)->returns value)
         * It will serialize it to a tarball file, like:
                graphics.cache/
                    0000.val
                    0001.val
                    0002.val
                    info.js
         * In info.js:
             [ ["(S'<unbound method A.t>'\np0\n(I10\nI20\ntp1\ntp2\n.", "0000.val"] ]
         * ALTERNATIVELY, encode everything in filenames:
             * to encode: fn = pickle.dumps(key).encode("base64").replace("\n", "").replace("/", "-")
             * to decode: key = pickle.loads(fn.replace("/", "-").decode("base64"))
             * This way, we don't even need an info.js, we just loop through the files!
             * Only good, I guess, if it doesn't reach a max filename length (99 I think)
         * This can very much increase loading speed :)


GARDEN CRISIS
    * Transition Garden Crisis into using fx2 and imagecache

INFILTRATION HERO
    * Idea for guard: when a guard sees you, he says "halt!" and tells you to 
    raise your hands. He then slowly approaches you, with his gun extended.
    If you move, he will shoot, but after a certain delay. If you can move 
    fast enough, (before the delay), you can knock the gun from his hand (ie,
    you hit his hand), and then knock him out by punching, etc.

NEW GAME IDEAS
    * Kung Fu Qi Duel --- a game where you "shoot" energy at your opponent by
      standing on one leg, and making crazy hand gestures. There are also maybe
      gestures to block. Two player.
    * Battleship wars --- some sort of strategy game where you unleash
      battleships to travel across the screen and attack your opponent's?
    * Super Deluxe Model Competition --- a modeling game

 



 

::|    ::::::| ,::::\::::::|::\ ::|.:::::|::::::|
::|      ::|  ::|    :::>   ::::::|`:::::>:::>   
::::::|::::::| '::::/::::::|::| \:|,::::/ ::::::|
          LICENSE

CAMPLAY
 
    CamPlay is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    CamPlay is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with CamPlay.  If not, see <http://www.gnu.org/licenses/>.

ART ASSETS

    The licenses for artwork and sound effects can be found in the file
    data/LICENSE, and are under various free licenses


THANKS
    
    To rebecca for putting up with my jumping around and numerous bloody
    injuries during playing and testing these games.



::| ::| ::::\ ::::::\::\ ::|::::::|::\ ::| :::::\
:::"::|::|,::|::|,::|::::::|  ::|  ::::::|::>  ==
::::::|::| ::|::| ::\::| \:|::::::|::| \:| :::::/
          WARNING

For God's sake, don't hurt yourself playing this game. Make sure you have
plenty of space to move around. If you do anything stupid it's your
responsibility.