In order to run these games, you need Java installed on your computer. Here is where you can download it.
All games are based on a single gestureeither pressing the space bar or clicking the mouse. Some require click-and-hold (e.g. Battle Tanks).
Quick Links -- as of Nov 26
- William Brendel, Jailbreak (formerly, Shatter)
- Ryan Buckley, Muzak (formerly, Music and Image Game)
- Daniel Gabriel, Bonfire
- Justin Corriveau, Bouncing Pathways
- Jim Dalphond & Matt Ouellette, BattleTanks
- Jeffrey Albert, B-Ball
- Jonah Choquette, Pop Blocks! (formerly, Oregon Trail... in Space!)
- Tor Valeur, Jigsaw
Week 1: The first stage of development focused on creating a good framework for 2D Java game development. First I created a Utilities library I thought might be useful. For example, I created a blocking loadImage() procedure so the game would not start until all resources could be loaded. There was not much to show for this week.
Week 2: I continued refining my framework, adding things like heirerarchical event handling. For example, an Actor can register itself with its Stage to receive mouse and/or keyboard events. This abstracts the raw event handling to the Stage object, which passes it on to its Actors (if they registered themselves). This is cool because an Actor object can control itself based on input, rather than changing the Stage object every time new behavior is needed. Very clean :-)
Week 3: For this week I had a demo of my game ready. It demonstrated the framework indirectly, showed off my animated GIFs, collision detection, and the tandem Actor object. This demo did not have sound.
Week 4: I added sound this week. I also changed the behavior of the JailedActor object so they did not run off the screen once freed. This way there is a party feel after all the animals are freed.
Final: I made the ball size larger on the TandemActor object. This should make it easier for the kids to see what's going on.
Tentative timeline for the next four weeks.
- Begin experimentation with playing sounds and displaying pictures in an applet.
- Once this is achieved utilize a object pool (get a random one from a particular category). don't create or destroy objects.
- This will be demoed on Fri Nov 2.
- Add interative portion. More specifically, the proper listening techniques so that the user will be able to supply the game with input.
- Design and implement the introductory page of the game. Decide on game title. Improve game aesthetics if necessary.
- Experiment with getting songs and pictures from a non-internal source. Perhaps from a directory on the users computer or a disk the user may have. Obviously the proper user interface would be necessary for selecting a directory. Also, a menu to select this feature would need to be available at the start of the game.
Introduction: I will be developing my "Bonfire" game. The game is fairly simple but has a few advanced features. The fire animation, for example, will only be completed for the prototype if I have time. Otherwise, it will be released with the fina version of the game.
Week 1 Develop all foundations of the game.
- Get a picture to display
- Get a sound to play (ideally: background sound + foreground sound)
- Detect mouse click
- Set mouse click to trigger an event (sound + picture)
- The above will be demoed on Nov 2
Week 2 Week 2 I am going to concentrate on the graphics. I'll make the graphic for the grill and for all of the objects. I am also going to convert the objects to the right format and give them a transparency layer. I will load them into my program (object pool). Predrawn flames. Demo: similar to above, but lots of objects in random order.
Week 3 Week 3 will be focused on creating "gameplay". I will create a physics system and will develop a main loop. By the end of week 3, it will start to look like a game. Demo: simple full game.
Week 4 I will add secondary features not integral to the game itself as well as finish up smaller features.
- Create a preference panel
- Add background music and synch it to action
- Refine gameplay
- work on sound using Ryan's code
- animate fire
- get space bar to work
Week 1: Procrastinate until week 2 (Actually, establish applet guidelines for plan and create rough outline of code for engine). Come up with better name. Before graphics are done, each button creates a color. First thing that pops up on the screen is the first color you click. Next is half previous color and have new color, etc. Animation is depended on button you just clicked and button you clicked previously. (that's the demo)
Week 2: Finish game engine - begin work on actual animations and sounds. Fade engine.
Week 3: Scrap week 2's animation - Create real images from scratch, color, and establish basic guidelines for simple animation. Rework layout to be proper size.
Week 4: Mop up any unresolved issues (like the actual animations and putting images on buttons and getting a dwelling principal established) and constantly test. Tear hair out.
Jim Dalphond & Matt Ouellette
Week 1: The goal for week one is to get the control panel working. Given the feedback from Bonnie, we will be implementing a changing tone as the power and angle goes up and down the scale. To do this we will use a MIDI keyboard on a mac, convert it to a wave file, and play it in a loop while the player is selecting the power and angles respectivley. Consider breaking up a big WAV file into a bunch of little ones, one per position of the control. This is the Nov 2 demo. Splash and reward screens.
Week 2: The goal for week two is to get the physics of the game as well as the tanks firing working. A secondary goal for this week is to get music in the background as all this is happening. By the end of this week the user should be able to hear the tones as the power and angle bars go up and down, use those controls to make their selections, and watch as the ball is fired from their tank.
Week 3: The goal for week three is to get the collision detection of the game working. A secondary goal for this week is to get all the buildings used as interference in the game implemented. By the end of this week the user should be able to use the controls to fire their tank, then watch as the ball is fired and explode as the ball hits a wall, shoots off-screen, or hits the other player. This week we will also be getting the animations for the blown up tank, and explosions implemented as transparent gifs.
Week 4: The goal for week four is to get the AI for the opponent implemented, and possibly making a second player able to join in as player two. By the end of this week we should have a fully fuctional demo of the game ready for Bonnie to show to the kids and to her co-workers.
BasicStrokeclass; explosion when tank is destroyed.
- tanks blow up & get fireworks for winning
- tanks move around
- make controls have thicker lines (context change)
- buildings blow up
- tanks shouldn't look like propane tanks (or, change name)
Things done. Objects designed, lighting, thread pool, basic mouse functionality, and more other basic design aspects. http://www.cs.uml.edu/~jalbert/bball/
Week 1: Reintegrate applet functionality. Basic Physics interactions + Beginning complex physics interactions.
Week 2: More object creation and Finish Complex physics interactions.
Week 3: Game interaction and control scheme. Customization. Sound.
Week 4: Goals implemented with multiple difficulty levels. Maybe some online play if I can get to it.
- make brighter -- eg colored background
- add basket and make it easy to score points
- bouncy sound
- rotational physics
Week 1: Image manipulation - be able to cut up an image into individual puzzle pieces and move them about.
Week 2: Sounds - Implement background music and sound effects playing at the same time as piece movement.
Week 3: Playlists - Repetitive playing through preselected images and music.
Week 4: Importing - Allow the users to add their own music and images, retain custom playlists.
- make sure sound stops when browser window is closed.
- fixed the flickering!!!! yay.
- can you make animations smoother and a bit faster?
Pop Blocks! Concept in short: Simple graphical/audio game, single button control. User hits any key or mouse button which causes a colorful block of random color to appear on screen, followed by a "popping" audio cue. When they fill the screen, something "fun" will happen, and then the screen will be emptied so the player can start all over.
- Randomized creation of colored rectangle for KeyEvent/MouseClicked Event.
- Tracking of created rectangles and their xy coordinates in a vector for checking existing objects on draw and for later removal of objects.
- Added background music that stops when applet is closed/navigated away from in the browser window.
- Changed blocks to .gifs, giving them more zazz.
- Splash Screen
- Tuned down background music so popping noise is louder over it.
To do for the 18th:
- Filled Screen event
- Add way to reduce number of blocks to fill screen, probably a selection option of some sort at the splash screen.