Challenges
Gear Shift!
The difficulties outlined focus exclusively on learning new systems. Each is detailed to show how the team individually analyzed and deconstructed them for practical application.
A Closer Look at Car Combat
Challenge
The overall concept of the car combat genre was understood, but specific weapon details remained unclear. Clarifying these mechanics was essential for accurate implementation in code.Action
A representative title from the genre was analysed to identify core components for replication in code. The original iteration of Twisted Metal was selected for study. The image above illustrates three weapon types featured in the game. The first is a machine gun with unlimited ammunition, the second is a rocket that functions as a finite pickup, and the third is a powerful special weapon unique to each vehicle type, which replenishes through a cooldown system.Result
The gathered data translated directly into adaptable programming concepts. For example, increasing the value of a float representing fire rate could accelerate bullet output. A rocket’s detonation in mid-flight could be triggered by setting a toggleable boolean variable to true. A special weapon could adopt multiple forms based on enumerator state changes.Making a Weapon
Challenge
No prior experience existed in coding weapons during the project, making it a valuable test to learn and apply this skill.Action
Research conducted online indicated that establishing the forward direction of the vehicle was critical, as shown in the image above. This ensured that bullets accelerated in the correct direction. Common issues were identified, such as projectiles hitting the firing vehicle when spawned too close or not moving away quickly enough.Result
Gaining insight into standard methods for implementing shooting mechanics directed programming efforts effectively. Recognizing potential pitfalls early helped reduce time spent troubleshooting. One useful approach discovered involved projectiles verifying the tag of collided objects to confirm they were opponents before applying damage.Studying Movement in Racing
Challenge
The team was not fully familiar with many details of racing games, which prevented immediate coding. Exploring this genre was necessary because it primarily focused on vehicle movement.Action
Research revealed that racing games typically emphasize acceleration, braking, drifting, and steering.Result
Breaking down the four mechanics raised several programming questions. How will torque affect acceleration? What will the gradual deceleration be like when braking? At what speed will drifting become accessible? Will the steering be sharp? This research enabled the team to consider how vehicle behavior could be designed dynamically.Traits of an Explosive
Challenge
Although the team had played many games featuring explosions, the individual components that create one were not fully understood. This knowledge was necessary to implement them through code.Action
Research identified three core elements of an explosion. These were damage falloff, lifetime, and physics impact. Each element was documented for further analysis.Result
Understanding these elements opened numerous coding possibilities in Blueprint, including the use ofApply Radial Damage with Falloff
for damage falloff, Set Life Span
for lifetime, and Add Radial Impulse
for physics impact.
Understanding Manual Transmission
Challenge
Gear shifting was the main theme of the game jam so it was essential to understand how it worked in a car. Few team members knew the details but had a rough idea. Understanding this was important before starting to code.Action
Research revealed that pressing the clutch pedal disconnects the engine from the transmission to prevent grinding. Moving the gear stick shifts the forks inside the gearbox to select a gear. Releasing the clutch reconnects the wheels, allowing power transfer. This process enables the engine to match the wheel speed, helping the vehicle reach higher velocity more efficiently.Result
Although the mechanics of manual transmission were interesting, the team chose to simplify the experience due to time constraints. Instead of using complex nodes likeSet Engine Torque Curve
to control engine rotation per minute, the player simply presses one button to switch gears at specific speeds represented by a float.