Тёмный
Erik Yuzwa
Erik Yuzwa
Erik Yuzwa
Подписаться
Hi. I'm Wazoo and I develop software and play games - mostly role-playing ones.
Start Your Own 2D RPG With Raylib | TUTORIAL
1:21:14
6 месяцев назад
WASarD | PRE-ALPHA PLAYTHROUGH
28:01
7 месяцев назад
Make Minesweeper in C using Raylib | FULL TUTORIAL
1:15:18
8 месяцев назад
Ultima VII: Revisited -- v0.0.2 UPDATE
14:22
8 месяцев назад
Make an Asteroids Clone in Python Using Raylib
1:01:12
8 месяцев назад
Minetest Adventures | The Two Towers | Episode 1
31:17
11 месяцев назад
The Legend of Skye | Early DEMO
58:17
Год назад
Under the Sea | FULL PLAYTHROUGH
50:12
Год назад
Комментарии
@Manu-se5tx
@Manu-se5tx 5 дней назад
if you are having trouble with the DLL file you could modify your CMakeLists.txt like so: cmake_minimum_required(VERSION 3.27) project(your_project_name C) set(CMAKE_C_STANDARD 11) set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake_modules) set(SDL2_PATH "your path to sdl2") find_package(SDL2 REQUIRED) include_directories(${SDL2_INCLUDE_DIR}) add_executable(your_project_name main.c) target_link_libraries(${PROJECT_NAME} ${SDL2_LIBRARY}) if (WIN32) add_custom_command(TARGET your_project_name POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different "${SDL2_PATH}/bin/SDL2.dll" "$<TARGET_FILE_DIR:your_project_name>" ) endif() that makes CLion check for SDL2.dll instead of SDL2d.dll which is the dll for debug mode (if i understood clearly)
@tobiaskipp3188
@tobiaskipp3188 10 дней назад
Is there a reason you keep all the logic within a single file, rather than spread it out?
@ErikYuzwa
@ErikYuzwa 10 дней назад
no real "reason" really other then just getting this idea out there. Functions and logic definitely should be broken out into their own modules. Trying to plan out a "part 2" here which would include that
@tobiaskipp3188
@tobiaskipp3188 9 дней назад
@@ErikYuzwa Happy to hear, this tutorial was a great help getting started using raylib.
@ErikYuzwa
@ErikYuzwa 9 дней назад
@@tobiaskipp3188 thanks a lot! I'm glad to hear it's helped out!
@johnnycleiton.camargodossa4156
@johnnycleiton.camargodossa4156 12 дней назад
I'm looking for an experienced SQL developer. For a paid job porting DX7 to SDL3 pure API without OpenGL. And who can also do some UI reconstruction to be more mobile friendly and stop being static. @Erik Yuzwa arent this a job for you ?
@ErikYuzwa
@ErikYuzwa 10 дней назад
no thanks - good luck!
@johnnycleiton.camargodossa4156
@johnnycleiton.camargodossa4156 10 дней назад
@@ErikYuzwa dont know someone with experience to indicate?
@deadshot9640
@deadshot9640 12 дней назад
AMAZING VIDEO !!!!!!!! tysm 🤗
@ErikYuzwa
@ErikYuzwa 12 дней назад
wow thanks so much! I'm so happy it's helped you out! Thanks for stopping by!
@deadshot9640
@deadshot9640 13 дней назад
can u do more of this videos pls
@ErikYuzwa
@ErikYuzwa 10 дней назад
definitely - definitely - trying to figure out how to grow this one a bit more. Any suggestions?
@davidgutierrezperez1886
@davidgutierrezperez1886 10 дней назад
@@ErikYuzwa animations while walking and fighting would be great
@janikangas6552
@janikangas6552 20 дней назад
Thanks for a great tutorial. This is really heartwarming for an old Ultima fan like me... BTW. If somebody else is using CMake template by raysan, remember to use ASSETS_PATH macro in front of the filename to load the texture correctly.
@P4cX
@P4cX 20 дней назад
Thanks!
@ErikYuzwa
@ErikYuzwa 10 дней назад
anytime - glad I could help out! Thanks for stopping by!
@Duerdak
@Duerdak 23 дня назад
SDL3 is gonna come with a powerful GPU API. I think a tutorial series on a old-school C++ 3D game engine would be very useful. Especially if it reaches some sort of conclusion and not end after a few episodes. It doesn't have to be very powerful and fully-featured, something for games like quake 1, doom 1, counter-strike 1.6, unreal tournament 1. I hope somebody makes a tutorial on this - maybe you since you've already written a book about it before. There are some game engine series that are good but they span in the hundreds of videos or are unfinished. I think using a few libraries can help speed up things (sdl3 for windowing, graphics and audio; glm for math; imgui for engine UI or whatever else needed) and show a complete project suitable for beginners. There are enough videos in the category of "Make a game with { pygame, SFML, etc } framework", especially for 2D games. I want a proper 3D engine one.
@ErikYuzwa
@ErikYuzwa 10 дней назад
interesting that I'm coming across this now. I've been looking more into raycasting and stuff. It's really a great suggestion. So sorry for taking so long to respond, but I appreciate the long feedback.
@Duerdak
@Duerdak 10 дней назад
@@ErikYuzwa There are already enough good raycasting and doom-like game engine youtube tutorials. I was thinking of something more similar to quake-like engine.
@ErikYuzwa
@ErikYuzwa 10 дней назад
@@Duerdak good suggestion!
@Duerdak
@Duerdak 10 дней назад
@@ErikYuzwa Don't leave it at a suggestion, make a game engine tutorial series! Where's my binary space partitioning!
@isweartofuckinggod
@isweartofuckinggod 23 дня назад
The callback-based program flow is the main reason I'm going with SDL3.
@iam-shreyasingh
@iam-shreyasingh 29 дней назад
Great tutorial , thank you for the guidance and how can one not mention about the BG music, I felt like coding along in some GOT northern Ireland winters , Amazing !
@ErikYuzwa
@ErikYuzwa 24 дня назад
awesome - love this comment, I appreciate it! Yeah definitely hit a nerve with the background music! Glad it could help you out!
@Unavailable8923
@Unavailable8923 Месяц назад
The callback-based program flow is significant because it enables web-based deployment of your C-based SDL3-based game. That in turn is useful for game jams or sharing with friends.
@ErikYuzwa
@ErikYuzwa Месяц назад
yeah it's definitely a significant improvement!
@maroofshah3276
@maroofshah3276 Месяц назад
Hi. I'm a complete beginner learning C, about to learn pointers and memory management. I want to eventually make simple games using sdl2, but now I've learnt of the existence of sdl3. Considering the amount of time each has been in use (SDL2 and SDL3) and the tutorials on these written strictly in C, should I learn sdl2 or sdl3?
@ErikYuzwa
@ErikYuzwa Месяц назад
welcome friend! It's a great question - please forgive me but it's not a straight forward answer. I think that SDL2 is stable and will be around for a long time (SDL1 is still available for example). You will not "lose" anything if you learn and continue with SDL2, plus because it has been available a lot longer, there are more resources, guides and tutorials for SDL2. SDL3 is still really cooking, so it's going to take a while for videos to be made, and guides written, etc.
@maroofshah3276
@maroofshah3276 Месяц назад
@@ErikYuzwa Thank you for your answer. I'll stick with and learn SDL2. As you said, as long as I learn something I will not "lose" anything.
@retrokvlt
@retrokvlt Месяц назад
Awesome. Just what I needed.
@ErikYuzwa
@ErikYuzwa Месяц назад
thanks so much! Happy to hear it helped!
@MD-fe9nm
@MD-fe9nm Месяц назад
Your algorithm for counting tiles seems to give incorrect numbers around the outer edges because it tries to reach index 12 of the array when we only have 0 to 11. You can see it here: 28:13 and 29:07. We need to do a check with IsTileIndexValid before we count the number of mines. Something simple like: if(IsTileIndexValid(col + colOffset, row + rowOffset)) { if(grid[col + colOffset][row + rowOffset].isMine) { count++; } }
@GarrethandPipa
@GarrethandPipa Месяц назад
finding the location of a tile by a index is as simple as int spritesheet_col = sprite_index % total_sprites_in_row; int spritesheet_row = (int)sprite_index / total_sprites_in_row; there is tons left but it is a reasonable-ish start for series The only thing I really don't like is how you conceptualize triggers doing it by x,y cripples your game design to hard coded locations. Instead use a trigger struct... something like when you move test if a tile has a trigger and act accordingly struct { trigger_type // ie combat, teleport, interact object_id // whatever object id be it a mob or different level etc } I only bring this up as you said it is a comprehensive guide
@ErikYuzwa
@ErikYuzwa Месяц назад
fair points! And yes, it's definitely not an ideal approach to hardcoding locations. Definitely something I'm planning to return to. I like that idea of a trigger. Helps with maybe layering triggers when necessary. What I am trying to avoid is falling into an "engine trap". So at times there may be decisions that reflect that. Thank you so much for the input though, I appreciate it!
@mirzakadic9174
@mirzakadic9174 Месяц назад
thanks a lot!
@ErikYuzwa
@ErikYuzwa Месяц назад
you're welcome! Thanks for stopping by and happy it helped!
@JunKaiGan
@JunKaiGan Месяц назад
May I know why we need to put a SDL_Delay(1) in the loop?
@ErikYuzwa
@ErikYuzwa Месяц назад
great question! It *might* be a hold-over from SDL1 and SDL2 days, but it 's a common practice used to avoid situations on some machines where other CPU threads were being starved because the game loop would monopolize it. As I said...it was a thing for previous versions, but thanks for reminding me to see if SDL3 still needs it. Hope that helps!
@markreimer4543
@markreimer4543 2 месяца назад
Epic
@ErikYuzwa
@ErikYuzwa 2 месяца назад
amen! totally agreed!
@havardfredwall4560
@havardfredwall4560 2 месяца назад
Thank you for all the steps! It finally worked
@ErikYuzwa
@ErikYuzwa 2 месяца назад
that's fantastic! I'm so glad it helped you out!
@mikesteil8340
@mikesteil8340 2 месяца назад
Thank you!!!!
@ErikYuzwa
@ErikYuzwa 2 месяца назад
no problem at all - glad it helped!
@nateedwards1313
@nateedwards1313 2 месяца назад
Dipping your toes into icebergs can't be good for global warming 😔
@ErikYuzwa
@ErikYuzwa 2 месяца назад
ha! true...?
@Coeurebene1
@Coeurebene1 2 месяца назад
Thanks a lot. I'm learning Raylib with Go, following along this tutorial was a great way to learn the basics.
@ErikYuzwa
@ErikYuzwa 2 месяца назад
oh man that's rad - I'm really glad to hear it's helping. Thanks for stopping by and best of luck with Go!
@shotakai2559
@shotakai2559 2 месяца назад
I've passed through this tutorial. Nice work, easy to follow. Thank you! (but zooming out would be appreciated).
@ErikYuzwa
@ErikYuzwa 2 месяца назад
thanks so much for stopping by - and noted! I'll try to keep the editor size sensible :)
@russellg3775
@russellg3775 2 месяца назад
thanks Erik, I like your presentation style. I hope you got round to skimming your walls! ;-)
@ErikYuzwa
@ErikYuzwa 2 месяца назад
thanks so much! Yeah chipping away at it for sure <3 - appreciate you stopping by!
@TheZeroChanel
@TheZeroChanel 2 месяца назад
Thank you. All the tutorials that I found seem to be outdated, but this finally helped me to link sdl to the project
@ErikYuzwa
@ErikYuzwa 2 месяца назад
oh man! I'm so happy it's helped you out! Thanks for leaving a comment!
@mad_6519
@mad_6519 2 месяца назад
Complains about not being able to find raylib.lib. Searched for raylib.lib, doesn't exist in github project nor my project. Where is raylib.lib?
@RandomGuyyy
@RandomGuyyy 3 месяца назад
Looks too zoomed in. Can only see nine lines of code at a time.
@ErikYuzwa
@ErikYuzwa 3 месяца назад
Sorry! Yeah I always struggle trying to find a balance between readability and workability for videos. Others that I come across on YT are WAY too small for me even if I fullscreen or whatever. Apologies, but I'll try to find a better size..
@pulenong
@pulenong 24 дня назад
A font of 24 i have been told is great for viewing on mobile screens. I haven't tried it though.
@ErikYuzwa
@ErikYuzwa 24 дня назад
@@pulenong thanks - I'll do some tests! I should actually ask other content creators too...
@submariner_42
@submariner_42 3 месяца назад
cool
@ErikYuzwa
@ErikYuzwa 2 месяца назад
thanks! appreciate it!
@hawkbirdtree3660
@hawkbirdtree3660 4 месяца назад
I love finding tutorials like these
@ErikYuzwa
@ErikYuzwa 4 месяца назад
thank you so much! I'm so happy you came across it!
@memento-morri404
@memento-morri404 4 месяца назад
Followed this exactly, getting "The code execution cannot proceed because SDL2.dll was not found." I have the SDL2 file in C:/clibs/SDL2-2.30.3/x86_64-w64-mingw32 but no luck. Everything else is 1:1 what you have in your video.
@Burnrate
@Burnrate 4 месяца назад
The create renderer function changed and you can use something like the following now. The migration notes showed that the accelerated flag is removed since all renderers are accelerated. SDL_RendererFlags RendererFlags = 0; renderer = SDL_CreateRenderer(window, "Window!", RendererFlags);
@ErikYuzwa
@ErikYuzwa 4 месяца назад
very cool - another incremental enhancement of the API. Thanks for stopping by to leave the comment!
@Burnrate
@Burnrate 4 месяца назад
@@ErikYuzwa actually in the latest it would just have the window and the renderer name input SDL_CreateRenderer(window, NULL); Even easier lol
@zzzz-rb7el
@zzzz-rb7el 4 месяца назад
Thank you so much for your help XD! That was perfect
@ErikYuzwa
@ErikYuzwa 4 месяца назад
thank you so much! I'm happy to hear it helped you out! Thanks for stopping by and leaving a comment!
@xX_NameHere_Xx
@xX_NameHere_Xx 4 месяца назад
bruh i had written while (SDL_PollEvent(&event) == 0) thats why it wasnt closing
@ErikYuzwa
@ErikYuzwa 4 месяца назад
hehe that's happened to me before too! :P
@AceTheGeneral_
@AceTheGeneral_ 4 месяца назад
Hey would it be the same process for the other libraries that they have? I wanted to add the SDL_Image library next
@ErikYuzwa
@ErikYuzwa 4 месяца назад
hey! Yeah, it's essentially the same thing. I'll have to do a followup now that SDL3 is becoming more prevalent
@dennis77714
@dennis77714 4 месяца назад
Varmeste løvebror, thank you for saving me. It has been the most informative video I have watched. <3 You are WAY better than my professor at DTU Denmark Lyngby, course number 02322
@ErikYuzwa
@ErikYuzwa 4 месяца назад
wow glad I could offer some help! Good luck in the course!
@CODEDSTUDIO
@CODEDSTUDIO 4 месяца назад
Can it be used for 3D games ?
@ErikYuzwa
@ErikYuzwa 4 месяца назад
yes, there is a concerted focus on implementing shaders for SDL3 which I'm still looking into. I believe that's one of the main focuses of version 3
@Klavkalashhh
@Klavkalashhh 5 месяцев назад
Great video, subscribed!!! Question: Do I have to do the same setup for ALL future project, where I want to use SDL2, then? (except of course for the downloading steps)
@ErikYuzwa
@ErikYuzwa 4 месяца назад
Thanks so much! Yes, all of these setup steps will have to be repeated.
@cameronbelcher4065
@cameronbelcher4065 5 месяцев назад
This is what I am excited about "SDL3 Introduces A Vulkan Renderer" I was considering going with SFML as I am already familiar with it, but learned SDL3 was coming out and had a look at some of the things they were bringing to the table and was like, hell yeah! I am in. Do you plan on doing a full tutorial series? Most of the SDL tutorials on RU-vid are quite old and are not the best, so could be good to get up some before the influx of new tech videos pop up for SDL3. Anyway, I really enjoyed the vid and just discovered this channel today.
@ErikYuzwa
@ErikYuzwa 5 месяцев назад
thank you so much! Yeah - I'd like to get some more SDL3 projects and content recorded for sure. I'm still very new to working with shaders, so that's one area I'm excited to explore within SDL3.
@cameronbelcher4065
@cameronbelcher4065 5 месяцев назад
@@ErikYuzwa If you found the time to make some vids, that would be awesome for sure. I did not end up learning shaders in university, but heard it can require a bunch of math and be quite confusing to some. If you are excited about something in my experience that will take you so much further than something you are not excited about, so I reckon just go for it if that is what you want to do. :)
@ErikYuzwa
@ErikYuzwa 5 месяцев назад
@@cameronbelcher4065 I 100% agree my friend. Yes, I felt the same exact way when shaders first came on the scene with HLSL and GLSL. The whole development process felt so awkward to me, when all I wanted to draw was a few textured quads. I am doubly excited too dig more into the shader approach of SDL3 to see how that's come along...
@OdedErell
@OdedErell 5 месяцев назад
Awesome! Thank you very much :D
@ErikYuzwa
@ErikYuzwa 5 месяцев назад
you're so welcome! I hope it helped you out!
@raniarania1801
@raniarania1801 5 месяцев назад
does it change if i make it into c++ executable ?
@ErikYuzwa
@ErikYuzwa 5 месяцев назад
no it shouldn't be affected - it should still compile and produce what you want. *cross fingers*
@ArnabJhaYT
@ArnabJhaYT 5 месяцев назад
If you don't mind me asking, why should we choose SDL3 over SDL2? What's new in it
@ErikYuzwa
@ErikYuzwa 5 месяцев назад
Excellent question! There's quite a few areas that are new within SDL3. Maybe I should record a short video going over some of the differences between them...
@MyriadColorsCM
@MyriadColorsCM 5 месяцев назад
Great tutorial, im following along using C++ since I want to use some of its features even if most of the code is actually C. I've done a few changes to your implementation, mostly about some data structures I thought would be more convenient. to use (like I have a Vector2i to store integer vectors). Right now Im working on the zone transitions, my approach was a bti different form yous, because I didnt want to follow your tutorial strictly. I will share my code later when im done.
@ErikYuzwa
@ErikYuzwa 5 месяцев назад
please do! yeah -- I'm not entirely "happy" with how I'm handling zones. That kind of data might be neater tucked into a pure virtual type of collection...
@MyriadColorsCM
@MyriadColorsCM 5 месяцев назад
@@ErikYuzwaI just used a string flag for different zones, of course, it would be cumbersome if I had say, 15 different zones with different state, but but something this small and simple, it will do. maybe when im finished I can think of a more robust solution.
@jere1374
@jere1374 5 месяцев назад
Wowowow. I bought your book on game programming a long time ago when I was beginning to learn. This was so unexpected; it's like meeting a school teacher after a long time. Happy to see you! Unreal.
@ErikYuzwa
@ErikYuzwa 5 месяцев назад
hehe thanks - I really appreciate that. I'm still trying to buy the rights back from the publisher, but I think I'd rather sit down and create some new small e-books instead. Welcome! I hope you're still learning something!
@Antagon666
@Antagon666 5 месяцев назад
I want full release of SDL 3 NOW. 😥
@ErikYuzwa
@ErikYuzwa 5 месяцев назад
right? same here! at least it's just around the corner...
@Antagon666
@Antagon666 5 месяцев назад
@@ErikYuzwa it has been around the corner for few years 😅
@ErikYuzwa
@ErikYuzwa 5 месяцев назад
@@Antagon666 lol - shhhh. But yeah I know. Must've been very tough to determine what features go into SDL3 and what to enhance within SDL2 (beyond something like shaders for example)
@eugenevladoff2758
@eugenevladoff2758 5 месяцев назад
Thank You for your tutorials! Great job.
@ErikYuzwa
@ErikYuzwa 5 месяцев назад
thanks a lot, I really appreciate it. Just glad it's helping!
@realzguardian
@realzguardian 5 месяцев назад
Love your monotone voice
@ErikYuzwa
@ErikYuzwa 5 месяцев назад
I know right? Quality voice actor right here ready to be taken over by AI. Thanks!
@LampPost-j9k
@LampPost-j9k 5 месяцев назад
EEEEEEEEEEEEE
@ErikYuzwa
@ErikYuzwa 5 месяцев назад
What are YOU looking forward to using or learning about in SDL3?
@wtsharpproductions
@wtsharpproductions 5 месяцев назад
I've been grinding a lot of C++ code making game(s) and other, but CONSOLE app only which is obviously useless for an end-USer. People seem to get scared away when they see CONSOLE via. my shares on YT or FB. I would guess that people are obviously more interested in an App for which is a GUI-interface . For a card game, I've tried SFML, didn't care for it too much. It's ok I guess. Thinking, that I need to re-write and take my code to smart-phones, I literally just self-taught myself C# which is fine, I guess. Now, I have been using the Windows Forms App (.NET framework) thinking this is what I have to do to make a GUI app. I feel better and more advanced at writing C++ code, but not finding any good software to take my backend code to frontend. I am fine writing code in C# to add. To make a long story short, I just need a better way to take my code, and make it real so others can use it.
@misterpopo3736
@misterpopo3736 6 месяцев назад
thanks for this
@ErikYuzwa
@ErikYuzwa 5 месяцев назад
thanks so much - no problem at all. Just hope it helps!
@amund8821
@amund8821 6 месяцев назад
How would you add SDL_ttf and SDL_mixer into this?
@ErikYuzwa
@ErikYuzwa 5 месяцев назад
very carefully *grin* - it is essentially the same way, but you've got to setup paths to TTF and Mixer. I'm wondering if it's going to be a lot easier when SDL3 comes along...I'll keep an eye on that.