\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\ \\ Monster Truck 2 \\ Technical Task List \\ MR 8/18/97 \\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ Producer: MR Programming: MR/AB/FD/RM Level/Art: CC/DG/MP Sound/Music: KR/TW \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\ \\ 1. Game system/race object \\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ In the original MTM game, the Windows version behaved much differently than the DOS version. It had a "different" outer game loop to control drag races and tournaments, and this caused some major hacks to be put in both versions of the game. CART fixed this problem. It had a global season and a global race object that existed in the core game directory that controlled the game flow, and was the same between both version. Basically, everything was a season. A season had a list of races. A race had a list of sessions. Since MTM2 won't have drag racing or tournaments, it will only need to have a global race object, that will combine the behavior of both the season and race objects in CART. MTM2 will have 4 to 5 games: - Circuit - Rally - Wrestling/king of the hill (MP only) - Soccer (MP only) - Capture the flag??? (MP only) - Demolition derby??? (MP only) Each race type will be loaded and run through the same mechanism in the race object. The save game system will just save the situation, which will contain everything needed to know about how to run the race. Multiplayer will be handled basially the same way as CART, so this should be very simple. CART multiplayer code was mostly in RACENET.CPP which was part of the CRace class. Addition game code for the following new games will be inside the race object, so older systems don't have to be modified (this means potientially broken.) Wrestling: Trucks will be scored on how much time they spend in a rectangle defined by a checkpointbox in the scenery area. Separate scenery areas must be defined for wrestling to work. Soccer: A checkpoint box will define the goals, and starting position for the ball. When a goal is scored, the ball will drop from the starting position. Game ends at preset score. Capture the flag: How could this game work, and be easy to implement? Demolition Derby: If we can implement damage, this might be fun. The raceModeFlag variable will have new definitions. TRACK_WRESTLING, TRACK_SOCCER, and possibly TRACK_CAPTURE. Additionaly, a system must be added to enumerate the list of races avaliable to play which look at the current .POD mounted file set for expandibility. \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\ \\ 2. Panel improvments \\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ New instrument panel, will have the following features: - Better gauges (using bitmap needles instead of polygon needles) - Antialiasing - Movement (this may be a big framerate hit, so we may want to either not have it at all, or default between old partial update system, and new full screen every frame updates.) - If time permits, multiple new panels, proper back view for trucks like Grave Digger. \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\ \\ 3. Sound improvments \\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ The original MTM used just one engine sample, and the old sound system. MTM was used to originally test out KASE, so it has some new functionality. More sound system improvments: - Use original DAT tape of Big Foot to get better engine sample - Realistic peel out sound - Realistic rev of engine in neutral - More commentary by Army Armstrong \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\ \\ 4. Scenery \\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ MTM2 will have 10-12 original new levels, and additionally ship with the original "classic" MTM levels. Since MTM2 must be backwards compatible with MTM (but not vice versa) it should take little or no work to include the original 8 "classic" levels. If time permits, the classic levels can be spruced up. For some strange reason, the levelType variable in all of the MTM tracks was set to 4. We'll use this variable to "version" the new MTM2 game, so setting this variable to zero will define a MTM2 track versus an original track. \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\ \\ 5. Weather & Enviornment... \\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ The CART weather system needs to be ported into MTM2. The global weather object is very simple for other systems to query, and additionally contains code to render out that type of weather (except for sky bitmap.) - Rain: Use rain graphics from CART - Snow: Use snow from Hellbender - Fog: The ground system has fog already coded, so it just needs to be enabled. - Night: Use "black" fog, and display stars The cloud system is currently hard coded to the cloud2.raw file. For new MTM2 levels, (check levelType != 4, example in GROUND.C), use the sky texture name specified in the level file. Also, the cloud system must be modified to make "rain clouds" by taking the original sky bitmap, and gray-scaling it. \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\ \\ 6. Font system and overlays \\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ The CART font system needs to be brought into the MTM2 game, and the corresponding files added to the STARTUP.POD file. All of the in game message systems, and multiplayer chat will need to be brought up to date. Next, the overlays need to be updated. Currently, they are still in the color palette of the old game, and don't use the true-color system. \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\ \\ 7. Palette system \\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ The palette system may need an overhaul to include seperate ranges for the instrument panel, or at least include these colors in the histogram. The CART palette system is dynamic, and allows weighting of differerent pieces of the scenery by reading them in multiple times into the histogram. The histogram of the ground tiles needs to put in to reduce the number of colors it has to crunch, and at the same time, make the colors that it does crunch look better. CART used a histogram code for its old ground system, that can be ported here. \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\ \\ 8. UI \\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ The UI will need an overhaul. Probably to match the new system on CART. Drag racing is history, and so are tournaments. The new game types will be multiplayer only. This is a gigantic task. Somebody will have to learn the color-mapping system to insure that the UI has a 24-bit look, even in 8-bit color map mode. Joe did this for CART, but he will not be around for MTM2. \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\ \\ 9. Background music \\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ Background music (BGM) will still be redbook audio. We could still drop back to .MOD support if not available, but this should be very rare. We'll need Tom Wedge & Kyle Richards to compose X new songs for this game. Also, new music for the splash screen. Perhaps a variation on the original theme, but keep the rockin' guitar. \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\ \\ 10. Garage \\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ Are there any simple changes that could add a few more functions to the garage setup? \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\ \\ 11. Trucks \\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ New trucks should include the 4 WCW wrestling trucks. Truck bodies can now sustain damage. This damage will not effect performance of the truck. List of stuff that must be implemented/fixed: - Scenery system will not reset a truck to an undamaged state when a new level is loaded. This must be fixed. List of potential stuff to implement if time permits: - Replay system does not record damage to a truck, this will probably have to stay this way. Not a high priority feature. - Potential performance degredation for damaged trucks. This would make a demolition derby possible. \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\ \\ 12. Platforms \\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ - Windows 95 & NT - Sega Dural Since the Sega Dural (their new 64-bit platform) is in the queue for this version, care must be taken to make sure that the DOS core game engine stays working and working in the same fashion that the Windows version does. We won't use the Windows UI, but the same hooks must be called to talk to the game engine. This didn't happen in MTM, but did happen in CART. \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\ \\ 99. Miscellaneous systems \\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ The .INI system will be the same between Windows and DOS. This should be already working for the most part. SIM.CPP - This file should only be touched in case of emergency. \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\ \\ Current MTM2 tasks \\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ . = done i = in progress - = not touched yet Allen . Add curve course plotter in editor i Separate 2D and 3D cockpit sections i Create separate cockpit pod - Font system Fletch - Add new weather object and plotter: Rain, Snow, and Fog - Fix the sound so it at least compiles - Force feedback - New engine sound routine - New commentary sound routine? Mark - Add histogram code - Add the new race control system - Delete drag racing - Delete the raceVehicleList shit - Add number system to fix demo loading Rob - Hook up new UI skeleton - Hook up new race control system