An awesome retro console emulator written in c++.
Made with ❤️ by @rvan-mee and @K1ngmar
- Cmake version >= 3.22.1
- A compiler with >= c++17 support
# clone the respository
$ git clone --recurse-submodules [email protected]:rvan-mee/play-man.git
# create build folder
$ mkdir build
$ cd build
# generate build files
$ cmake ..
# build the project
$ make install
# play some awesome emulated games
$ cd ../bin
$ ./play-man
For our graphics, input and audio we use Simple DirectMedia Layer. We chose this library because it grants us low level access to the graphicshardware, audio and input devices. It also supports OpenGl and Direct3D.
We chose CMake for our C++ project due to its flexibility, portability, and ability to manage complex build systems effectively.
For our unit tets we chose Catch2 as it is quick and easy to get started with no external dependencies, has cmake integration and is well established.
For our settings and serialization we used nlohmann's json library. This is very usefull as it supplies an easy interface for serializing classes into json see. On top of that it integrates nicely with our enum macro for storing enum values in the json see.
- pc
- linux
- windows
- mac
- Raspberry pi
- Webassembly
- Phone
- Android
- Iphone
- Micro controller? (hopefully some day)
- Gameboy
- Gameboy
- Gameboy Color
- Gameboy Advanced
- Gamecube
- Ds
- N64
- NES
- SNES