{"id":63,"date":"2025-03-05T21:37:45","date_gmt":"2025-03-05T21:37:45","guid":{"rendered":"https:\/\/blogs.oregonstate.edu\/bytebybyte\/?p=63"},"modified":"2025-03-05T21:37:45","modified_gmt":"2025-03-05T21:37:45","slug":"from-concept-to-code-lessons-learned-in-wildfire-command","status":"publish","type":"post","link":"https:\/\/blogs.oregonstate.edu\/bytebybyte\/2025\/03\/05\/from-concept-to-code-lessons-learned-in-wildfire-command\/","title":{"rendered":"From Concept to Code: Lessons Learned in Wildfire Command"},"content":{"rendered":"\n<p>As the term draws to a close, it\u2019s almost surreal to reflect on how far my team and I have come. Our game, <em>Wildfire Command<\/em>, has evolved significantly over the past few months, and we couldn\u2019t be more proud of our progress. From coding and game development to collaborating on a large-scale project, this experience has been both challenging and rewarding. While we are rapidly approaching playtesting, some features\u2014such as user account functionality\u2014still need refinement. Below, I&#8217;ve shared an image of our current build, and a playable version is available on <a href=\"https:\/\/hornbuck.github.io\/fire-sim\/\">GitHub Pages<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"767\" src=\"https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/8099\/files\/2025\/03\/WC-update-1024x767.png\" alt=\"\" class=\"wp-image-64\" srcset=\"https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/8099\/files\/2025\/03\/WC-update-1024x767.png 1024w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/8099\/files\/2025\/03\/WC-update-300x225.png 300w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/8099\/files\/2025\/03\/WC-update-768x575.png 768w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/8099\/files\/2025\/03\/WC-update-1200x899.png 1200w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/8099\/files\/2025\/03\/WC-update.png 1214w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Overcoming Doubts and Challenges<\/h2>\n\n\n\n<p>At the start of this project, I had serious doubts about my ability to bring it to life. Everything felt unfamiliar\u2014Phaser JS, handling scenes and sprites, and designing algorithms for gameplay mechanics. However, I tackled it piece by piece, making a plan and adjusting along the way. One of my biggest contributions was developing the fire-spreading algorithm, the core of the game\u2019s challenge. Translating my vision into code was no small feat, but the result is something I\u2019m truly proud of.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Real-World Inspiration and Game Mechanics<\/h2>\n\n\n\n<p>My experience as a supervisor for a wildland fuel reduction crew gave me valuable insight into how wildfires spread. This knowledge, combined with research, helped me conceptualize the algorithm that drives fire behavior in the game. I\u2019m particularly proud of how I translated real-world wildfire dynamics into game mechanics, creating a system that simulates how fire spreads based on terrain type, wind conditions, temperature, and humidity. Each tile in the game has specific attributes like flammability and fuel, which can be influenced by weather. I developed a dynamic weather system that plays a crucial role in determining whether a tile ignites, burns out, or remains unaffected. Though we\u2019re still in the testing phase, the algorithm feels both realistic and engaging, and I\u2019m excited to see it refined further in playtesting.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Enhancing Gameplay and UI<\/h2>\n\n\n\n<p>Beyond the fire algorithm, I also focused on refining the game\u2019s user interface. Initially, many UI elements were added for debugging, but as development progressed, it became clear that a cleaner, more intuitive design was needed. I reworked the logo and repositioned elements to create a more user-friendly layout. Currently, I\u2019m improving the weather display by replacing numerical data with visuals, allowing players to quickly interpret conditions and strategize more effectively.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Lessons Learned and Moving Forward<\/h2>\n\n\n\n<p>Game development has been anything but easy. One of my biggest struggles was ensuring that burned terrain properly updated, switching sprites and removing fire animations. Our team also faced hosting issues that took weeks to resolve. Through it all, I found that stepping back, making a plan, and seeking help when needed were invaluable strategies. Collaborating with teammates to troubleshoot bugs often saved me hours compared to working alone.<\/p>\n\n\n\n<p>As we approach the final stages of development, I\u2019m excited to see how <em>Wildfire Command<\/em> performs in playtesting. This project has pushed me beyond my comfort zone, but it has also been one of the most rewarding experiences of my academic journey. I\u2019ve gained a deeper understanding of game development, teamwork, and problem-solving\u2014skills that will serve me well beyond this project.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>\u201cSuccess is not final, failure is not fatal: It is the courage to continue that counts.\u201d<\/em> \u2014 Winston Churchill<\/p>\n<\/blockquote>\n\n\n\n<p>Looking back, I started with uncertainty but now stand with confidence in what we\u2019ve built. And that, in itself, feels like a victory.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As the term draws to a close, it\u2019s almost surreal to reflect on how far my team and I have come. Our game, Wildfire Command, has evolved significantly over the past few months, and we couldn\u2019t be more proud of our progress. From coding and game development to collaborating on a large-scale project, this experience &hellip; <a href=\"https:\/\/blogs.oregonstate.edu\/bytebybyte\/2025\/03\/05\/from-concept-to-code-lessons-learned-in-wildfire-command\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;From Concept to Code: Lessons Learned in Wildfire Command&#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":[4],"tags":[],"class_list":["post-63","post","type-post","status-publish","format-standard","hentry","category-cs-462"],"_links":{"self":[{"href":"https:\/\/blogs.oregonstate.edu\/bytebybyte\/wp-json\/wp\/v2\/posts\/63","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=63"}],"version-history":[{"count":1,"href":"https:\/\/blogs.oregonstate.edu\/bytebybyte\/wp-json\/wp\/v2\/posts\/63\/revisions"}],"predecessor-version":[{"id":65,"href":"https:\/\/blogs.oregonstate.edu\/bytebybyte\/wp-json\/wp\/v2\/posts\/63\/revisions\/65"}],"wp:attachment":[{"href":"https:\/\/blogs.oregonstate.edu\/bytebybyte\/wp-json\/wp\/v2\/media?parent=63"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/bytebybyte\/wp-json\/wp\/v2\/categories?post=63"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/bytebybyte\/wp-json\/wp\/v2\/tags?post=63"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}