Introduction
Underscoped is a game I developed with Some Dudes Studio in Unreal Engine 5 It puts the player in the shooes of a overworked nurse in the demanding world of modern healthcare. Intended to shed light on the struggeling healthcare system.
Post-Mortem
Highlights
Scripting in Blueprints: My primary responsibility was scripting in blueprints, focusing on the task system, a critical component in our game. Due to the tight time frame, I dedicated a significant portion of the project to refining this system.
I was responsible for version control. Leveraging my prior experience with managing Git and problem-solving, I assisted the team in navigating version control challenges.
Collaborative Team Dynamics: Our team had excellent vibes, and we fostered a positive working relationship. Initial brainstorming sessions were productive, and we collectively decided to address understaffing within the health sector, providing a meaningful direction for our game.
Adaptable Scrum Methodology: Scrum worked well for us, allowing us to adjust the scope of the game through regular reviews and planning sessions. This approach made it easier to stay on track, and adapt our game as needed. Setting an early target for a finished game helped alleviate stress during the final week.
Asset Packs for Accelerated Development: We discovered and utilized several asset packs, primarily for 3D assets, effects, and a physics system. This significantly sped up our development process.
Problems Encountered
Git Challenges: We faced frequent issues with Git, such as false positives changed indication on unchanged files during pulls and branch switches. While staging changes mitigated the problem, persistent issues required various Git commands to resolve. It’s unclear if the use of Unreal Engine with Git contributed to these challenges.
Unreal Engine Bugs and Blueprint Limitations: We encountered a bug in Unreal Engine related to macros, wildcards and arrays. Additionally, limitations in Blueprints, especially the absence of generics and interface not having variables, posed challenges during implementation.
Misunderstandings and Task-System Complexity: Minor misunderstandings arose occasionally, quickly resolved through communication. The task system took longer than expected due to insufficient documentation, impacting our overall timeline.
Post-Departure Bugs: Leaving before building the project occasionally resulted in bugs, related to the code I had worked on, so the rest of the team had to call me to help resolve it. This was mainly caused by the fact that running in editor is more fault tolerant then building.
Shift to Blueprints Over C++: Initially planning to contribute in C++, I ended up doing all the scripting in Blueprints. This decision aimed to simplify code accessibility for team members and alleviate setup complexities associated with C++ in Unreal.
Views and Areas for Improvement
Task Updating: I could have improved in updating the tasks I was responsible for, ensuring clearer communication about the status of ongoing work.
Responsibility Overlap: The nature of our small-scale project and tight timeframe led to overlapping responsibilities. This dynamic could be better managed to streamline workflows.
Clear and Precise Communication: Enhancing communication clarity and precision would address minor misunderstandings that occurred during the project.
Git and Unreal Integration: A deeper understanding of Git with Unreal and Git-LFS is essential for future Unreal group projects or similar collaborative endeavors.
Emphasis on Design: Acknowledging my strength in coding, I recognize the need to invest more effort in design documentation and overall project documentation.
Project Assessment: Considering our limited time and experience, I’m content with the project’s outcome. However, further polish and balancing could enhance the final product.
Conclusion
The project, despite its challenges, provided valuable insights into collaborative development, emphasizing the importance of clear communication, adaptability, and proactive problem-solving. Moving forward, I aim to refine my skills in both coding and project management, building on the lessons learned during this endeavor.