190 likes | 317 Views
Sounds Like: “Totally Sweet”. TotallySweet Team: John Emerson, Daniel Villa, Matthew Fiebig , Kyong Yu. Modding Goals of “ Totaly Sweet”. Attach players to cars. Build races tracks. Changing end conditions (laps/load next level) Third person camera. Custom weapons/models. The Camera.
E N D
Sounds Like: “Totally Sweet” TotallySweet Team: John Emerson, Daniel Villa, Matthew Fiebig, Kyong Yu
Modding Goals of “Totaly Sweet” Attach players to cars. Build races tracks. Changing end conditions (laps/load next level) Third person camera. Custom weapons/models.
The Camera “ localPlayer->AddEffects( EF_NODRAW ); ” • Single in_camera.cpp controls all camera movement • Modified the CAM_Think() method to accomplish: • Third person camera • Hiding player model
The Player Entity • Classes which a player entity is derived • player.cpp • This class is extends c_baseplayer.cpp. • c_baseplayer.cpp contains definitions for the player entity, which baseplayer_shared.cpp extends and overrides needed functions • In order to properly modify player entity properties, correct modifications must be made between all 3 classes.
The Player Entity • Modified default player weapons to be useable within the vehicle • Default setting disabled player weapons in vehicle, found vehicle’s weapon ineffective • Modified function in baseplayer_shared.cpp to enable default player weapons when in a vehicle • Modified origin position for weapon fire • Required so that bullets and frags do not hit inside the vehicle frame • A new vector was defined and replaced the default vector
The Player Entity “ ” m_takedamage = DAMAGE_NO; • Spawn function immediately spawns a player in a vehicle • Required modification of the spawn function in player.cpp • Spawn function sets a flag making the player invulnerable
The Vehicle Entity • Classes requiring modification for our vehicle • vehicle_jeep.cpp • This class extends vehicle_base.cpp. Jeep properties are defined in vehicle_jeep.cpp • Vehicle scripts requiring modification • beetle_test.txt • Script responsible for defining physics of the vehicle
The Vehicle Entity • Modified vehicle_jeep property to disable default vehicle weapons • Allowed usage of player default weapons without conflict • Modified beetle_test.txt per our needs • Modified the vehicle to flip back over upon flipping upside-down • Modified uphill acceleration and traversal functions • Added vehicle sounds
The Triggers • Needed to give the game a “Racing Game” • Provided a way for players to have laps and lap checkpoints. • Laided on the map by the Hammer Editor • ts_trippers.cpp provides two trigger types: ts_check_point[0-8] and ts_finish_line
Several Iterations of Modeling work: Maya XSI 6 XSI 7 The Weapons
The Weapons - HL2 Model Process • First Export as SMD • View Model • Physics Box • Animation • Second Create a .QC interpretation script
The Weapons - Script • In order to create a weapon, there needs to be a weapon_name.txt to describe it.
The Weapons - Coding • I originally tried to extend the RPG class to create the logic for the dynamite launcher. • I was met by weeks of frustration from the DLL defining methods. • Finally I had to collapse the Dynamite Launcher's weapon logic into the RPG's to finish on time.
The Game: “Totally Sweet” Enjoy!