A step-by-step introduction to SFML to help you build enjoyable, cross-platform games
SFML is a framework that allows you to write games and run them on various operating platforms, including Windows, Linux, and OS X. With a simple programming interface to the different components of the underlying device, SFML gives aspiring game developers the ability to create and publish enjoyable games.
Building Games with SFML will guide you through the entire process of game development. You will master the main features of SFML and become confident in architecting and designing games because everything you learn will translate to your own project. Even experienced developers are highly likely to learn something new.
To begin with, you'll learn how to compile and install SFML before introducing the system, window, graphics, and audio modules of SFML.
We then move on to the development of a clone of the Pac-Man game, called Pac-Woman, enhanced by entertaining modern features, starting by laying the foundation of the game after you understand key game development patterns. Piece by piece, from the game loop to the implementation of artificial intelligence, we will build an engaging game. It will include the implementation of game states, the modeling of entities, the animation of characters, and rendering the maze. Finally, this course concludes by adding gameplay and putting it all together to produce an exciting and challenging game.
Who this course is for
Whether you are a beginner who wants to use this amazing framework or a proficient SFML developer, this course is built to get a beginner from start to end, and to refresh all the aspects for an existing SFML developer. It will also give you pointers on game development, best practices, and how to avoid pitfalls.
What you will learn from this course
- Set up a cross-platform game project and deploy the game on various gaming platforms
- Draw shapes, text, and images efficiently while applying geometrical transformations
- Play environmental sounds and background music
- Lay the foundations of a game with respect to the game loop and game states
- Model entities and animate the characters of a game
- Render an appealing scene efficiently from a two-dimensional array
- Use views to implement a camera-tracking (or scrolling) feature
- Write the code for basic artificial intelligence