Paranoid v1.1 ============= Developed by Christoph Bölitz (webmaster@skillreactor.org) Homepage: www.skillreactor.org Licensing --------- Paranoid is fully free and you may distribute it, modify it or spread the source code. However, selling it by charging fees for Paranoid itself or modifications of it or using it in any other commercial manner is prohibited. Why yet another boring "Pong" clone? ------------------------------------ My main intention was not to create an exciting and complex game, but to learn more about the basics of game programming, especially about the main game loop and timing routines under Windows. This is why I'd like to share the code with you. If you have any suggestions on improvements, I invite you to contact me about it via email. How to play? ------------ Use the Cursor keys to change the current menu entry. The Return key selects a command. Hit the Escape key to leave a game or the about screen. During the game, use the left and right key to direct your paddle. If you score three times, you win, otherwise you lose. Just don't lose the ball! ;-) Hotkeys: ALT + R - Show/hide frame rate ALT + Return - Toggle fullscreen Command-line options: /fullscreen - Start in fullscreen mode /? - Display help screen Programming tools ----------------- This program has been developed with Bloodshed Dev-C++ (www.bloodshed.net). Dev-C++ is a free integrated development environment that uses the MinGW C-compiler (www.mingw.org). All sounds have been generated with SimSynth 1.3, which is freeware: http://www.sonicspot.com/simsynth/simsynth.html Revision history ---------------- v1.1 (06/11/2006): * Smoother, more fluent animation through better timing using timeGetTime() and high-precision sleeps. * Better framerate limiting code * Many optimizations to the main game loop * Sound output via PlaySound() API generated ERROR_RESOURCE_TYPE_NOT_FOUND (1813) errors, despite the sound played fine! (Don't ask me why...) I have implemented a different (somewhat deprecated) approach using sndPlaySound() now, which seems to work better. If anyone knows why playing "WAVE" resources with PlaySound() fails in v1.0, please let me know. * Fixed strange behavior under Win9x/ME (large fonts, wrong paddle outline color, stars disappearing etc.). GDI objects are now created at startup, rather than creating and destroying them after every drawn frame. I don't know what the real problem was, though. (GDI object leak and/or random memory violation?) * Fixed wrong word-wrapping in About Screen text for older Windows NT 3.51. Word-wrapping should now be the same on all Windows versions. * Stars are now drawn with SetPixel() instead of LineTo(). * Many minor improvements and bug fixes * Added fullscreen capability (Use /fullscreen command line switch or ALT+Return to toggle during game.) * Added frame rate counter (Hit ALT+R to toggle during game.) * Added "How to play" instructions to the readme.txt file v1.0 (04/10/2006): * Initial release Known issues ------------ * When the first sound is played, the game may lag for a second, even though all sound resources are pre-loaded. To do ----- * Multiplayer over Winsock would be very nice, I guess.