SFML Engine


Modular SFML-Based 2D Engine Architecture

Overview

SFML Engine is a modular 2D C++ game engine designed to separate gameplay logic from backend-specific implementation details. The engine provides reusable systems for rendering, input, audio, core logic, and game object management, while using SFML as the primary backend.

The project was developed to explore clean software architecture, low-coupling system design, maintainability, and scalable C++ engineering patterns. Rather than focusing only on gameplay features, SFML Engine demonstrates how modular architecture and backend-aware abstraction can support reusable, adaptable, and future-ready game engine systems.


My Role

I designed and implemented the engine architecture, including the reusable C++ interface layer, backend abstraction structure, and integration patterns for rendering, input, audio, timing, and core engine systems. My work focused on separating gameplay logic from external library dependencies, improving maintainability, scalability, and future backend flexibility. The project reflects my interest in modern C++ development, clean software design, object-oriented architecture, and practical engineering principles that can transfer across games, simulation, tooling, and wider STEM software environments.

Key Engineering Features
  • Modular engine architecture
  • Backend abstraction layer
  • SFML rendering and input implementation
  • Scene and state management
  • Reusable entity and component systems
  • Audio and timing systems
  • Collision handling framework
  • Cross-project scalability and maintainability
Technical Highlights

The engine was designed to reduce tight coupling between gameplay logic and rendering systems. Interfaces are used extensively so that systems such as rendering, input, and audio can be replaced without affecting higher-level gameplay code. This allows future support for additional APIs such as SDL, Vulkan, or DirectX.

Development Goals

The project focused on strengthening advanced C++ programming skills, engine architecture design, object-oriented principles, and scalable software engineering practices. The engine also serves as a reusable foundation for future game development projects.

Tools and Technologies

C++, SFML, Visual Studio, Object-Oriented Programming, Interface-Based Design, Game Engine Architecture