ADXTutorials

Creating a Modular Weapon in Atom Craft

In this month’s blog, we design and set up a modular weapons system. By separating a single gunshot into its core components, we can allow for a flexible, game-data driven approach during implementation. This system could be used in games that employ a procedural approach to weapon generation/design or as a tool to compare layer variations in Atom Craft. Implementation should then be very straight-forward on the programming side.

This project was created using CRI Atom Craft Ver.3.43.09

Atom Craft

For our weapon, let’s separate it into Foley, Body, and Tail components. Together, these should produce a decently hefty gunfire shot. Then, let’s create at least two sounds for each of these components to have different options to switch between in each case. To do this, lets:

  • Create a Polyphonic Cue named “Gunshot”
  • Create 3 more Polyphonic Cues named “Foley,” “Body,” and “Tail”
    • Drag all of these Cues onto the Gunshot Cue to link them
  • Create 2 Random No Repeat Cues named “Metal” and “Plastic”
    • Add the relevant Materials to each
    • Drag both onto Foley Cue to link them
  • Create 2 Random No Repeat Cues named “Boom” and “Whack”
    • Add the relevant Materials to each
    • Drag both onto Body Cue to link them
  • Create 2 Random No Repeat Cues named “Wail” and “Bellow”
    • Add the relevant Materials to each
    • Drag both onto Tail Cue to link them
  • Create Selectors with Selector Labels to match the structure of Cues above
    • Within the Foley, Body, and Tail Cues, assign the relevant Selector Labels to each Track created by the Cue link process

[TIP] For the sake of organization and to declutter our project, we can put our components into a Private CueSheet Folder. Using this folder prevents the individual parts from showing up in the game engine, which we won’t likely need to access.

Using Random No Repeat containers for each batch of sounds, with a select of pre-rendered variation, gives them a fair amount of variation. This variation can be further enhanced with some randomized pitch and offset modulation. We can batch change these settings by using the List Editor.

For the Cues that make up our Foley and Body components, let’s add 20 cents to our Pitch Random Range. Adding pitch randomization to the tail can sound strange since they contain the impression of a reverberant space.

Next, let’s add some random offset. With our Gunshot Cue selected, let’s filter to Cue Links in the List Editor and set Playback Timing Rnd to around 30ms to each of our components. If we use values much higher than this, each element tends to sound distinct and not as part of a cohesive whole.

Session View

We can audition our system using the Session View. Despite our system containing 10 Cues, we only need to reference the one lead Cue for playback. Let’s drag this Cue in and highlight the Selector tab. Testing out our variations is now as simple as choosing our Labels and pushing play.