Welcome to the Splashkit Game Engine Project! This repository hosts the source code and documentation for a flexible and extensible game engine designed to help you create interactive and immersive games. The project is built following SOLID principles, which ensures a modular architecture that promotes easy subsystem swapping and the addition of new game objects and behaviors.
The Splashkit Game Engine Project aims to provide a solid foundation for developing games by offering a set of core components that handle essential aspects of game development. These components include rendering, game state management, physics simulation, input handling, and more. By using this game engine, you can focus on building the unique features and gameplay mechanics that make your game stand out.
-
Modularity: The game engine is structured in a modular fashion, making it easy to swap out or extend different components like rendering engines, input handlers, and more. This allows you to tailor the engine to your specific project needs.
-
Flexible Game States: The game engine supports a flexible state management system, allowing you to create different game states such as main menu, gameplay, and pause screens. Transitions between states are handled seamlessly, ensuring a smooth player experience.
-
Component-based Architecture: Game objects are built using a component-based architecture, which enables you to attach different behaviors and functionalities to objects. This approach promotes reusability and simplifies the creation of complex game entities.
-
Rendering Options: The rendering system is designed to accommodate various rendering backends, including 2D, 2.5D ray cast, and the potential for 3D rendering in the future. This flexibility enables you to achieve the visual style you envision for your game.
To get started with the Splashkit Game Engine Project, follow these steps:
-
Clone the Repository: Clone this repository to your local machine using
git clone https://github.com/coskun-kilinc/SplashKit-Game-Engine.git
. -
Explore the Code: Dive into the codebase and explore the different components of the game engine. Take a look at how rendering, game state management, and other key functionalities are implemented.
-
Contribute: If you're interested in contributing to the project, check out the Contribution Guide for details on how you can help shape the development of the game engine.
For in-depth details about the project's architecture, design, and usage, please refer to the documentation available in this repository. The documentation provides insights into the structure of the game engine, the roles of different components, and how to effectively use them to create games.
We value your feedback and are here to help. If you have questions, encounter issues, or want to discuss ideas related to the Splashkit Game Engine Project, please open an issue in this repository. We encourage a collaborative environment and look forward to your contributions and suggestions.