We may earn an affiliate commission when you visit our partners.
Course image
Dr. Tim "Dr. T" Chamillard

This course is the fourth and final course in the Specialization about learning how to develop video games using the C++ programming language and the Unreal game engine on Windows or Mac.

Read more

This course is the fourth and final course in the Specialization about learning how to develop video games using the C++ programming language and the Unreal game engine on Windows or Mac.

This course assumes you have the prerequisite knowledge from the previous three courses in the specialization. You should make sure you have that knowledge, either by taking those previous courses or from personal experience, before tackling this course. Throughout this course you'll build on your foundational C# and Unity knowledge by developing more robust games with better object-oriented designs using file input and output, inheritance and polymorphism, and event handling.

This course gives you even more tools to help you build great games with C++ and Unreal!

Module 1: Start using files to implement your Unreal games

Module 2: Learn how inheritance and polymorphism help us write less code for our games

Module 3: Implement event handling to make better object-oriented designs and add menus to your Unreal games

Module 4: Explore the complete implementation of a small Unreal game

Enroll now

What's inside

Syllabus

Exceptions and File IO
In this module, you'll learn how exceptions are thrown when something bad happens as our program executes and how to handle those exceptions. You'll also learn about file IO, which is incredibly useful both in console apps and in Unreal games.
Read more
Inheritance and Polymorphism
In this module, you'll learn about inheritance and polymorphism, two of the most powerful features in object-oriented programming languages, including C++. You'll also see inheritance in action in a small Unreal game.
Event Handling and Menus
In this module, you'll learn how to use events and event handling in your game. Developing our games this way leads to much better object-oriented designs, where objects don't have to know about lots of other objects in the game. You'll also learn how to use Unreal Motion Graphics (UMG) and Slate Widgets to implement menus in your games.
Feed the Teddies
In this module, we'll go through the implementation details of a complete (small) game. You'll see many of the concepts we covered in this course (and previous courses in the Specialization as well) in action, and you'll see a few new things as well.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Develops object-oriented design knowledge, which is standard in game development
Builds on prerequisite knowledge from previous courses in the specialization, which is useful for students with some experience in C++ and game development
Teaches advanced C++ concepts, such as inheritance and polymorphism, which are used in modern game development
Includes hands-on labs and interactive materials, which helps learners apply their knowledge in a practical setting

Save this course

Save Intermediate Object-Oriented Programming for Unreal Games to your list so you can find it easily later:
Save

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 Intermediate Object-Oriented Programming for Unreal Games with these activities:
Organize and review your notes and resources
Ensure you have a solid grasp of the materials covered in the course by organizing and reviewing your notes and resources.
Show steps
  • Gather and organize your notes, assignments, quizzes, and exams.
  • Review your materials regularly to reinforce your understanding.
Practice C++ programming
Ensure your C++ programming skills are sharp before starting the course by practicing regularly.
Browse courses on C++
Show steps
  • Review basic C++ syntax and data structures.
  • Solve coding challenges and practice exercises.
Review the C# and Unity basics
Refresh your foundational knowledge in C# and Unity to ensure you have the necessary building blocks for the course.
Browse courses on C#
Show steps
  • Review your notes or online resources on C# syntax and basic programming concepts.
  • Create a simple Unity project to practice your understanding of the Unity Editor and workflow.
Six other activities
Expand to see all activities and additional details
Show all nine activities
Practice file input and output
Reinforce your understanding of file input and output by completing exercises and practice problems.
Browse courses on File IO
Show steps
  • Write a C++ program to read data from a text file.
  • Write a C++ program to write data to a text file.
  • Handle potential errors and exceptions that may occur during file operations.
Explore inheritance and polymorphism in C++
Deepen your understanding of inheritance and polymorphism by following guided tutorials and exploring code examples.
Browse courses on Inheritance
Show steps
  • Find tutorials and documentation on inheritance and polymorphism in C++.
  • Follow the tutorials and implement examples in your own C++ code.
  • Experiment with different inheritance and polymorphism techniques to understand their benefits and limitations.
Volunteer as a game developer or tester
Gain practical experience and contribute to the gaming community by volunteering your skills as a game developer or tester.
Browse courses on Game Development
Show steps
  • Identify organizations or projects that need volunteers with Unreal Engine experience.
  • Offer your services and participate in game development or testing activities.
Design and implement a small game using event handling
Apply your knowledge of event handling by creating a small game in Unreal Engine.
Browse courses on Event Handling
Show steps
  • Design a simple game concept that involves user interactions.
  • Implement the game mechanics using Unreal Engine's event handling system.
  • Test and refine your game to ensure it's engaging and responsive.
Contribute to an open-source Unreal Engine project
Enhance your understanding of Unreal Engine and contribute to the community by participating in an open-source project.
Browse courses on Open Source
Show steps
  • Identify an open-source Unreal Engine project that aligns with your interests.
  • Review the project's documentation and codebase.
  • Contribute code fixes, enhancements, or new features to the project.
Participate in a game development competition
Challenge yourself and showcase your skills by participating in a game development competition centered around Unreal Engine.
Browse courses on Game Development
Show steps
  • Find and register for a game development competition that aligns with your interests.
  • Form a team or work individually to design and develop a game within the competition's guidelines.
  • Submit your game and compete for recognition and potential rewards.

Career center

Learners who complete Intermediate Object-Oriented Programming for Unreal Games will develop knowledge and skills that may be useful to these careers:
Game Developer
Game Developers are responsible for the design, development, and implementation of video games. They use their knowledge of programming languages, game engines, and design principles to create immersive and engaging gaming experiences. This course provides a strong foundation in object-oriented programming, file input and output, inheritance and polymorphism, and event handling, which are all essential skills for Game Developers. By taking this course, learners can gain the skills and knowledge they need to pursue a career in game development.
Software Engineer
Software Engineers design, develop, and maintain computer software. They use their knowledge of programming languages, data structures, and algorithms to create efficient and reliable software applications. This course provides a strong foundation in object-oriented programming, file input and output, inheritance and polymorphism, and event handling, which are all essential skills for Software Engineers. By taking this course, learners can gain the skills and knowledge they need to pursue a career in software engineering.
Web Developer
Web Developers design, develop, and maintain websites. They use their knowledge of programming languages, web technologies, and design principles to create user-friendly and engaging websites. This course provides a strong foundation in object-oriented programming, file input and output, inheritance and polymorphism, and event handling, which are all essential skills for Web Developers. By taking this course, learners can gain the skills and knowledge they need to pursue a career in web development.
Mobile Developer
Mobile Developers design, develop, and maintain mobile applications. They use their knowledge of programming languages, mobile operating systems, and design principles to create user-friendly and engaging mobile apps. This course provides a strong foundation in object-oriented programming, file input and output, inheritance and polymorphism, and event handling, which are all essential skills for Mobile Developers. By taking this course, learners can gain the skills and knowledge they need to pursue a career in mobile development.
Game Designer
Game Designers create the concepts, stories, and gameplay mechanics for video games. They work closely with Game Developers to bring their vision to life. This course provides a strong foundation in object-oriented programming, file input and output, inheritance and polymorphism, and event handling, which are all essential skills for Game Designers. By taking this course, learners can gain the skills and knowledge they need to pursue a career in game design.
Technical Writer
Technical Writers create documentation for software and hardware products. They use their knowledge of technical writing principles and software development to create clear and concise documentation that helps users understand how to use and maintain products. This course provides a strong foundation in object-oriented programming, file input and output, inheritance and polymorphism, and event handling, which are all essential skills for Technical Writers. By taking this course, learners can gain the skills and knowledge they need to pursue a career in technical writing.
Data Scientist
Data Scientists use their knowledge of data analysis, machine learning, and statistics to extract insights from data. They work with businesses to help them make better decisions based on data. This course provides a strong foundation in object-oriented programming, file input and output, inheritance and polymorphism, and event handling, which are all essential skills for Data Scientists. By taking this course, learners can gain the skills and knowledge they need to pursue a career in data science.
UX Designer
UX Designers create the user experience for websites, mobile apps, and other digital products. They use their knowledge of human-computer interaction, design principles, and usability testing to create user-friendly and engaging experiences. This course provides a strong foundation in object-oriented programming, file input and output, inheritance and polymorphism, and event handling, which are all essential skills for UX Designers. By taking this course, learners can gain the skills and knowledge they need to pursue a career in UX design.
Business Analyst
Business Analysts help businesses understand their business needs and develop solutions to meet those needs. They use their knowledge of business processes, data analysis, and technology to help businesses improve their operations. This course provides a strong foundation in object-oriented programming, file input and output, inheritance and polymorphism, and event handling, which are all essential skills for Business Analysts. By taking this course, learners can gain the skills and knowledge they need to pursue a career in business analysis.
Project Manager
Project Managers plan, execute, and close projects. They use their knowledge of project management principles, risk management, and communication to ensure that projects are completed on time, within budget, and to the required quality. This course provides a strong foundation in object-oriented programming, file input and output, inheritance and polymorphism, and event handling, which are all essential skills for Project Managers. By taking this course, learners can gain the skills and knowledge they need to pursue a career in project management.
Systems Analyst
Systems Analysts design, develop, and implement computer systems. They use their knowledge of systems analysis, software development, and hardware to create efficient and reliable systems that meet the needs of businesses. This course provides a strong foundation in object-oriented programming, file input and output, inheritance and polymorphism, and event handling, which are all essential skills for Systems Analysts. By taking this course, learners can gain the skills and knowledge they need to pursue a career in systems analysis.
Database Administrator
Database Administrators manage and maintain databases. They use their knowledge of database management systems, data structures, and security to ensure that databases are available, reliable, and secure. This course provides a strong foundation in object-oriented programming, file input and output, inheritance and polymorphism, and event handling, which are all essential skills for Database Administrators. By taking this course, learners can gain the skills and knowledge they need to pursue a career in database administration.
Network Administrator
Network Administrators manage and maintain computer networks. They use their knowledge of networking protocols, network security, and network troubleshooting to ensure that networks are available, reliable, and secure. This course provides a strong foundation in object-oriented programming, file input and output, inheritance and polymorphism, and event handling, which are all essential skills for Network Administrators. By taking this course, learners can gain the skills and knowledge they need to pursue a career in network administration.
Computer Support Specialist
Computer Support Specialists provide technical support to users of computers and other electronic devices. They use their knowledge of hardware, software, and troubleshooting to help users resolve technical issues. This course provides a strong foundation in object-oriented programming, file input and output, inheritance and polymorphism, and event handling, which are all essential skills for Computer Support Specialists. By taking this course, learners can gain the skills and knowledge they need to pursue a career in computer support.
Teacher
Teachers plan, develop, and deliver lessons to students in a variety of settings. They use their knowledge of curriculum development, instructional methods, and classroom management to create engaging and effective learning experiences. This course provides a strong foundation in object-oriented programming, file input and output, inheritance and polymorphism, and event handling, which are all essential skills for Teachers. By taking this course, learners can gain the skills and knowledge they need to pursue a career in teaching.

Reading list

We've selected ten 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 Intermediate Object-Oriented Programming for Unreal Games.
Comprehensive reference on real-time rendering techniques. It valuable resource for game developers who want to learn more about the underlying principles of computer graphics and how to implement them in their games.
Provides an overview of the architecture of modern game engines. It valuable resource for game developers who want to learn more about how game engines work and how to design and implement their own.
Provides a comprehensive overview of the psychology of game design and how to use psychological principles to create more engaging and effective games.
Comprehensive guide to game development with Unreal and C++. It good option for those who want to start learning game development with Unreal.
Provides a collection of design patterns and best practices for game programming. It valuable resource for game developers who want to learn how to write more efficient and maintainable code.
Provides an overview of the C++ game development process and common coding challenges in game development.

Share

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

Similar courses

Here are nine courses similar to Intermediate Object-Oriented Programming for Unreal Games.
Intermediate Object-Oriented Programming for Unity Games
Most relevant
Planning, HUDs, and Spawners in GameMaker
Most relevant
More C++ Programming and Unreal
Most relevant
Moving, Shooting, and Debugging in GameMaker
Most relevant
Parenting and More GameMaker Language Code
Most relevant
C++ Class Development
Most relevant
Getting Started with GameMaker
Most relevant
Unreal Engine 5 C++ Developer: Learn C++ & Make Video...
Most relevant
Introduction to C++ Programming and Unreal
Most relevant
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