{"id":43,"date":"2024-12-02T23:50:12","date_gmt":"2024-12-02T23:50:12","guid":{"rendered":"https:\/\/blogs.oregonstate.edu\/bytebybyte\/?p=43"},"modified":"2024-12-03T00:52:18","modified_gmt":"2024-12-03T00:52:18","slug":"turning-up-the-heat-firesim-development-update","status":"publish","type":"post","link":"https:\/\/blogs.oregonstate.edu\/bytebybyte\/2024\/12\/02\/turning-up-the-heat-firesim-development-update\/","title":{"rendered":"Turning Up the Heat: FireSim Development Update"},"content":{"rendered":"\n<p>Development on Firesim is well underway, and I couldn\u2019t be more excited about our progress. My incredible teammates and I have been hard at work tackling map generation, asset creation, and the foundational algorithm driving the game\u2019s fire spread. Personally, I\u2019ve been immersed in developing the fire spread algorithm\u2014a challenging yet immensely rewarding experience.<\/p>\n\n\n\n<p>Let me walk you through the basics of how it works without delving too deeply into the technical weeds. The fire behavior is influenced by a few key components:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Terrain Type<\/strong>: The type of terrain in a land cell determines its susceptibility to fire.<\/li>\n\n\n\n<li><strong>Global Weather Conditions<\/strong>: Variables like humidity, temperature, and wind speed heavily affect fire spread.<\/li>\n\n\n\n<li><strong>Flammability<\/strong>: Some cells, such as water, are non-flammable, but this often-overlooked factor is just as critical.<\/li>\n<\/ol>\n\n\n\n<p>The algorithm traverses the game map as a grid, evaluating each cell and probing its neighbors to determine which areas are most likely to ignite. While the logic may seem straightforward on the surface, there\u2019s a lot happening under the hood to simulate realistic fire behavior.<\/p>\n\n\n\n<p>That said, the current algorithm may lack efficiency, particularly as the grid size and complexity of calculations increase. I\u2019ve already identified areas where revisiting the data structures and algorithmic approaches could improve the speed and scalability of the fire spread mechanics. I\u2019m eager to dive back into optimization in the coming weeks to ensure Firesim performs as smoothly as possible.<\/p>\n\n\n\n<p>Of course, no project is without its challenges. There have been moments when the fire stubbornly refused to spread\u2014an incredibly humbling reminder of the ups and downs of software development. Still, the satisfaction of debugging and resolving those issues has made the process all the more rewarding.<\/p>\n\n\n\n<p>Meanwhile, one of my teammates has been making excellent progress on map generation and visual elements. I\u2019m excited about the prospect of merging our work to bring the map and fire spread mechanics together, creating a cohesive and visually dynamic gameplay experience.<\/p>\n\n\n\n<p>As the first term of this course wraps up, I\u2019m feeling both grateful and eager. These past ten weeks have been a whirlwind of growth and learning, and I\u2019m thrilled to continue working with such a talented team. Firesim still has a long way to go, but I\u2019m confident that the best is yet to come. Stay tuned for more updates as development heats up!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Development on Firesim is well underway, and I couldn\u2019t be more excited about our progress. My incredible teammates and I have been hard at work tackling map generation, asset creation, and the foundational algorithm driving the game\u2019s fire spread. Personally, I\u2019ve been immersed in developing the fire spread algorithm\u2014a challenging yet immensely rewarding experience. Let &hellip; <a href=\"https:\/\/blogs.oregonstate.edu\/bytebybyte\/2024\/12\/02\/turning-up-the-heat-firesim-development-update\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Turning Up the Heat: FireSim Development Update&#8221;<\/span><\/a><\/p>\n","protected":false},"author":14491,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-43","post","type-post","status-publish","format-standard","hentry","category-cs461"],"_links":{"self":[{"href":"https:\/\/blogs.oregonstate.edu\/bytebybyte\/wp-json\/wp\/v2\/posts\/43","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.oregonstate.edu\/bytebybyte\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.oregonstate.edu\/bytebybyte\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/bytebybyte\/wp-json\/wp\/v2\/users\/14491"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/bytebybyte\/wp-json\/wp\/v2\/comments?post=43"}],"version-history":[{"count":2,"href":"https:\/\/blogs.oregonstate.edu\/bytebybyte\/wp-json\/wp\/v2\/posts\/43\/revisions"}],"predecessor-version":[{"id":45,"href":"https:\/\/blogs.oregonstate.edu\/bytebybyte\/wp-json\/wp\/v2\/posts\/43\/revisions\/45"}],"wp:attachment":[{"href":"https:\/\/blogs.oregonstate.edu\/bytebybyte\/wp-json\/wp\/v2\/media?parent=43"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/bytebybyte\/wp-json\/wp\/v2\/categories?post=43"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/bytebybyte\/wp-json\/wp\/v2\/tags?post=43"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}