home *** CD-ROM | disk | FTP | other *** search
-
- MicroMan
- ========
-
- A Playable Demo Using WAP
-
- Programmed and Developed by: Brian L. Goble
-
- Copyright (c) 1993 Brian L. Goble
-
-
-
- WHAT IS MICROMAN?
- =================
-
- MicroMan is an arcade-action style game for Windows 3.1 developed using the
- new Windows Animation Package (WAP), also developed by Brian Goble.
-
- The object of MicroMan is to move, jump, duck, climb and shoot your way past
- the enemies while exploring new areas and collecting special powerups!
-
- This release of MicroMan serves the purpose of demonstrating the
- capabiltities and potential of WAP. If you would like to see a shareware
- version of MicroMan, with expanded game play, more puzzles, more graphics
- more sounds and more levels, please let the author know by contacting him at
- the address given at the end of this document.
-
- Please feel free to contact the author if you have any problems, comments,
- ideas, suggestions, offers or if you find any bugs. Thank you.
-
- To run MicroMan, simply execute the MICROMAN.EXE file using Program Manager
- or File Manager from Windows. The title screen should appear and the game
- will begin cycling through it's attract mode.
-
- To play MicroMan, press the space-bar (or press Ctrl+N) to start a new game.
- Press F1 to view the quick reference help screen. To explore new rooms,
- simply move to the edge of the screen (and keep going) to enter the
- neighboring room. MicroMan does have an end, so keep playing until you get
- there!
-
- The MicroMan archive should contain the following files:
-
- * MICROMAN.EXE
- * MICROMAN.IMG
- * MICROMAN.RMP
- * MICROMAN.WAV
- * MICROMAN.PG1
- * MICROMAN.PG2
- * MICROMAN.TXT
- * README.TXT
-
- System requirements and recommendations for running MicroMan are:
-
- * Microsoft Windows 3.1 (required)
- * 2 megabytes of memory (required)
- * 720k free disk space (required)
- * 386DX processor (recommended)
- * 8-bit color graphics (recommended)
- * Sound card (optional)
-
- Quick Info:
-
- * Press F1 to view the "Quick Reference" help for MicroMan.
- * If your system is too slow, select the "Skip Frames" option under the
- "Animation" menu.
- * Sound card users, be sure to select the "Extended Sounds" option under
- the "Sound" menu.
- * All settings are saved in the MICROMAN.INI file.
- * The keypad works best for game play--make sure Num-Lock is off. Use
- your left hand to jump with the space-bar and place your right hand over
- the keypad, with your thumb on the Ins key for firing.
- * Programmers, be sure to check out the MICROMAN.TXT file for more
- information on how MicroMan was developed.
- * If you use hDC's Micro App Manager, also called microman, you must
- rename microman.exe (from this archive) to mm.exe
-
- This version of MicroMan is FreeWare. You are free to distribute it as long
- as all files are included in their unmodified forms.
-
-
- WHAT IS WAP?
- ============
-
- WAP stands for Windows Animation Package. The package implements real
- software sprites and flicker-free sprite animation under Microsoft Windows
- 3.1. WAP was developed for use with 8-bit color but is able to execute on
- systems using less than 256 colors as well.
-
- The heart of WAP is the WAP.OBJ file which is linked with the Windows
- application that wants to use WAP's services. WAP also consists of 3 utility
- applications for capturing sprites, editing rooms, and manipulating palettes.
-
- WAP was developed by Brian L. Goble based on his DOS based GFX sprite
- animation package.
-
-
- WHAT LANGUAGE WAS USED TO CREATE WAP?
- =====================================
-
- WAP was compiled using Microsoft C/C++ 7.0. No C++ was used so C and C++
- programmers should both be able to use WAP.
-
- Future versions of WAP will likely have some routines "hand optimized" in
- assembly language for further speed improvements.
-
-
- WHAT DOES WAP SUPPORT?
- ======================
-
- * Sprites
- * Images
- * Patterns
- * Pages
- * Rooms
- * RoomSprites
-
-
- WHAT SPRITE FEATURES DOES WAP SUPPORT?
- ======================================
-
- * Drawing
- * Moving
- * Erasing
- * Clipping
- * Flashing
- * Mirroring
- * Inverting
- * Mirverting
- * Removing
- * Virtual Frames
- * Collision Detection
- * Sprite Types
- * Sprite States
- * Sprite Control Programs
-
-
- IS WAP EASY TO USE?
- ===================
-
- WAP is very easy to use. All the low level functions required for flicker-
- free sprite animation are carried out by WAP. The programmer merely calls the
- high level functions when necessary.
-
- A typical main animation loop might consist of the following WAP routines:
-
- // --------------------------- //
- // Example Main Animation Loop //
- // --------------------------- //
-
- case WM_TIMER:
-
- WAP_ProcessSprites(lpWAP); // execute sprite control programs
- WAP_DrawSprites(lpWAP); // draw all active sprites
- WAP_SwapPages(lpWAP); // display new sprites, erase old ones
- WAP_CheckSpriteCollisions(lpWAP); // check for sprite collisions
-
- return(0L);
-
-
- The main programming effort required by the programmer is the coding of the
- Sprite Control Programs (SCP). A SCP is a routine that controls a specific
- sprite.
-
- For example, a simple SCP to animate a sprite walking across the screen to
- the right might look something like:
-
- // ------------------------------------------------------- //
- // Example Sprite Control Program for Walking to the Right //
- // ------------------------------------------------------- //
-
- int FAR WalkRight(lpS)
-
- LPSPRITE lpS;
-
- {
-
- if (lpS->MoveState == MS_UNINIT) { // if first time, initialize sprite
-
- lpS->MoveState = MS_WALKING; // set move state to walking
- lpS->x = 10; // set initial x coordinate
- lpS->y = 50; // set initial y coordinate
- lpS->image = 5; // use graphic image #5
- lpS->frame = 1; // use frame #1 of image #5
- }
-
- else if (lpS->MoveState == MS_WALKING) { // process next frame of walking
-
- lpS->x++; // increment x coordinate
-
- if (lpS->x > 600) { // is sprite at right border?
- lpS->SpriteFlags |= SF_REMOVE; // if done walking, remove sprite
- }
-
- lpS->frame++; // use next animation frame
- if (lpS->frame > 24) lpS->frame = 1; // if end of frames, wrap to start
- }
-
- return(1); // finished - return to WAP
- }
-
-
- So, by using SCP's, the programmer still has full control over all sprite
- actions and logic but doesn't have to worry about all the tasks necessary
- to animate them--WAP does these tasks!
-
-
- WHAT LIES AHEAD FOR WAP'S FUTURE?
- =================================
-
- This release of MicroMan is intended to inform programmers of WAP's existence
- and, hopefully, obtain some feedback from interested programmers. If there
- is sufficient interest in having WAP made available to programmers, then the
- author will try to make it happen.
-
-
- HOW CAN I CONTACT THE AUTHOR?
- =============================
-
- To contact the author of both WAP and MicroMan, use:
-
- Brian L. Goble
- 2218 Franklin Ave E.
- Seattle, WA 98102
- (206) 322-7932
- goble@u.washington.edu
-
-