NCAA Football 2001
for the PlayStation
Colin Fahey
ncaa_football_2001_psx_cd_rom.jpg
NCAA Football 2001 PlayStation CD-ROM

1. Introduction

I was a member of a team that developed the 2001 version of the "NCAA Football" video game published by Electronic Arts (EA) for the PlayStation video game console.  The development period was from 1999.10 through 2000.06. 
ncaa_football_2001_game_credits.jpg
Developer credits in the "NCAA Football 2001" video game
The "NCAA Football" video game was already five years old at the time that I started work on the 2001 version.  The 2001 version was the final year that the game was produced for the PlayStation 1 video game console.  The 2001 version was published late in the year 2000, for the 2000-2001 American football season, and was sold to 800 000 people during the first year of sales. 

The "NCAA Football" video game includes college stadiums, team uniforms, team mascots, team marching band songs and crowd chants, team logos, and statistics for real players (with their real names omitted for privacy reasons), for all colleges that are members of the NCAA.  Each year there are many changes to team uniforms, team logos, and player lists.  The video game is intended to be a "realistic" representation of college football.  Therefore, the pressure on the developers to make various details of the video game be identical to current reality is significant. 

2. "cheat codes" and the special features I added to the game

Although the "NCAA Football" video game is intended to be a very "realistic" representation of college football, the video game also enables the player to submit "cheat codes" to change game conditions to include things or characteristics that are extraordinary, improbable, humorous, or impossible.  After a player has thoroughly played the video game with normal playing conditions, the player can use "cheat codes" to attempt new challenges or have humorous experiences. 

The "NCAA Football" video game has a cheat code that causes every player on a team to resemble their team mascot, such that a bunch of tigers or bears will be playing football on the field.  Another cheat code increases the probability that any player will fumble the ball.  Yet another cheat code causes the heads of the players to be enormous. 

One controversial cheat code, which appeared in an earlier version of the "NCAA Football" video game, but which was removed in subsequent versions of the game due to pressure from the NCAA, was the cheat code "REFKILL", which, when enabled, would add one point to a team score whenever a player on the team tackled a referee! 

Every year that the "NCAA Football" video game was updated and published, the game accumulated more "cheat codes". 

I added my own humorous features to the game, and made them accessible through "cheat codes".

However, when the development effort was almost finished, the person employed by EA to manage the production of the video game asked me to disable my "cheat code" features, because, he claimed, those features would risk increasing the time that Sony required to test the game.  If Sony testing required more time than anticipated, then a competing college football video game product ("Game Day" by THQ) would be available for sale before our own game -- which would be a financial disaster for EA.  So, the EA manager did not want to take any chances. 

Therefore, I made my special features inaccessible through the regular "cheat code" mechanism, but enabled players to access my special features through a more elaborate method that I kept a secret until the game had already sold 800 000 copies without any problems. 

3. What you can do with my special features

3.1 "Jet pack" (R1)

Any player can fly in to the air by using a jet pack.  Unlimited fuel.  Maximum altitude is approximately 5 yards.  (R1 button activates thrust) 
ncaa_football_2001_flying_players01.jpg
Jet packs : players flying and being tackled above the ground
ncaa_football_2001_flying_players02.jpg
Jet packs : players flying and being tackled above the ground
ncaa_football_2001_flying_players03.jpg
Jet packs : players flying and being tackled above the ground

3.2 "Teleport" (R2)

Any player can teleport to a new, random location.  A player on the team currently playing as offense will never teleport beyond the "line of scrimmage".  Players are immobilized during the brief time required to fully appear at the new position.  (Breifly press the R2 button to initiate a teleport.) 

3.3 "Earthquake" (Triangle; offense team only)

Any player playing as offense can trigger an "earthquake" which launches all defense players upward with explosive force.  This can only be done once per play (i.e., once per "down").  However, any player playing as offense can later trigger an "aftershock" to a recent "earthquake", which causes all players playing defense to stumble and fall on the ground.  This can only be done once per play. 
ncaa_football_2001_colin_fahey_earthquake_mp4.avi
Video of earthquake
2196884 bytes
MD5: 613b4446511d5d73101678f86c4e0fe9

3.4 "Circular tackle" (Circle; defense team only)

Any player playing as defense can trigger a "circular tackle", only if a player playing as offense is currently carrying the ball.  The player carrying the ball is immobilized, and then a circle of defense players forms around the player carrying the ball, and then the defense players simultaneously run toward the player carrying the ball and dive upon him to tackle him to the ground.  The "jet pack" is the only possible escape option for the player carrying the ball.  The defense players can only attempt a "circular tackle" once per play (i.e., once per "down"). 
ncaa_football_2001_circular_tackle01.jpg
Circular tackle : initial formation
ncaa_football_2001_circular_tackle02.jpg
Circular tackle : defense players start running
ncaa_football_2001_circular_tackle03.jpg
Circular tackle : defense players start diving
ncaa_football_2001_circular_tackle04.jpg
Circular tackle : tackle completed
ncaa_football_2001_colin_fahey_circular_tackle_mp4.avi
Video of circular tackle
2805952 bytes
MD5: 886e2331b089922a79ccebc6b9d42339

3.5 "Fumble" (Triangle; defense team only)

Any player playing as defense can cause the player carrying the ball to fumble.  The defense players can only do this once per play (i.e., once per "down"). 

3.6 "First-person view" (L2; player carrying the ball only)

When the quarterback (QB) is beyond the "line of scrimmage", or when the person carrying the ball is not the quarterback, then the L2 button will change the camera view in the following cycle: (1) First-person view (i.e., as if you were looking through the eyes of the player on the field); (2) Follow closely (i.e., the camera is much closer to the player with the ball than in typical game play); (3) Normal (i.e., the default camera behavior in the game). 
ncaa_football_2001_first_person_view.jpg
First-person perspective (i.e, as if seeing through the eyes of a player)

4. Automatic features when my special features are enabled

4.1 "Field goal insanity"

This happens upon every field goal kick.  (1) The ball holder is kicked upward along with the ball; (2) The defending team forms a human pyramid to block the kicked ball. 
ncaa_football_2001_kick_player01.jpg
Player being kicked with ball, and defense players forming human pyramid to block the ball
ncaa_football_2001_kick_player02.jpg
Defense players forming human pyramid to block the ball
ncaa_football_2001_colin_fahey_kicked_player_mp4.avi
Video of kicked player
1843146 bytes
MD5: afd8d72045335b0dd0bfdfa172128c92

4.2 "Spectator camera"

If both teams are not controlled by human players, then the camera will sometimes switch to the perspective of a person in the audience (i.e., to a spectator in the crowd)
ncaa_football_2001_sideline_camera.jpg
View from the spectator seating area

4.3 "Ball camera"

If both teams are not controlled by human players, then the camera will sometimes switch to the perspective of the ball.  Seeing the world from the perspective of the ball, flying through the air or being carried around, is often humorous. 

5. Secret audio enabled when my special features are enabled

I cannot tell you how to enable the secret audio within my special feature, because I'm not interested in wasting time with possible legal troubles.  If id Software is willing to grant me retroactive immunity for possible copyright violation for ten audio samples, and EA promises to not invent some convoluted legal case about how their sales were somehow damaged from my secret being revealed a decade after their game went on sale, then I'll share the secret to unlocking the humorous sound effects.  However, for now, I'll just describe the audio effects that might or might not be in the game...  "If it's in the game, it's in the game."  Ha, ha! 
At the time I was helping develop the 2000 version of the NCAA Football video game, I and my coworkers played the video game Quake III Arena (Q3A) in the office quite often, after "regular working hours".  (At that company, people usually arrived at 10 A.M. or 11 A.M, and often worked until midnight or beyond, so playing multi-player games on the company network at lunch time or in the early evening was only a kind of synchronized break rather than a way to avoid work.)  I thought that the voice in Q3A that announced important changes in game status -- such as a player taking the lead, or a player doing something spectacular, etc -- was hilarious and awesome.  Meanwhile, I had become an expert in all of the code in the NCAA Football video game, for graphics, animation, audio, artificial intelligence, and controllers.  For a while I was thinking about putting a complete Quake 3 Arena "level" in to NCAA Football video game!  I thought that would be hilarious and fun.  The first thing I did was convert the sound effects to work in the NCAA Football video game engine.  The next task was to convert player and arena models to work in the NCAA Football video game engine.  Unfortunately, there was so much work to do in the final months of the NCAA Football video game project that I was not able to finish my personal project of including a complete Quake 3 Arena "level".  However, I did add the fun features listed in the sections above, and I did add the audio effects listed below. 
I don't want to say specifically how to enable the controversial sound effects, but for my own memory, I will mention MM and EAT, and the fact that things must be in the proper state before initiating my overall special feature system.  That's all I'm saying! 
"Humiliation"
This sound effect is started when the player carrying the ball is on the offense team and is tackled behind the "line of scrimmage".  This is humiliating because the team has lost yardage. 
"Excellent"
This sound effect is started when the player carrying the ball is on the offense team and gains 10 yards beyond the "line of scrimmage".  This is excellent because the team gets a "first down" (i.e., four more chances to advance). 
"Impressive"
This sound effect is started when the player carrying the ball is on the offense team and gains 20 yards beyond the "line of scrimmage".  This is not merely excellent, but is impressive. 
ncaa_football_2001_colin_fahey_impressive_pass_mp4.avi
Video example of an "impressive" pass (i.e., a 20-yard gain or more)
2171642 bytes
MD5: 50086f4d080cca524b397204fa837983
"Quad damage"
This sound effect is started when the player carrying the ball is on the offense team is tackled by the "circular tackle" mentioned in a previous section.  This sound effect is also started when the player holding the ball is kicked upward during a field goal attempt. 
"You have taken the lead"
This sound effect is started when a team has a score that changes from being less than or equal to the score of the opposing team to a score that is greater than the score of the opposing team. 
"You have tied for the lead"
This sound effect is started when a team has a score that changes from being less than the score of the opposing team to a score that is equal to the score of the opposing team. 
"You have lost the lead"
This sound effect is started when a human-controlled team has a score that changes from being greater than the score of the opposing team to a score that is less than or equal to the score of the opposing team. 

6. Disclaimer regarding my special features

My special feature system is not part of normal game playing.  My feature system can cause the video game to malfunction, and can cause the video game to stop responding to button pressing on the controllers, such that the only way to restore control of the video game is to disable power to the PlayStation video game console and then switch the power back on; i.e., restart the video game console.  Also, once my special feature system is activated, it cannot be deactivated, except by restarting the entire video game console.  Therefore, my special feature system is really only for people who are eager to have a new, and possibly annoying, experience with the NCAA Football video game. 
Because the scenarios made possible by my special feature system are very unusual for the normal game logic (e.g., players flying with jet packs is beyond the rules of regular football), the video game can become confused.  If this happens, a timer will end a play within 120 seconds (2 minutes).  Also, although very unlikely, the game might start playing a high-frequency tone that persists for a long time (possibly indefinitely). 
After my special feature system has been activated, there is a risk that exiting and entering "exhibition" games will cause the game to malfunction or crash.  Actually, after my special feature system has been activated, a malfunction or crash might be inevitable because of "memory fragmentation".  Therefore, don't try my special feature system unless you are willing to endure game malfunctions and game crashes.  My special feature system is only intended to amuse people who are absolutely desperate for an experience beyond the normal parameters of the NCAA Football video game.  You risk annoyance and the chore of toggling the power switch on the PlayStation video game console, but you might also have an experience that you think it really awesome and hilarious.  The features will probably only interest and amuse you for one or two minutes, but that is more than nothing. 

7. Instructions for enabling my special feature system

This section describes how to enable my special feature system. 
ncaa_football_2001_splash_screen.jpg
(1) Start a typical "exhibition" game. 
ncaa_football_2001_exhibition_option.jpg
"Exhibition" option on the main menu screen
(2) Do the coin toss.  If you are lucky, you will be on the receiving team.  In any case, choose your play. 
(3) Before the kick happens, quickly press buttons in the following sequence: 
ncaa_football_2001_cscstxtxcstx_button_sequence.jpg
circle, square, circle, square, triangle, X, triangle, X, circle, square, triangle, X
If you correctly press the buttons in the proper sequence, there will probably be a pause of approximately 6 seconds, and then you will hear a lot of new sound effects.  If you do not experience a brief pause in the game, and if you do not hear new sound effects, then attempt to submit the entire button sequence again.  If the first play of the game finishes before you can correctly enter the button sequence, then attempt to enter the sequence in the middle of any subsequent play (i.e., when players are running on the field, chasing the ball). 
The game will be very bizarre after you enable my special feature system.  You might be confused by all of the random sounds and activity.  Simply study the list of new button actions listed in this document, and you will be able to have some influence on the chaos around you.  If you're baffled by it all, then simply switch both teams to be controlled by the computer, and you can watch the mayhem unfold. 

8. Amusing suggestions when using my special feature system

After you enable my special feature system, switch both teams to be "computer controlled" (i.e., move all controller icons to the center of the controller selection screen).  Then you will be able to relax and watch a really zany game unfold -- with cool player camera, ball camera, and sideline camera, and all players using all the available cheats (jet pack, teleport, earthquake, circular tackle, fumble, kicked player, etc). 
Use "instant replay" (in the "pause menu") to get a second, closer look at any amusing action that you witness -- even when the game is currently computer versus computer. 
The following video is insane, and it makes me laugh.  Both teams are controlled by the computer, and so the camera is more random than it would be if one or both of the teams were controlled by a human player.  Also, to make this video I selected teams that were very mismatched: "Florida State" (one of the best teams) versus "Alabama A&M" (a historically uncompetitive team).  The fact that one team is so much better than the other team means that the better team will often be able to catch more long passes and run further on the field than the team would if that team instead competed against an equally strong opposing team.  The large difference in team ability levels means that the opportunity for random, hilarious activity is significant. 
ncaa_football_2001_colin_fahey_insane_action_mp4.avi
Video of insane action! (Reduce your speaker volume or headphone volume before playing.)
3774656 bytes
MD5: 2100ac6e3422bb70c5c7ba23b3921e5c

9. My contributions to the NCAA Football 2001 video game

I worked on the following aspects of the game:
(1) I added the new "Advanced Player Control" feature that enables a person to play any position on the team!  On offense, for example, a person can be a lineman and still call the plays like the quarterback!  If a person controls the receiver, then the person can start the play and essentially throw the ball to himself!
(2) I made the field 53.3 yards wide instead of the 50 yard width that appeares in all previous versions of the game!  (Making this change was more difficult than one might expect or imagine.)  Certain plays were fixed by this change. 
(3) I made the realistic Oregon striped field using gaphics code, because there was no easy art asset change that would achieve this same effect.
ncaa_football_2001_oregon_stadium.jpg
Stripes in Oregon stadium, produced by my code
(4) I created an algorithm for throwing the ball which improved the accuracy and reliability of ball passing.  I computed the optimal speed and angle of a ball throw so that the ball would land (in bounds) and such that a player would be there to meet it just in time (without a radical change of direction, and without a big change of speed). 
(5) I improved numerous aspects of the artificial intelligence system.  Thus, players made better choices in various situations.
(6) I enabled the defense team to break their huddle before the offense team, such that they could run to the line of scrimmage before the offense team.  Also, I enabled a defensive player to be controlled before the play begins, such that the player could run anywhere desired (to prepare for an anticipated offense play).  Of course the player could cause an "offsides penalty" if the player crosses the "line of scrimmage" before the play begins. 
(7) I added "fair catch" to the game, including the associated penalties, the logic to slow and divert oncoming defenders (to avoid the penalties), and the logic for the artificial intelligence to choose (and to not choose) the "fair catch" option when receiving. 
(8) I added the ability to use "Advanced Player Control" in "practice mode". 
(9) I fixed numerous bugs throughout the game!  For example, attempt to enter and exit menus really quickly in previous versions of the game (e.g., 2000, 1999, ...).  (Simply press X and triangle, alternately, really quickly.)  I fixed that bug!  Also, in practice mode for previous versions of the game, the player would collide with invisible players!  I fixed that bug!  I created an in-game debugger, so that a person could set breakpoints, inspect variables, and change variables anywhere in memory.  The in-game debugger was great for identifying problems in the "release" versions of the game on the actual PlayStation 1 video game console (which is very different from testing the game on a development system). 

10. Concluding remarks

Working on the NCAA Football 2001 video game, at Sennari Interactive, to satisfy a contract with Electronic Arts, was a very interesting, entertaining, and intense 9-month project.  The experience was a mixture of extreme fascination, thrills, frustration, comraderie, depression, triumphs, and torture.  I learned a lot, and I had a lot of fun, but I disliked how EA managed the project, and I disliked the fact that the "completion bonuses", to compensate for the long hours and weekend hours, were withheld (for reasons beyond the control of anyone working on the project).

Although I worked on video games for several video game consoles ("PlayStation 1", "PlayStation 2", "Game Cube", and a defunct product called the "Nuon"), and for mobile phones (with the "Qualcomm BREW" platform and the "J2ME (Java)" platform), I dislike the idea of "closed platforms" that prevent developers from creating, sharing, or selling their own software for such platforms without first paying or seeking the approval of a company that controls access to the platform.  A "closed platform" increases the cost and risk of development for developers.  A "closed platform" reduces the number and diversity of software products available to people, and increases the cost of those software products.  So, I regret assisting in the development of software for "closed platforms", but only to the extent that my work might encourage more people to buy devices with "closed platforms".  Although in the future I might work on a software product for a "closed platform", I hope that "open platforms" eventually dominate the market, to end the extortion, politics, and censorship of the "closed platforms". 

11. Miscellaneous examples of my work relating to the NCAA Football 2001 video game

11.1 Map of PlayStation memory (RAM) while the NCAA Football 2001 video game is executing

When the lead programmer (Ken Dullea) and I first received the CD-ROM disks from Electronic Arts with the code and data for the 2000 version of the NCAA Football video game, we knew nothing about the architecture of the software.  However, after a full day of going through all of the source code and script files, I successfully compiled the code in to an executable program.  We required another day to get acquinted with the PlayStation development system.  Some of the utilities created by Electronic Arts to process data were difficult to understand and use, but we had plenty of time in the weeks and months ahead to learn about them. 
One problem that we inherited with this project was a severe lack of available memory (i.e., RAM).  Our team was given the task of adding many new features to the game, but new features inevitably consumed more memory, and the game was already using almost all available memory on the PlayStation.  Throughout the nine months of the project, we were pressured by the need to conserve memory.  We had at least six programmers working on the project, writing lots of code, and so the memory use steadily increased with the approach of each monthly milestone check. 
Very early in the project I made a drawing of the arrangement of the NCAA Football video game code and data in the main memory of the PlayStation. 
ncaa_football_2001_old_memory_map.png
My first drawing of the contents of the PlayStation memory while the game is executing.  This diagram is now obsolete.  I added a third overlay segment before we finished the game, but I cannot find the drawing I made for that new memory layout. 
Never has saving a few kilobytes been so much of a challenge, or so exciting. 

11.2 Learning college football rules

When we started the project, each programmer received the NCAA Football official rule book.  I knew absolutely nothing about football.  In fact, I hated football!  So, I thought it was hilarious that I would soon know certain rules of football better than some football fanatics, and that I would help create an improved version of a video game that I would never want to play!  I think some of the people who really like the video game would be horrified by my ignorance and dislike of football!  I worried that this project would torture me with boring details about football.  However, much to my surprise, I developed a keen interest in the rules of football.  Although I can't remember any details of anything for very long, I could understand various rules long enough to implement them in the video game -- and this was interesting and fun.
There were many weird scenarios I was required to consider, to fix problems in the video game or to add new features to the video game.  The following image is one of the many drawings I made to help me keep certain rules clear in my mind.  For example, if a player is within the boundaries of the playing field, and then both of the player's feet leave the ground (due to jumping or being hit upward), and then the player catches the ball, and then the first foot of the player to touch the ground is outside the boundaries of the playing field, then the pass is "incomplete". 
ncaa_football_2001_offense_catch_scenarios.png
Many tasks required learning the rules of college football. 
The rules for when to start and stop the game clock are complicated.  I forget how player substitutions worked.  In our video game, players could become injured, and I remember considering what would happen if a team had fewer than 11 remaining players for their "offense" lineup.  I think the fact that some penalties can be "declined" (by the innocent affected team) has a logical basis, but is nonetheless strange. 

11.3 3D human models

I think the first annual version of the NCAA Football video game used 2D images to represent players.  In fact, even the 2001 version of the game uses some 2D images to represent players, referees, mascots, and coaches in certain circumstances.  However, the 2000 and 2001 versions of the game use 3D models for the players and referees for most circumstances.  Triangle meshes are transformed and distorted according to the configuration of an associated animation skeleton.  The following image shows an animation skeleton, and a triangle mesh, and the final textured appearance of a referee. 
ncaa_football_2001_referee_model.png
The 3D model of a referee (skeleton, triangle mesh, and result of texturing) 
I created the following drawing to help me interpret code relating to character animation. 
ncaa_football_2001_animation_skeleton.png

11.4 Soda machine flowchart

Working at Adrenalin / Sennari Interactive was a lot of fun, partly because of the fun tasks relating to video game development, but mostly because of the creative and hilarious artists and fellow programmers.  Honestly, even when the work itself was brutal, my coworkers made me laugh throughout every single day.  I never felt more "at home" while doing work than at that office, and there were times when I thought it was heaven.  But, things slowly changed during the approximately 18 months I worked there, with the office space shrinking, and the number of employees decreasing, and the morale dropping, and the management becoming more strict and stingy.  One of the nice things about the office was a soda vending machine that offered cans of soda for only $0.25.  But, as the company's financial status decreased, the soda machine was restocked less frequently.  This trend inspired me to attach the following flowchart to the soda vending machine. 
ncaa_football_2001_soda_machine_flowchart.png

11.5 My artificial intelligence "assignment" playback tool

While playing a game of football, there are 22 players and 4 referees on the field.  Up to four player characters can be controlled by humans via PlayStation controllers (i.e., joypads), and the remaining 22 characters are controlled by artificial intelligence algorithms. 
The players and referees must react to changing conditions in their environment.  Players must be able to follow routes, and avoid obstacles, and abruptly change roles according to the location and status of the ball, and generally pay attention to all of the rules of football (with some chance, depending on player statistics, of accidentally violating various rules).  Referees must remain close to the action, but they must also avoid getting in the way of the players.  Referees must also retrieve the ball after each play, and must place the ball at the appropriate location before the next down begins. 
We had to add new behaviors and animations to the 2001 version of the NCAA Football video game.  For example, one of my tasks was to add "fair catch" to the game.  This involved adding logic to determine if a player likely to be nearest to the ball when it lands should attempt to run with it or decide to call for a "fair catch".  This also required adding logic to make the kicking team stop their pursuit of the likely catcher after a "fair catch" is indicated.  However, there must be some chance that some players on the kicking team will not notice the "fair catch" indication immediately, and will thus not stop their pursuit of the ball.  The various penalties relating to "fair catch" must be detected.  The referee must use the correct hand signals when reporting a penalty relating to "fair catch".  Developing and testing all of the logic for "fair catch" is very complicated. 
When we started work on the 2001 version of the video game, all we had for analyzing and debugging the game was the ability to look at various variables in the debugger of the development system!  Trying to figure out what was happening in complex situations was impossible! 
I wrote code to record the positions and status of all 22 players and all 4 referees each time the 3D scene was drawn upon the screen (i.e., approximately 60 times per second).  I also recorded the status of many important game status variables.  I also recorded any text "printed" by any debugging code.  Thus, a person could play the game for several minutes on the PlayStation development system, and write the recorded data to a simple file on the hard disk of the personal computer (PC) that is running the Windows operating system and that has the PlayStation 1 hardware in one of its ISA slots. 
I created a Windows program to read the data recorded from a game played in the PlayStation development system and display the recording in a manner that shows the most important facts about what happened in the game.  This program used the GDI drawing library.  A person can use my program to move forwards and backwards in time, one step at a time, to study how players moved and how variable values changed. 
Creating this utility required several days of my personal time at an early phase of the overall project, but I was very grateful that I took the initiative to create this program, because some of my tasks would have been extremely difficult to finish without the information presented using my program.  My program made it easy to study how various characters interacted and affected each other.  My program showed the complete stack of priorities, from one moment to the next moment, within the "brain" of each and every player.  Thus, it was easy to see why players sometimes "misbehaved" or became "confused". 
The following image shows my program. 
ncaa_football_2001_assignment_viewer.png
You can download and use my program.  The following ZIP archive contains my program and a single data recording from a PlayStation development system.  Open the *.bin file, and then press, and hold, Shift and the rightward cursor key to move forwards through time.  Press and hold Shift and the leftward cursor key to move backwards through time.  You can also magnify, reduce, and move the view of the field. 
There is also a link to a blurry video here, demonstrating the basic behavior of the program. 
ncaa_football_2001_colin_fahey_ai_viewer.zip
AI status viewer
461002 bytes
MD5: d98c5a8442ce03dcbaab2e07f04aa0dd
ncaa_football_2001_colin_fahey_ai_viewer_mp4.avi
Video showing AI status viewer
12653448 bytes
MD5: 8c164bff8217bdb5b3a413e81d314542

11.6 My NCAA Football 2001 3D screen saver and viewer

When the project was almost finished, I knew how most of the video game worked.  I was very familiar with the skeletal animation system and other aspects of the drawing system. 
The person managing the project at Sennari Interactive was named Josh "Lake" Hartwell.  When the video game was in the alpha testing phase, Josh asked me if I could create a "screen saver" based on the video game.  I think his idea was that the screen saver would show images from the video game.  However, I told him that I could make a 3D screen saver that featured action from the game!  I was able to create a 3D screen saver in approximately one week. 
ncaa_football_2001_screen_saver.jpg
NCAA Football 2001 3D screen saver
The first link below is for an installer program that will install the 3D viewer as a "screen saver" -- which must be selected and configured by the display control panel.  The second link is for a version of the viewer that is intended to be started manually (so that a person doesn't need to wait for the screen saver to start). 
ncaa_football_2001_colin_fahey_screen_saver_installer.exe
Installer for my NCAA Football 2001 3D screen saver
5353472 bytes
MD5: fe171762f9fd1521239aa62e4fb84d37
ncaa_football_2001_colin_fahey_viewer.zip
NCAA Football 2001 3D viewer program which can be started directly (instead of starting as a "screen saver")
2911907 bytes
MD5: 2195418671bb0366bda7067c14ed3999
The screen saver program is very basic (e.g., the players all look identical), but the program obviously has enough visual quality to make a person think of the actual NCAA Football video game. 

A manager at Electronic Arts worried that my screen saver program might be "too good", especially when I started to explore the possibility of letting a person play my screen saver like a real game of football!  Therefore, Electronic Arts discouraged me from improving my screen saver, and they would not put it on their web site as a fun download for fans of the PlayStation game.  That made me sad. 

11.7 Playing PlayStation 1 games on a personal computer (PC), and recording video of game playing

After the NCAA Football 2001 video game was published and was being sold, each member of the development team received a retail packaged CD-ROM of the game as a gift from Electronic Arts.  I was thrilled.  I hated video game consoles (and I still hate video game consoles today), but I went to a store and purchased a PlayStation 1 video game console so that I would be able to demonstrate my work to my family and friends. 
In the year 2008, the PlayStation 1 is an antique, and NTSC television equipment is obsolete.  I do not have a television or an NTSC video capture device.  However, I wanted to capture video and images from the NCAA Football 2001 video game so that I could write this document.  In the year 2000, there was a PlayStation emulator, for the PC platform, named "Bleem!".  Now, eight years later, there are many more PlayStation emulators for the PC.  There is an open-source, free PlayStation emulator for the PC, named "pSX", that works really well.  Other free software can then be used to capture video, and process video, and convert the video to a format suitable for distribution. 
Although it is awkward to try to control the PlayStation 1 emulator with a computer keyboard, it works well enough for me to see and use the game again without much trouble.  I was very happy to see the game again.  I was really glad that I could start the game on my PC and create videos to show to other people. 
"7-zip" is a free program that can compress and decompress archive files of various types (zip, rar, 7z, ...).

The following is a link to a cached (old) version of an installer for "7-zip", for a 32-bit version of the Windows operating system.  Please visit the 7-zip web site for later versions, and for other operating systems. 
7zip_compressor_32bit_windows_7z457.exe
7-Zip 4.57 (2007-12-06) for 32-bit Windows; http://7-zip.org
860391 bytes
MD5: f4683efd064a853f3eb6d224bdbbd7e1
"pSX" is a free program that can emulate a PlayStation 1 video game console using a personal computer (PC).

The following is a link to a cached (old) version of an installer for "pSX", for a 32-bit version of the Windows operating system.  Please visit the pSX web site for later versions, and for other operating systems. 

Warning: You must download the BIOS ROM of a PlayStation 1 in order to use the emulator.  The BIOS ROM represents the Sony copyrighted software permanently embedded in the PlayStation hardware.  There is a method by which an owner of a PlayStation 1 can retrieve the BIOS ROM data.  However, a person might be able to search the Internet for a file named "SCPH1001.BIN" that contains the required BIOS ROM data. 
playstation_emulator_pSX_1_13.rar
PlayStation emulator for Windows; BIOS file in SCPH1001.BIN
666176 bytes
MD5: 2632e0fb6d8a8eb986c3f32872a399ce
"CamStudio" is a free program that can capture video from any part of a computer screen.

The following is a link to a cached (old) version of an installer for "CamStudio", for a 32-bit version of the Windows operating system.  Please visit the CamStudio web site for later versions, and for other operating systems. 

Note: Using a program named Fraps might be a better choice than using CamStudio.  However, Fraps has some limitations for the free version.  I paid for Fraps, and I used Fraps to capture the videos for this document.  However, I am mentioning CamStudio because it is free and because it has options that might be useful for other purposes. 
video_screen_capture_Camstudio-2.0-w32.zip
CamStudio; http://sourceforge.net/projects/camstudio/
1359301 bytes
MD5: bafe1933bd5b2b7904c36edb0c939c77
"FFMPEG" is a free program that can read and convert video files.

The following is a link to a cached (old) version of an installer for an "ffmpeg" command-line utility, for a 32-bit version of the Windows operating system.  Please visit the FFMPEG web site for later versions, and for other operating systems. 

The FFMPEG library, and utilities that use the FFMPEG library, can convert one video file format to another video file format. 
video_converter_FFmpeg-svn-14277.7z
FFMPEG; http://ffmpeg.mplayerhq.hu/
2263688 bytes
MD5: 0dfba5873037de919845006d759e5482
"AviSynth" is a free program that can modify video (e.g., alter brightness, etc). 

The following is a link to a cached (old) version of an installer for an "AviSynth" command-line utility, for a 32-bit version of the Windows operating system.  Please visit the AviSynth web site for later versions, and for other operating systems. 
video_modifier_AviSynth_080912.exe
video processing software; AviSynth; http://avisynth.org
3981022 bytes
MD5: 7acd840945f2965d440300a1a1f407f5
"Avanti GUI" is a free program that provides a graphical user interface GUI that nicely controls both the FFMPEG command-line program and the AviSynth command-line program.  This GUI makes it easy to convert one video file format to another video file format, and makes it easy to modify the visual properties (e.g., the brightness or contrast) of the video during the conversion.  (The FFMPEG program and the AviSynth program must be installed on the computer before installing and using the Avanti GUI.) 

The following is a link to a cached (old) version of an installer for an "Avanti GUI" command-line utility, for a 32-bit version of the Windows operating system.  Please visit the Avanti GUI web site for later versions, and for other operating systems. 

If converting to an MP4 format while altering the video using AviSynth options (e.g., modify brightness), it might be necessary to manually add the following option to the User Video Option text box: -r 29.97.  Otherwise the timebase of the output might not be acceptable to ffmpeg. 
video_converter_gui_avanti-028.7z
Avanti GUI for FFMPEG; http://avanti.arrozcru.com/
594026 bytes
MD5: fba78e7fbe3a3a1884d981591dde5689
"VideoLAN" is one of the best free video players ever created!  When Windows Media Player, Quicktime Player, Nero Showtime, and all of the other commercial video players fail you (because they're all trapped in a vicious matrix of patents), then "VideoLAN" will show you how technology is supposed to work!  "VideoLAN" is awesome! 

The following is a link to a cached (old) version of an installer for the "VLC media player", for a 32-bit version of the Windows operating system.  Please visit the videolan.org web site for later versions, and for other operating systems. 
video_player_videolan_org_vlc-0.9.2-win32.exe
VideoLAN media player (version 0.9.2; 32-bit Windows); http://www.videolan.org/
14482140 bytes
MD5: 035ce8c75acb1042514a416ba160870f
colinfahey.com
contact information