Saurian DevLog #17 - Hurricane Clarissa
I'd like to start off this devlog by saying, yes, we are aware of the study by Carr et al. published today suggesting that tyrannosaurids had crocodile-like faces with armoured skin and sensory structures, not lizard-like soft-tissue as ours has. I need to state here that while the science is obviously very important to us, our #1 priority right now is getting the game into your hands. As Tyrannosaurus rex (as well as other animals getting cosmetic updates like Triceratops & Pachycephalosaurus) are already fully functional in the game, any scientific or cosmetic updates to these animals will not come until after the game is released, but they will come when time permits. I'd also like to add that our "old"/current desigs are still technically within the realm of "accurate" but are more speculative. Science marches on, and all our designs will one day be out dated, this is something to remember.
Bryan Been working on baby Dakotaraptor. New here is the ability to turn in place without actually moving from the current position. This allows the player and especially the AI to fine tune their heading in close quarters as needed. Some influence was taken from Erin's Goslings which reside in the work room with us.
Jake So its been a few updates since I've had a dedicated blog entry. My recent work has been present in other posts in the form of environment assets but for the most part I have been taking some time to learn the ins and outs of character rigging and animation. Bryan is of course very good at this, but now that we are getting closer to release I figured I could help with the massive animation workload. Here we have a very rough Thescelosaurus rig, I am still working out the kinks to this one. I was hoping to show you an animation this week but new skills don't always come as quick as you'd like, especially when Henry is hiring foreign agents to create malicious photoshopped images of you and your family. Not cool Henry, not cool.
Programming Team Today we have something special. We teamed up with Dr. Mario Mondaca from UW-Madison in an attempt to accurately recreate Bone Butte's rain patterns through our in-game weather systems. A huge thanks to Dr. Mondaca for helping us compile and make sense of all these models and data.
Main Assumption – Brownsville Texas is representative of the rainfall patterns in Bone Butte (DePalma, 2010)
Following the WGEN Model (Richardson and Wright, 1984) we can imitate the weather from Brownsville Texas. The WGEN model uses a Markov Chain-Gamma Model which determines whether a specific day will be dry or wet; defined as rain amount greater than 0.01 inches or rain. For this application, a wet day is defined as 0.1 rain or higher, more on that later. The first-order Markov chain is implemented by generating a random float between 0 and 1. Then, the number is compared to the probability of the day being wet or dry, (for example) given that the previous day was dry, P(W|D), and if true, the next day will be a wet day. These probabilities were based on past weather data and defined in Richardson and Wright (1984).
If a day is wet, a two-parameter Gamma probability distribution used to determine the amount of rain that day will receive. The probability distribution basically says which events are more likely than others. The parameters shape the curve and each month has a different shape to generate variability between months. The model generates a random float Z from from 0 – 1 and then uses these relationships to get a rainfall amount in inches. If the total rainfall amount is less than 0.1, the storm is defined as a 0.1 inch storm as that is the minimum value accepted by our model. The reason being that anything below 0.1 inches will not reflect visual in the rain simulator we are using so, while we could have a 0.01 inch rain, it would not be visible to the player. The probability distribution function and cumulative distribution functions are: The Gamma Function was estimated using a modified Stirling’s Formula and the identity: The cumulative distribution was plotted as an animation curve and sampled rather than estimating it as it would require iterative summations to approximate it on the fly. Which corresponds to these return period of the storms:
Every year we would expect the day to rain ~0.26 inches of water and every 500 years, the storm will reach 2 inches; each month has a table like this based on shape parameters developed by Richardson and Wright (1984). Then, using NOAA data (1961) on storm durations, return periods, and rainfall amounts, we estimate what is the storm duration most likely to fit the amount of rain expected for that day. However, since rain doesn’t fall at the same time and intensity, we used a Type III SCS storm to determine the storm intensity at different times (NEH Part 630.04 – Figure 4-24 & Figure 4-25). The SCS Rainfall Distribution simply shapes the storm intensity to distribute the rainfall through its duration. The strongest part of the storm is at the middle of the storm and it has lower intensities at each end. The 24hr-shape is reshaped to match the storm duration found in the previous step. Then, using the alternating block method with a 10-minute resolution, we obtain an animation curve which has rainfall intensities in 10 minute intervals. The total area under the curve is equal to the total rainfall estimated by the gamma distribution, but using this method we obtain rainfall intensities much higher than using an average rainfall method. Finally, we assign the storm to a random hour of the day. We checked the model by generating 300 years worth of rain and we are happy with the variability of the rain between months and between years.
Below is a picture of the Rain Module in Unity. As pointed out before, the rain module, generates a personalized storm curve which is then used as a base to send rain values to Tenkoku.
In this example, by using the animation curve to control rain values we can make the rain start off slowly, gain momentum and then unleash it’s full power in the middle of the storm, to then wind down again and, finally, stop. This is all generated real time using the formulas and data provided beforehand. Yay Math.
References - Hershfield, D.M.1961. Technical Paper No. 40 – Rainfall Frequency Atlas of the United States. Cooperative Studies Section, Hydrologic Services Division - Washington, D.C. - http://www.nws.noaa.gov/oh/hdsc/PF_documents/TechnicalPaper_No40.pdf - https://www.wcc.nrcs.usda.gov/ftpref/wntsc/H&H/NEHhydrology/ch4_Sept2015draft.pdf - DePalma, R. A. 2010. GEOLOGY, TAPHONOMY, AND PALEOECOLOGY OF A UNIQUE UPPER CRETACEOUS BONEBED NEAR THE CRETACEOUS-TERTIARY BOUNDARY IN SOUTH DAKOTA. M.S. Thesis: University of Kansas. - Richardson CW, Wright DA (1984) WGEN: A model for generating daily weather variables. US Department of Agriculture, Agricultural Research Service, ARS-8. USDA, Washington, DC - http://www.rskey.org/CMS/index.php/the-library/11 - http://www.usclimatedata.com/climate/brownsville/texas/united-states/ustx0166