Todd Nelling
  • Projects
    • Skylanders: SWAP Force
    • Hex Game
    • Chroma
    • Monster Munchies
  • Individual Levels
    • Night of Fear
    • Battle for Genosha
    • Morph Ball Madness
    • Unreal Kart
  • Scripting
    • UnrealScript
    • Lua
    • Hammer I/O
    • Unreal Kismet
    • TESScript
  • About Me/Resume
  • Downloads

UnrealScript for Chroma

My secondary responsibility during the development of Chroma was as a programmer (my primary responsibility was as Game Designer).  Some examples of my tasks included:
  • Weapon Mechanics
    • Implementing damage falloff for the Shotgun to make its shells do less damage the further they travel
    • Attaching tracer and muzzle flash particle effects to the weapons
    • Creating a custom weapon pickup factory
  • Death Blossoms
    • Implementing damage modifications for the Armor and Berserk Blossoms
    • Implementing run-time updates to player and weapon materials for the Invisibility Blossom
    • Creating a custom Poison actor for the Poison Trail Blossom
  • Feedback/HUD
    • Displaying post-processing overlays showing when the player takes damage and the player's overall health
    • Displaying HUD icons showing the Blossoms the player is carrying
    • Displaying leaderboard data (names and scores)



Picture
Code snippet showing the Shotgun's damage falloff calculation
Picture
A distant shotgun blast does relatively little damage, as indicated by the minimal level of desaturation
Picture
A close shotgun blast does more damage, as indicated by the increased level of desaturation
Picture
Code snippet showing the display of the damage splash material in the HUD
Picture
Material editor screenshot of the damage splash material (modified from the UDK damage splash material)
Picture
Code snippet showing the desaturation of the display that represents the player's health
Picture
Material editor screenshot of the desaturation material. The DarkenMultiplier prevents the desaturation from washing out the display (the result of needing to run the overlay through the Emissive channel).










Example: Shotgun Blasts

The behavior of the shotgun, as perceived by the player being shot, illustrates several of the mechanics I coded for Chroma.  The in-game images show the difference between a close and long range shotgun blast.  The mechanics they illustrate include:
  • Calculating damage based on distance- the shotgun is a close-range weapon, whose shells do less damage the farther they travel
  • Displaying a damage splash overlay with intensity varying based on the amount of damage
  • Desaturating the screen to represent the player's overall health



Video clip from Chroma of an expiring Death Blossom with a flashing HUD icon and warning sound

Example: HUD Icons

HUD icons on the left side of the screen indicate to players what Death Blossom(s) they are currently carrying.  Death Blossoms last for 30 seconds.  When the Blossom is about to expire, the icon flashes, and a warning sound plays.  In the video, the player has the Armor Blossom.
Picture
Code snippet showing the display of Death Blossom icons in the HUD

Picture
Code snippet showing the functionality of the poison trail
Picture
A poison trail





Example: Poison Trail

The Poison Blossom causes players to leave a trail of poison actors in their wake.  Each poison actor damages any other player that comes into contact with it, at a rate of 5 damage per second.  To facilitate this, each ChromaPawn (the player class) stores a poison retrigger timer, which prevents players from taking poison damage more than once per second.

Powered by Create your own unique website with customizable templates.