+----------------------------------------------+
|                                              |
|                 Snakman v0.3b                |
|                                              |
+----------------------------------------------+
|                                              |
|       Created By: Brad Dwyer (Yeldarb)       |
|                                              |
|           Version .3b: 14 Jan 2006           |
|           Version 0.3: 19 Aug 2005           |
|           Version 0.2: 26 Jul 2005           |
|           Version 0.1: 25 Jul 2005           |
|                                              |
+----------------------------------------------+
|                                              |
| Feel free to use, modify and/or distribute   |
| this source code.  I am so grateful to all   |
| of the developers who release their source   |
| as a learning tool, and I am glad to offer   |
| others the opportunity to learn from my      |
| work.                                        |
|                                              |
| But please, credit me and credit those that  |
| this readme credits.                         |
|                                              |
| Also, if you make a derivative work, please  |
| shoot me an e-mail at:                       |
|       Yeldarb [at] Barbdwyer [dot] com       |
|                                              |
+----------------------------------------------+
|              Program Information             |
+----------------------------------------------+
|                                              |
| Snakman is a hybrid of Snake and Pacman.     |
| The goal is to eat as many gray blocks as    |
| you can without getting hit by the red and   |
| orange balls.                                |
|                                              |
| The game is simple, yet addicting, like so   |
| many of the classic games of the past (read: |
| snake, pacman, tetris, lumines, etc).        |
|                                              |
| The game was created by me (based off of the |
| Snake game by Shine).  There were three      |
| objectives that I had when developing the    |
| game.                                        |
|       a) To Learn.                           |
|             This is only my second app.  For |
|             the PSP.  The first was PSPick,  |
|             a lock-picking program.  It was  |
|             text based.  My goal with        |
|             Snakman was to learn to do       |
|             graphics programming for the PSP |
|       b) To Entertain                        |
|             I first came up with the concept |
|             for Snakman about a year ago.  I |
|             made a general prototype, but    |
|             never developed it.  Several of  |
|             my friends told me that they     |
|             really loved the game, and I did |
|             as well.  So I decided to kill   |
|             two birds with one stone and     |
|             learn graphics programming by    |
|             developing a game that I had had |
|             in mind for a long while.        |
|       c) To Win                              |
|             I was planning on creating       |
|             Snakman even before I heard of   |
|             the PSPUpdates.com homebrew      |
|             contest, but when I saw it, I    |
|             knew Snakman was going to be my  |
|             entry.  When I do something, I   |
|             give it my best, and I fully     |
|             intend on winning this contest.  |
|             So when I do finally release     |
|             this program, it is going to be  |
|             fairly polished.  Polished       |
|             enough that I am confident that  |
|             I will have a fighting chance to |
|             win this contest. (Although now  |
|             that I've seen one of my         |
|             competitor's entries - DJSP - it |
|             looks like that is going to be   |
|             a lot easier said than done.     |
|             there are some extremely         |
|             talented programmers out there   |
|             that I am going to have to       |
|             compete with).                   |
|                                              |
| So, there it is, a general overview of the   |
| basis and motives behind Snakman.            |
|                                              |
+----------------------------------------------+
|                    To Do                     |
+----------------------------------------------+
|   v                                          |
| [0.2] Better Hit Testing                     |
| [0.2] Animated Character                     |
| [0.2] Allow Pausing                          |
| [0.2] Fix Transparency Layering*             |
| [0.3] High Score Saving Between Sessions     |
| [0.3] Delete Unneeded Functions              |
| [0.3] Comment Code                           |
| [   ] Switch over to the GPU                 |
| [   ] Background Music                       |
| [   ] Sound Effects                          |
| [   ] High Score "Encryption"                |
| [   ] Better Game Over Sequence              |
| [   ] Start Game Menu                        |
| [   ] Polish In-Game Graphics (Sprites)      |
| [   ] Implement Varying Difficulty Levels    |
| [   ] Options Menu                           |
| [   ] Overclocking Toggle (If Needed)        |
| [   ] Diagonal Movements                     |
| [   ] Do Software Rotation of Character      |
| [   ] Take Community Input and Add Features  |
|                                              |
+----------------------------------------------+
|                                              |
|                  Changelog                   |
|                                              |
+----------------------------------------------+
| Version 0.1 -> Version 0.2                   |
+----------------------------------------------+
|                                              |
| Changed the hit testing from square (.png to |
| .png) to circle (28px radius each).  It's    |
| much more accurate, and fair.                |
|                                              |
| Added 4 more frames to the character so his  |
| mouth can open and close.  Added a counter   |
| to change the mouth state every 10 frames.   |
|                                              |
| Implemented pausing.  pgWaitVn() makes it    |
| not go berzerk pausing and unpausing over    |
| and over.                                    |
|                                              |
| Implemented a quick fix of transparency...   |
| it's not pretty, but it sort of works.  I    |
| will probably need to update this again      |
| later, but for now it gets the job done...   |
|                                              |
+----------------------------------------------+
| Version 0.2 -> Version 0.3                   |
+----------------------------------------------+
|                                              |
| Added a "High Score" saving mechanism to     |
| preserve the high score between sessions.    |
| As of now, it is very easy to modify the     |
| score on your own (it's just a text file in  |
| the root directory, but a future version     |
| will incorporate a simple "encryption"       |
| algorithm to preserve its integrity.         |
|                                              |
| Deleted some functions that I used in older  |
| versions that are no longer needed.          |
|                                              |
| Added some comments, because this will be    |
| the first public release.                    |
|                                              |
+----------------------------------------------+
| Version 0.3 -> Version 0.3b                  |
+----------------------------------------------+
|                                              |
| Added support for firmwares 2.00-2.60 using  |
| Fanjita's GTA DevKit Exploit.                |
|                                              |
+----------------------------------------------+
|                   Credits                    |
+----------------------------------------------+
|                                              |
| Thanks to Shine for releasing his Snake game |
| as open source.  It provided a great         |
| starting point for this game.  I ended up    |
| editing out most of his code, but it was     |
| very helpful as reference.  Escpecially      |
| because I don't know much about graphics     |
| programming, I just bumble along mostly ;)   |
|                                              |
| And the Credits that Shine originally had:   |
|      function stubs: PSPDev - Browser Api    |
|           by djhuevo & neofar                |
|           http://pspdev.ofcode.com/api.php   |
|      controller function usage based on a    |
|           program by skippy911               |
|                                              |
| Thanks to MrSiir[S] on PS2Dev for the ltoa() |
| integer to string function.                  |
|                                              |
| Many thanks to GWing_02 who helped me with   |
| the interpretation of the saved scores...    |
| I wouldn't have figured it out without him.  |
| (Even though his function didn't work either |
| :-P)                                         |
|                                              |
| Also thanks to cwbowron and his PSP Chess    |
| program.  It really helped me out with the   |
| background music.  (Which I'm still working  |
| on... because it lags the program too much;  |
| it will come shortly after I implement GPU   |
| acceleration).                               |
|                                              |
| And I'd also like to thank all of the people |
| who make their software open source.  It is  |
| a great learning tool for the rest of us.    |
|                                              |
| Thanks to the beta testers with version 2.50 |
| and 2.60 who tested for me: CoolGuy and      |
| pspburner.                                   |
|                                              |
+----------------------------------------------+
|                Author Profile                |
+----------------------------------------------+
|                                              |
| Name  : Brad Dwyer                           |
| Alias : Yeldarb                              |
| Age   : 17 (Senior in High School)           |
|                                              |
| Email : Yeldarb [at] Barbdwyer [dot] com     |
| AIM   : Yeldarb2k3                           |
|                                              |
+----------------------------------------------+