Sorry, this page is no longer available
We may earn an affiliate commission when you visit our partners.
Course image
Peter Morgan

Here are a few quotes from the reviews for the course:

Read more

Here are a few quotes from the reviews for the course:

  • "This is by far the BEST GameMaker Studio 2 tutorial I've ever taken.   ... this course is SO. MUCH. FUN."  - Frank

  • "Without a doubt, this is the best content I have found on learning GMS2: the instructor is obviously an expert in both GM and programming; the pacing is spot-on, the material is excellent and really teaches best practices. It really stands out as the best of all the paid and free tutorials on Gamemaker." - Craig

  • "Without a doubt one of the best Game Maker courses I've seen across all online learning websites. - Jason"

  • "This is a" - Ashanthra

  • "I was very impressed with this course. The engine design is elegant and well thought out." - Jonathon

Well have you always wanted to make your own game, but didn't know how?

This course will teach you how to build a very polished and professional looking game, in a short time.  You will learn many tricks and techniques that can then be applied to making your own games.  The possibilities are endless once you've gained these programming skills and you'll be experienced enough to start the process of turning your own ideas into actual working games.

The game you will learn to build here is very slick and professional and is a great platform from which to grow your skills.  This could be the start of your game development career, or just a fun hobby, but either way I look forward to assisting you in your journey.

Within the course you will learn:

  • Finite State Machines (The absolute best way to structure your code)

  • Tile Based Collisions (Extremely fast collision method)

  • Cool looking psuedo particles (That interact with the environment)

  • Lighting Systems (That service multiple objects)

  • Scripted enemies and sequences (including enemy spawning)

  • Room Fade Transitions, highscore saving, custom tooltips and much more.

All the graphics and code is supplied, all you need to do is start learning and you could be making and releasing your own games sooner then you think.  Every lecture is also presented in 1080p/60fps for maximum clarity while learning.

Gamemaker is free to download and use.

The course is taught by Peter Morgan.  A former Mathematics and Computer High School Teacher who has studied the game making process, and products, for many years.  I have previously used Gamemaker to release my first mobile game and currently work on assisting others to do the same.

Note: All code is yours to use as you like.  Some graphic assets are public domain (tile sets, enemies) but some are copyright to Peter Morgan 2021 (player character, background, gui elements, game name and title page) and are not authorized for posting on Steam.

Enroll now

What's inside

Learning objectives

  • You will develop a robust platform engine that you can use for future games you make.
  • You will learn how to do fast tile based collisions, and have the skills to incorporate it into your own games.
  • You will learn how to implement a customizable lighting system that any object in the game can use.
  • You will learn how to build custom particles that interact with the environment.
  • You will learn how to build a finite state machine, and use it to efficiently control your player and enemies.
  • You will learn how to implement wave based attacks, player traps, cameras, fade transitions, highscore saving, custom tooltips, screenshake and more.
  • Show more
  • Show less

Syllabus

Set up Gamemaker and create your first room and player character. Control that character with keyboard input.

Welcome to the first lecture where I introduce the game we will be making, and the concepts you will be learning throughout the course.

If you would like to play the final game, you can download the source code in the final lecture of the course.

The first time you will need to use the game sprites is in Lecture 4, so I've added the resource file with all the sprites, sounds, etc to that lecture.

Good luck!

Read more

Basic knowledge test on work covered during the course Introduction.

** IMPORTANT **
Gamemaker changes leading to Variable <unknown_object> Errors

As of version 2.3 scripts are now automatically converted into functions, and will have the format:

function scriptname() {

}

Please leave this format intact, and ensure you place the contents of the course scripts inside the brackets.

Also note that when duplicating scripts, Gamemaker does not rename the function as well, so when you duplicate a script, you will have to rename them manually.

Change Script Colour Instructions

If you would like to change your script colour from the default of orange to something else, you can go to File > Preferences > Text Editors > Code Editor, then under Script Names change the colour.  I am using hex value 8882C1 if you would like the same.

Ensure you do not add a semi colon to the MACRO definitions, as the macro will not work correctly.

If the Instance Creation Order is not showing for you, try clicking on another tab like Workspace, then click back to the rm_00 room tab, and the Instance Creation Order button should appear in the bottom left.

Gamemaker Version Update :  The way collisions are calculated was changed in Gamemaker since the lecture, so to adjust for that change, you will need to go to the options, which is the little gear icon up the top, then enable Collision Compatibility Mode which is down the bottom of the first options screen.  This will allow the player to sit on the tile.  If you don't do this, the player will need to sit one pixel above the tile instead.

Not working?

If you are having problems getting the vertical collisions to work, you can download the source project file for this lecture and compare my code to your own.  Gamemaker allows a 2nd IDE to be opened by going to File > New IDE, so you can have your project and the source project open at once.

We set the jump_spd to -5, which is not quite enough to jump up 2 tiles.  If you would like your game to allow that, change jump_spd to -5.25 instead.  Up to you though.

The finished project up to this point is available to download.  If you are having problems you can download and upzip the file.  When you open the file Gamemaker will prompt for a save location, so give it a name.  Then you can go to File > New IDE and open a 2nd copy of Gamemaker and load your project, so you can have both projects open and compare the two to find why your one might not be working.

If you are concerned about the inconsistent jump heights, we address that later in lecture 51.

https://www.udemy.com/how-to-make-tile-based-platform-games-with-gamemaker/learn/#questions/6002422

The finished project up to this point is available to download.  If you are having problems you can download and upzip the file.  When you open the file Gamemaker will prompt for a save location, so give it a name.  Then you can go to File > New IDE and open a 2nd copy of Gamemaker and load your project, so you can have both projects open and compare the two to find why your one might not be working.

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Uses Finite State Machines, which is an efficient way to structure code and control player and enemy behavior, leading to more organized and maintainable game logic
Employs tile-based collisions, which is an extremely fast collision method, making it suitable for games with numerous interactive elements and complex environments
Includes scripted enemies and sequences, including enemy spawning, which allows for dynamic and engaging gameplay experiences with varied challenges for the player
Teaches how to implement wave-based attacks, player traps, cameras, fade transitions, highscore saving, custom tooltips, and screenshake, enhancing the overall polish and player experience
Requires GameMaker, which is free to download and use, lowering the barrier to entry for aspiring game developers who may not have access to expensive software
Some graphic assets are copyrighted to Peter Morgan 2021 (player character, background, gui elements, game name and title page) and are not authorized for posting on Steam

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Comprehensive gamemaker platformer guide

According to students, this is considered one of the best Gamemaker courses available. Learners highlight the instructor's expertise and the excellent material which teaches best practices for game development. The pacing is spot-on, making the complex process understandable. The course builds a game engine praised for its elegant and well-thought-out design. Students found the learning experience to be so much fun while gaining practical skills in FSM, tile collisions, lighting, and more to build a polished platform game.
Instructor provides notes on engine updates.
"As of version 2.3 scripts are now automatically converted into functions..."
"Gamemaker Version Update: The way collisions are calculated was changed..."
"Instructor provides notes on Gamemaker version updates to help troubleshoot issues."
Students find the course enjoyable.
"this course is SO. MUCH. FUN."
"It's just so much fun to follow along and build the game!"
The resulting game structure is well-designed.
"The engine design is elegant and well thought out."
"The game you will learn to build here is very slick and professional"
Content is high quality and well-structured.
"the pacing is spot-on, the material is excellent and really teaches best practices."
"The material is excellent and really teaches best practices."
"The pacing is spot-on."
Instructor is highly knowledgeable.
"the instructor is obviously an expert in both GM and programming"
"The instructor is obviously an expert in GameMaker and programming."
"Taught by Peter Morgan. A former Mathematics and Computer High School Teacher who has studied the game making process... for many years."
Considered top-tier by learners.
"This is by far the BEST GameMaker Studio 2 tutorial I've ever taken."
"Without a doubt, this is the best content I have found on learning GMS2"
"Without a doubt one of the best Game Maker courses I've seen across all online learning websites."
"I was very impressed with this course."

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 How to Make Tile Based Platform Games in Gamemaker with these activities:
Review GameMaker Language (GML) Basics
Strengthen your understanding of GML syntax and basic programming concepts before diving into the course. This will make it easier to follow along with the code examples and implement your own features.
Show steps
  • Review GML syntax and data types.
  • Practice writing simple scripts.
  • Experiment with variables and operators.
Read 'GameMaker Studio 2: The Complete Guide'
Gain a broader understanding of GameMaker Studio 2's capabilities. This book can serve as a valuable reference throughout the course and beyond.
Show steps
  • Read the introductory chapters.
  • Focus on sections relevant to platformer development.
  • Refer to the book when encountering unfamiliar concepts.
Create a Simple Platformer Level
Apply the concepts learned in the course by building a small, self-contained level. This hands-on experience will solidify your understanding of tile-based collisions, player movement, and basic enemy AI.
Show steps
  • Design a small level layout using tiles.
  • Implement basic player movement and jumping.
  • Add a simple enemy with basic patrol behavior.
  • Implement collision detection between the player, enemy, and environment.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Practice Finite State Machine Implementation
Reinforce your understanding of Finite State Machines (FSMs) by implementing them in different scenarios. This will help you become more comfortable with this powerful code structuring technique.
Show steps
  • Implement an FSM for a simple enemy AI.
  • Implement an FSM for a complex player action.
  • Experiment with different state transitions.
Document Your Platformer Engine
Improve your understanding of the engine's architecture by creating documentation. This will force you to think critically about how the different components work together.
Show steps
  • Create a high-level overview of the engine's architecture.
  • Document each major class and function.
  • Include diagrams and examples to illustrate key concepts.
Contribute to a GameMaker Open Source Project
Deepen your understanding of GameMaker and game development by contributing to an open-source project. This will expose you to different coding styles, project management techniques, and collaborative workflows.
Show steps
  • Find a GameMaker open-source project on GitHub.
  • Identify a bug or feature to work on.
  • Submit a pull request with your changes.
Read 'The Art of Game Design: A Book of Lenses'
Expand your game design knowledge beyond the technical aspects. This book will help you think critically about what makes a game fun and engaging.
Show steps
  • Read the introductory chapters on game design principles.
  • Explore different lenses and their application to platformer games.
  • Apply the principles to improve your own game designs.

Career center

Learners who complete How to Make Tile Based Platform Games in Gamemaker will develop knowledge and skills that may be useful to these careers:
Indie Game Developer
An indie game developer works independently or in a small team to create and publish their own games. This course is particularly useful for aspiring indie game developers. You can quickly learn how to build a polished 2D platformer, an excellent project to showcase skills and build a portfolio. The course covers crucial elements such as collision detection, lighting, and enemy AI, all vital for creating engaging gameplay. Additionally, you can learn how to create room fade transitions, highscore saving, and custom tooltips. The modular lessons and supplied assets enable aspiring indie game developers to rapidly prototype ideas and bring their creative visions to life.
Gameplay Programmer
A gameplay programmer specializes in implementing the interactive elements of a game, such as character controls, AI, and game mechanics. The course provides valuable hands on experience in building core gameplay systems for a platformer. It is particularly useful in learning how to implement tile based collisions to create responsive movement, design state machines for controlling player and enemy behaviors, and create particle effects for visual feedback. The course covers enemy spawning, trap implementation, and camera control. All of these are essential skills for a gameplay programmer. This course helps build a strong foundation in game programming, making it easier to tackle more complex gameplay challenges.
Mobile Game Developer
A mobile game developer creates and optimizes games specifically for mobile devices like smartphones and tablets. Given that GameMaker is well-suited for mobile game development, this course provides skills directly applicable to this role. The course emphasizes tile based platformers, which are a popular genre on mobile platforms. The knowledge gained in optimizing performance, designing touch controls, and implementing mobile specific features is helpful for building successful mobile games. The course equips mobile game developers with the necessary tools to create engaging and polished games for a wide audience.
Game Developer
A game developer designs and creates video games for various platforms. This course provides practical experience in building a tile based platform game, offering a strong foundation in game mechanics. The knowledge of finite state machines learned in the course is essential for controlling character behavior and game logic. By mastering tile based collisions, you can optimize game performance, a key skill for any game developer. You will also gain hands on experience in using lighting systems creating pseudo particles, spawning enemies, designing room transitions, and saving high scores and custom tooltips. Furthermore, you can utilize supplied graphics and code to construct games.
Technical Designer
A technical designer combines design and programming skills to create compelling gameplay experiences. This course empowers technical designers by providing hands on experience in implementing game mechanics, such as player movement, enemy AI, and collision detection. The course's emphasis on finite state machines is useful, as they provide a structured way to design complex game systems. The course covers practical skills in scripting game logic, implementing user interfaces, and integrating art assets. This course enables one to bring their design ideas to life and create engaging gameplay experiences.
Level Designer
A level designer creates engaging and challenging environments for players to explore in a video game. This course provides a strong foundation in designing levels for a 2D platformer. The course emphasizes tile based systems, which are fundamental to level construction. You can learn how to create interesting layouts, incorporate hazards and enemies, and guide the player through the environment. The course covers implementing traps, collectibles, and other interactive elements. This can enhance the level design skills, allowing one to create compelling and well designed game levels.
AI Programmer
An AI programmer designs and implements the artificial intelligence systems that control non player characters in a game. This course is helpful for AI programmers interested in creating intelligent enemies for 2D platformers. The course content on finite state machines provides a structured way to design AI behaviors. The practical experience of implementing enemy behaviors, such as patrolling, chasing, and attacking, can deepen an understanding of AI programming techniques. This course may allow one to create more compelling and challenging AI opponents, enhancing the overall gameplay experience.
Game Designer
A game designer conceptualizes and designs various aspects of a game, including its rules, mechanics, and gameplay. This course is relevant to game designers who wish to understand the technical aspects of game development, specifically in 2D platformers. The course content, such as level design using tile based systems and implementing interactive elements with finite state machines, helps designers better communicate their vision to developers. The course's focus on creating responsive and engaging player controls, camera implementation, and enemy design, helps game designers create detailed design documents, leading to more coherent and polished games. Taking this course helps game designers think more technically, and be better designers.
Game Engine Developer
A game engine developer works on the core technology that powers video games, creating tools and systems that allow developers to build their games more efficiently. While this course focuses on using an existing game engine, it may provide valuable insights into the underlying principles of game engine design. The course covers topics such as collision detection, rendering, and scripting. You can gain a deeper understanding of how these systems work together to create a functional game. This knowledge can contribute to developing new features and optimizations for existing game engines, or even creating a custom game engine from scratch. Advanced degrees may be required.
Software Developer
A software developer is involved in the entire software development lifecycle, from design to deployment. While this course focuses on game development, the programming principles and problem solving skills learned are applicable to broader software development roles. The implementation of finite state machines taught in this course is a valuable concept in designing well structured and maintainable code. The course may provide experience in collision detection algorithms, game physics, and user interface implementation. These skills are helpful for software developers working on interactive applications or simulations. This course can serve as a good introduction to the technical aspects of software development.
Software Engineer
A software engineer designs, develops, and tests software applications. While this course focuses on game development, the underlying principles of software design and programming are transferable. The course provides practical experience in using finite state machines, a powerful design pattern applicable to various software engineering problems. The course may also improve problem solving skills, algorithm design, and code optimization, all crucial for a software engineer. The experience gained in building a complete game project can demonstrate the ability to handle complex tasks, making this course a valuable addition to the skillset.
Technical Artist
A technical artist bridges the gap between artists and programmers, creating tools and workflows that improve the art pipeline in game development. This course may give you an understanding of how art assets are integrated into a game and how they interact with code. The course's focus on tile based systems and particle effects can be useful for technical artists working on 2D games. Additionally, you can gain insights into lighting systems and animation techniques. All of these improve the ability to optimize art assets for performance and create custom tools, improving the efficiency of the art creation process. This insight helps technical artists better collaborate with programmers and streamline the development workflow.
Animator
An animator creates the motion and visual effects for characters, objects, and environments in video games. While this course does not focus on animation techniques, it may help you understand how animations are integrated into a game. The course covers implementing player animations and creating particle effects. You can gain insights into how animations are triggered by game events and how they interact with gameplay systems. This knowledge can improve the ability to create animations that are not only visually appealing but also responsive and functional within the game environment. This helps animators better collaborate with programmers and designers.
Quality Assurance Tester
A quality assurance tester identifies and documents software defects to ensure the stability and functionality of the software. While this course focuses on game development, understanding the inner workings of a game can be beneficial for a quality assurance tester. The course may help gain insight into the various systems that make up a game, such as movement, AI, collisions, and user interfaces. This knowledge can improve the ability to identify and report problems that can arise during gameplay. Additionally, learning about game design principles and common development practices may lead to more effective testing strategies. You can also better understand the potential issues arising from changes to the codebase.
Virtual Reality Developer
A virtual reality developer creates immersive experiences for virtual reality platforms. While this course focuses on 2D game development, the underlying principles of game design and programming are transferable to virtual reality. The course may provide a foundation in topics such as collision detection, user input, and state management. You can transfer this knowledge to create interactive and engaging virtual reality experiences. The course may help broaden your understanding of game development concepts, which can then be applied to creating more complex virtual reality applications. Advanced degrees may be required.

Featured in The Course Notes

This course is mentioned in our blog, The Course Notes. Read one article that features How to Make Tile Based Platform Games in Gamemaker:

Reading list

We've selected two 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 How to Make Tile Based Platform Games in Gamemaker.
Provides a comprehensive overview of GameMaker Studio 2, covering everything from the basics to more advanced topics. It can be a useful reference for understanding the different features and functionalities of the engine. While not strictly necessary for the course, it can provide additional context and depth.
Explores game design principles through the lens of 100 different perspectives. While not specific to GameMaker, it provides valuable insights into creating engaging and fun gameplay experiences. It's more valuable as additional reading to improve your overall game design skills.

Share

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

Similar courses

Similar courses are unavailable at this time. Please try again later.
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 - 2025 OpenCourser