LockWOOGLEAn assembly version of the classic game by your most favorite Parker Brothers: BOGGLE! Ready. Shake. GO! From a 4x4 board of randomly thrown dice (that have a letter on each side), find as many words as you can, going any direction (but not using the same letter twice) before time runs out. Only legitimate words count and you can`t have the same word more than once. The longer the word, the more points you score. This project is based largely on a recursive search algorithm which finds all legitimate words given a randomly generated board. The board, dice, and structures we use to check for words will be represented as arrays. The GUI will include a menu (with choice of difficulty, view of the master list of words generable from the board -- this option only appears after time runs out, and other options) Utilizing Jim`s framework, we will incorporate keyboard input, mouse input, a GUI, the Gameboard, etc, etc... Possible extensions beyond the basics of the game may include fun graphics, possibly sound and a storyline of world domination... Three team members is ideal, but email Rumana to set up an interview if you would like to be the fourth. |
Project Team:
Duck HuntYou know you love this game. Now it’s time to bring it to a 586 near you. The goal of this project is to mimic the game play of Duck Hunt while allowing room for creativity. The original game had either one or two ducks flying at one time. For each level the player has a chance to hit 10 ducks with only 3 shots per duck. To progress to the next level the player must hit X out of 10 ducks. With each new level the speed of the ducks increase as well as how many out of the 10 ducks must be shot. The game will feature rich graphics in 800x600 mode, both mouse and joystick control and if possible a light gun, if we can find one. On the game screen the landscape fills the entire screen. The number of bullets remain, total hit count out of 10 and the total score located at the bottom of the screen. This project will need a 3 person team. The areas of expertise are: graphics, joystick/mouse control, and main program operation. |
Project Team:
Tank WarzThere have been millions of versions of the game, but the core of it is always the same; blow up the other tank. The game consists of two tanks one is yours and the other is either a human or computer opponent. The only problem is that a huge mountain is in the way. Your choices are as follows: try to fire a cannonball over the mountain, fire a missile over the mountain and let it do the work, or just cover your opponent with dirt so that he kills himself. Of course your opponent is trying to kill you as well and a near miss puts you in a crater twice the size of your tank.The point of the game will be to hit the opposing tank with enough damage to take all of its health away. Once a tank’s health is exhausted then the game is over and like tennis, there will be multiple games to a match. However, a game can also be decided by a draw, in which if all weapons are exhausted (there will be a set limit), then the person with the most health wins. Our version of the game will most likely be in mode 13 graphics (unless we have the time to up it to SVGA). It will incorporate mouse control, a GUI, a physics engine, and a terrain engine. The terrain engine will control the creation of the landscape and the upkeep of it once a fire command is called. Physics will take care of the flight of the weapon and the falling of the tank into a newly created pit/crater. The GUI will do all of the work with the user having command of weapon selection, angle of the turret, and power of the weapon. The game has a simple concept but the concept has infinite extension possibilities. The various weapons that can be added can be as complicated as we want. Besides the standard cannon ball (with large and small variations) there are concussion bombs that once they impact spray shrapnel in random directions among others. In the other versions of the game there has even been animation for falling ground that has had its support knocked from under it. As for the running of the program, the GUI will first take in a username and color for the player(s) which will then appear on the top of the screen in order to identify the tanks. Once the game starts then the bottom half of the screen becomes the Graphical User Interface. The GUI will have the weapon options, an angle and power indicator and buttons in order to adjust them, which in the case of the power has a slider of sorts and of course the fire button is in the middle. Once the tank fires then the physics engine takes over and calculates velocity and trajectory in order to create the nice smooth arc that we need. The physics engine will also calculate the impact size and damage and if a tank needs to fall down.
|
Project Team:
Assembly PaintUsing the framework provided by Jim for mp4 and mp5, our group would create an interface that would allow users to paint various objects, shapes, and lines on the canvas much like Paint for Microsoft Windows. Different menus would be created depending on what types of things users would want to do. For example, one menu could contain lines of various sizes that the users can draw with. Another menu would be used so the user could choose the certain colors or generic wallpapers they would want to use. A final menu would show various shapes to be inserted into the canvas like squares or circles. In addition there will be a paint bucket option that will allow the user to fill in different shapes on their canvas. Hopefully a color picker option will be implemented allowing the user to pick any color they desire. (Any ideas or suggestions for this part would be helpful) Most of the program will be driven by the user input from the mouse, all menus and drawing will be driven by the mouse. The user has total control in drawing on the canvas and the menus are provided to enhance the picture creating ability of the user. The main data structures will devised off of the mouse up, mouse down,and mouse drag procedures that were built in the CS306 shell. More information on the inputs and outputs of the methods are available online at our website. The main focus of this project will be with graphics. Tasks will include breaking up the screen into different areas (paint area vs. menu area) (Graphics), interfacing assembler and the mouse (Mouse Control), providing the connectivity for the menus to the drawing area (Connectivity). |
Project Team:
Jackie Chan in ... Rumble in the JungleIn the year 2023, Jackie Chan suffered a horrible, horrible accident, reverting him to his younger days, while making him grow an extra arm. He now walks the earth alone as the living dead. Since he cannot die, the Global Order of Mutant Ninjas sends him back in time to the year 1350 to thwart the invasion of the evil ROBO-pirates of Neptune who want to destroy our future. The invasion is set to begin in the African Congo. It is your task to help zombie-mutant ninja Jackie to defeat this evil pirate army and save our future!The game will be a tile-based "room-at-a-time" action game, with a 2-d side view in the style of Lode Runner. There will be enemies attacking with hooks and "puzzles" (e.g.: find the key,unlock door). You must battle your way through several "rooms" using your throwing star attack and deadly triple-arm Rhino punch. At the end of the game, you will fight the mysterious leader of the ROBO-pirate army. This will feature 800x600 graphics, with mainly keyboard control, and some mouse control for the menus. The work can be broken down into game engine, graphics, and input control. Target team size is 3 members. |
Project Team:
Piano Music ComposerWant to compose music but don`t know much about theory? Not happy that other music composers do not guide you through, and let a beginner put a sharp in plain C major piece? Ok, we can make one of our own.
This music composer can take in a series of notes either keyboard or mouse, then Once it began recording, time which mouse/ keyboard is not held down will represent rests notes. Music guidence mode: Allows user to set the piece to a particular major/ minor and will ignore notes out of it if guidence is set. Eg. If it is set to C major, it will ignore all the inputs with sharps and flats. Note range: 2-3 octaves begining from the A below middle C. Work can be divided into input, output, storage and structure
Input: Responsible for mouse control/ & keyboard control to read in notes (including procedures to ignore input when they do not satisfy that set major/minor if music guidence mode is set) This program can be operated in text-mode video or video graphics, depending on the Output person`s preference. If operated in text-mode the score can be displayed in simplified score which consists of numbers, dots and lines. |
Project Team:
Robo-RetrieverThe year is 20X6, and resources on the Earth have become desperatly scarce. Civilization as we know it will end unless something is done. In an effort to thwart the inevitable, mankind launches numerous space probes containing robot miners to gather resources and return back home. One such probe collided with a derilict alien cargo ship filled with an ore never before seen, one that could potentially provide the key to limitless energy. However, the AI of the robot miner was damaged in the collision and now must be manually reprogrammed to complete the mission.This project will be concerned with the design and implementation of a puzzle game similar to the robot challenge in the old Castle of Dr. Brain PC game. The game will take place in a top-down, tile-based, 320X200 pixel game field filled with obstacles, hazards, and precious Energist Spheres. The object of the game is to program the robot miner so that it avoids any hazards and successfully collects all of the Energist spheres on the stage. However, the robot has limited memory and only a relativly simple range of commands at its disposal. The control of the robot will be divided into three "methods", Main, Sub-Routine1, Sub-Routine2. Each method will have space for 8-10 directions followed by a return statment. The Main method can call Sub1 or Sub2, and Sub1 may call Sub2. Other commands include: Move, Turn Right, Turn Left, Pick Up, Drop Off, with the potential for more to be added depending on how adventurous the group members feel. All actions most be programmed in before the robot may run (No moving, turning, and then re-writing the program). Levels will increase in difficulty and require more and more extensive programs to complete. This game will heavily utilize array structures in its processing. The main portions I forsee in this project are: Mouse Interface, Graphics, Level Design, Animation, Programming Engine design. Ideally we would add in sound and background music as well, and multiple levels would be constructed with a moderate skill ramp. Possible additions that we might wish to include might be moveable hazards (patroling robots), timed hazards (Lazer barrier that switches on and off periodically), and level altering capabilities (Building brides, blowing up walls, etc.). A team of three members should be sufficient for this project. |
Project Team:
Swashbucklin` SampsonIntroductionDo you remember the game Commander Keen? Of course you do! It was one of the earliest side scrolling games for the PC. In it you played 8 year old Billy Blaze who flys a homemade rocket to Mars, only to have it looted. In the game you must retrieve the various parts of your ship. Our game is a shout-out to that greatest game ever. You will play Seadog Sampson, an 8 year old pirate who builds his own pirate ship, only to crash it on a Caribbean island. The locals procede to take parts of his ship. We have to get them back. The game will have 2 views. An overhead view in which you can choose between the different levels, (I`m thinking at least 2. If made modular, it shouldn`t be that hard) and a side scrolling view for when you are in the levels. It will play like a traditional side scroller with jumping action, as well as swordplay as your means of attack.
ImplementationThe game will start out at a title screen where you will be able to start a new game, view high scores from previous games, restart a saved game, or quit. The graphics will be stunningly designed by Nathan. When the player selects to start a new game, he will be taken to the overhead view that shows a picture of the island, with his crashed boat as well as the 2 game levels. The player will be able to walk Sampson around and either enter his ship to see if he has retrieved the sail and the tar, or enter one of the two levels. When the player enters one of the levels, by pressing enter, the game will switch to a side view. In the side view, the player will be able to walk left and right, up and down in the level, attempting to get to the end without getting killed by an enemy, or falling into a pit or onto spikes, or other deadly shenanigans. Sampson will have a sword that he can use to kill the enemies, and also have the ability to jump. The two levels will be larger than the screen is able to show at any given time, so when Sampson moves across the screen, the screen will scroll. Various items will be scattered across the levels, and by getting these, Sampson will get points. If he gets enough points, he will gain a new life. Sampson starts out the game with 2 lives. If he loses both of these lives, then the game is over. The graphics will be done using Jim`s Wicked Graphics Toolkit, referred to from here on as JWGT. All of the images will be done in Photoshop or something, or hopefully stolen, I mean liberated, from the Internet, and maybe, if I`m really lucky, done with some help from my artist girlfriend. All movement in this game will be done with the keyboard. In fact, you might as well throw your mouse away. This is 1980`s vintage gaming. We don`t need a damn mouse!
Variable and Data StructuresThe levels will be represented as arrays. Each byte in the array will represent a half-Sampson sized chunk of the screen. The byte will contain information about that part of the game board, such as if Sampson is there, if there is an item there, an enemy there, if you can walk there, or if you fall through there, and if you die by being there. Each of the levels will have its own array. Some of the array will be static, such as whether you can walk there, or if you die by being there. Other things such as whether Sampson or an enemy is there will change based on the movement of the various things. The outer world will be represented by a much simpler array. Each byte will simply tell whether there is a level there, whether the ship is there, or whether Sampson is there. Hell, maybe we can use nibbles. Sampson will be represented by a structure that contains the number of points he has, how many lives he has, and what parts of his boat he has retrieved. That Sampson! What a guy! |
Project Team:
Virtual Light LabHere`s the deal. We`re dealing with lighting effects on flat surfaces, where the lights can be at any distance from or angle to the surface. Programs such as the following are useful to stage lighting designers. Traditionally, the lighting designer is not able to see the results of his design preparation until the set is built one week before the play opens. A virtual light lab gives the designer an environment to test and improve his design before tech week begins.A fully realized version of this program would include 3-D representation of the theater itself. For the sake of the time, we will simulate the light on a single 2-D surface, and add complexity only if time allows.
|
Project Team: