<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Victoria</title>
    <description>The latest articles on DEV Community by Victoria (@victoriadeveloper).</description>
    <link>https://dev.to/victoriadeveloper</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2070326%2F48810f30-b46f-453b-9fbc-cb784f34de90.png</url>
      <title>DEV Community: Victoria</title>
      <link>https://dev.to/victoriadeveloper</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/victoriadeveloper"/>
    <language>en</language>
    <item>
      <title>🚀 Software Engineering Post-Mortem: Paragon Protectors 🏰🎯</title>
      <dc:creator>Victoria</dc:creator>
      <pubDate>Sat, 28 Dec 2024 00:22:41 +0000</pubDate>
      <link>https://dev.to/victoriadeveloper/post-mortem-paragon-protectors-5620</link>
      <guid>https://dev.to/victoriadeveloper/post-mortem-paragon-protectors-5620</guid>
      <description>&lt;h2&gt;
  
  
  🎯 &lt;strong&gt;Project Overview&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Paragon Protectors&lt;/strong&gt; is a strategy-based &lt;strong&gt;tower defense game&lt;/strong&gt; built for the &lt;strong&gt;One Game A Month #42&lt;/strong&gt; game jam using &lt;strong&gt;Unreal Engine 5.5&lt;/strong&gt;. In this game, players must defend against &lt;strong&gt;7 waves&lt;/strong&gt; of relentless minions while protecting their 40 lives. &lt;/p&gt;

&lt;p&gt;Key gameplay features include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Elemental Upgrades&lt;/strong&gt;: Towers gain experience and unlock powerful elemental damage as they level up. 🔥❄️⚡
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Victory Conditions&lt;/strong&gt;: Survive all waves to triumph—or lose if all lives are depleted. 🏆&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Paragon Protectors&lt;/strong&gt; delivers a blend of strategy, resource management, and skillful defense planning. 🛡️&lt;/p&gt;




&lt;h2&gt;
  
  
  🛠️ &lt;strong&gt;Initial Project Goals&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The primary objectives were:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Remake the &lt;strong&gt;Protectors&lt;/strong&gt; tower defense game series in Unreal Engine. 🏗️
&lt;/li&gt;
&lt;li&gt;Complete and submit the game for the &lt;strong&gt;One Game A Month #42&lt;/strong&gt; jam. 🕹️🎮
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ✅ &lt;strong&gt;How We Met Our Goals&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Using &lt;strong&gt;Agile methodology&lt;/strong&gt;, I:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Created actionable &lt;strong&gt;User Stories&lt;/strong&gt; for the game’s features. 📝
&lt;/li&gt;
&lt;li&gt;Tracked progress with a &lt;strong&gt;Kanban Board&lt;/strong&gt; in &lt;strong&gt;GitHub Projects&lt;/strong&gt;. 📋
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🎉 Result: The game was completed on time, with functioning towers, tracks, and wave systems.&lt;/p&gt;




&lt;h2&gt;
  
  
  ✨ &lt;strong&gt;What Went Well&lt;/strong&gt;
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Level Design&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Designed a visually clear and functional track for enemies and towers. 🗺️
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Programming&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Engineered tower mechanics, including targeting, attacking, and upgrading. 💻
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  ⚠️ &lt;strong&gt;What Went Wrong&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Track Visuals&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Lacked distinct assets to differentiate the track from surrounding tiles. 🎨
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




&lt;h2&gt;
  
  
  🛠️ &lt;strong&gt;How Challenges Were Addressed&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Track Assets&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Used &lt;strong&gt;geometry brushes&lt;/strong&gt; and &lt;strong&gt;starter content materials&lt;/strong&gt; to create clear and distinguishable track visuals. 🛠️
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




&lt;h2&gt;
  
  
  💡 &lt;strong&gt;Lessons Learned&lt;/strong&gt;
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Level Design&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Learned how to design effective tracks for a tower defense game. 🛤️
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Programming&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Gained experience in programming towers with mechanics like &lt;strong&gt;targeting&lt;/strong&gt; and &lt;strong&gt;leveling up&lt;/strong&gt;. 💡
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  🔮 &lt;strong&gt;Future Recommendations&lt;/strong&gt;
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Expand Tower Variety&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Add more towers with unique abilities and effects, such as slowing, poisoning, or stunning enemies. ⚔️🧪
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enhanced Visuals&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Invest in better assets or custom artwork to improve visual clarity and polish. 🎨✨
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  🏆 &lt;strong&gt;Conclusion&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Paragon Protectors&lt;/strong&gt; was a rewarding project for the &lt;strong&gt;One Game A Month #42&lt;/strong&gt; game jam. 🎉 It helped sharpen my skills in &lt;strong&gt;level design&lt;/strong&gt; and &lt;strong&gt;tower defense programming&lt;/strong&gt;. I’m looking forward to expanding on these mechanics and creating even more engaging experiences in future games! 🚀  &lt;/p&gt;

</description>
    </item>
    <item>
      <title>🚀 Software Engineering Post-Mortem: Crown &amp; Conquest 🏰⚔️</title>
      <dc:creator>Victoria</dc:creator>
      <pubDate>Fri, 20 Dec 2024 19:05:50 +0000</pubDate>
      <link>https://dev.to/victoriadeveloper/post-mortem-crown-conquest-1aj5</link>
      <guid>https://dev.to/victoriadeveloper/post-mortem-crown-conquest-1aj5</guid>
      <description>&lt;h2&gt;
  
  
  🎯 &lt;strong&gt;Project Overview&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Crown &amp;amp; Conquest&lt;/strong&gt; is a 4X strategy game built with &lt;strong&gt;Unreal Engine 5.5&lt;/strong&gt; for the &lt;strong&gt;Yogscast Games - Jingle Game Jam&lt;/strong&gt;. Players step into the role of a ruler, striving to conquer neighboring kingdoms by acquiring their crowns. The gameplay revolves around the four key pillars of 4X:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Explore&lt;/strong&gt;: Navigate the fog of war to uncover new lands. 🗺️
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Expand&lt;/strong&gt;: Grow your empire by crowning neighboring kingdoms. 🌍
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Exploit&lt;/strong&gt;: Harness resources from conquered territories. ⚒️
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Exterminate&lt;/strong&gt;: Subdue hostile kingdoms and bring them under your rule. 🛡️
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Crown &amp;amp; Conquest&lt;/strong&gt; delivers a thrilling blend of strategy, resource management, and medieval conquest. 🏆&lt;/p&gt;




&lt;h2&gt;
  
  
  🛠️ &lt;strong&gt;Initial Project Goals&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The primary objectives were:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create a &lt;strong&gt;medieval 4X game&lt;/strong&gt; using &lt;strong&gt;Unreal Engine&lt;/strong&gt;. 🎯
&lt;/li&gt;
&lt;li&gt;Complete and submit the game for the &lt;strong&gt;Jingle Game Jam&lt;/strong&gt;. 🎄
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ✅ &lt;strong&gt;How We Met Our Goals&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Using &lt;strong&gt;Agile methodology&lt;/strong&gt;, I:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Broke down features into &lt;strong&gt;User Stories&lt;/strong&gt;. 📝
&lt;/li&gt;
&lt;li&gt;Tracked progress with a &lt;strong&gt;Kanban Board&lt;/strong&gt; in &lt;strong&gt;GitHub Projects&lt;/strong&gt;. 📋
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🎉 Result: The game successfully incorporated all 4X elements, included two playable scenarios, and featured a tutorial for new players.&lt;/p&gt;




&lt;h2&gt;
  
  
  ✨ &lt;strong&gt;What Went Well&lt;/strong&gt;
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Level Design&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Designed two engaging scenarios for players to step into the shoes of an empire leader. 🗺️
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Core Mechanics&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Successfully implemented the key 4X elements (Explore, Expand, Exploit, Exterminate). ✅
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Player Guidance&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Created a tutorial—a much-needed addition from my previous 4X game—to help new players ease into the mechanics. 📖
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  ⚠️ &lt;strong&gt;What Went Wrong&lt;/strong&gt;
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Art Style&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Needed assets to capture a medieval atmosphere and immerse the player. 🖼️
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Music&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Lacked an original soundtrack to enhance the gameplay experience. 🎵
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  🛠️ &lt;strong&gt;How Challenges Were Addressed&lt;/strong&gt;
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Art Style&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Purchased medieval-themed assets from the &lt;strong&gt;UE Fab Store&lt;/strong&gt;, which added the visual flair I needed. 🏰
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Music&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Acquired a soundtrack from the &lt;strong&gt;UE Fab Store&lt;/strong&gt; to enrich the player’s experience. 🎶
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  💡 &lt;strong&gt;Lessons Learned&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Level Design&lt;/strong&gt;: Gained valuable experience in creating &lt;strong&gt;scenarios&lt;/strong&gt; tailored for 4X gameplay.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tutorial Design&lt;/strong&gt;: Learned how to craft a player-friendly &lt;strong&gt;tutorial&lt;/strong&gt; that simplifies complex mechanics. 🛠️
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔮 &lt;strong&gt;Future Recommendations&lt;/strong&gt;
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Combat Mechanics&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Add deeper &lt;strong&gt;battle and combat mechanics&lt;/strong&gt; to enhance the "Exterminate" phase of 4X gameplay. ⚔️
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dynamic Systems&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Incorporate dynamic systems like diplomacy or trade to add more strategic depth. 🤝
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  🏆 &lt;strong&gt;Conclusion&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Crown &amp;amp; Conquest&lt;/strong&gt; was a rewarding project for the &lt;strong&gt;Yogscast Games - Jingle Game Jam&lt;/strong&gt;. 🎉 It pushed my skills in 4X game development, from &lt;strong&gt;level design&lt;/strong&gt; to &lt;strong&gt;tutorial creation&lt;/strong&gt;, while challenging me to deliver a polished product under a deadline. I’m excited to evolve these mechanics and build even greater experiences in the future! 🚀  &lt;/p&gt;

</description>
    </item>
    <item>
      <title>🚀Software Engineering Post-Mortem: Marble Escape 🎮🌀</title>
      <dc:creator>Victoria</dc:creator>
      <pubDate>Sat, 14 Dec 2024 23:20:59 +0000</pubDate>
      <link>https://dev.to/victoriadeveloper/post-mortem-marble-escape-lng</link>
      <guid>https://dev.to/victoriadeveloper/post-mortem-marble-escape-lng</guid>
      <description>&lt;h2&gt;
  
  
  🎯 &lt;strong&gt;Project Overview&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Marble Escape&lt;/strong&gt; is a 3D puzzle game created with &lt;strong&gt;Unreal Engine 5.5&lt;/strong&gt; for the &lt;strong&gt;One Button Game Jam&lt;/strong&gt;. The game challenges players to navigate a marble through a series of puzzles using just &lt;strong&gt;one input button&lt;/strong&gt;—the &lt;strong&gt;Spacebar&lt;/strong&gt;. 🕹️ &lt;/p&gt;

&lt;p&gt;Here’s the twist: every &lt;strong&gt;5 seconds&lt;/strong&gt;, the puzzle’s direction changes! Players must strategically time their moves to escape the level. Think fast, or the marble won’t make it out! 🪄&lt;/p&gt;




&lt;h2&gt;
  
  
  🛠️ &lt;strong&gt;Initial Project Goals&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The main objective was to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Develop a &lt;strong&gt;one-button mechanic&lt;/strong&gt; game. 🎯&lt;/li&gt;
&lt;li&gt;Complete and submit the game for the &lt;strong&gt;One Button Game Jam&lt;/strong&gt;. ⏳&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ✅ &lt;strong&gt;How We Met Our Goals&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Using &lt;strong&gt;Agile methodology&lt;/strong&gt;, I:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Broke features into actionable &lt;strong&gt;User Stories&lt;/strong&gt;. 📝&lt;/li&gt;
&lt;li&gt;Tracked progress with a &lt;strong&gt;Kanban Board&lt;/strong&gt; in &lt;strong&gt;GitHub Projects&lt;/strong&gt;. 📋&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🎉 Result: I successfully implemented the one-button mechanic and completed the game in time for the jam!&lt;/p&gt;




&lt;h2&gt;
  
  
  ✨ &lt;strong&gt;What Went Well&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Level Design&lt;/strong&gt;: Crafted three unique and engaging 3D puzzles using &lt;strong&gt;geometry brushes&lt;/strong&gt; in Unreal Engine. 🎨&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Jam Requirements&lt;/strong&gt;: Fulfilled the one-button input mechanic requirement for the game jam. ✅&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ⚠️ &lt;strong&gt;What Went Wrong&lt;/strong&gt;
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Art Style Consistency&lt;/strong&gt;: 

&lt;ul&gt;
&lt;li&gt;Lacked a polished and cohesive art style. 🎨❌&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Player Feedback&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;No clear indicator of the current direction, which could confuse players. 🤷‍♂️❓&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  🛠️ &lt;strong&gt;How Challenges Were Addressed&lt;/strong&gt;
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Art Style&lt;/strong&gt;: Used &lt;strong&gt;starter content textures&lt;/strong&gt; like grass and cobblestone to create a basic, visually cohesive look. 🪴🧱&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Player Feedback&lt;/strong&gt;: Created a &lt;strong&gt;HUD widget&lt;/strong&gt; to display the current direction, dynamically binding it to the &lt;strong&gt;game state&lt;/strong&gt;. 🧭&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  💡 &lt;strong&gt;Lessons Learned&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Level Design&lt;/strong&gt;: Gained hands-on experience creating &lt;strong&gt;3D puzzles&lt;/strong&gt; using Unreal Engine’s &lt;strong&gt;geometry brushes&lt;/strong&gt;. 🛠️🎮&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Player Feedback&lt;/strong&gt;: Learned the importance of clear visual communication in enhancing the user experience. 👀&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔮 &lt;strong&gt;Future Recommendations&lt;/strong&gt;
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Art Style&lt;/strong&gt;: 

&lt;ul&gt;
&lt;li&gt;Import high-quality assets to create a more polished and immersive visual style. 🖼️✨&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Level Complexity&lt;/strong&gt;: 

&lt;ul&gt;
&lt;li&gt;Design more intricate puzzles to increase the game’s challenge and replayability. 🧩&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  🏆 &lt;strong&gt;Conclusion&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Marble Escape&lt;/strong&gt; was a fun and educational project for the &lt;strong&gt;One Button Game Jam&lt;/strong&gt;. 🎉 It helped me sharpen my skills in level design and UI integration while adhering to strict jam constraints. I’m excited to apply these lessons to future projects and create even better games! 🚀&lt;/p&gt;




</description>
      <category>gamedev</category>
      <category>unrealengine</category>
    </item>
    <item>
      <title>🚀 Software Engineering Postmortem: Zombie Shootout 🧟‍♂️🎮</title>
      <dc:creator>Victoria</dc:creator>
      <pubDate>Thu, 28 Nov 2024 18:40:02 +0000</pubDate>
      <link>https://dev.to/victoriadeveloper/software-engineering-postmortem-zombie-shootout-4n7k</link>
      <guid>https://dev.to/victoriadeveloper/software-engineering-postmortem-zombie-shootout-4n7k</guid>
      <description>&lt;h2&gt;
  
  
  🎯 &lt;strong&gt;Project Overview&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Zombie Shootout&lt;/strong&gt; is a 2D top-down shooter built with &lt;strong&gt;Unreal Engine 5.5&lt;/strong&gt;. Players step into the boots of Tim, a truck stop worker armed with an AK-47, battling relentless zombie hordes to protect a critical bridge. Tim’s goal? Hold the line until reinforcements arrive. This project was created for the &lt;strong&gt;2D Game Jam #2&lt;/strong&gt;, with the challenge of crafting a complete game in a short timeframe. 🕹️🧱&lt;/p&gt;




&lt;h2&gt;
  
  
  🛠️ &lt;strong&gt;Initial Project Goals&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Our goal was simple yet ambitious:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Build a &lt;strong&gt;2D top-down shooter&lt;/strong&gt; using &lt;strong&gt;Unreal Engine&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Complete the game in time for the &lt;strong&gt;2D Game Jam #2&lt;/strong&gt;. ⏳&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ✅ &lt;strong&gt;How We Met Our Goals&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;We utilized &lt;strong&gt;Agile development&lt;/strong&gt; with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;User Stories&lt;/strong&gt; for clear, actionable features. 📝&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;Kanban Board&lt;/strong&gt; in &lt;strong&gt;GitHub Projects&lt;/strong&gt; for task tracking. 📋&lt;/li&gt;
&lt;li&gt;Collaborative iterations to complete all the features.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🎉 Result: We delivered a polished, playable game within the deadline!&lt;/p&gt;




&lt;h2&gt;
  
  
  ✨ &lt;strong&gt;What Went Well&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Visual Cohesion&lt;/strong&gt;: Seeing all the &lt;strong&gt;2D assets&lt;/strong&gt;, animations, and UI come together was incredibly rewarding. 🎨✨&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mechanics&lt;/strong&gt;: All the game mechanics and core features worked flawlessly. No game-breaking bugs! 🛡️🕹️&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ⚠️ &lt;strong&gt;What Went Wrong&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Level Design Challenge&lt;/strong&gt;: 

&lt;ul&gt;
&lt;li&gt;We skipped using a &lt;strong&gt;tilemap&lt;/strong&gt; or &lt;strong&gt;tileset&lt;/strong&gt; for level creation in Unreal Engine. 🚧&lt;/li&gt;
&lt;li&gt;This added unnecessary complexity to the level design process.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




&lt;h2&gt;
  
  
  🛠️ &lt;strong&gt;How We Addressed the Challenges&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Instead of &lt;strong&gt;tilesets&lt;/strong&gt; or &lt;strong&gt;tilemaps&lt;/strong&gt;, we manually:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Placed individual &lt;strong&gt;sprites&lt;/strong&gt; to construct the level directly in the Unreal Editor. 🧩&lt;/li&gt;
&lt;li&gt;While this workaround worked, it wasn’t the most efficient method.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💡 &lt;strong&gt;Lessons Learned&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Level Design Experience&lt;/strong&gt;: I gained valuable hands-on experience with designing levels using &lt;strong&gt;2D assets&lt;/strong&gt;. 🎓&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Planning Tools&lt;/strong&gt;: Tilemaps/tilesets could have streamlined the process significantly and are worth the upfront investment. 🗺️&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔮 &lt;strong&gt;Future Recommendations&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Spend more time on &lt;strong&gt;level design&lt;/strong&gt; and planning, especially with:

&lt;ul&gt;
&lt;li&gt;Exploring &lt;strong&gt;2D asset workflows&lt;/strong&gt;. 🛠️&lt;/li&gt;
&lt;li&gt;Investing in learning &lt;strong&gt;tilesets&lt;/strong&gt; and &lt;strong&gt;tilemaps&lt;/strong&gt;. 🎨&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




&lt;h2&gt;
  
  
  🏆 &lt;strong&gt;Conclusion&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Zombie Shootout was a thrilling project and a successful submission to the &lt;strong&gt;2D Game Jam #2&lt;/strong&gt;. 🎉 This journey taught me a lot about game development, and I’m excited to apply these lessons to future projects. 🚀 &lt;/p&gt;

</description>
      <category>gamedev</category>
      <category>softwareengineering</category>
      <category>gamejam</category>
      <category>unrealengine</category>
    </item>
    <item>
      <title>🚀 Software Engineering Postmortem: Galactic Empire 🌌✨</title>
      <dc:creator>Victoria</dc:creator>
      <pubDate>Wed, 20 Nov 2024 19:04:27 +0000</pubDate>
      <link>https://dev.to/victoriadeveloper/software-engineering-postmortem-galactic-empire-160c</link>
      <guid>https://dev.to/victoriadeveloper/software-engineering-postmortem-galactic-empire-160c</guid>
      <description>&lt;p&gt;🌠 1. Project Overview&lt;br&gt;
Galactic Empire is a 4X strategy game where players lead their own galactic empire in a quest to dominate the stars. The gameplay revolves around mastering the four pillars of 4X strategy:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Explore 🌍: Discover new planets.&lt;/li&gt;
&lt;li&gt;Expand 🏗️: Grow your empire through negotiation or conquest.&lt;/li&gt;
&lt;li&gt;Exploit ⚙️: Harness planetary resources to fuel your ambitions.&lt;/li&gt;
&lt;li&gt;Exterminate 💥: Wipe out hostile forces to secure dominance.
Players choose from three unique races—Humans, Aliens, and Androids—each with their own leaders and bonuses, creating a dynamic and strategic playstyle. This project was created for the Foundry Jam - Found Your Own Indie Studio! with collaboration from nathonkepley.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🎯 2. Initial Project Goals&lt;br&gt;
The main goal was to build a working prototype of a 4X game that emphasizes resource management and showcases how gameplay progresses across the four phases of 4X strategy.&lt;/p&gt;

&lt;p&gt;Our user stories were centered around:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Implementing the Explore, Expand, Exploit, and Exterminate phases 🌌.&lt;/li&gt;
&lt;li&gt;Designing a resource manager to reflect actions taken in each phase 💾.&lt;/li&gt;
&lt;li&gt;Providing a clear and engaging experience of a 4X game’s core mechanics 🛠️.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🛠️ 3. How Were the Goals Met?&lt;br&gt;
We utilized the Agile development process to keep our project on track. Key methods included:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Breaking down the project into user stories ✅.&lt;/li&gt;
&lt;li&gt;Organizing and tracking progress via a GitHub Kanban board 📋.&lt;/li&gt;
&lt;li&gt;Completing all core features, ensuring a functional prototype of the game. 🎮&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🌟 4. What Went Well&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gameplay Integration 🎮: The core phases—Explore, Expand, Exploit, Exterminate—worked cohesively, creating a seamless and enjoyable turn-based experience. Watching the empire grow and resources update dynamically was a major milestone.&lt;/li&gt;
&lt;li&gt;Aesthetics 🎶🖼️: The combination of visuals and music created an immersive experience, enhancing the overall gameplay.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;⚠️ 5. What Went Wrong&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Asset Collection 🎨🚧: Finding assets that fit the space theme was difficult. This limitation forced us to use default or placeholder elements.&lt;/li&gt;
&lt;li&gt;State Management 🧩❌: When designing the planetary phases, I mistakenly implemented separate singletons for each phase, leading to a bloated and inefficient system.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;💡 6. How Were the Challenges Addressed?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;UI/UX Assets 🖌️: I used Unreal Engine’s default UI components to create a clean and functional interface.&lt;/li&gt;
&lt;li&gt;Refactoring State Management 🔄: While individual singletons were a temporary solution, I plan to consolidate them into a single unified singleton in the future for cleaner and more efficient code
.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;📚 7. Lessons Learned&lt;br&gt;
This project provided valuable insights and skills:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;UI/UX Design 🎨: Learned to use Unreal Motion Graphics (UMG) and Blueprint Visual Scripting to create interactive elements.&lt;/li&gt;
&lt;li&gt;Agile Development 🚀: Effectively applied Agile principles, including user stories and Kanban boards, for project organization.&lt;/li&gt;
&lt;li&gt;Code Optimization 🧑‍💻: Gained experience implementing and troubleshooting design patterns, particularly the Singleton Pattern.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🔮 8. Future Recommendations&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Enhanced Assets 🌌🎨: Invest time in finding high-quality space-themed UI/UX assets or design a new 4X game that aligns with the available assets.&lt;/li&gt;
&lt;li&gt;Code Refactoring 🔧: Refactor the game to use a single, unified singleton for better phase management and scalability.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✨ 9. Conclusion&lt;br&gt;
Galactic Empire is a promising prototype that serves as the foundation for a larger, more polished project. Participating in the Foundry Jam provided an incredible opportunity to kickstart my dream of creating a full-fledged 4X strategy game.&lt;/p&gt;

&lt;p&gt;This experience was invaluable, and I look forward to applying the lessons learned in future game development projects. 🚀 Thank you for joining me on this journey—let’s conquer the stars together! 🌠&lt;/p&gt;

</description>
    </item>
    <item>
      <title>🚀 Software Engineering Postmortem: The Last Petals of Spring 🌸</title>
      <dc:creator>Victoria</dc:creator>
      <pubDate>Fri, 08 Nov 2024 07:56:43 +0000</pubDate>
      <link>https://dev.to/victoriadeveloper/post-mortem-the-development-of-the-last-petals-of-spring-37e4</link>
      <guid>https://dev.to/victoriadeveloper/post-mortem-the-development-of-the-last-petals-of-spring-37e4</guid>
      <description>&lt;p&gt;Project Overview 🌷&lt;br&gt;
The Last Petals of Spring is an immersive Yuri visual novel developed using Unreal Engine 5.5. The game follows Aya, a young protagonist, as she navigates heartwarming choices among her close friends. Most of the gameplay unfolds in Aya's room, where players guide her through various dates and interactions that deepen her connections. Each playthrough offers a unique story, showcasing different emotions and bonds. Players can explore all three romantic paths once a route is completed, providing rich replayability. 🎮✨&lt;/p&gt;

&lt;p&gt;Initial Project Goals 🎯&lt;br&gt;
The main goals for this project revolved around implementing the following user stories:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Narrative Progression System 📝&lt;/li&gt;
&lt;li&gt;Contextual Dialogue System 💬&lt;/li&gt;
&lt;li&gt;Adaptive Audio System 🎵&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These goals were visualized and managed via a Kanban Board to keep track of progress and ensure an efficient development workflow. 📋&lt;/p&gt;

&lt;p&gt;How the Goals Were Met ✅&lt;br&gt;
Adopting an Agile development approach, I outlined user stories and iterated over them with strategic planning. Using a Kanban board allowed me to maintain a clear visual on progress and deadlines. Thanks to this approach, I successfully completed Milestone Version 1.0, ensuring the core systems were in place and functioning as intended. 🚀&lt;/p&gt;

&lt;p&gt;What Went Well 🌟&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Completion of Milestone Version 1.0 was a significant achievement. 🏆&lt;/li&gt;
&lt;li&gt;All primary user stories were implemented effectively, allowing the game to reach a playable state with all planned features.&lt;/li&gt;
&lt;li&gt;The narrative and dialogues were well-received during initial testing for their emotional depth and fluidity. 🌈&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What Went Wrong 🐞&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I encountered visual bugs with the Visibility attribute of certain components, particularly in Unreal Motion Graphics (UMG) and Blueprint Scripting. This bug occasionally caused UI elements to disappear or render improperly, impacting the player experience. 😅&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;How the Challenges Were Addressed 🛠️&lt;br&gt;
To tackle the visual bug issues, I turned to ChatGPT's Code Copilot. This tool provided me with invaluable assistance by suggesting Blueprint scripting solutions that helped me debug and resolve the component visibility issues efficiently. 💡🔧&lt;/p&gt;

&lt;p&gt;Lessons Learned 📚&lt;br&gt;
Throughout the project, I deepened my knowledge of Unreal Engine's Unreal Motion Graphics (UMG) tool, which is pivotal for creating user widget blueprints. Understanding this tool has greatly improved my ability to design dynamic and interactive UI elements. 🌐✨&lt;/p&gt;

&lt;p&gt;Future Recommendations 🔮&lt;br&gt;
Looking ahead, I'm keen on integrating cinematics into the visual novel. I believe this addition would elevate the storytelling experience by adding more visual engagement and emotional weight to pivotal scenes. 🎬🌟&lt;/p&gt;

&lt;p&gt;Conclusion 🎉&lt;br&gt;
In conclusion, The Last Petals of Spring has successfully reached Milestone Version 1.0, fulfilling the primary project goals and packaging the game for initial feedback. While challenges like visual bugs posed hurdles, the solutions and lessons gained have equipped me for future improvements. I’m excited for the next chapter of development and potential cinematic enhancements! 🌻👩‍💻&lt;/p&gt;

</description>
    </item>
    <item>
      <title>🎮 Software Engineering Postmortem: Project Shooter</title>
      <dc:creator>Victoria</dc:creator>
      <pubDate>Mon, 28 Oct 2024 05:28:50 +0000</pubDate>
      <link>https://dev.to/victoriadeveloper/software-engineering-postmortem-project-shooter-1280</link>
      <guid>https://dev.to/victoriadeveloper/software-engineering-postmortem-project-shooter-1280</guid>
      <description>&lt;ol&gt;
&lt;li&gt;Project Overview&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Project Shooter is a first-person shooter (FPS) game created as an extension of the First Person Template in Unreal Engine 5 (UE5). Built entirely using Blueprints Visual Scripting, the project delivers an immersive FPS experience where players engage in endless rounds of combat. As players progress, the difficulty increases with each level, challenging them to eliminate more enemies. The goal of the project was to enhance the player experience by introducing new gameplay mechanics and improving the core functionality of UE5's template through the integration of a custom tutorial system and various user interface (UI) elements.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Initial Project Goals&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The project was heavily inspired by the lessons learned from a technical guide, and the primary goal was to build upon the foundational material provided in the book. The main objectives of Project Shooter were:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Create an engaging tutorial that guides new players through the original mechanics of the First Person Template, while also introducing new features.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Develop a custom HUD (Heads-Up Display) to track important in-game information such as health, ammo, and progress, binding variables to update dynamically.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Enhance level design by incrementally increasing difficulty, ensuring players face a progressively harder set of enemies with each round.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;How Goals Were Met&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The initial project goals were achieved through:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Blueprint Programming: Leveraging UE5’s Blueprints system, I extended the game by adding a fully functional tutorial. I used the level blueprint to control the flow of the game and duplicated UI widgets to display tutorial messages dynamically during gameplay.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;HUD Development: Binding variables in the HUD allowed for real-time updates of player statistics, which significantly improved the user experience by offering clear and timely information on the game state.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;What Went Well&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;One of the key successes of the project was the integration of the tutorial system. I was able to identify and resolve input-related bugs caused by incorrectly used blueprint nodes. By troubleshooting and refining the tutorial, I ensured smooth user interaction and a more polished player onboarding experience.&lt;/p&gt;

&lt;p&gt;Additionally, the HUD implementation was a success, as it allowed players to easily track important stats like health and ammo, providing an intuitive interface for in-game information.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;What Went Wrong&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;However, not everything went according to plan. There were two notable challenges:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;User Input Bugs: After some tutorial messages failed to display correctly, user input was disabled unexpectedly. This was due to conflicting input modes between the game UI and player controls.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Level Design Flaws: Certain aspects of the level design did not perform as expected. For instance, targets that were not meant to be shot at were accidentally included in the shooting range, which disrupted the intended game flow.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;How Challenges Were Addressed&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To tackle these challenges:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;I utilized ChatGPT to analyze and troubleshoot the user input issue. The problem was traced back to the input mode being set to "UI Only" during the tutorial, which conflicted with the game's InputAction states. After diagnosing the issue, I was able to switch the input mode back to "Game and UI," resolving the bug and restoring player controls.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Regarding level design, I revisited and restructured the environment, ensuring that only the appropriate targets were interactive during combat sequences. This adjustment enhanced the overall player experience and restored the intended gameplay dynamics.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Lessons Learned&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;During the development of Project Shooter, I learned several important technical skills that will benefit future projects:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Macro Functions in Blueprints: I discovered the importance of using macro functions to encapsulate specific code within individual blueprints. This approach adheres to the Single Responsibility Principle by ensuring each blueprint only handles its relevant tasks. This makes the project more modular and maintainable, which is crucial in professional game development.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;SaveGame Class: The SaveGame class in Unreal Engine became a pivotal part of data persistence. By implementing the SaveGame functionality, I ensured that player progress, such as completed levels and earned upgrades, could be saved and retrieved across different gaming sessions. This is critical for maintaining player progression and enhancing replayability.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Artificial Intelligence (AI) Implementation: Although AI wasn’t a primary focus of this project, I began exploring UE5’s AI system, including behavior trees and AI controllers. Mastering AI in Unreal Engine will be essential for creating dynamic enemy behavior and interactive NPCs in future projects, allowing for more engaging gameplay.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Future Recommendations&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Looking forward, I recommend continuing to use Kanban boards and Agile iteration planning for organizing tasks and tracking progress. Even though Project Shooter was built on top of lessons from a technical guide, following Agile methodologies ensures structured development and the ability to quickly adapt to changing priorities or challenges.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In conclusion, Project Shooter is a successful extension of Unreal Engine 5’s First Person Template. The project was guided by lessons from a technical guide, and I was able to implement key features such as a custom tutorial system, level design progression, and player stat tracking through a custom HUD. Additionally, I resolved challenges related to user input and level design with the help of debugging tools and problem-solving approaches.&lt;/p&gt;

&lt;p&gt;The experience gained from building Project Shooter has deepened my understanding of Blueprints Visual Scripting, UI implementation, and game state persistence using the SaveGame class. These skills will be invaluable in future game development projects as I continue to refine my technical expertise and broaden my knowledge of Unreal Engine.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Blueprint Visual Scripting for Unreal Engine 5 (Third Edition) - A Technical Analysis</title>
      <dc:creator>Victoria</dc:creator>
      <pubDate>Mon, 28 Oct 2024 04:27:26 +0000</pubDate>
      <link>https://dev.to/victoriadeveloper/blueprint-visual-scripting-for-unreal-engine-5-third-edition-a-technical-analysis-2o5i</link>
      <guid>https://dev.to/victoriadeveloper/blueprint-visual-scripting-for-unreal-engine-5-third-edition-a-technical-analysis-2o5i</guid>
      <description>&lt;p&gt;Introduction&lt;br&gt;
The book Blueprint Visual Scripting for Unreal Engine 5 (Third Edition) by Marcos Romero and Brenden Sewell, with a foreword by Luis Cataldi, Lead Evangelist at Quixel/Epic Games, serves as an essential resource for game developers looking to master the Blueprint Visual Scripting system in Unreal Engine. As a visual scripting system, Blueprints allow developers to create complex game logic without writing traditional code, making it accessible to non-programmers while still offering robust functionality. In this analysis, I will dive into some key concepts from the book, their practical applications, and the strengths and weaknesses of the guide.&lt;/p&gt;

&lt;p&gt;Key Concepts Covered&lt;br&gt;
The book tackles several vital concepts in Unreal Engine 5, with three major highlights:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Macro Functions: A pivotal feature in Unreal Engine's visual scripting is the use of macro functions. These macros encapsulate code that is specific to individual blueprints, thereby adhering to the Single Responsibility Principle, a core concept in software engineering. By using macros, developers can ensure that each blueprint only handles the code relevant to its specific function, enhancing both modularity and maintainability. This concept is crucial in professional game development, where efficient code management can drastically reduce development time and minimize errors.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;SaveGame Class: Another significant topic discussed is the SaveGame class, which is critical for data persistence in games. This class allows developers to save player progress, ensuring that data such as levels, quests, or inventory can be retrieved across different game sessions. The SaveGame class is particularly important in the context of Agile software development, where features like Persistence and Player Progression are key user stories. By using the SaveGame class, developers can easily implement save/load mechanics and fulfill user stories that enhance the player experience over multiple sessions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;AI in Unreal Engine: Understanding how Artificial Intelligence (AI) is structured and implemented within Unreal Engine is vital for any modern game development, as it affects both single-player and multiplayer experiences. The book covers behavior trees, blackboards, and AI controllers, providing readers with the tools they need to implement challenging and dynamic gameplay. Whether creating enemy behavior or NPC interactions, mastering Unreal Engine’s AI system allows developers to craft more interactive and engaging gaming experiences.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Practical Application&lt;br&gt;
Reading this book has significantly impacted how I approach Unreal Engine 5 development. Here's how the key concepts have influenced my work:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Macros in Blueprint Visual Scripting: Before reading the book, I relied heavily on functions for code encapsulation, which sometimes led to issues such as unintentionally calling functions across unrelated blueprints. For example, in my project Zombie Rampage, I mistakenly called a function from my HUD class instead of triggering an event. Learning about macros allowed me to better encapsulate code, ensuring that each blueprint only exposes the necessary functionality. This dramatically improved my project structure and helped prevent accidental misuse of functions across blueprints.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;SaveGame Class Implementation: I was previously unfamiliar with the SaveGame class, but the book provided me with a clear understanding of its importance. Now, I plan to incorporate SaveGame logic into my project Zombie Rampage, allowing players to retain quest completion data across sessions. This will enhance the user experience by ensuring players can pick up where they left off, and it ties directly into my planning process in Kanban, as I now know how to structure the data flow within my game.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;AI Implementation with Behavior Trees: The book’s explanation of AI systems helped me build sophisticated behavior trees and blackboards for my zombies in Zombie Rampage. By breaking down the decision-making process of AI into manageable tasks and goals, I was able to fulfill user stories that required AI behaviors, such as chasing players, avoiding obstacles, and forming dynamic group attacks. This knowledge will be crucial as I continue to refine the AI systems in future projects.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Strengths and Weaknesses&lt;br&gt;
The book has many strengths that make it a valuable resource for both novice and experienced developers:&lt;/p&gt;

&lt;p&gt;Strengths:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Clear Structure: The guide excels in its organization, with each chapter building logically on the previous one. Quizzes at the end of each chapter help reinforce learning and allow readers to revisit concepts they may not have fully understood on the first pass.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Practical Examples: Rather than overwhelming readers by requiring them to build a game from scratch, the book uses Unreal Engine’s First Person Template, enabling the focus to remain on learning key concepts without getting distracted by level design or other non-essential tasks. This is a smart approach, as it ensures that the readers remain engaged with Blueprint Visual Scripting rather than getting sidetracked by ancillary tasks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Software Extension Focus: The guide does an excellent job of illustrating how to extend and build on existing templates, a crucial skill for new developers entering the game industry, where adaptability and the ability to extend pre-existing systems is highly valued.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Weaknesses:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Outdated Content: One drawback of the book is that some sections, particularly those covering input mappings and actions, are outdated. Unreal Engine 5 now uses the EnhancedInputSystem, which replaced the older input mapping methods covered in the book. While this is a minor inconvenience, it does mean that readers will need to seek supplemental materials to stay up-to-date with the latest Unreal Engine features.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Conclusion&lt;br&gt;
Overall, Blueprint Visual Scripting for Unreal Engine 5 (Third Edition) is a comprehensive and insightful guide for anyone looking to master Unreal Engine’s visual scripting tools. The book’s clear explanations of key concepts such as macros, SaveGame class, and AI systems have had a direct impact on my projects, making me a more efficient and knowledgeable developer. While there are some outdated sections, the strengths of this guide far outweigh the weaknesses. I highly recommend this book to anyone interested in Unreal Engine 5 development, whether you’re a beginner or looking to deepen your understanding of visual scripting.&lt;/p&gt;

</description>
      <category>computerscience</category>
      <category>unrealengine</category>
      <category>gamedev</category>
      <category>ai</category>
    </item>
    <item>
      <title>🧟‍♂️ Software Engineering Postmortem: Zombie Rampage</title>
      <dc:creator>Victoria</dc:creator>
      <pubDate>Wed, 23 Oct 2024 05:17:15 +0000</pubDate>
      <link>https://dev.to/victoriadeveloper/software-engineering-postmortem-zombie-rampage-4gh5</link>
      <guid>https://dev.to/victoriadeveloper/software-engineering-postmortem-zombie-rampage-4gh5</guid>
      <description>&lt;ul&gt;
&lt;li&gt;Project Overview&lt;/li&gt;
&lt;li&gt;Project Name: Zombie Rampage&lt;/li&gt;
&lt;li&gt;Project Date: 10/22/24&lt;/li&gt;
&lt;li&gt;Project Duration: 2 weeks&lt;/li&gt;
&lt;li&gt;Team Members: Victoria Uriostegui Jr&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Zombie Rampage is a first-person shooter where players are tasked with completing quests that fall into three categories: Defend, Eliminate, and Search. Players must fend off waves of zombies, with mutations introduced as the game progresses. By accumulating in-game currency (EXP) from killing zombies, players can purchase perks to aid in their survival.&lt;/p&gt;

&lt;p&gt;🗺 Initial Project Goals&lt;br&gt;
The project followed an agile methodology, using a Kanban board in GitHub Projects to track progress. The goals were divided into loose tasks and user stories:&lt;/p&gt;

&lt;p&gt;Loose Tasks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Construct the main menu.&lt;/li&gt;
&lt;li&gt;Create playtesting assets.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;User Stories:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Player Safe Haven (spawn and rest area).&lt;/li&gt;
&lt;li&gt;First-Person Shooter Experience.&lt;/li&gt;
&lt;li&gt;Player Progression (ability to upgrade using in-game currency).&lt;/li&gt;
&lt;li&gt;Replayability &amp;amp; Persistence (tracking player progress across sessions).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✅ How the Goals Were Met&lt;br&gt;
All the loose tasks and user stories were completed except Replayability &amp;amp; Persistence, which couldn't be implemented within the project's time constraints. The agile methodology helped prioritize tasks, though the velocity and estimated time for each story could have been better managed.&lt;/p&gt;

&lt;p&gt;Key tools and processes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Agile milestone iterations for planning.&lt;/li&gt;
&lt;li&gt;GitHub Projects for tracking milestones and user stories.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🎯 Key Achievements &amp;amp; Milestones&lt;br&gt;
Several important milestones were accomplished throughout the development of Zombie Rampage:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;First-Person Shooter Character: A blueprint for a first-person shooter character was implemented, including animations and field of view (FOV) setup.&lt;/li&gt;
&lt;li&gt;Animation Blueprint: Created an animation blueprint with state machines for smooth FPS animation blending.&lt;/li&gt;
&lt;li&gt;UActorComponents: Configured components like cameras to fit into the FPS skeletal structure, enhancing player immersion.&lt;/li&gt;
&lt;li&gt;Skeletal Mesh Integration: All animations and skeletal meshes worked seamlessly with a unified skeleton.&lt;/li&gt;
&lt;li&gt;Blueprint Scripting: Over 50+ UObject blueprints were created, including six for UI (UUserWidgets).&lt;/li&gt;
&lt;li&gt;Data Table Population: Populated four data tables to organize in-game data for easy reference.&lt;/li&gt;
&lt;li&gt;Questing System: Integrated the quest system for the three core quest types (Defend, Eliminate, Search).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;😓 What Went Wrong&lt;br&gt;
While there were many successes, some challenges arose during the project:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Agile Planning: The iteration planning didn’t account for velocity or accurate time estimates for each user story, leading to some goals being pushed beyond the deadline.&lt;/li&gt;
&lt;li&gt;UI Design Flaws: The UI wasn’t optimized, resulting in redundant code that violated the DRY (Don’t Repeat Yourself) principle. This increased complexity and decreased efficiency.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🛠 Addressing the Challenges&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Time Management: I accepted the limitations of the 2-week deadline and trimmed any uncompleted features, focusing on refining the core gameplay experience.&lt;/li&gt;
&lt;li&gt;UI Code Optimization: To eliminate code redundancy, I used the map data structure to connect gun purchase buttons to the corresponding data in the Data Tables. This approach streamlined the UI code and reduced duplication.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🎓 Lessons Learned&lt;br&gt;
This project provided many valuable lessons that I will take forward into future endeavors:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Animation Blueprints: I learned how to create complex animation blueprints with multiple state machines that can blend animations, especially useful for characters with intricate skeletons.&lt;/li&gt;
&lt;li&gt;Data Table Management: I now have a solid grasp of how to organize game data within Data Tables, making my blueprint scripting more organized and maintainable.&lt;/li&gt;
&lt;li&gt;Hit Detection: I implemented hit detection for a first-person shooter, and this experience will help when creating similar or more advanced systems like melee attacks or area-of-effect damage.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🔮 Applying These Lessons to Future Projects&lt;br&gt;
The lessons I’ve learned from developing Zombie Rampage will be invaluable for future projects:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Complex Animations: In future projects, I’ll be better equipped to handle animation blueprints for characters with a high number of bones or complex movements.&lt;/li&gt;
&lt;li&gt;Efficient Blueprint-Data Table Planning: I will plan blueprints and data tables together from the start, ensuring that they work harmoniously to avoid inefficiencies.&lt;/li&gt;
&lt;li&gt;Advanced Hit Detection: I’m now ready to tackle more advanced hit detection mechanisms, including melee attacks and area-of-effect damage systems.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;💬 Conclusion&lt;br&gt;
Developing Zombie Rampage over the course of two weeks was both challenging and rewarding. Despite a few setbacks, the core goals were accomplished, and I gained invaluable experience with animation blueprints, data tables, and optimizing UI code. These lessons will shape my approach to future game development projects, ensuring that each iteration is more efficient and polished than the last.&lt;/p&gt;

</description>
      <category>softwareengineering</category>
      <category>unrealengine</category>
      <category>gamedev</category>
    </item>
    <item>
      <title>Software Engineering Postmortem: Real-time Chat Microservice</title>
      <dc:creator>Victoria</dc:creator>
      <pubDate>Fri, 18 Oct 2024 04:58:25 +0000</pubDate>
      <link>https://dev.to/victoriadeveloper/software-engineering-postmortem-real-time-chat-microservice-42h5</link>
      <guid>https://dev.to/victoriadeveloper/software-engineering-postmortem-real-time-chat-microservice-42h5</guid>
      <description>&lt;p&gt;The Real-time Chat Microservice project was a full-stack web application developed using the Firebase ecosystem, React.js, Express.js, and Node.js. The goal was to create a real-time chat experience where users could create an account, log in, and send and receive messages in real time. The messages were saved in Firebase's Firestore Database, and users could view their chat history in an organized manner. This project was completed as part of a Women in Computer Science event, with a tight timeline of just 1.5 hours.&lt;/p&gt;

&lt;p&gt;The project followed a tight schedule, with only a day to complete the implementation. The core functionality revolved around:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;User authentication via Firebase's Authentication service.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;User login and listing all registered users from Firebase Firestore.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Real-time messaging, where users could initiate a chat and have live conversations.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Message history display, where all chat data was saved in Firestore and retrieved for both users in the conversation.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The Firebase ecosystem was utilized heavily for backend services, while React.js powered the frontend interface. This combination allowed rapid development and deployment.&lt;/p&gt;

&lt;p&gt;Despite the limited timeframe, the project achieved several key objectives:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;User registration and authentication: Users could successfully create accounts using email and password, and this was verified via the Firebase Console.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Login functionality: Users could log in without issues, and the authentication state was managed using Firebase’s onAuthStateChanged method.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Retrieving user data: All user profiles were pulled from Firestore and displayed in a user list for easy selection.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Real-time chat functionality: The app successfully established a real-time chat service. Users could open a conversation, send messages, and receive them in real time, with updates happening instantly.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Message persistence: All messages were saved and displayed correctly, maintaining the order in which they were sent. Firestore's real-time update capabilities ensured smooth message syncing.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There were a few challenges encountered during the development process:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Message collection structure: Defining the correct fields for the message collection in Firestore was initially tricky. Deciding how to structure the documents and ensure efficient retrieval took some time to resolve.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Sorting messages: Incorrect query parameters were initially used to retrieve messages in the correct order. This required careful tuning of the Firestore queries to ensure messages were displayed chronologically within each conversation.&lt;br&gt;
Both issues were eventually resolved, allowing the app to work as intended, but they posed significant hurdles in the short time frame.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Throughout this project, several key lessons were learned:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Query parameters in Firestore: I gained a deep understanding of how to properly use query parameters to filter and sort documents when retrieving data from Firestore collections.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Firestore structure: Working with Firestore was an insightful experience, particularly recognizing its similarities to MongoDB as a document-based NoSQL database.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Overall, the experience was positive, and the project did not require major improvements, given the successful outcomes.&lt;/p&gt;

&lt;p&gt;Looking ahead, there are some features that could enhance the real-time chat microservice:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Sending attachments: It would be valuable for users to send files or images as attachments in their chats.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Group chat functionality: Expanding from one-on-one messaging to group chat conversations would significantly increase the app's functionality and use cases.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These features could provide more flexibility and better user engagement in future iterations of the application.&lt;/p&gt;

&lt;p&gt;Working on the Real-time Chat Microservice at the Women in Computer Science event was a rewarding experience. Despite the short timeline, the project was a success, delivering a fully functional real-time chat microservice that met all of the original goals. The application effectively handled user authentication, real-time communication, and message persistence using Firebase services.&lt;/p&gt;

&lt;p&gt;Overall, the experience was both educational and enjoyable, particularly as it involved working in a collaborative environment with fellow students.&lt;/p&gt;

&lt;p&gt;The project was a great success!&lt;/p&gt;

</description>
      <category>microservices</category>
      <category>fullstack</category>
      <category>javascript</category>
      <category>firebase</category>
    </item>
    <item>
      <title>Intro To Unity + GitHub</title>
      <dc:creator>Victoria</dc:creator>
      <pubDate>Thu, 10 Oct 2024 06:43:28 +0000</pubDate>
      <link>https://dev.to/victoriadeveloper/intro-to-unity-github-4583</link>
      <guid>https://dev.to/victoriadeveloper/intro-to-unity-github-4583</guid>
      <description>&lt;p&gt;On October 7, 2024 I attended the Video Game Development Club's Intro Unity + GitHub workshop. I went into the workshop with some experience with Unity mainly from CSE 165 3-D User Interaction where I explored using Unity's XR &amp;amp; AR toolkits with Meta's Oculus Quest 2. &lt;/p&gt;

&lt;p&gt;The workshop started with installing GitHub Desktop in order to clone the repository needed for the workshop. The repository consisted of 2D game assets. We started with designing the level by utilizing sprites &amp;amp; the Sprite Renderer component to visual game objects. Next, we added a Rigidbody2D component to add physics &amp;amp; BoxCollider2D component to detect collisions on the game objects. Furthermore, we created a C# script &amp;amp; went over the Start() &amp;amp; Update() methods. Inside the Update() method I learned how to use Keycodes to read input from the user. As a result one of the C# script's functionality is to detect Keycodes to move the player's sprite. Also, we learned how to apply tags to game objects. As a result the C# script's other functionality is to detect collision &amp;amp; read tags to apply the appropriate game logic to the player's sprite. We ended with pushing and saving the project using GitHub Desktop.&lt;/p&gt;

&lt;p&gt;In conclusion, I had no experience working with 2D games going into the workshop. However, I was able to learn how to use Unity to create a 2D platformer. My next steps after this is to make a 2D platformer with Unreal Engine.   &lt;/p&gt;

</description>
      <category>csharp</category>
      <category>gamedev</category>
      <category>unity3d</category>
      <category>github</category>
    </item>
    <item>
      <title>WiC Firebase Authentication Workshop</title>
      <dc:creator>Victoria</dc:creator>
      <pubDate>Sun, 06 Oct 2024 08:43:18 +0000</pubDate>
      <link>https://dev.to/victoriadeveloper/wic-firebase-authentication-workshop-10m3</link>
      <guid>https://dev.to/victoriadeveloper/wic-firebase-authentication-workshop-10m3</guid>
      <description>&lt;p&gt;On October 3rd, 2024 I attended an event hosted by Women in Computer Science at UCSD. The event was a technical workshop called "Firebase Authentication Workshop." The goal of the workshop is to learn how to implement authentication signup/login system using Firebase. This was achieved through the workshop leader leading us through the Firebase Authentication SDK documentation &amp;amp; implementing it using a provided template repository via GitHub. &lt;/p&gt;

&lt;p&gt;After the event I decided to do more research on Firebase &amp;amp; reflect on my code. My findings proved to be really interesting. For starters I wanted to make a connection to microservices because the first time I heard the term was from a Udemy course called "React Front to Back" by Brad Traversy. After discussing with ChatGPT 40 I was able to confirm that the Firebase Authentication Software Developer Kit is a microservice. This sparked me to grasp for a deeper understanding of the relationship between the Firebase Authentication SDK &amp;amp; Firebase. As a result, I learned that Firebase is an ecosystem that provides, manages, &amp;amp; integrates microservices. &lt;/p&gt;

&lt;p&gt;Furthermore, while I was reflecting &amp;amp; commenting my code I was curious about getAuth() &amp;amp; the Auth object from the Firebase Authentication SDK. What I discovered was that the auth object is a singleton as part of the Singleton Pattern used by the Firebase Authentication &amp;amp; it's job is to represent the current authentication state and provide API methods to use the Firebase Authentication microservice.   &lt;/p&gt;

&lt;p&gt;In conclusion, I was able to learn how to use the Firebase Authentication SDK to implement an authentication signup/login system.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>firebase</category>
      <category>wecoded</category>
    </item>
  </channel>
</rss>
