forked from Monsoonjr99/cyclone-sim
-
Notifications
You must be signed in to change notification settings - Fork 0
/
changelog.txt
503 lines (502 loc) · 31.1 KB
/
changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
About: A p5.js tropical cyclone simulation game
v20190808a:
* Land, snow, and shader now initially render at full display resolution upon basin loading, and no longer re-render upon fullscreen switches
> Is not hi-res in normal view since it is automatically resized down
> Switching in and out of fullscreen is now a lot faster
v20190807a:
* Fixed awful copy-paste fail in the PAGASA name list (won't fix existing basins)
v20190804b:
* Fixed tropical waves not spawning in megablobs mode
v20190804a:
+ Added new activity mode: Megablobs
> Similar to normal mode, but with SST anomaly blobs that can reach extremely high temperatures (more-so than wild mode)
> Jetstream displaced a little poleward similarly to hyper mode
+ Added the magnifying glass, which allows a more high-resolution view of environmental map layers around the pointer
> Can be enabled/disabled from the settings menu, or by pressing "m"
* Changed color scheme for the SST map layer
> Colors for temperatures up to 32C are now more similar to the color scheme of the graphics on Levi Cowan's tropicaltidbits.com website
> Colors for "hypothetical" temperatures beyond the above scale added particularly for megablobs mode
> Below 0 = white, 0-10 = white to blue, 10-20 = blue to cyan, 20-26 = cyan to green
> 26-29 = yellow to red, 29-34 = red to very light pink, 34-40 = very light pink to very light lime
> 40-50 = shades of lime ligher to darker, 50-75 = shades of creamsicle darker to lighter
> 75+ = rounds of grey darker to ligher resetting at each multiple of 150
v20190801a:
* Code improvements involving basin and environment initialization
* Global variables are now actually declared as they should be
* Stronger storms are now more deadly
v20190722b:
+ Added Northern Indian Ocean, Australian Region, South Pacific, and South-West Indian Ocean map modes
* Fixed some image-compression-related problems with the Eastern Pacific and Western Pacific maps
v20190722a:
+ Added Western Pacific and Eastern Pacific map modes
* Fixed misalligned topography and some missing islands in the Atlantic map
v20190721a:
+ Added Hebrew alphabet to Atlantic and Eastern Pacific name lists for use after the Greek alphabet
> Only applies to new basins
> Technically not an official part of those name lists in the real world, but useful for extreme hyperactivity in this simulator
* Land is now calculated at twice the normal resolution of the 540p canvas, thus rendering nicely in 1080p in fullscreen
v20190718b:
* Fixed graphical glitch where Atlantic out-basin coloration sticks after returning to main menu and loading another basin
v20190718a:
* Attempt at fixing a bug with the Atlantic map on HiDPI displays
v20190717a:
+ Added the long-awaited Atlantic map mode
+ Added the "out-basin" as a region where tropical cyclones may form but are not named nor included in stats
> The Eastern Pacific and Mediterranean portions of the Atlantic map are out-basin
* Fixed the environmental field indicator displaying "selected storm" even when a storm isn't selected
* Fixed newly-created normal activity mode basins not spawning tropical waves
v20190716a:
- Eliminated 'basin' as a global variable
- Eliminated 'Env' as a global variable
v20190714a:
* Renamed 'OP' activity mode back to 'Hyper' cuz it was sad
* ActiveSystem class no longer relies on 'basin' as a global variable
v20190713a:
+ Added a third activity mode: Wild
> Features a weird season climatology where SSTs are more random and steering is drunken for part of the season
> Storms can form in nearly any watery location on the map
> Season is generally longer and more active than normal
> July in NHem (January in SHem) is very dry with high SSTs
* 'Hyper' activity mode is now called 'OP'
v20190704b:
* Fixed non-integer seeds not working correctly
* advanceSim is now a method of Basin
v20190704a:
+ Added textbox to date navigator for directly entering a year to navigate to
+ Added ability to copy a basin's seed from a text box accessible from a side menu button
+ Added ability to enter a seed in new basin settings using a text box
* The loading ring on non-rendering waiting screens now looks like a TC
* Pressing enter on some text boxes now does the same thing as clicking their associated button
* Tropical waves now spawn more frequently during off-season in hyper mode
v20190702a:
+ Added hypothetical categories (C6-C10 and hypercanes)
> Optionally enabled upon basin creation
> C8+ and hypercanes kept track of in season stats
> Can be spawned in god mode
v20190630a:
+ Added ability to save basins with a custom name using a text box
* Finished the full switch from localStorage to indexedDB
> Basins and seasons are now stored in indexedDB
> Saving no longer limited by the localStorage 5 MB limit (Cyclone Sim can now theoretically save up to 10% of drive space)
* You can now save an unlimited number of basins
> Load menu UI updated with pages
* Saved basins and seasons upgraded to Format 2, which is more efficient and less hacky than the localStorage-limited Format 1
v20190622a:
* Mostly prepared the simulator for asynchronous saving/loading which will come later with the full transition to indexedDB
* Some tweaks to input UI
v20190617a:
* Mostly finished text input UI code for text boxes to be added in later updates
v20190615a:
* Cleaned up some of the repetative UI code, particularly in the case of buttons
v20190613a:
+ Added partial support for indexedDB saving/loading
> Currently only used to store settings, while localStorage is still used for basins and seasons
> Full transition coming in a later update
+ Added new waiting screen (with animated loading ring) for asynchronous tasks
> Not used for rendering as that is single-threaded
* Various code optimizations for the upcoming switch to storing basins and seasons in indexedDB
% Added Dexie.js for an easier indexedDB API
v20190606a:
+ Added NIO, SWIO, SPac, SAtl, Jakarta, and Port Moresby name lists
> Jakarta and Port Moresby lists are not included in Aus, but completely separate lists for now
+ Added "No Tracks" track mode
* Updated WPac list preset to reflect the retirement and replacement of 2017 storm names
> Only affects newly created basins
* Fixed a couple track updating bugs:
> New track segments getting drawn for non-selected storms while a storm is selected
> Tracks not getting refreshed when the track mode setting button is clicked
v20190531b:
* Season summary timelines now use Greek letters for storms with Greek letter names
v20190531a:
+ Added season summary timelines
> Accessible by clicking "Show Timeline" in the info panel
v20190526a:
+ Added spawning of subtropical depressions and storms in god mode
> Shift+D and click for subtropical depressions
> Shift+S and click for subtropical storms
> Pardon me mobile users; I'll add an alternative spawning method eventually
v20190525a:
* Changed how natural storm system spawning works
> Systems (both extratropical and tropical waves) can now spawn at any longitude
> Extratropical systems spawn along the jetstream
> Tropical waves still have a 20% tendency to spawn at the eastern edge
> Tropical waves no longer spawn nearly as often during off-season
> Systems in general spawn more frequently
* Rotating a mobile device between portrait and landscape now toggles fullscreen mode (?)
* Storms slightly less impacted by land interaction (still needs work)
v20190518a:
+ Added button in new basin settings menu to control if god mode (user able to spawn storms) is enabled/disabled
> Previously always enabled by default, but now the default setting for new basins is disabled
* Cleaned up Basin constructor code to better accomodate new options
v20190517a:
* Fixed major crash bug from v20190516a
v20190516a:
* Made some miscellaneous functions methods of Basin for cleaner code
v20190508a:
+ Added Central Inland Sea map type
v20190506a:
+ Added setting for number of annual snow layers (at most 50), including disabling snow altogether
* Fullscreen mode now matches your screen resolution, offering Cyclone Simulator in high-definition
> Warning: Snow can take a long time to render in fullscreen mode, so a low snow layer number or disabling snow is recommended
v20190424a:
* Pressing "F11" now toggles fullscreen mode
v20190423a:
+ Added Central Continent map type
v20190422c:
+ Added setting for the previously inaccessible shader added in v20181105a
v20190422b:
+ Added a "Map Type" option to the basin creation menu
+ Added three new map types: East Continent, West Continent, and Island Ocean
> The existing default map type from previous versions is called Two Continents
v20190422a:
* Fixed crash bug when selecting a newly-spawned (before first advisory) system while the info panel is open
* Fixed crash bug when loading a basin after exiting to the main menu from another basin with the info panel open
v20190420a:
+ Added partial under-the-hood support for text input UI elements
> includes commented-out input element on the main menu
v20190413a:
+ Added Atl 1979-1984 name list preset (original iteration of the current Atlantic naming system)
v20190412a:
* Most likely finally fixed the HiDPI graphical bug for real this time
% Upgraded p5.js dependency from 0.6.1 to 0.8.0
v20190411a:
+ Added settings menu
> Accessible from main menu and within a sim basin
> Currently only includes settings for intensity indicators, autosaving, and track mode
* Settings added to settings menu are now saved and preserved between reloads (e.g. intensity indicators no longer need to be enabled with every page load)
* Simulation is automatically paused when loading a saved basin, but still starts unpaused for newly created basins
* Main rendering and click actions (storm selection/spawning) for basins now tied to primaryWrapper UI element
* Another attempt to fix the high-density display graphical bug
v20190401a:
+ Added Atlantic basin map
* Fixed bug with tropical depressions not numbered in loaded basins
- April Fools! No Atlantic basin map. SAD!
v20190321a:
* Atlantic name list preset names "Florence" and "Michael" retired and replaced with "Francine" and "Milton"
> Does not affect old saved basins; only new basins
- Removed curSeason as a global variable
v20190315a:
* Storm damage/deaths is now calculated every tick instead of every advisory
v20190310a:
+ Added full saving/loading including active storms, analysis, and environmental data
+ Added safeguard in case one's localStorage quota is reached and they can no longer save
* Autosaving now happens at the beginning of the 1st and 15th days of a month, rather than every 10 days as before
* Saved seasons when not the current season nor currently viewed will eventually unload to be RAM-friendly (will automatically load when needed)
* Fixed a corruption bug with the numerical array compression function
v20190305a:
+ Added 5 additional save slots for saved basins (besides autosave slot 0)
+ Added a load basin menu accessible from the main menu
> includes the ability to delete saved basins
+ Added a save basin as... menu accessible from the in-sim side menu
+ Added an "Are you sure" dialog for certain actions
+ Added a button to the side menu to return to the main menu without saving
* Basin saving test now includes the current environmental field data as of the tick saved
v20190228a:
+ Added save/load methods for ActiveSystem and NCMetadata (current environmental field data) classes
v20190225a:
+ Added save/load methods for Storm and StormRef classes
* WIP (almost finished) season saving/loading algorithm now includes the storms (only TCs) in that season
* Small change to saved basin localStorage keys to accomodate future sim options
* As a test, seasons are "saved" to the global variable testSavedSeasons during basin autosaves
> They aren't actually saved to localStorage and loading the saved basin test is still the same as before
v20190217a:
+ Added track display modes, currently accessed by pressing the "T" key (mobile-friendly UI coming later)
> There are 3 modes as of this update, which the "T" key cycles through
> The first mode shows the tracks from first tropical formation to last tropical dissipation of systems active at the viewed tick
> The second mode shows the full tracks of all systems active at the viewed tick, including extratropical systems
> The third mode shows the tracks from first tropical formation to last tropical dissipation of all systems in the viewed season ("Season track display mode")
* Capped storm icon rotation speed for storms exceeding 270 kts
v20190216a:
+ Added saving/loading methods for the StormData class
* Storms no longer continue off the edge of the map, but are now killed as soon as the center reaches the edge
* Changed how new instances of Storm and ActiveSystem are created when a new storm is spawned (optimization for saving/loading)
* basin.activeSystems now contains ActiveSystem objects instead of Storm objects
* The category of a storm at each point in its life is now calculated on the fly rather than stored as a property
v20190210a:
+ Added crash screen in case this crashes
* Optimizations to Storm and ActiveSystem classes for saving/loading
v20190209a:
+ Added CPac and PAGASA name lists
+ Added selector for hurricane-strength term in basin creation menu
v20190207a:
+ Added EPac, WPac, and Aus name lists alongside the existing Atl list
> Use the name list selector in the basin creation menu to access
> Atl and EPac lists behave per year; WPac and Aus lists are sequential regardless of year (just as you'd expect)
* Hurricane-strength tropical cyclones now come in 3 flavors: Cyclone, Hurricane, and Typhoon
> Currently tied to the selected name list; to be made its own option later
v20190206b:
+ Added "Hyper Mode"
> A new option in the basin creation menu allows for a very hyperactive basin
* Damage over $1 trillion now displays as T instead of 1000s of B
* Storms are now named "Unnamed" after the Greek alphabet is exhausted instead of "Name #"
v20190206a:
+ Added some future-proofing for when saved environmental field analysis data is loaded in a version with an incompatible environmental field algorithm
> The old data will be deleted and map layers will display "Unavailable" in analysis prior to the tick the basin was loaded
* Optimized how season-crossing storms are stored for saving/loading purposes
v20190204a:
+ Added part of the season loading algorithm (still WIP)
* "minimal" damage is now below $50 M instead of $1 M
v20190203a:
+ Added part of the season saving algorithm (still WIP)
* Another change to how analysis environmental field data is stored to make saving/loading easier
v20190201a:
* Various optimizations to help with saving/loading
v20190131a:
+ Added some more data compression functions for aiding in saving/loading
* Environmental field data for analysis is now structured per-season to make loading more efficient
v20190129b:
* Fixed graphical glitch where generating a new basin after returning to the main menu rendered the new basin's land on top of the old basin's land
* Changed the "Back" button in the basin creation menu to a "Cancel" button in a more nice-looking position
v20190129a:
+ Added "Save* and Return to Main Menu" button in the in-sim menu
+ Added "Back" button in basin creation menu
v20190128a:
+ Added WIP menu in-sim for accessing various settings and features in upcoming updates
* Saving/loading now checks save format number for compatibility
v20190101a:
* Saving/loading test now autosaves partial basin data such as hemisphere and start year
v20181231a:
* Optimized data compression functions
* A few other preparations for adding saving/loading
v20181225a:
+ Added a couple functions for data compression purposes for saving/loading
v20181222a:
+ Added a basic test for basin saving/loading
> Saves just the seed of the latest basin generated
> The "'Load' From Seed (test)" button uses the saved seed to generate a new basin (does nothing if no seed is saved)
v20181218a:
+ Added a basin setting for the starting year of a simulation
> The default of "Current year" is the current Jan-Dec year for NHem and Jul-Jun year for SHem
v20181217a:
+ Added damage and deaths, including counters in storm and season stats
> The damage/deaths algorithm is rudimentary and may need change
v20181216a:
+ Added "Total ACE" counter to season stats
v20181215a:
+ Added "Jump to" button to side panel, which (while paused) "jumps" analysis to a specific point
> In season stats, jumps to the beginning of the targeted year
> In storm stats, jumps to when the targeted system first formed as a disturbance
v20181207a:
+ Added counter for category 5s in season stats
v20181203c:
+ Added arrow buttons to side panel for navigating through season stats
> Greyed out when viewing storm stats or if there is no season to navigate to
v20181203b:
+ Added viewing season stats in storm info side panel
> Click drop arrow button without storm selected to access
+ Added drop arrow button for toggling the side panel next to the pause button
> Replaces the side panel "X" for closing it
v20181203a:
* Cleaned up the code:
> Deleted defunct commented-out code
> Moved various functions from sketch.js to more appropriate files (including the newly-added misc.js)
v20181202a:
+ Added text wrapping for storm info panel
* constant-ified UI colors (plus some color tweaks)
* Storm info panel no longer directly tied to selected storm
> Now has its own "target" storm that changes in tandem upon clicking a storm icon
* Fixed glitch with mouse-hover over overlapping UI elements
v20181201a:
+ Added an "extended storm info" UI box accessible by clicking the info text in the upper right while a storm is selected
> Needs some work
v20181129a:
> Graduated /experiments!
* Renamed to "Cyclone Simulator"
* Appropriate adjustments to main menu
* Moved to new repository at a new URL
* Copied over required files from /experiments directly into this project's directory
v20181128a:
+ Added constants for title and version number
* Changed main menu title text to its final form for "Very Sad HHW Thing"/"Cyclone Simulator Classic"
v20181127a:
+ Added a help button (?) in the bottom-right which toggles a box containing keyboard controls
v20181125b:
* Adjusted jetstream and ULSteering fields slightly to make early and late-season a bit more active
v20181125a:
+ Added hemisphere selection button in new basin settings
* Made menu buttons shorter
- Removed stupid yellow text
v20181122a:
+ Added a main menu
> Currently only has a "New Basin" button and some silly text
* Some minor improvements to UI
v20181118a:
+ Added some now-commented-out bust attempt at improving the storm algorithm
* Tweaks to storm 'type' determination
* Normalized ranges for moisture field and storm organization to 0-1 rather than 0-100
v20181117a:
+ Added "depth" to storm algorithm to help with steering and recurve
* Fixed forecast track (the yellow dots) to follow upper-level steering
* Tweaks to storm algorithm
* Fixed jetstream misbehavior in SHem
v20181112a:
+ Added moisture/dry air environmental field
+ Added wind shear environmental field
+ Added new "coast outline" rendering for land for moisture field
* Large change to storm algorithm to make seasons less hyperactive and somewhat more realistic
> Looks to need to be ironed out quite a bit over the next few verisons
v20181111a:
* Big improvement to upper-level steering to make it less drunk and more realistic
v20181110a:
+ Added a currently-very-drunken upper-level steering field
* Storm steering algorithm changed to follow both upper and lower-level steering based on strength and if extratropical
> True "wind shear" not quite added yet as storms don't yet weaken
v20181109b:
+ Readded environmental wobble
* Optimized environmental fields for future saving & loading of basins
v20181109a:
* Changed snow-rendering algorithm for faster and more efficient rendering
v20181105a:
+ Added code for a graphical shader that gives land some shadows and visible depth
> Disabled until user settings are added since it increases render times
* Adjustments to SST anomalies to use a more logarithmic system, and have greater anomalies closer to the poles
* Definition SST values for equatorward and poleward edges at peak-season and peak-off-season moved to constants.js
v20181102a:
* Reworked land to work more efficiently with cleaner code
* SST map layers now render more nicely with the land and are now less laggy when the sim is running
* Clicking the map layer text/button in the bottom now rotates through the map layers
* The data displayed in the map layer button now shows that at the position of the selected storm if one is selected
> includes indicator for if the data is "@ mouse pointer / finger" or "@ selected storm"
> if the selected storm is not active at the time viewed in analysis, data for the mouse pointer / finger is displayed
v20181031a:
+ Added sea surface temperature
+ Added sea surface temperature anomaly
+ Added some UI at the bottom for environmental fields and map layers
* Fixed an accidental two "v"s in the version number
* Storm strength algorithm now takes SST into account
* Storms weaken faster upon landfall
* Steering tweaks
* "E" now rotates through 3 environmental fields: LLSteering, SSTAnomaly, and SST
v20181030a:
* Steering is now much less drunk
* Fujiwhara improvements
v20181028a:
+ Added a "Start" button when the sim loads, which will initialize the sim upon being clicked
> This is to help make things load faster, but is also for future user-customizable basin UI
+ Added graphical rendering for environmental fields
> Both plain-value and vector-based fields supported, rendering with colored tiles and arrows respectively
> Press "E" to rotate through the environmental fields, and back to "none"
> Currently, steering is the only environmental field, so "E" is more of a toggle for now
* Optimized the environmental field code for future environmental factors, including adding vector support for current steering
> Steering may have gotten yet more drunk for now
v20181026b:
* Fixed SHem steering behaving even more drunk than the NHem already is
> Both hemispheres still drunk; just SHem isn't as drunk
v20181026a:
+ Crikey mate! Added the southern hemisphere
> No whole-world added yet, so a basin is just one hemisphere or the other; 50/50 chance at generation
+ Added a 'basin' object and moved some variables there for future saving/loading and user management of basin settings
* Now displays "Land rendering..." while the land is rendering instead of holding the page in a loading cycle
v20181024b:
+ Added snow that changes with the time of year for aesthetics
> Snow depends on both elevation and latitude to give a realistic look
* Cleaned up code for colors so they're actually defined in constants.js, and made land colors less hardcoded
v20181024a:
* Changed land colors to make land look better
* Changed how selected storm outlines are drawn to make them look better
* Split the code into multiple files to begin some cleanup and refactoring
* Some attempt at fixing subtropical cyclones so they're less nonexistant
* Slightly lowered spawn rate
* Land generation is now seeded with the time, which is stored in a "seed" variable
v20181015a:
+ Added a makeshift "track forecast" to selected storms; yellow dots show where the storm might go (is often wrong!)
v20181014a:
* Fujiwhara tweaked to make stronger storms and extratropical systems more "dominant" in the interaction
* Simulation speed now works in powers of 2, with a 6th speed option added
> Full-Speed, Half-Speed, 1/4 Speed, 1/8 Speed, 1/16 Speed, and 1/32 Speed
* When a storm is selected, only the selected storm's track shows
v20181013a:
+ Readded subtropical storms, using different mechanics
+ Added fujiwhara interaction (Might need tweaking)
* Changed C4 and C5 colors
* Analysis now shows all systems, tropical and not, throughout a season
* Only TCs now show tracks, including precursors and remnants
v20181004a:
* Made steering completely drunk for the moment (will be fixed)
* Changed canvas dimensions to 960x540 as to fit a 16:9 aspect ratio
- Temporarily removed subtropical storms
> System behavior hasn't yet changed, but they're just classified as extratropical, thus expect E5s
v20180810a:
+ Added clickable UI elements/buttons, opening the door for more possibilities in this sim along with better mobile compatibility
+ Added a pause button, which works alongside the existing "space"
> The indicator text also functions as an extension of the pause button when a storm isn't selected
+ Added a date navigator UI, which can be accessed by clicking the time in the upper left
> Using the arrow buttons, you can jump through analysis by the year, month, day, or advisory increment (6 hours)
> The arrow keys still work alongside this new UI
+ Added rudimentary seasonal activity; storms should now be more common and stronger in September than in January
* Some tweaks to steering
v20180731a:
+ Added environmental steering; may need some work
* Some adjustments to storm strength algorithm
* Spawning frequency and ranges adjusted
v20180729a:
+ Storms now keep track of their peak intensity (by pressure), including all associated data at the point of peak intensity
+ Added ACE
* Inactive selected storms now display their full name as of peak intensity, plus ACE
* You can now hold down the arrow keys in analysis to quickly move backwards and forwards
v20180728b:
+ Added 5 different simulation speed levels: Full-Speed, Half-Speed, 1/3 Speed, 1/4 Speed, and 1/5 Speed
> Press "[" to slow the simulation down and "]" to speed the simulation up
+ Added indicator in the upper-right (when a storm is not selected) for simulation speed and if the sim is paused
v20180728a:
+ Added subtropical and extratropical storms
> Spawn extratropical systems with "x"; subtropical storms cannot yet be spawned
+ Added pressure; wind speed is now based on pressure
+ Added a temporary environmental gradient for determining extratropical vs. subtropical vs. tropical
+ Added clicking storms to select them; selected storms appear with a white outline and display info in the upper-right
+ Added all 6 name lists plus Greek alphabet, which should rotate appropriately through a 6-year cycle
* Big refactor to make more-efficient classes for future saving and loading basins
* "Lows" are now specifically "tropical waves" as opposed to extratropical lows
* Storms now spawn in one of two locations based on if they're extratropical or a tropical wave
* Strengthening/weakening algorithm changed significantly for handling new extratropical and subtropical systems
v20180721a:
+ Added analysis, allowing you to see history of the sim by pausing and pressing the left and right arrow keys to move forward and backward through time
> Unpause (or press "A" for single-tick advance) to return the time to the present without spamming the right arrow key
+ Added some code for "seasons" (quite unfinished)
+ Added lows, which are anything below 20 mph, which was where storms died before
> Storms now die when they drop below 0 mph
> Hold "L" and click to spawn a low
* Tracks now disappear as soon as a storm dies, but it can still be seen in analysis
* Storm icons are now rendered with a method of the StormSystem class to make analysis work more easily
v20180719a:
* Fixed mouse events blocking default browser actions when cursor is outside the canvas, which made it impossible to access the changelog using the link (sorry)
* Fixed first segment of tracks not rendering immediately
v20180718b:
* Storms are for now named with a continuously looping 2022 Atlantic hurricane name list (Will be changed)
* Tracks are no longer rendered every frame, but only when needed, making the sim run faster
- Removed tracks dissappearing when the framerate drops below 25 fps, as it's no longer needed thanks to the improvement above
v20180718a:
+ Added names:
> Depressions recieve a number with the suffix "H" for "Hypothetical"
> Named storms are all named "Unnamed", as this is incomplete
+ Added code for environment factors such as "shear" and "SSTAnomaly", but are not in use yet
* Changed each simulation tick from 30 minutes to an hour:
> Storms now move twice as fast as seen by the viewer, although they move at the same speed in simulation time
> Strengthening/weakening code is still the same per-tick, so behavior has changed somewhat
* The time in the upper left uses a slightly different format now
* Fixed keyboard events blocking default browser actions like "F5" for reload or "F12" for javascript console, except in cases involving keys used for the simulation ("space" doesn't scroll the page down)
v20180713a:
+ Added pausing using "space"
+ Added a date counter; currently serves no purpose
+ Added spawning using the keyboard and mouse:
> Hold "D" and click to spawn a tropical depression
> Hold "S" and click to spawn a tropical storm
> Hold "1" and click to spawn a category 1 hurricane
> So on for keys "2" through "5"
+ Added stepping one frame (30 sim-minutes) at a time while paused using "A"
+ Added a method to display storms' windspeeds underneath them, enabled using "W"
* Changed land rendering to better show height
* Fixed(?) issues involving higher-definition display devices
* Tracks of dead storms now disappear whenever the framerate drops below 25 fps, not just after their timeout
* Changed canvas dimensions to 1100x500
* Tweaked land generation
% Added moment.js for date and time calculations and display
v20180712a:
+ Added land, which weakens storms
* Made tracks thicker
* Actually added the CSS and version number to make this consistent with my other experiments
* Changed rendering so storm symbols always render above tracks
* Slight tweak to storm strength calculation besides land interaction
v20180709a:
+ Initially created a simple hurricane simulator without much regard to realism, nor any land
% Using p5.js for the first time for any of my experiments