We may earn an affiliate commission when you visit our partners.
Course image
Frahaan Hussain

Learn how to make cross platform games using Tic-Tac-Toe as an example. A step by step process is used to show everything from project setup to essential game design techniques.

Gain a good understanding of the following concepts:

Read more

Learn how to make cross platform games using Tic-Tac-Toe as an example. A step by step process is used to show everything from project setup to essential game design techniques.

Gain a good understanding of the following concepts:

  1. C++ Game Programming

  2. Video Game Logic

  3. SFML Game Programming

  4. Game Mechanics

SFML is one of the easiest game frameworks in the world and will provide you with a solid foundation for your game development journey. The gaming industry is bigger than Hollywood and is constantly growing, start your journey now.

You will be provided with the full source code to aid in development during and after this course. The source code and artwork is free to use in as many projects as you wish.

Over 205,000 students have enrolled on my courses and all of them are extremely satisfied. You will also be satisfied with this course. If you do not like the course, remember that within 30 days you can request a full refund. I guarantee you satisfaction.

If you have any questions regarding the topics covered in this course, please feel free to ask. I'm always happy to help those who want to learn.

To summarise this is what you get:

• Lifetime access to HD quality videos. No monthly subscription. Learn at your own pace, whenever you want.

• All videos are downloadable. Learn wherever you want, even without an internet connection.

• Downloadable starter code and final code for each section.

• Free helpful support in the course Q&A when you have questions or get stuck.

• Multiple coding challenges to practice your new skills (solutions included).

Sounds great? Then start this adventure today by clicking the “Take this course" button, and join me in the only course that you will need.

Enroll now

What's inside

Learning objectives

  • Use c++ to make a game
  • Create a cross platform game
  • Create a multi device game
  • Use the sfml framework to make a game
  • Understand game logic
  • Understand how to create an adaptable game template
  • Create an extendable game engine
  • Understand tic-tac-toe game mechanics

Syllabus

Take a sneak peak at what you will be creating throughout this course and the skills you will obtain.

We will cover setting up our project.
Read more

In this video we will cover the following:

Prerequisites:

  • Windows Visual Studio project setup
  • Resources
  • Feature

In this video we will cover the following:

Prerequisites:

  • Mac Xcode project setup
  • Resources
  • Feature
We will create a game engine to provide a solid foundation for all your game development needs.

We will create the state machine which will allow our game to manage different game states/screens from Main Menu to Game to Pause state.


Great links to learn more about State Machines:

  • http://gameprogrammingpatterns.com/state.html
  • https://www.gamedev.net/resources/_/technical/game-programming/state-machines-in-games-r2982
  • https://gamedevelopment.tutsplus.com/tutorials/finite-state-machines-theory-and-implementation--gamedev-11867

We will create an asset manager to handle the loading and retrieval of various types of assets including the following:

  • Textures
  • Fonts

We will cover implementing an input manager to handle all of our input needs. It will be extendable allowing you to implement more and complex input methods for your future games.

We will implement the main game loop that will handle all of our game from input to asset management to state handling.

We will create all the different states our game will be in.

We will now implement the Splash State that allows us to add our very own logo.

We will now implement the Main Menu State that allows us to  navigate to the Game State and displays the game name/logo.

We will now implement the Game State that will contain our main game logic and game elements.

We will now implement the Pause State that will appear when pausing our game and provide a method to go back to the main menu.

We will now implement the Game Over State that will appear when the player wins or loses.

Game Logic

We will now start to implement the the grid system which will contain the game pieces.

Let's now implement the functionality to place a game piece.

Let's now implement the win condition to allow us to win at our awesome game.

We have a game but we want to be able to play against the computer, so let's implement AI.

We now will implement the final part of the game to show the game over state when the player wins, loses or draws.

You have created an awesome game and learnt many skills, where to go from here?

You have created an awesome game, lets discuss where you can go from here.

Bonus Lecture: Discounted Courses

Thanks a lot for enrolling in this course, as a way of saying thank you, I am giving you access to my other classes on (game development) at a steep discount! Hope you enjoy them.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Examines cross-platform game development
Teaches game design based on Tic-Tac-Toe
Develops skills in C++ game programming
Suitable for novice programmers
Materials include source code and artwork
Requires familiarity with Windows Visual Studio or Mac Xcode

Save this course

Save Tic-Tac-Toe Clone - The Complete SFML C++ Game Course to your list so you can find it easily later:
Save

Reviews summary

Introductory course with basic features

According to students, this introductory course provides basic features for creating a Tic-Tac-Toe clone. Reviews indicate that this course is very good.

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Tic-Tac-Toe Clone - The Complete SFML C++ Game Course with these activities:
Review C++ concepts
This course will require a foundational knowledge of C++ to understand fully
Browse courses on C++
Show steps
  • Read through your C++ notes or textbooks
  • Practice writing simple C++ programs
Practice debugging
This activity will help you develop critical skills to troubleshoot issues while building your own game
Browse courses on Debugging
Show steps
  • Go through online tutorials or documentation on debugging
  • Find a simple bug in an existing codebase and fix it
Create a simple game using SFML
Building a game will help you understand the concepts covered in this course and put them into practice
Browse courses on SFML
Show steps
  • Design your game (mechanics, graphics, etc.)
  • Set up your development environment
  • Implement basic game functionality
  • Add graphics and polish your game
Four other activities
Expand to see all activities and additional details
Show all seven activities
Follow tutorials on cross-platform game development
There are many resources available online that can help you learn more about cross-platform game development
Show steps
  • Search for tutorials on cross-platform game development using SFML
  • Follow the tutorials and build a simple cross-platform game
Answer questions on game development forums
Helping others can reinforce your own understanding and strengthen your skills
Browse courses on Game Development
Show steps
  • Find a game development forum
  • Answer questions that you are able to answer
Develop a game with advanced features
Challenging yourself with a larger project will help you master the skills learned in this course
Browse courses on Game Development
Show steps
  • Design your game (mechanics, graphics, etc.)
  • Implement advanced game features (e.g., AI, networking)
  • Polish your game and prepare it for release
Contribute to an open-source game development project
Contributing to open-source projects can enhance your skills, knowledge, and teamwork abilities
Browse courses on Open Source
Show steps
  • Find an open-source game development project that interests you
  • Learn about the project and its codebase
  • Identify an area where you can contribute
  • Make your contributions and get them reviewed

Career center

Learners who complete Tic-Tac-Toe Clone - The Complete SFML C++ Game Course will develop knowledge and skills that may be useful to these careers:
Computer Games Programmer
Computer Games Programmers write the code that makes games work, using their knowledge of programming languages and software engineering principles. This course teaches you the basics of programming, essential for success as a Computer Games Programmer. Through hands-on projects, you'll learn how to use C++ and the SFML framework to create your own Tic-Tac-Toe clone, building a solid foundation for your game development journey.
Software Developer
Software Developers may develop, design, test, deploy, maintain, and evaluate computer software, including applications, frameworks, and operating systems. They must understand programming languages, software engineering principles, and computer science fundamentals. This course can help you develop the programming knowledge needed to pursue a career as a Software Developer.
Game Designer
Game Designers create the overall concept, rules, and mechanics of video games. Detailed knowledge of video game programming is not always required, but is increasingly valuable to Game Designers. This course will strengthen your game design concepts and provide you with the programming skills required to understand and implement game mechanics, making you a more versatile candidate for Game Designer positions.
Web Developer
Web Developers create and maintain websites and web applications. They use programming languages like HTML, CSS, and JavaScript to make websites interactive and visually appealing. This course will teach you the basics of programming, an essential skill for aspiring Web Developers. By building a Tic-Tac-Toe game using C++ and SFML, you'll gain a foundation in software development principles.
Data Scientist
Data Scientists analyze data, identify trends, and build models to inform decision-making. They typically require a background in statistics and programming. This course teaches programming, essential for data analysis and modeling, and provides a foundation for a career as a Data Scientist.
Mobile Applications Developer
Mobile Applications Developers design and code mobile apps for smartphones and tablets. They use programming languages and software development kits to create user interfaces, manage data, and integrate with other applications. This course provides a foundation in mobile app development by teaching you C++ and the SFML framework. By creating a Tic-Tac-Toe game, you'll gain experience in designing and coding mobile applications.
Front-End Engineer
Front End Engineers design and develop the user interface and user experience of websites and web applications. They use programming languages like HTML, CSS, and JavaScript. This course teaches the basics of programming, essential for Front End Engineers. By building a Tic-Tac-Toe game using C++ and SFML, you'll gain foundational software development skills.
UX Designer
UX Designers research, analyze, and design user interfaces and user experiences for websites, apps, and other products. They focus on creating user-friendly and visually appealing designs. While programming skills are not always required, they can enhance your understanding of user interactions. This course will provide a foundation in programming, giving you an edge in the UX design field.
Game Artist
Game Artists create the visual assets for video games, including characters, environments, and props. They use software like Photoshop and Maya to design and model these assets. Knowledge of game development and programming principles can be beneficial to Game Artists. This course provides an introduction to game programming and logic, giving you a better understanding of the technical aspects of game development.
Technical Writer
Technical Writers create user manuals, help files, and other documentation for software and hardware products. They must understand the technical aspects of the product and have strong writing skills. This course teaches programming and game development concepts, giving you a foundation to understand the technical products you'll be documenting as a Technical Writer.
Product Manager
Product Managers manage the development, marketing, and launch of new products. They work closely with engineers, designers, and marketers to ensure that the product meets customer needs. Knowledge of software development and programming principles can be valuable for Product Managers. This course provides an introduction to game development, giving you a better understanding of the technical aspects of product development.
Quality Assurance Tester
Quality Assurance Testers test software and hardware products to identify and report bugs and defects. They use their knowledge of testing methodologies and tools to ensure that the product meets quality standards. This course teaches programming and software development principles, providing a foundation for understanding the products you'll be testing as a Quality Assurance Tester.
Computer Systems Analyst
Computer Systems Analysts design, implement, and maintain computer systems. They work with clients to understand their business needs and develop solutions that meet those needs. Programming skills are essential for Computer Systems Analysts. This course teaches programming and software development principles, providing a foundation for success in this role.
Business Analyst
Business Analysts analyze business needs and develop solutions to improve efficiency and productivity. They use their knowledge of business processes and technology to identify areas for improvement. Programming skills are not always required, but can be beneficial. This course provides an introduction to programming, giving you an additional skill to leverage as a Business Analyst.
Project Manager
Project Managers plan, execute, and close projects. They work with stakeholders to define project scope, timelines, and budgets. Programming skills are not always required, but can be beneficial for managing software development projects. This course provides an introduction to programming and software development principles, giving you a better understanding of the technical aspects of project management.

Reading list

We've selected 12 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Tic-Tac-Toe Clone - The Complete SFML C++ Game Course.
Provides a collection of patterns and techniques that can be used to create reusable and maintainable game code. The book is written in a clear and concise style, making it a valuable resource for both beginner and experienced game developers.
Provides a detailed overview of the architecture of a game engine. The book covers all aspects of game engine design, from the core engine to the various subsystems that make up a game. The book is well-written and easy to follow, making it a great resource for both beginners and experienced game developers.
Provides a comprehensive overview of the theory of game design. The book covers a wide range of topics, from the history of game design to the latest trends in the industry. The book is well-written and thought-provoking, making it a valuable resource for both beginner and experienced game developers.
Provides a comprehensive overview of the game development process. The book covers all aspects of game development, from brainstorming ideas to testing and releasing a game. The book is well-written and easy to follow, making it a great resource for both beginner and experienced game developers.
Provides a comprehensive overview of the algorithms and techniques used in game development. The book covers a wide range of topics, from basic concepts to advanced techniques, making it a valuable resource for both beginner and experienced game developers.
Provides a collection of essays on the art of game design. The essays cover a wide range of topics, from the creative process to the business of game development. The book is well-written and thought-provoking, making it a valuable resource for both beginner and experienced game developers.
Provides a comprehensive overview of the level design process. The book covers all aspects of level design, from creating a level concept to testing and releasing a level. The book is well-written and easy to follow, making it a great resource for both beginner and experienced game developers.
Provides a collection of examples of how to program AI for games. The examples cover a wide range of topics, from basic concepts to advanced techniques, making it a valuable resource for both beginner and experienced game developers.
Provides a comprehensive overview of the game development process. The book covers all aspects of game development, from brainstorming ideas to testing and releasing a game. The book is well-written and easy to follow, making it a great resource for both beginner and experienced game developers.
Provides a comprehensive overview of artificial intelligence techniques used in game development. The book covers a wide range of topics, from basic concepts to advanced techniques, making it a valuable resource for both beginner and experienced game developers.
Provides a comprehensive overview of the mathematics used in game development. The book covers a wide range of topics, from basic algebra to advanced calculus, making it a valuable resource for both beginner and experienced game developers.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Tic-Tac-Toe Clone - The Complete SFML C++ Game Course.
Flappy Bird Clone - The Complete SFML C++ Game Course
Most relevant
Hacking Unity and WatchKit - Make Games and Apple Watch...
From Code to Creation: Mastering Game Programming
A Complete Guide to Game Design
Unity 2D Game - Kawaii Survivor - The Coolest Roguelike...
Gen AI for Software Development: Code Generation for...
Full BabylonJS Game Dev (2D, 3D, Online with ColyseusJS)
Making Your First Game in Game Maker Studio 2
Unreal Engine 5.2 : Exploring Lyra for Game Development
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser