Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ Microsoft AZ-900
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Personal Transformation Mindfulness Life Purpose Meditation CBT Emotional Intelligence
Web Development JavaScript React CSS Angular PHP Node.Js WordPress Vue JS
Google Flutter Android Development iOS Development React Native Swift Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
Microsoft Power BI SQL Tableau Business Analysis Data Modeling Business Intelligence MySQL Data Analysis Blockchain
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Business Plan Startup Freelancing Online Business Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee
Development Game Development Game Development Fundamentals

Creating Games From Scratch Using SDL 2.0

Create your own games from beginning to end on popular, crossplatform, SDL 2.0
Rating: 2.8 out of 52.8 (21 ratings)
122 students
Created by William Sherif
Last updated 12/2016
English
English [Auto]
30-Day Money-Back Guarantee

What you'll learn

  • Program your own 2d games using SDL 2.0
  • Understand the discrete nature of games and the "game loop"
  • Play sfx & music in your game
  • Do body body collision detection and resolution

Course content

6 sections • 24 lectures • 1h 27m total length

  • Preview03:21
  • Preview01:34

  • Game software is complex!
    04:13
  • Game loop
    03:18
  • The discreteness of the game loop
    02:05

  • SDL sample program
    03:22
  • Installing SDL 2.0 on Windows
    05:02
  • Installing SDL 2.0 on Mac OS X
    08:29
  • [Part 1/2] SDL 2.0 Barebones Bootstrap/Starter Explained (SDL_Init())
    09:23
  • [Part 2/2] SDL 2.0 Barebones Bootstrap/Starter Explained (draw function)
    02:53

  • Preview00:02
  • Installing SDL_Image 2.0
    03:38
  • Sprite class data members overview
    05:00
  • Sprite::Sprite ctor and image load
    05:36
  • Moving the Sprite 1 - Controller class update()
    00:45
  • Moving the Sprite 2 - sprite displacement
    03:31
  • Moving the Sprite 3 - Sprite::update() (bounds)
    04:34
  • Sprite::draw()
    02:26

  • Preview00:04
  • Sound & Music: Loading
    05:30
  • Sound and Music: Playback
    05:58
  • Preview04:46

  • CONTENT: Adventures of Dario
    00:05
  • Collision Detection using Rectangles
    01:29

Requirements

  • To be able to follow this course, you will need an intermediate skill level with coding in C++
  • You will need an IDE in your chosen development environment (On Windows, usually Visual Studio, Mac=Xcode)
  • You will need to download SDL 2.0 from http://libsdl.org (free & open source)

Description

Have you ever wanted to program your own game in C++ from scratch? Do you want to enjoy easy & free multiplatform deployment (Windows, Mac, Linux iOS and Android?). In this course, we will have a basic introduction to programming games in C++ using the SDL 2.0 library. We will use SDL 2.0 to:

  • Get a window on the screen
  • Draw line and rectangle primitives
  • Draw sprites on the screen
  • Use object-oriented principles to manage Sprites and game character data
  • Load and play sounds & music from disk
  • Do collision detection using Rectangles
  • Manage game state & game state transitions using finite state machines

Overview & Motivation

Why use SDL 2.0? Many people opt to go with complete game engines, such as Unity or Unreal Engine 4, to create their games. Unity and Unreal have licensing costs associated with them. Are you prepared to take on that extra cost? What if you can avoid spending that money on the engine and spend it on licensing assets and other resources instead?

What about using a free and open source sound, graphics and input API to deploy your game to all devices? And the freedom to program in pure C or C++?

LibSDL lets you do all that. Simple C commands will enable you to load sounds & music, load & display hardware accelerated graphics easily. The simple framework I provide in the code examples here will make it easy for you to get started creating your own games from scratch.

Programming from C++ directly (instead of using an engine) will give you much more control over how things get done inside your game. If you like raw programming and always wanted to see how games like Super Mario Brothers, Dragon Warrior, and other classic NES games would get assembled, try this course!

Many professional & indie games use libsdl already, including:

Robin hood - the Legend of Sherwood, Left 4 Dead 2, Steel Storm, Edna & Harvey, Proteus, Psychonauts, Amnesia, FastForward, Syberia, AwesomeNauts and more.

Who this course is for:

  • This course is not about creating robust game engines!
  • We will see some typical engine code (collision detection code), but our focus is on game assembly using SDL
  • This game is not about creating game art.. that princess is in another castle!
  • If you're interested in interfacing with SDL 2.0 directly (with no other layers between!) this course is for you
  • Our core focus in this course will be creating games using SDL

Instructor

William Sherif
Professional programmer
William Sherif
  • 3.9 Instructor Rating
  • 61 Reviews
  • 1,683 Students
  • 3 Courses

William Sherif is a competent C++ programmer of 8+ years. He has a wide variety of experiences, from games programming to web programming. He has also been a university course instructor (sessional) for 7 years.

He has published several apps in the iTunes store, including strum and MARSHALL OF THE ELITE SQUADRON.

His interests are varied, but his focus has always been pleasing his clients.

In the past he has been acclaimed for delivering course material in an easy to understand manner.

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Impressum Kontakt
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.