Make an Asteroids Clone in C Using Raylib | Raylib-SloJam 2023
In this video tutorial, we're going through the details of the Raylib Slo-Jam running at the tail end of 2023 and wrapping up on January 8th, 2024.
The theme for the gamejam is ASTEROIDS.
Perfect timing, so we'll go through a basic Asteroids type project in C using Raylib and go through the basics!
ππGrab the source (on github): https://t.ly/ODN7x
Also available online at Itch.io! https://eyuzwa.itch.io/asteroids-tutorial-with-raylib
πLinks & References:
- Raylib website: https://www.raylib.com/
- Raylib github: https://github.com/raysan5/raylib
- Raylib API Cheatsheet: https://www.raylib.com/cheatsheet/cheatsheet.html
- JSFXR: https://sfxr.me/
- DrawTexturePro Demo: https://tradam.itch.io/raylib-drawtexturepro-interactive-demo
- Raylib Slo-Jame 2023: https://itch.io/jam/raylib-slo-jam
ππ»Connect with me:
Twitter: https://www.twitter.com/eyuzwa
===---=== Game Plan ===---===
- load up all of our image and texture data
- load up all sound effects
- create an object that the player controls
- handle keyboard input to move the player
and fire a laser shot
- create a meteor object
- this will be independently updated in our game area
- we have 3 different sizes of meteors: large, med, small
- if a laser blast hits a meteor then it will vanish
- player's score will += 10
- the game is over when all the meteors are destroyed
- if the player or meteor travels off the side of the game area, it will warp to the other side of the game area
- if a laser blast travels off the side of the game area, it will vanish
===---=== Chapters ===---===
0:00:00 - Introduction
0:00:20 - Raylib Slo-Jam 2023
0:11:36 - Exploring the Raylib site and cheatsheet
0:12:19 - Raylib Asteroids example
0:13:08 - Raylib Cheatsheet
0:15:41 - Starting with the Github Gamejam template
0:20:50 - Open project in VS2022
0:22:19 - Opening raylib_game.c
0:26:42 - Our Gameplan
0:30:15 - Dropping in our core Game functions!
0:32:00 - GameReset()
0:34:55 - Entity Struct
0:36:06 - Ready Player One
0:40:19 - The Project Assets
0:41:20 - Rendering the Player
0:46:49 - Moving Assets to Resources
0:48:24 - Player Ship Renders!
0:49:00 - Handling Player Keyboard Input
0:55:36 - Handling Player World Bounds
0:59:57 - Capping Player Acceleration
1:01:30 - Drawing Stats HUD
1:07:00 - The Meteor Entities
1:16:58 - Rendering Meteors
1:20:52 - Adding Player Shots
1:28:29 - Rendering Player Shots
1:30:19 - Shot-to-Meteor Collision Detection
1:36:10 - Display Current Meteor Count
1:37:50 - Adding Sound Effects!
1:42:45 - Some Game Over Text
1:46:00 - Compiling Project to WASM
1:49:26 - Wrapping Up
1:50:20 - Adding a Score Display
1:52:46 - Wrapping Up (For Realsies)
#raylib #raylibslojam #gamedev