Making a Game With C++ and OpenGL

Поділитися
Вставка
  • Опубліковано 17 тра 2024
  • I Made a Pacman Clone Game with C++ and OpenGL
    Recently I have been working on improving my C++ skills and therefore I decided to create my very first C++ game. I have used C++ before to create engines and other projects but never a game. Therefore, in this video I challenged myself to create the classic Pacman game using C++ and OpenGL. The project uses a custom framework that uses OpenGL, OpenAL and FreeGLUT. Can I successfully create a Pacman clone game or will I fail?
    The video goes over a level editor/creator, player movement, Different types of AI, Collectibles, Highscore, Game Loop and more!
    My Links:
    Discord: / discord
    Instagram: / gabzxd
    Twitch: / officialzyger
    Twitter: / zygerdesigns
    Patreon: / zyger
    Inspiration:
    @Goodgis
    @PolyMars
    @AIAdev
    @Pontypants
    @barj
    Music:
    All my music is provided via Epidemic Sounds. Under a license.
    #C++ #zyger #gamedev #programming #csharp #cplusplus
  • Розваги

КОМЕНТАРІ • 98

  • @rileyhawksworth8362
    @rileyhawksworth8362 3 місяці тому +67

    goose. nice choice. geese are nice.

    • @pyscrap
      @pyscrap 3 місяці тому +1

      goose? geese? GEESES?

    • @shajden
      @shajden 3 місяці тому +1

      i agree

    • @shadowlordalpha
      @shadowlordalpha 3 місяці тому +2

      no they are not, they are very mean

    • @kjellbeats
      @kjellbeats 3 місяці тому +2

      ​@@shadowlordalphathey're nice to cool people

    • @shajden
      @shajden 3 місяці тому +1

      @@shadowlordalpha too bad

  • @Rafael-yo6hd
    @Rafael-yo6hd 3 місяці тому +20

    Nice work! Loved the goose pixel art.
    One thing I would modify is the level creator, instead of using a txt file, I would use a image file and read the color of the pixels. For the long run and customization, would save time and be faster to iterate the level designs.
    But still, great job and keep it up!

  • @borbzaby
    @borbzaby 3 місяці тому +15

    Kinda looks like a Goodgis thumbnail but a completely different game. In a good way. It looks awesome

  • @duduken20
    @duduken20 3 місяці тому +1

    Zyger uploading, another treat for my weekend.

  • @diwakar_tsn
    @diwakar_tsn 3 місяці тому +8

    I used raylib for my c++ game pong
    semester project

  • @Diverse_Gaming_Zone
    @Diverse_Gaming_Zone 2 місяці тому +7

    I love your video I’m 11 years old and learning to code a game but it has been super boring and your making it entertaining🎉

  • @itsyaboijoe6389
    @itsyaboijoe6389 3 місяці тому +2

    ZYGER UPLOAD LETS GOOOO

  • @swiftcreepa2096
    @swiftcreepa2096 2 місяці тому

    Thats freaking awesome!

  • @Claude-bg6ef
    @Claude-bg6ef 3 місяці тому +2

    Listen, you're really smart, I admire you

  • @merc.5802
    @merc.5802 Місяць тому

    this is the coolest thing I've ever seen

  • @kwameopareasiedu
    @kwameopareasiedu 2 місяці тому

    Nice one. Currently creating a pacman game in C and ncurses. Just finished a level generator using wave function collapse algorithm.
    Took 2 weeks and multiple attempts to get just that working... 😅

  • @guilhermerodrigues4853
    @guilhermerodrigues4853 3 місяці тому

    Nice video! What resources did you use to implement 2d texture animation??

  • @tomasberzinskas8960
    @tomasberzinskas8960 3 місяці тому

    Great game, I love the goose!

  • @Icie145
    @Icie145 3 місяці тому +3

    Mmyes a banger

  • @zorymoon_yes_its_me
    @zorymoon_yes_its_me 3 місяці тому

    The thumbnail almost got me

  • @AdrienTD
    @AdrienTD 3 місяці тому +2

    As someone who wrote C++ for a decent time, I have one tip: AVOID using new/delete if possible.
    For example in your struct Player you define the position as a pointer to a Vector2 (Vector2* position;) instead of a Vector2 directly (Vector2 position;). With the latter the Vector2 is always constructed/destroyed with the Player struct and you won't need to use new/delete manually.
    I guess if you come from C#/Java using the new keyword might seem normal, but in C++ it's usually considered bad practice.

    • @halfbakedproductions7887
      @halfbakedproductions7887 3 місяці тому +1

      Unreal Engine expects most things to be done in that way, but it has its own garbage collection going on.
      But yes, what's being used here is susceptible to memory leaks if you forget to free the pointer when the struct falls out of scope. You could use a smart pointer, something like std::unique and std::make_unique I guess.

    • @AdrienTD
      @AdrienTD 3 місяці тому +1

      @@halfbakedproductions7887 Yes, with large classes nothing wrong with allocating them separately (best with smart pointers), but with small trivial structs like Vector2 it just makes more sense to make the Vector2 part of the struct (composition). Allocating each Vector2 individually on the heap can also cause some issues like memory fragmentation and waste.

    • @MirrorsEdgeGamer01
      @MirrorsEdgeGamer01 3 місяці тому +1

      I always try to allocate on the stack whenever possible.

  • @Uranerdbro
    @Uranerdbro 3 місяці тому +1

    W goodgis thumbnail

  • @marsimplodation
    @marsimplodation 3 місяці тому +1

    finally some c++ love. Is the source code available? Would love trying out some proper fsm for the enemies, as they seem a bit dull

  • @HuntShootRepeat
    @HuntShootRepeat 3 місяці тому

    question. I have a multiplayer game that I'll be releasing on steam. I can't find a clear answer anywhere. Does steam provide us with the use of their servers? Or do I have to pay for 3rd party servers and implement it to be used in steam?

  • @niema4154
    @niema4154 16 днів тому

    i leave a subscribe, i really enjoy ur content :3 I am waiting for more ;3

  • @timmygilbert4102
    @timmygilbert4102 3 місяці тому

    Kween is back 🎉

  • @Isaaclolwastaken
    @Isaaclolwastaken Місяць тому

    The new Dani

  • @Tech_Code127-76
    @Tech_Code127-76 3 місяці тому

    Nice

  • @nkanyisoinnocentkhwane3752
    @nkanyisoinnocentkhwane3752 3 місяці тому +4

    Is *Project Jude* still on your itinerary?

  • @RealCatDev
    @RealCatDev 3 місяці тому

    C++ LETS GOOO

  • @baker_dev
    @baker_dev Місяць тому

    nicee

  • @atiedebee1020
    @atiedebee1020 2 місяці тому +2

    But where is the OpenGL part
    Ive been baited

  • @assido_hd5214
    @assido_hd5214 Місяць тому

    What keyboard are you using😊

  • @Abdullah-ww8yn
    @Abdullah-ww8yn 3 місяці тому

    Any updates on ur multiplayer fps???

  • @JoinasTV
    @JoinasTV 3 місяці тому +1

    As a goose and gamedesigner myself, I enjoyed your video very much!

  • @IbytheGOAT
    @IbytheGOAT 22 дні тому

    what about a 3d game in C++ and OpenGL 👀

  • @benpecto.benpecillton
    @benpecto.benpecillton 3 місяці тому

    cool channel bro

  • @musashi542
    @musashi542 3 місяці тому

    ever tried Clion ? whats your opinion on it ?

  • @WafflerSupreme
    @WafflerSupreme Місяць тому

    Wouldn't A* or Dijkstra help with generating the level?

  • @TecnocraciaLTDA
    @TecnocraciaLTDA 3 місяці тому +1

    Do a 3D game now with opengl, plss, can be simple

  • @TKaYonYoutube
    @TKaYonYoutube 2 місяці тому

    I do SDL2 to learn gameDev on C++

  • @lykoseleutherios
    @lykoseleutherios 2 місяці тому

    What's the name of the theme that showed in the start of the video

  • @ItsOnlyTG
    @ItsOnlyTG 3 місяці тому

    Amazing fucking video

  • @theonewhowill4903
    @theonewhowill4903 3 місяці тому +1

    C++ game devlopment with no engine is a mark of a great programmer

    • @user-hl7lr8ld2i
      @user-hl7lr8ld2i 3 місяці тому

      S2d (what she is using) is pretty much an engine)

    • @yarpen26
      @yarpen26 Місяць тому

      The video title's misleading af as it makes it seem like she's going at it raw, Carmack style, even so far as tackling the actual rendering pipeline. S2D is in fact only slightly below Godot when it comes to accessibility and solely because there's no GUI (at least I think there's none, it's hard to say, there's almost nothing about it on the net anymore) so you have to code directly, but other than that, the whole library is ready, not surprising since it's just SFML coupled with Box2D. Needless to say, SFML takes care of all the OpenGL-to-Windows linkage crap, you only need to activate it in code.
      Also, what a weird choice of engine... this thing has been dead in the water since it was released back in 2015, the original Github built was moved once to a different repo which has never since been pushed to again. The website's offline, there is zero community around this... why would anybody play around with it if so many better and well supported options are available? It really looks like she just gave a blind shot at whatever the first page of the Google search yielded that required not too much reading into before jumping in.

  • @user-de4mr7uk8d
    @user-de4mr7uk8d 3 місяці тому +6

    it's a goose. Geese is plural form like feet, teeth, meese

  • @randomly2000
    @randomly2000 3 місяці тому

    I love your Voice 😊

  • @TecnocraciaLTDA
    @TecnocraciaLTDA 3 місяці тому

    Hellooooooo Zygerrr 🇧🇷 🇧🇷

  • @MunaAlaneme
    @MunaAlaneme 3 місяці тому

    Bro created Pacman Maker

  • @Nemesisardans
    @Nemesisardans 2 місяці тому

    What do you major in university, why did u decided to go into programming?

  • @thecookieman568
    @thecookieman568 3 місяці тому

    Hi! Im trying to become a game dev, if you can, can you please link the background music and sound effects because im having trouble finding good ones.

    • @ZygerGFX
      @ZygerGFX  3 місяці тому

      Best of luck. And music and sound effects are from epidemic sounds

  • @KJ7JHN
    @KJ7JHN Місяць тому

    Diagon ally. Poof! Harry? What are you doing down here? 😊

  • @mattanimations6997
    @mattanimations6997 3 місяці тому

    I can’t wait for the second fps devlog (unless you cancelled it)

    • @ZygerGFX
      @ZygerGFX  3 місяці тому

      No its coming soon promise. Lots of new stuff :))

  • @S0ggyW3tW4t4r
    @S0ggyW3tW4t4r 3 місяці тому

    Why is the goose/geese so horrify

  • @ResistDemise
    @ResistDemise 2 місяці тому

    More videos now

  • @christiankm8820
    @christiankm8820 3 місяці тому

    singular: goose
    plural: geese

  • @gruelingpine1857
    @gruelingpine1857 3 місяці тому

    It's a goose. Geese is the plural word. Would you try making a game with SDL?

  • @IgorBlackHusbandElenaLitun8v0
    @IgorBlackHusbandElenaLitun8v0 3 місяці тому

    good work seniorita. (kohedlo/Imperial Game Engine 2 developer)

  • @TheFrostFyr
    @TheFrostFyr 3 місяці тому

    Peck-Man

  • @Zetoll
    @Zetoll 2 місяці тому +1

    Do luau pls

  • @Martyrir
    @Martyrir 3 місяці тому +2

    SECOND....

  • @foqsi_
    @foqsi_ 3 місяці тому

    Did you know that a banana is a berry, and a strawberry is not a berry?

    • @ZygerGFX
      @ZygerGFX  3 місяці тому

      Wait what... there's no way that's actually true

  • @PaulMetalhero
    @PaulMetalhero 3 місяці тому +1

    Good project. But you should not use manual memory management in modern C++

  • @einfachnurbaum6732
    @einfachnurbaum6732 3 місяці тому

    Oh girl, it's cool. But I would still using Godot Engine for game making.
    Psst How about a video about Godot Engine?

  • @danielelskamp5527
    @danielelskamp5527 2 місяці тому

    huh

  • @emanuelprieto
    @emanuelprieto 3 місяці тому

    Its a Duck

  • @JasonMortimer3
    @JasonMortimer3 3 місяці тому

    learn Rust and make a game with it using Bevy 💖

    • @user-hl7lr8ld2i
      @user-hl7lr8ld2i 3 місяці тому

      Love to bevy, great engine

    • @n3y
      @n3y 2 місяці тому

      love to engine, great bevy

  • @that_guy1211
    @that_guy1211 3 місяці тому +1

    welp, although i've been learning c++
    i think my worst fear is to actually have to use c++ to anything ,.,
    i'd much rather use a safer and easier language

  • @sharokhkeshawarz2122
    @sharokhkeshawarz2122 3 місяці тому +2

    where is the opengl part XD

    • @QWERTIOX
      @QWERTIOX 3 місяці тому

      I think custom library handles opengl

    • @yarpen26
      @yarpen26 Місяць тому +1

      This engine is a Frankenstein of SFML and Box2D, they cover all OpenGL stuff. She isn't "making a game with OpenGL" any more than I am "igniting the fuel in the tank by turning the key".

    • @PinkeySuavo
      @PinkeySuavo 24 дні тому

      I was curious too, I wanted to learn OpenGL last time and it had like 70 lines of code to show a triangle and she shows ducks in 2 lines of code

  • @sarmalevrajitoare
    @sarmalevrajitoare 3 місяці тому

    like if u wanted to play the game =(

  • @user-hl7lr8ld2i
    @user-hl7lr8ld2i 3 місяці тому +2

    There was no opengl used here...

    • @BlessedDog
      @BlessedDog Місяць тому +1

      Yeah, the only OpenGL code I saw was at around 0:17
      But that was just opening the window and creating the context IIRC. Might've been some GLM stuff as well

    • @PinkeySuavo
      @PinkeySuavo 24 дні тому +1

      ye I was curious too cause I tried to learn openGL some time ago and it was like 70 lines to show a fucking triangle, and when she showed a duck with 2 lines i was like "wait a second"

  • @justaguynotamanyouwouldkno2207
    @justaguynotamanyouwouldkno2207 3 місяці тому +2

    FIRST

  • @VineToDay_
    @VineToDay_ 3 місяці тому

    You look like female Dani.

  • @GuiZeroUm
    @GuiZeroUm 3 місяці тому

    Whats your LinkedIn?