This is a project that students of Learn C++ the hardway checkout to confirm their setup is correct, and also doubles as a quick start for a basic C++ game project start.
You can not select more than 25 topicsTopics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repository contains a simple C++ project with the basics you need to get a game in C++ going. It's meant to be an educational starting point for people interested in learning to make games in C++ from scratch. It also would be a decent starting point for building a game with other frameworks like [Raylib](https://www.libsdl.org/), [SDL2](https://www.libsdl.org/), or anything that needs to be compiled. This setup also works on Windows, OSX, and Linux and includes a "meta install" script for Windows that installs a complete C++ development environment.
I recommend you get this project working with SFML and then rework it for the other framework you want to use, but honestly SFML is really good and works well.
## If You Just Want to Make a Game
This project is more geared toward people who want to learn C++ by making a bunch of little games, or people who want to learn how to make games from almost nothing. If you have a burning desire to craft a game, then I recommend _not_ using this project and instead go learn any of these:
Keep in mind that I've only played with each of these, and have _not_ made a full game in them, so my opinion is highly suspect. You should probably just download each one, think of a tiny little game to make, and try to make it. Pick the framework that gets the most of your game done with the least effort.
## Windows
If you have nothing installed then you'll want to run the `scripts/windows_setup.ps1` script to install everything. This script will run and prompt you for admin passwords as it installs what you need, so be sure to stay near your computer to type passwords in when requested. To run it do this:
If you get a weird error message of, "We got a keyboard without any keys" it's because of a security feature in OSX. Go to `Security settings->Input Monitoring` and select your Terminal. Check it, enter your admin password, then restart your Terminal. Now you can...read the keyboard in your own software.
No, this does not enhance security at all. These people have gone full on insane at this point.