Skip to content

16 games developed in Ada and C++ for didactic purposes. Originally developed in C++ by YouTuber "FamTrinli".

Notifications You must be signed in to change notification settings

mgrojo/16-Games

 
 

Repository files navigation

16 Bilingual Games in Ada and C++ using SFML

16 Games originally developed in C++ and SFML library by Russian YouTuber "FamTrinli".

We like the fact that most games are coded in a single file, aren't hard to grasp and are entertaining. They are a good playground to play with the SFML library and a showcase on how easy it can be to get some simple game idea working.

Ada

In this fork, I am porting the games to Ada 2012 in order to test and showcase the binding to SFML: ASFML.

To build the Ada versions, clone ASFML at the same directory level as 16-Games, enter each directory and run gprbuild or open the GPR file using GNAT Studio.

C++

embeddedmz added CMake support to ease the building process of the 16 games under Windows and other platforms (GNU/Linux distros, macOS).

"vcpkg" can be used under Windows to install the following dependencies (watch out for the triplet parameter x86/x64):

  • sfml (Ubuntu: sudo apt install libsfml-dev)
  • box2d (only for the game 15: Volleyball - Ubuntu: sudo apt install libsfml-dev)

Youtuber "DeveloperPaul123" made a good video about "vcpkg" and how it can be used with CMake.

I recommend Windows users to use "vcpkg" when configuring the CMake project. This tool will automatically copy libraries DLLs in the build directories and you will be able to launch the games from Visual Studio.

When launching a game outside Visual Studio, do not forget to move asset files/directories (e.g. images folder) in the same executable directory (or launch the game from the directory in which asset files and/or directories are located via the command line interpreter 'cmd.exe').

Compilation has been tested with:

  • Microsoft Visual Studio 2019 (Windows 8.1) using vcpkg and CMake 3.17.1
  • GCC 9.3.0 '(Ubuntu 20.04 LTS)

Upcoming changes:

  • Volleyball doesn't seem to work well on my Windows 8.1: game launches but is not playable (no players).
  • Make Game 14 (Chess) compilable under non-Windows platforms (for now use -DBUILD_CHESS=OFF when generating makefiles with CMake).
  • Completing some games if needed (e.g. missing Game Over in Tetris and Arkanoid).
  • Add Clang-format support.
  • Increase code readability/quality if needed (STL algos, smart pointers, small optimizations etc...).
  • Fixing bugs (if any).
  • Adding small features to some games (e.g. music).

About

16 games developed in Ada and C++ for didactic purposes. Originally developed in C++ by YouTuber "FamTrinli".

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 54.2%
  • Ada 37.9%
  • CMake 7.3%
  • GLSL 0.6%