/Meteor2D

a simple 2D game engine

Primary LanguageC++MIT LicenseMIT

Meteor 2D Meteor 2D

Meteor is a lightweight 2D game engine designed for simplicity and flexibility in C++. Built on top of SDL (Simple DirectMedia Layer), it provides a clean and intuitive API for game development.

Meteor wip

Features

  • Simple API: Get started quickly with an easy-to-use C++ API.
  • Extensible: Customize Meteor2D to the needs of your project.
  • Lightweight: Focus on essential features for nimble game development.

Getting Started

  1. Clone the repository:

    git clone https://github.com/vishnurajendran/Meteor2D.git
  2. Include the Meteor header in your C++ project.

  3. Implement your application class by inheriting from meteor::Application and defining the necessary methods.

Documentation

Documentation for Meteor2D can be found here

Disclaimer

  • C++20 features are utilized in the development of this project.
  • This project is developed using Visual Studio 2019.
  • The Meteor 2D Game Engine has been primarily developed and tested on the Windows operating system.

Please note that while efforts are made to maintain cross-platform compatibility, the current focus and testing have been on the Windows platform.

TODO

Core

  • Application and Engine Loop.
  • Basic Logging.
  • Entities.
  • Spatial Entity.
  • Renderer and RenderCommands.
  • Sprites.
  • SpriteSheet Animation.
  • Input System.
    • Keyboard Inputs.
    • Mouse Inputs (Parked until UI implementation).
  • Scene Serialization.
  • Audio.
  • UI System.
    • UI Elements.
    • UI Events.
    • UI serialisation.
  • Gizmos.
  • 2D Physics.

QoL

  • Create a sample game using Meteor.
  • Improve documentation on advanced features.

Planned

  • Meteorite Editor.

License

Meteor is released under the MIT License.