You have found Gerald Wichmann's senior project web page. Gerald is a student currently finishing up a degree in computer science at California Polytechnic State University, San Luis Obispo. My senior project advisor is Dr. Chris Buckalew.
Download Space Invaders v0.07 (compiled 5/2/99) DirectX 6.0 Required!
Currently working on:
Next major events (in roughly chronological order):
6/10/99 |
Well the quarter is over and I am done with school. Space Invaders has come a long ways and I'm going to continue work on it. I didn't get as far as I'd liked with it but I got enough done to get a grade. I put the latest version up for now.. This site will be coming down as soon as they remove my account but I will have a new site up elsewhere. I don't know if anyone read this thing anyways.. I have probably just been rambling to myself :) If not have a great summer!
5/3/99 |
Ok so it's been more then a week.. I got rather caught up in interviewing for jobs since this is my last quarter, and developing my object oriented ray tracer in my advanced graphics rendering class. Then of course there's my normal life which i can't do without like playing roller hockey. At any rate the time for an update is now as progress is going well.
The last couple days I have been fooling around with Installshield which is Microsoft's installation program for Windows. Although I wish I had the professional version which would allow me to do backgrounds and put it into a single compressed file, I have figured the program out well enough to do what I wanted. Now when I make a new build, It will be simple to put the application into a typical windows installation format. I have put the latest build up on the link above for everyone's viewing pleasure.
This build has several new features that took some doing. The shields work but are a simplified model. The problem with making authentic shields from the classic game is I'd have to break them up into blocks so they could be removed from the scene as each shield takes a hit. Counting up the number of blocks to make it truly authentic would've added 300-400 blocks for each shield that the application would have to render. This would slow things too much so I elected to make them solid and have them get progressively darker as they take hits. Eventually they are removed from the scene and you have no shielding. I'm interested in opinions on this and any other ideas anyone might have. One idea is i could scale them smaller as they take hits so you'd have less coverage. Or I could use a lot fewer blocks to make up the shields. There are other fixes and some of the stuff mentioned above is working but still needs some tweaking. The next upload will jump the version up to 0.50 and will be a fully functional game (i.e. levels, splash screen, and scoring).
4/7/99 |
Sorry no new screenshot or binaries today. Unfortunately a few weeks ago I suffered a hard drive crash wiping out most of my data. This was a relatively minor setback thanks to my having a fairly recent backup of my senior project. So mostly I just had to spend a lot of time setting my system back up the way I had it before. If anyone has been attempting to contact me I apologize but I lost all my e-mails and a good portion of my e-mail address book (had an old backup of it). So I haven't been able to write people even though I remember what they wrote me :-(. Please write me if you see this and are wondering why I am not writing.. :)
Anyways back to the project. Progress is going full steam now as this is my last quarter. I will be updating this page far more frequently from here on out. Collision detection is done and the classic version modeling is in. By all accounts I have a basic working game here but I'm going to hold out another week before I post it. The reason for holding off is I'm so close to having a working game that I'd like to put in the above features before posting it. The next release will also be distributed via Installshield to make installation easier.
2/15/99 |
Midterms seriously slowed down progress the last couple weeks but I spent quite a bit of time restructuring the code. Up until now I've basically just been hacking away at the project and I decided it was time to clean up the code and prepare for future accommodations. I created a host of data structures and the ability for the game to be in different "states". This way I can later add an animation when the game loads up, an idle state that displays the static title screen and high scores, a running state when someone's actually playing the game, and an exit state to display credits when the user quits.
The new data structures allow me to track a variety of data to keep track of what units are alive and which aren't, the velocity of various units, the upgrades a player possess (a later feature), the players score, the number of ships he has left, the level the player is on, etc.. (you get the idea).
I also added weapons fire for all the aliens and the randomly generated UFO. I can control the frequency of firing and the number of shots they're able to take. Next step? Collision detection and finally some custom models for the various units to make it more space invaders-like.
1/10/99 |
Added:
11/29/98 |
Keyboard controlled movement is in and I've scored some music and sound tracks for the future when I add sounds. Animation isn't quite working yet. I have an idea for the shields. If I build them internally in the code I'm hoping when they're hit I can change the positions of the vertices and make it appear as though the hits are taking pieces off the shield much like the original 2d version. Will capture a screenshot of what things are looking like so far below though it's not that impressive since the models are still under construction.
11/15/98 |
Progress has slowed way down as I have spent too much time focused on other classes and not enough on my senior project. I have some of the basics working now although not with the finished models. I've loaded up various spheres and cubes for now and scaled them and positioned them appropriately to make up the game field. Set up lighting and the camera position. Next I'll add in functionality for animation and keyboard controlled movement.
10/18/98 |
Wrote up the one page what & why description of this project. Created a couple models using 3d Studio Max based on my sketches from last week to see how they'd come out. I'm going to have to find someone more talented then I to create some textures for them and if my early attempts at models are any indication, those too.
10/11/98 |
Spent most of my time searching the net for anything I could on space invaders. I needed accurate original artwork and sounds to draw from so I can create the 3d models I want to incorporate into the game. I also need an accurate scoring system to reflect the original game. I found a duplicate of the original space invaders coin-op manual in acrobat format but it was of no help. Eventually I found a Java applet that was pretty accurate and even better, scored on a dos program that was the best recreation I've seen yet. So I spent a few hours drawing up sketches detailing the various critters on a pixel by pixel basis, including the shots that are fired. I also wrote down the scoring system from both games and detailed the overall layout of the critters. Here are a few pictures detailing some of what I've found. The next is a screen capture of the authentic dos space invaders I found which I will be using as a source of artwork and game play. The later shots are scanned copies of my sketches based on that screen shot and design layouts.
10/4/98 |
Spent time this week playing with the tutorial examples in the Microsoft DirectX SDK. Modified the included example programs to translate objects around and compare what I've learned in graphics courses thus far with the way it works in DirectX. It's looking like I'll write this thing in retained mode since it's closer to what I'm familiar with and I believe it's not too hard to change to immediate mode later if I want to anyways. I also spent time downloading some shareware space invader games in hopes of finding a source of information to draw from for sounds and artwork and game play. The stuff out there seems surprisingly lacking as I had little luck finding anything. I did find a good DirectX SDK source though.
9/27/98 |
Senior Project is officially underway. Created the basic structure for the supporting web page after moving into my new place and having a glass of wine. I need to figure out whether to use retained mode or immediate mode as soon as possible and get something up and running. I also need to jot down my ideas and draw up some sketches to remind myself what the hell it is I'm doing. :) Got any ideas? E-mail me!
Information:
The project selected for this phase of my curriculum is to design and program a modern version of the old coin-op game Space Invaders. The game will run entirely in 3d but will retain much of the original's game play. It will be written for the Microsoft Windows operating system and will utilize the Microsoft DirectX 6.0 API. I have an extensive list of ideas for improvement but how much of it makes it will depend largely on how much I can get done in the limited time frame afforded to me.
Software:
The software being used to create this project include the following..
last edited : 09/24/00