Snake Rewind: Building a Retro Snake Game in C with Raylib

Follow along as we rebuild the classic Snake game but with a retro twist. In this series we're coding Snake Rewind from scratch in C using Raylib, layering on everything from pixel perfect visuals to clone enemies, cinematic shaders and juicy arcade feedback.

Curated by: Let's Reinvent the Wheel (8 videos)


Currently Playing: Slither With Style: Snake Movement and Controls [Snake Rewind Ep 2]

🐍 In Episode 2 of *Snake Rewind* we bring the grid to life with smooth step based movement and responsive keyboard controls. 🎮 What we cover: - Implementing classic Snake style movement (timed, not per frame) - Handling Arrow key input with turn buffering - Wrapping around the grid edges - Building the *Snake* struct and tile tracking system All movement is handled in *discrete steps*, making the gameplay feel tight, predictable and pixel perfect 📺 Full Snake Rewind Series Playlist: https://www.youtube.com/playlist?list=PLI7p1zrAYQeUb67kPtsyduLk1aJChzIQZ 📖 Companion Blog Post: https://letsreinventthewheel.github.io/blog/snake-rewind-ep2/ 🧠 Source code: https://github.com/letsreinventthewheel/snake-rewind Snake Rewind isn't just a remake. It is Snake with a twist: - 🐍 Clone snakes that retrace your path - ✨ Retro shaders: bloom, scanlines, chromasep - 🎮 Reactive UI, game feel, and juicy feedback - 🎧 Music and SFX polish (hopefully we can find free sounds) 💬 Got questions? Drop a comment. 👍 Like what you see? Hit the like button. 📌 Want more projects like this? Subscribe and stay tuned... 00:00 Last Episode recap 00:35 Small adjustments for last episode code 01:31 Snake struct 03:47 Initialize player snake 08:08 Pulling in stb_ds.h 08:58 Adjusting GetTileColor 09:24 Draw snake on the grid 11:15 Make snake move 15:50 Fix snake grid wrapping 17:46 Reset grid every frame 19:04 Move snake per interval, not per frame 21:05 Merge UpdateTileGrid and ClearGrid 21:48 Handling user input (arrow keys movement) 26:10 Fix left and top grid wrapping 27:40 User input buffering #programming #cprogramming #gamedev #raylib


Tracks in this Playlist

✅ Progress Tracking

Automatically track which videos you have watched. Your completion status is updated at a glance, preventing you from re-watching episodes by mistake.

⏯️ Resume Playback

Never lose your spot. Our custom player remembers your exact video and timestamp, allowing you to dive right back in seamlessly.

📱 Cross-Device Sync

Sync your playlist states, watched progress, and premium preferences across your desktop, laptop, tablet, and mobile phone automatically.

Start Organizing Your YouTube Playlists

Simply paste any YouTube playlist URL or channel link in the application search bar to immediately generate a custom, sorted, and progress-tracked workspace. No registration required to start.

Explore Playlist Guides & How-Tos