Want to talk? ;)

01

Bastion

01

Bastion

01

Bastion

At that time, our team, Exodia, aimed to create a game called Bastion that combined mass appeal with engaging gameplay, allowing players to experience great fun with minimal strategy. To achieve this, the development team requested an engine that supported OpenGL, was lightweight on memory, offered various development features, and allowed for debugging across multiple platforms.

Role:

QA & Game Engine Development Lead

Duration:

22 weeks

Challenges

  1. Easy Debugging: Designed the program to allow direct adjustment of values within the software, without needing to manually edit .json or .txt files.

  2. Cross-Platform Compatibility: Developed the system to enable debugging on various platforms like Windows and MacOS, ensuring team members using different platforms could work seamlessly.

  3. Convenient Scalability: Implemented simple design patterns to make it easy to add new game stages or necessary engine features.

  4. Memory Management: Managed the game to ensure that total memory usage does not exceed 500MB.

My Approach

  1. Discovery Phase

  • Meetings with Game Logic Development Team: Held in-depth discussions with the logic team and other departments to understand the necessary features, development timeline, usability, and specific requirements for the game.

  • Coding Design Pattern Analysis: Researched current game companies and the latest trends to identify key patterns and design elements that would allow all team members to handle the engine without difficulty.

  1. Design and Development

  • Design Pattern Selection: Built the engine foundation with the Singleton pattern for easy synchronization in multithreaded environments and compatibility with other patterns.

  • IMGUI Implementation: Integrated IMGUI into the engine for a clear, feature-rich UI that allows instant value adjustments.

  • Cross-Platform Support: Enabled CMake builds for Visual Studio Code, ensuring compatibility on MacOS, which doesn’t support Visual Studio.

  • Graphics Feature Implementation: Developed and applied various features to enhance game quality, such as rendering high-quality vector style fonts and implementing V-sync for consistent performance across different resolutions.

  • Automated Build Pipeline: Designed an automated process using GitHub Actions to prevent the submission of incorrect code during development, ensuring a smoother workflow for the team.

  1. Testing and Iteration

  • Team Feedback: Collected feedback from team members on engine improvements, enhanced its stability, and standardized the code style using .clang-format.

  • Performance Optimization: Enhanced load speeds for optimal performance, ensured fluid and intuitive navigation, and maintained robust compatibility across a wide range of devices and browsers.

Results

The engine development and its application were highly successful, significantly contributing to the team's ability to develop a prototype and release the final version within the project timeline.

Additionally, since few project teams at the time utilized IMGUI, this approach was highly praised by the evaluation panel, including professors, resulting in an A+ grade.

Future Plans

  1. CI Improvement: The CI implemented in this project primarily focused on bug checking. Additional features such as code quality analysis, notification generation, and merge validation are being explored.

  2. Expansion: A comprehensive overhaul of the engine structure is planned to ensure the game can run in HTML, making it playable across various platforms.

Conclusion

Through thoughtful planning, advanced design techniques, and innovative engine development, the project successfully met and exceeded expectations.

This accomplishment demonstrates the ability to deliver robust and efficient solutions, driving both performance and recognition in a competitive environment.

New Thinking, New Possibilities -

I’m here to help you create smth exceptional together!

New Thinking, New Possibilities -

I’m here to help you create smth exceptional together!

New Thinking,

New Possibilities — I’m here to help you create smth exceptional together!