Metal Slug: Bringing a Classic Action Game to Modern Platforms

CMU 24-783 Course Project

Time: Jan 2023 – May 2023

Skills: C++, OpenGL

Introduction

In an endeavor to connect the past and present of gaming, this project focused on reviving the legendary arcade game Metal Slug for contemporary operating systems (Windows, macOS, and Linux) using OpenGL. This initiative was fueled by a passion for preserving classic gaming experiences, ensuring they remain accessible and enjoyable in today’s digital landscape. The core objective was to faithfully replicate the original’s enthralling mechanics and distinct visual style, bringing the classic’s dynamic gameplay to a new generation.

From left to right: The main character, and two types of enemy in the game.

Design

The design phase of the game involved several critical components:

  • Main Character: An armed character with sophisticated control mechanics for movement (left, right, jump) and combat (shooting), including health points (HP) management.
  • Enemies: Varied AI behaviors for different enemy types, including soldiers and tanks, each with unique movement patterns and attack strategies.
  • Background: Two primary sections - the menu and game backgrounds - were developed, with dynamic elements to enhance visual engagement and game immersion.
  • Human-Computer Interaction: Focused on creating intuitive and responsive controls for game navigation and interaction, enhancing the user experience.

Evaluation

The project’s feasibility was evaluated against technical capabilities, time constraints, and team expertise. Special attention was given to ensuring that the gameplay experience remained true to the original while utilizing OpenGL capabilities.

Methods

The project’s development methodology was characterized by a thorough and multifaceted approach:

  • OpenGL and Cross-Platform Development: Utilized OpenGL for its efficient handling of 2D graphics and cross-platform capabilities, ensuring a consistent gaming experience across different operating systems.
  • Advanced Programming Techniques: Employed modern programming techniques, including object-oriented programming, to create a modular and maintainable codebase.
  • Use of Development Frameworks and Libraries: Integrated specific frameworks and libraries to streamline development, such as GLFW for window management and GLEW for managing OpenGL extensions.
  • Performance Tuning: Focused on optimizing game performance through profiling and fine-tuning, addressing issues like frame rate stability and memory management.

Results

The project successfully achieved its goal, effectively porting Metal Slug. Key accomplishments included:

  • Authentic recreation of the game’s mechanics and visual style.
  • Consistent and high-quality performance across various operating systems.
  • Creation of an engaging user interface with responsive and intuitive controls.

Conclusion

This project not only demonstrated the potential of OpenGL in reviving classic games but also breathed new life into Metal Slug, making it accessible to modern audiences. The success of this project paves the way for future enhancements and underscores the enduring charm of classic games in the contemporary gaming world.