Creating Tetris in C++ with raylib - Beginner Tutorial (OOP)

Sdílet
Vložit
  • čas přidán 28. 08. 2024

Komentáře • 140

  • @programmingwithnick
    @programmingwithnick  Před 10 měsíci +15

    I hope you took away lots from this video. Let me know below!
    PS: I'm creating an OOP course! Sign up at programmingwithnick.com/course for early access and a 50% launch discount.

    • @notsneazy2462
      @notsneazy2462 Před 8 měsíci

      amazing video but how can i make the move block left be able to hold and it will keep going to the left, not just one cell. thank you!

    • @plymouthnnf
      @plymouthnnf Před 3 měsíci

      i am looking at doing this soon when i am motivated enough, how long did it take you to create this tetris? with or without internet ?

  • @titan8788
    @titan8788 Před 3 měsíci +9

    never have i seen a more in-depth tutorial than this, amazing work!

  • @aryelpanda
    @aryelpanda Před 3 měsíci +10

    Just finished a computer siance degree , i have never had a better teacher than you . i wish i had professors this good ,

  • @tijanimoulaydidi98
    @tijanimoulaydidi98 Před 6 měsíci +7

    I followed this whole tutorial and it worked, thank you a lot

  • @D4wGr1
    @D4wGr1 Před rokem +10

    You are honestly amazing, you explain everything so clearly and I have developed so quickly aswell watching your videos. Thank you soo much. You should definetly have atleast a hundred thousand subscribers with this content. Im sure if you keep going its a matter of time before you can reach it!!

  • @Poosley
    @Poosley Před 8 měsíci +32

    Trying to move Raylib to a different drive requires sacrificing your firstborn child and the blood of innocents

    • @sanjamkapoor9843
      @sanjamkapoor9843 Před 7 měsíci +3

      when installing raylib from the original source, it doesnt even allow to choose the location. Did hear some critics talking about it.

  • @EvasHookGame
    @EvasHookGame Před 8 měsíci +5

    Hi Nick, actually watching your video at midnight on New Year day lol
    Just wanted to say I really enjoyed your video, it must have been some work for you !
    As a total beginner in game dev ( and 5 months of learning of C++ ), your way of teaching is really smooth for me !
    I attempted to do Tetris by myself using SFML library as my second practice project, after a while I realized my mistake was to create new objects sliding in my grid instead of using the blocks already there as you did, and the map idea for the block's rotation really opened my mind !
    Thanks for the video , happy 2024 for anyone reading this :)

    • @mychoco6195
      @mychoco6195 Před 4 měsíci +1

      bro you honestly have no idea... i was doing the exact same thing, i was drawing objects in front of the grid instead of updating the grid's colours, and it was such a pain to fix, only to realise it was 2 lines of code for updating the cell positions... i felt like such an idiot, but i'm proud to say I did it, and it was a fun project to do

  • @dannyparker881
    @dannyparker881 Před 2 měsíci

    Just wanted to say *thank you* for the tutorial! I'm brand new to RayLib and I've been using your tutorial to build the project in the Odin language. Even though I'm not using C++, your video made it a lot easier for me to get over the hurdles I've been having.

  • @happygofishing
    @happygofishing Před rokem +11

    dont stop making raylib tutorials!

    • @programmingwithnick
      @programmingwithnick  Před rokem +2

      I won't. More tutorials like this are coming, but they need a lot of time to produce!

    • @happygofishing
      @happygofishing Před rokem +1

      @@programmingwithnick thanks for these videos

  • @user-el9xe7fm4x
    @user-el9xe7fm4x Před 2 měsíci +1

    the most under rated channel ever

  • @mistersir3185
    @mistersir3185 Před 7 měsíci +3

    Please keep these coming. Games are pretty cool, but I hope we also get to see some C++ CRUD apps also.

  • @wolfy_pride
    @wolfy_pride Před 4 měsíci +1

    It was such an amazing project! I learnt so much and made my first game!! 🤩 Totally a G.O.A.T 🙏

  • @rohantipnis6863
    @rohantipnis6863 Před rokem +4

    Gave a like before even watching the video. Was waiting for more C++ tutorials from you. I created the snake game following your video and loved the explanations and content quality. I am sure this one is going to be as good as that one. Keep up the good work 👍🏻😁.

    • @programmingwithnick
      @programmingwithnick  Před rokem +1

      Thank you very much for your support! I am glad you find my videos useful!

  • @alisondutton6765
    @alisondutton6765 Před 8 měsíci +1

    I followed this whole tutorial and it worked! Thank you for making it so straightforward, I am a beginner and I appreciate it! :D

  • @eprst0
    @eprst0 Před rokem +7

    I love more C programming. But its interesting too!

  • @sporkspork8556
    @sporkspork8556 Před 5 měsíci +1

    Damn, so many things I was trying to do the hard way, but was so simple

  • @nemasnemasnemas
    @nemasnemasnemas Před 11 měsíci +4

    Love the detail and some explanations done visually though it was kind of hard to code along trying to understand anything as a beginner, still like this stuff.

  • @AlizJaytay
    @AlizJaytay Před rokem +3

    This was awesome. Love your process of explaining what the code does. Learned a lot. Keep it up!

  • @reenko
    @reenko Před 2 měsíci

    One of the best tutorials on game development BRAVISSIMO!! Tha a lot for sharing

  • @StarFury2
    @StarFury2 Před rokem +2

    Fantastic tutorial Nick! Your work just gets better and better with every video. I love how much attention you put in structuring the code this time. We learned valuable lessons about proper c++ coding practices.
    Writing this code is not difficult for an experienced programmer, but explaining the idea behind every method and organizing optimal the order in which you present methods for learners, must have took a lot of planning.
    Can you share how much time it takes to make such video for us?
    P.S. Python is my primary language, but I too would like more C++ content please :)

    • @programmingwithnick
      @programmingwithnick  Před rokem +1

      Thank you very much for your kind words and the feedback. I am glad that work I do gets better and that it is useful. It takes a lot of time to prepare a video like this, around 1 month full time. Cheers!

  • @gerardo.arroyo.s
    @gerardo.arroyo.s Před 5 měsíci +1

    I was trying to make sfml work but it never did so im now trying with raylib and im making huge progress tysm

  • @dabunnisher29
    @dabunnisher29 Před 2 měsíci

    This is a really great tutorial. I dig your accent too. Thank you.

  • @Tims_Projects
    @Tims_Projects Před rokem +1

    Another great tutorial from you Nick.
    Great to see you have put more info about classes.
    As before I need to watch it a bit at a time, I am about half way through it at the moment.

    • @programmingwithnick
      @programmingwithnick  Před rokem

      Thank you Tim for your feedback, I hope this video helps you improve your C++ knowledge.

  • @sereenhajjar5002
    @sereenhajjar5002 Před 4 měsíci

    you are the best .. keep going you deserve a lot of subscribers.... your videos are amazing

  • @blacktomb7264
    @blacktomb7264 Před rokem +3

    10/10 Explanation, nice video!

  • @manuelgarciagarcia2501
    @manuelgarciagarcia2501 Před rokem +3

    Thanks for a new tutorial.😉😍

  • @TheKr0ckeR
    @TheKr0ckeR Před měsícem

    Thanks a lot for great tutorial.

  • @LightSquares
    @LightSquares Před 2 měsíci

    Nice tutorial, to reduce your code base you can use raylibs built in macros for colors e.g. raylib has #define GREEN (Color){ 0, 255, 0, 255 }. This means as part of function that returns a Color object you can simply say things like return GREEN and save yourself from defining your own colors.

  • @andiahmad7255
    @andiahmad7255 Před 7 měsíci

    thank u so much nick, I have never found a game tutorial as detailed and clear as this, I hope you continue this learning video again, especially c++ and raylib, let me know if you have a paid or free course related to raylib and c++.

    • @programmingwithnick
      @programmingwithnick  Před 7 měsíci +2

      Yes, I am working on a Space Invaders tutorial with raylib in C++. It is going to be awesome. Stay tuned!

  • @sobottrachhuth75
    @sobottrachhuth75 Před rokem +2

    Fantastic!! Can't get enough of your videos, already completed the raylib pong and raylib retro snake working through this project now. I really enjoy the progression in difficulty between these videos. Can't wait for more

  • @m4rt_
    @m4rt_ Před 8 měsíci +4

    You don't need to make it OOP to add different blocks. Just have an array of the blocks, and each block has 4 hard coded rotations
    Now you only need to have a block id and rotation id.
    To rotate it just do: rotation_id = (rotation_id + 1) % 4;
    To get the rotation do: blocks[block_id][rotation_id];
    You could also put all the rotations into a struct named Block or something, and store the offset it needs to be centered.
    For example:
    #define ROTATIONS (4)
    #define GRID_SIZE (4*4)
    struct Block {
    uint8_t x, y;
    uint8_t rotation_id;
    uint8_t x_centered_offset;
    uint8_t rotations[ROTATIONS][GRID_SIZE];
    };
    If you want to optimize it more you could use a bit array on a uint16_t

    • @charlesabju907
      @charlesabju907 Před dnem

      I dont think it needs to be optimized. It's tetris in raylib, it runs at 2000 fps om a Toyota dashboard computer.

  • @mr.shredder5430
    @mr.shredder5430 Před 6 měsíci

    your wisdom of teaching is great i just subscribed now thanks💜💜💜💜💜💜💜💜

  • @takagiro-space
    @takagiro-space Před 13 dny

    best tutorial ever!

  • @m4rt_
    @m4rt_ Před 8 měsíci +1

    8:30
    Technically where the center of the coordinate system is depends on what you are using.
    OpenGL has it in the center of the window. Some have it in the bottom left. Others have it in the top left. And there a likely other ones out there too.

  • @foofoo17
    @foofoo17 Před 11 měsíci

    Thanks to you Nick for improving our game development skills, and teaching us how to use libraries, OOP concepts and VisualStudios.

  • @misterpopo3736
    @misterpopo3736 Před rokem +1

    I will watch this later completely, but it's good that you are using headers. I had some problems rewriting the snake example with headers.

    • @programmingwithnick
      @programmingwithnick  Před rokem

      Yes, this is a more complex project, and it is imposible to write it without headear files. Thanks for the feedback.

  • @mrcool-fk4qw
    @mrcool-fk4qw Před 2 měsíci

    Please do more videos like this

  • @JK-dd7vn
    @JK-dd7vn Před 9 měsíci

    Truly an amazing video, a bit more advanced than my level but I was able to keep up and it learnt me a lot. Thank you for that deeply. And btw your voice is very nice to listen to, reminded me a bit about the voice actor of Crash Bandicoot's Neo. :D (y)
    May I ask how do you always build and run the game so fast? When I select either Start or Start without debugging, it takes a bit more time than yours.

  • @eztaah
    @eztaah Před rokem +1

    This video is very helpful, thank you

  • @Ali_533
    @Ali_533 Před rokem +1

    Very informative tutorial. thank you so much 👍

  • @craftingtable7032
    @craftingtable7032 Před 7 měsíci

    Amazing tutorial! The game works very well! I have just one question. I am new to C++ and everyone is talking about pointers in C++ and how important it is to understand them, but the only pointer you used in the entire video was "this". Are you just trying to make it easier for beginners? Could you make the game better with pointers?

  • @AnishM-jw7mf
    @AnishM-jw7mf Před 11 měsíci +1

    You deserve a lot of subscribers.... your videos are amazing and educational keep up good work 😄

  • @namansharma2596
    @namansharma2596 Před rokem +3

    I followed your other video to install raylib but its showing - fatal error : raylib.h : no such file or directory
    Please provide a solution for this as earlier i igonred incorporating raylib in vs code but now i am halfway in your tetris video and this is not working 😢😢

  • @FabriGLiza
    @FabriGLiza Před 6 měsíci

    Thank you so much for this tutorial! I've not only learned about game logic and programming, but also some C++ style. I read in a comment below that it's a bad practice to include a .cpp, why is that? I'm still a beginner at C++, and I'd really like to learn everything that's possible.

    • @davthemillionth
      @davthemillionth Před 4 dny

      It is easier to quickly understand the functionality of a class by looking at the function headers in a .h file. The .cpp file only contains the implementation, which you dont need to see to be able to understand its purpose. This applies to both people using the code, and the compiler itself.

  • @Zivvv187
    @Zivvv187 Před rokem +1

    Please consider making a full paid course on Raylib with c++!!
    I would be more than willing to pay for it.

    • @programmingwithnick
      @programmingwithnick  Před rokem

      Thanks for your feedback! I'm glad you're interested in a Raylib with C++ course. I'd love to get your input on what topics you'd like to see covered. Cheers!

    • @Zivvv187
      @Zivvv187 Před rokem +1

      @@programmingwithnick For a broader audience, I suggest beginning with a crash course in C++ and then diving into a smaller game project (so one can apply the c++ knowledge you learned). As the course progresses, introduce more advanced topics in C++ and raylib. Since I'm not a game dev by profession (I'm a full-stack dev in TS and Java not doing much math in my daily work), it'd be awesome to explore some Math topics related to Game programming too (since these are often not covered well in other videos I've seen). I think it'd be awesome to start with a 2D course first (covering the topics mentioned) and then move on to 3D later. Starting with 2D will be easier since it involves less advanced math.
      So a 2D course and 3D course would be ideal! :)

    • @Zivvv187
      @Zivvv187 Před rokem +1

      @@programmingwithnick I also think including Game Theory (like you explain very well in your tutorials with images) is invaluable! Once you learn the theory behind why something works the way it does, then you become good at thinking in the terms of it. Like an artist thinks in shapes before drawing.

  • @robertodm2686
    @robertodm2686 Před 3 měsíci

    Hey Nick, great tutorial! But why do you clear the completed rows if they are going to be overwritten by the upper rows anyway?

  • @shardulnsiddhesh
    @shardulnsiddhesh Před 6 měsíci

    Great tutorial Nick! Is it also possible to make an intermediate to advanced level project in Raylib as well? Thanks!

  • @Eric-vt5gj
    @Eric-vt5gj Před rokem +1

    Hi nick great tutorial iv been waiting long time for someone to make GUI style games in cpp in a nice and easy framework like raylib.
    wanted to ask will it be better to use dynamic memory in this project for various things?
    Let me know what you think
    and if it possible for you to make future tutorial using dynamic memory ? just to make it more complete

    • @programmingwithnick
      @programmingwithnick  Před rokem +1

      Thank you Eric for your comment! I'm glad you enjoyed my Tetris tutorial.
      Dynamic memory is a powerful tool that can be used to allocate memory to variables at runtime. This can be useful for a variety of things, such as creating large data structures or allocating memory for objects that need to be resized or deleted.
      In the Tetris tutorial, I used static memory for all of the variables. This was done to keep the code simple and easy to follow. However, it is possible to use dynamic memory in the tutorial to improve performance or make the code more flexible.
      For example, you could use dynamic memory to allocate memory for the Tetris board. This would allow you to create boards of any size, which would be useful for creating more challenging levels. You could also use dynamic memory to allocate memory for the Tetris pieces. This would allow you to create new pieces as needed, which would make the game more unpredictable.
      If you're interested in learning more about dynamic memory, I recommend checking out the following resources:
      Dynamic Memory Allocation in C++: www.tutorialspoint.com/cplusplus/cpp_dynamic_memory.htm
      The new and delete operators in C++: www.tutorialspoint.com/new-and-delete-operator-in-cplusplus
      I'm planning to create a future tutorial on dynamic memory in C++. I'll be sure to let you know when it's available.
      Thanks again for your feedback!

    • @Eric-vt5gj
      @Eric-vt5gj Před rokem

      @@programmingwithnick thank you for replying Nick ,in the meantime I’ll try my luck with this project I will try to recreate it from scratch again but using dynamic memory as you said , hopefully it will go well . 😅

    • @Eric-vt5gj
      @Eric-vt5gj Před rokem

      @@programmingwithnick you wrote "This would allow you to create new pieces as needed" , when we use map as you did named cell isnt it already dynamically propetry that we can add more and more states ?
      and one more thing lets say i want to add more pieces to the game how can i do that dynamically ? I cant think of a way to create one and access its properties at the same time
      can you please help with that ?

  • @nerts4720
    @nerts4720 Před 12 dny +1

    Vector of blocks Out Of Range, debuged that for 2 hours, nothing happens

  • @mardiyonghasben1619
    @mardiyonghasben1619 Před 3 měsíci

    good...channel...

  • @farmkess1931
    @farmkess1931 Před 3 měsíci

    Nick, i do not understand the miltiplication in the grid. When you start with 0 * cellSize the product should be 0. If i remove the cellSize then the grid wil not work. Thank you.

  • @user-uk9fd4oq5e
    @user-uk9fd4oq5e Před 3 měsíci

    καλο το tutorial Νικο

  • @jerryzhang2189
    @jerryzhang2189 Před rokem +1

    very good!

  • @user-nn3tb1bz4y
    @user-nn3tb1bz4y Před 4 měsíci +1

    Hey i am beginner and using c programming language so will ut be hard to follow this video and make in c? because i heard that c and c++ are similar with c++ has more feature

  • @gomo5628
    @gomo5628 Před 3 měsíci

    finally managed to understand what the heck is .h file :)

  • @iandy_hd3743
    @iandy_hd3743 Před rokem +1

    amazing vid 👍🙏

  • @MrBeng38
    @MrBeng38 Před 10 měsíci

    You the real MVP

  • @rmarti5163
    @rmarti5163 Před 9 měsíci

    @30:05 I don't understand how this is working? is it because the only thing definable in the object/method Grid() only has one definable parameter? what would happen in there was another array parameter within Grid::Grid()?

  • @TruongVanBinh-kj6ky
    @TruongVanBinh-kj6ky Před 10 měsíci +1

    Plase: Time 1h37 debug : Vector subcript out of range

  • @notsneazy2462
    @notsneazy2462 Před 8 měsíci

    Amazing video, but when I would rotate the TBlock and JBLock, some of the rotation states would not be completed, and I have tried to fix it for hours and I haven't figured it out, please help!

  • @StephenMolloyGoogle
    @StephenMolloyGoogle Před 8 měsíci

    This is great, but the "pop" sound when a key-combination appears on screen is a little piercing for those of us with headphones....

  • @farmkess1931
    @farmkess1931 Před 3 měsíci

    Nick, can you explain to me something i do not understand about the grid. In the grid you start with 0 and multiply it with cellSize. The product should be 0. If I eliminate the cellSize in the multiplication the grid will not work correctly. Thanks.

    • @davthemillionth
      @davthemillionth Před 4 dny

      cellSize is not always multiplied by zero. It is multiplied by other numbers (in a loop) to give the coordinates of the corners of each cell in the grid. Change the value from 30 and it will appear a different size.

  • @yasharkhatib641
    @yasharkhatib641 Před 4 měsíci

    hello...i do every things well but exactly not getrandomblock work in mine? and everytimes return last index of allblocks!

  • @DestroyerPal
    @DestroyerPal Před rokem +1

    Thanks for great tutorial bro. But I have a issue my sound is not working I followed everything.

    • @programmingwithnick
      @programmingwithnick  Před rokem +2

      Do you call UpdateMusicStream(game.music); inside the game loop?

    • @DestroyerPal
      @DestroyerPal Před rokem +1

      @@programmingwithnick It's working now. I accidentally gave wrong path to the sound 😅

  • @ericwinter228
    @ericwinter228 Před 5 měsíci

    BRO!! your ways is working.and I feel great! but next day1 when run program again in vscode, it was showing like raylib.h is not found.but yestday was working. I had no idea.When I research others also got error too. So can you please......

  • @frankstercodestuff
    @frankstercodestuff Před 10 měsíci

    This is a great tutorial, but I have a problem. When I delete the ball.cpp and ball.h file and I try to debug the program the game breaks and says that main file does not exist. Could you perhaps help me? I would be really thankful!

  • @ledschmidt1441
    @ledschmidt1441 Před 5 měsíci

    Using raylib 5 and I'm getting a nasty console message popup, even Norton says bad things....SO am i using the wrong version? Can't get any game window to show? thanks much

  • @eklipon1678
    @eklipon1678 Před 6 měsíci

    Απ'το πρωτο λεπτο σε καταλαβα ρε ατιμε🤣🤣

  • @chicing4008
    @chicing4008 Před 5 měsíci

    Nick, Should I download Visual Studio Code or Visual Studio Community? Which one should I choose?

    • @programmingwithnick
      @programmingwithnick  Před 5 měsíci +1

      What ever you want. VS Code is lighter and ideal for small projects. For bigger project I would choose Visual Studio.

    • @chicing4008
      @chicing4008 Před 4 měsíci

      @@programmingwithnick Thank you very much!! Your video helped me a lot

  • @alexsava4681
    @alexsava4681 Před 7 dny

    Guys, put it on 0.75 speed, works wonders...

  • @NrtGames
    @NrtGames Před rokem

    Hello, I woud like to write the game in MC visual studio, but you provide the "starter template" only for VS code ? How I Can follow this tutorial or I dont need any started template in Microsoft Visual Studio ? / (I have installed raylib to my MC visual studio,)

    • @programmingwithnick
      @programmingwithnick  Před rokem

      Check out this repo: github.com/educ8s/Cpp-Raylib-Starter-Template-for-Visual-Studio

  • @diegoaredes2721
    @diegoaredes2721 Před 5 měsíci

    It's work!!

  • @snatcandle1657
    @snatcandle1657 Před 6 měsíci

    20:41
    2: 30:09
    3: 57:55

  • @ozzz35
    @ozzz35 Před 8 měsíci

    "Hey friend . This video you uploaded on CZcams can continue playing as a small window on mobile. This feature doesn't work with any other content on my phone. How did this happen? I'm using Android."

  • @user-mt3kp3cr7l
    @user-mt3kp3cr7l Před 9 měsíci

    Great tutorial and I learned a lot, however there an error when is used #include "grid.h" in main cpp file but works fine if I changed it to #include "grid.cpp"

    • @notsneazy2462
      @notsneazy2462 Před 8 měsíci

      make sure the include statements match the file names

  • @platqr
    @platqr Před 8 měsíci

    If I try to organize the files in directories inside the "src" folder, the project won't compile at all. Why? please help

    • @brunorevez9308
      @brunorevez9308 Před 7 měsíci +1

      Maybe the “imports” in each class needs to be updated

    • @Sealedaway
      @Sealedaway Před 7 měsíci +1

      I’m guessing it’s because the compiler can’t find the source files. The compiler only looks in the specified folder, it doesn’t automatically look into any subfolders you have created within it. After a quick look in the makefile, I can’t find any point where it checks for subfolders. You would have to modify the makefile so that it checks all subfolders in src/ as well (I don’t know how one would do that, GNU make is wizardry to me)

    • @platqr
      @platqr Před 7 měsíci

      @@Sealedaway thank you! that's very useful

  • @DarKHearT-fd2gl
    @DarKHearT-fd2gl Před 7 měsíci +2

    i just want raylib to work in my vscode ☠

  • @systemcrashed6782
    @systemcrashed6782 Před 2 měsíci

    Man I can't get raylib working... I installed it from official website then I tried to run a project for vs code which comes with the installation but it keeps telling me that: raylib.h NOT FOUND but WTF everything is installed correctly and the path specified in all of the project files why doesn't it work??? I use windows 11 Idk if that makes a difference but raylib just doesn't work for me in vs code whatever I try to do and there is no answer on the web how to fix it. Pls help.

    • @programmingwithnick
      @programmingwithnick  Před 2 měsíci

      Check out this video and tell me if it works: czcams.com/video/RGzj-PF7D74/video.html

    • @systemcrashed6782
      @systemcrashed6782 Před 2 měsíci

      @@programmingwithnick I don't know how probably by pure magic but I made it work somehow... Before when I was trying to run it with F5 nothing happened then I tried to run basic_window program from raylib directory and it compiled and run then I tried your program and it ran as well. Now I can see the same windows with a ball like in your video. Thanks alot man It took me few hours to make it work and I still don't actually know how exactly lol...

    • @systemcrashed6782
      @systemcrashed6782 Před 2 měsíci

      Now that I solved this problem I can finally dive into your tutorials. Thanks alot.

  • @edinetgrunhed6000
    @edinetgrunhed6000 Před 26 dny

    is raylib support multiplayer and networking?

    • @davthemillionth
      @davthemillionth Před 4 dny +1

      It allows for user input and outputting audio/video. It is not a game engine, so you have to write your own logic, and that includes networking. It supports it as much as you're willing to do it yourself

  • @foofoo17
    @foofoo17 Před 11 měsíci

    Can we make the columnOffset = 3 in the Block() definition instead of getting each subblock to Move(0,3)?

  • @ignacionr
    @ignacionr Před 3 měsíci

    Spaniard or Greek?

  • @mahkhi7154
    @mahkhi7154 Před 3 měsíci

    I Studies a DOUBLE Degree. Both Electronics and Software Engineering.
    I Had 4 Modules in My Final Year, Plus The Final Year Project, Tetris (5 in Total).
    The One Studying Software Engineering. Had Two Modules. 1 First Semester, Another the second Semester and Noughts and Crosses for final Year Project. Those Studying Computer Science. Had 1 Module 1st Semester and Their Final Year Project. Those Studying Computing. Had Half a Module and Their Final Year Project.

  • @renatovilcahuaman6582
    @renatovilcahuaman6582 Před 10 měsíci

    I found your channell and iots answering all my questions aboyt game dev with raylib, Thank you so muhc for your efforts, let me know if u have a patreon to subscribe there and suport this channel

    • @programmingwithnick
      @programmingwithnick  Před 10 měsíci

      Thank you very much for your feedback. I am glad my videos are helpful. I don't have a patreon account but If you want to help the channel financially you can become a member of the channel which is similar to Patreon by pressing the Join button. If you want you can also press the thanks button under any video and donate once. Thank you very much!

  • @kokomanation
    @kokomanation Před 2 měsíci

    You sound like you are from Greece.

  • @dryoldcrabman6890
    @dryoldcrabman6890 Před 8 měsíci +2

    this video has a lot of bad practices in it... including a .cpp

    • @programmingwithnick
      @programmingwithnick  Před 8 měsíci

      Thanks for the feedback. I understand my code is not perfect and messages like yours help me improve. Thanks again!

    • @dryoldcrabman6890
      @dryoldcrabman6890 Před 8 měsíci +1

      @@programmingwithnick no worries! I found your video useful to follow along. Since I wanted to watch a tutorial on raylib. I was able to follow along just fine and ended up making modifications as I saw best. The main things the bug me about your video for beginners is the mixing of C and CPP styles and conventions. You make no mention that raylib is a C library and that you are useing a CPP main. But you write headers with a h file and use c style arrays. Also you include iostream to access sprintf to write into a char [10] ??? That is just flat out wrong. Why would you not use std::string and std::to_string and use .c_str() to pass strings to RayLib? So for beginners this tutorial is very misleading and shows bad practices. But I did enjoy this tutorial non the less. Subscribed.

    • @programmingwithnick
      @programmingwithnick  Před 8 měsíci +1

      Thanks for your time to write this comment. It is really very useful to me to understand how beginners or advanced users use my videos. I noted all the issues you mentioned and I will fix them in the upcoming Space Invaders tutorial in C++ and raylib. You are right, I didn't mention clearly that we are using C++ with a C library. That's something that I didn't think it might mislead the viewers. That's a perfect example of the "Curse of Knowledge". Once you know something is dificult to think as someone who does not know that thing. Thanks to you, I know now how I might mislead and confuce my viewers. That's the power of a diferent perspective. No that I am aware of it, I will try to fix it. If there are any other areas of improvent I would love to know them. Thank you very much again for your help.

  • @meucanaldegamenoyoutube
    @meucanaldegamenoyoutube Před 3 měsíci

    Thankyou so much!!
    But, at the end, I've noticed the sound effects has a little bit delay on key pressed and complete the row.
    Did you know why?

  • @mahkhi7154
    @mahkhi7154 Před 3 měsíci

    Tetris is Far Beyond Your Species Ability. Your Alan Turing (Leslie Lamport), Bill Gates or Steve Wozniak. The Best They Can Do is Noughts and Crosses or Pong. You're Brain is a Quarter the Power of Mine. Tetris is Medium Complexity.
    Donkey Kong (1981), Started Development in 1976 with Atari 2600. It Wasn't Released for Atari.
    NES: Donkey Kong (1981), Mario: NES 1985. Super Mario: Super NES: 1990. 5 Years to Donkey Kong. 10 Years to Mario. 15 Years to Super Mario.
    I'll Tell You Whats More Complex Than Tetris. Kernel Kesaria.