Birb2D is a simple 2D game engine written in C++
Go to file
Toasterbirb d44a1f04e9 Added a nice doxygen theme 2022-01-17 21:14:41 +02:00
doxygen-awesome-css@9380569e8a Added a nice doxygen theme 2022-01-17 21:14:41 +02:00
games/Ping-Pong Fixed some memory leak and added sum stuff to make SeedSplit possible 2022-01-17 00:43:04 +02:00
include Removed docs from gitignore 2022-01-17 19:53:08 +02:00
legacy Moved license and readme back to the root directory 2022-01-01 03:36:28 +02:00
res Initial commit (commit history cleanup) 2021-12-10 08:31:09 +02:00
src Updated entity system a bit and added a new color to values 2022-01-17 18:07:29 +02:00
.gitignore Added compiled docs back to gitignore 2022-01-17 19:54:29 +02:00
.gitmodules Added a nice doxygen theme 2022-01-17 21:14:41 +02:00
LICENSE Moved license and readme back to the root directory 2022-01-01 03:36:28 +02:00
Makefile Updated entity system a bit and added a new color to values 2022-01-17 18:07:29 +02:00
README.md Documentation generation instructions 2022-01-17 19:10:48 +02:00
compile_flags.txt Initial commit (commit history cleanup) 2021-12-10 08:31:09 +02:00
doxygen_config Updated gitignore and added the base doxygen config 2022-01-17 19:08:27 +02:00

README.md

Birb2D

Birb2D is a simplistic 2D game engine made by an amateur programmer, with the goal to learn how game engines and development is done in more depth and from a complete behind the scenes perspective.

Documentation coming soon(tm).

Games made with Birb2D

External libraries

  • SDL2
  • SDL2_image
  • SDL2_ttf
  • SDL2_mixer
  • SDL2_gfx
  • doctest (included as a headerfile)

Building

Generate documentation

doxygen doxygen_config

Shared library

make -j$(nproc) engine_lib

Pong

make -j$(nproc) pong

Run tests

make -j$(nproc) run_tests

Installation

Simply compile the shared library and copy the headerfiles with

make -j$(nproc) install

to uninstall, run the following

make uninstall

Roadmap

  • Sprite rendering
  • Timestep
  • Basic input handling (currently at cave man stage)
  • Entity system (Partially functional currently)
  • Basic UI functionality
    • Buttons
    • Text
    • Dropdown menu
    • Slider
    • Input box
    • Resizable UI
      • Resolution independent UI scaling
      • Anchors
  • Sound
  • Animation
  • Physics
  • To be continued...