J. Weatherman Jr.

J. Weatherman Jr. was created during the 2017 Global Game Jam at the site hosted by myself through the Student Game Developers at UVA. My part on the project included lead design, programming, quality assurance, and directing. As the principle member of the project, I oversaw the design of the systems of procedural weather generation, instrumental and environmental affect, forecasting, and feedback. I personally programmed many of these systems as well as the entirely of the sound design and camera work.

J. Weatherman Jr. gameplay loop (primary in/out experience)

J. Weatherman Jr. gameplay loop (primary in/out experience)

J. Weatherman Jr. is a 3D weather simulator in which players forecast the weather by reading, interpreting, and synthesizing data from prediction instruments, both real and fictitious. Many of the inner workings of these enigmatic instruments are intentionally shrouded to the player to encourage player progression along with the evolution of the in-game avatar, who is himself an apprentice weatherman. Players can make notes in-game as they learn the machinations of these instruments. 

Systems

Procedural Weather Generation

In J. Weatherman Jr., we create weather patterns by beginning with standard wavelengths for temperature and pressure fluctuations. We also pre-establish a noisy, irregular waveform for humidity. Then, we pass different combinations of these through each other using a common form of frequency modulation to generate the final waves (such as those for precipitation, cloud cover, and wind speed) to generate the weather conditions for a given day.

Representation of our procedural weather generation built in Python

Representation of our procedural weather generation built in Python

Forecasting Form

Forecasting Form

visual data

In-game, we represent the weather conditions determined by the procedural generation process through the forecast instruments available to the player as well as the visual and audio conditions outside the player-space.

The player can see light cirrus clouds and a clear sky outside their window while light waves break against the shore on a clear day; on the most vicious days bring cumulonimbus clouds and grey skies with the sounds of heavy rain, streaking winds, and cacophonous waves. The instruments on days like this will read a high temperature-low pressure ratio to indicate the horrible conditions and their likelihood to continue. The cup anemometer will spin incredibly quickly and the rain gauge will be full.

The intricacies of these device measurements, exterior visuals, and soundscape are present in all weather conditions, not simply the extremes. This is important as we ask the player to use these symptoms to forecast the weather.

Forecasting

The second part of the gameplay loop involves the player using the data from the instruments and clues from the exterior visual data to forecast, or predict, the weather. This is an elegantly simple system: since we programmed the weather conditions, we know what they will be, and having presented clues to the weather in the instruments and the visuals, a hardworking player should be able to foresee the weather conditions of the following day with a good degree of accuracy, more-so overtime as they learn the idiosyncrasies of the instruments. Therefore, we are more forgiving of mistakes in the early game. If the player predicts a north-easterly wind but it's north, that is fine. Less is expected of a journeyman weather forecaster. 

Feedback

The final section of the gameplay loop involves feedback for the player based on their forecasting abilities. In one respect, much of this feedback comes from the first two systems of procedural weather generation and visual data as the player will know whether or not they indicated that it would rain and on the next day they will see if it is raining or not. If they were right, this should teach them that they know a thing or two, but if they were wrong then this should indicate that they should reevaluate their data synthesis techniques; perhaps something does not operate as they originally expected. In the other respect, we provided feedback in the form of daily telegrams dictating what the local governs or the player's fellow scientists think of him or her. If the player is doing well, these will be positive; if not, then expect bad news.

Clear Skies for J. Weatheman Jr.

Clear Skies for J. Weatheman Jr.

Zoom into instruments to get a better look and hints

Zoom into instruments to get a better look and hints

Rainy day

Rainy day

Credits

Zach Danz - Director & Lead Programmer

Art

Susannah Jones
Annie Vu

Audio

Brian Burke

Designers

Wyatt Joyner
Simon Whittle
Wesley Daugherty
William Wong
Minsoo Choi

Programming

Jack Herd
Sanjana Mendu
Hasan Khan
Nathaniel Saxe