The Simplest Game (YKey Games)
The Simplest Game (YKey Games)
  • 22
  • 114 334
6 Months of Indie Game Development
The last 6 months I have been working on my indie game Twin-Stick Survivors. I'm developing it using my own engine in C++ and OpenGL.
You can wishlist it on Steam: store.steampowered.com/app/3079660/TwinStick_Survivors/
Pathfinding Algorithm: www.gameaipro.com/GameAIPro/GameAIPro_Chapter23_Crowd_Pathfinding_and_Steering_Using_Flow_Field_Tiles.pdf
00:00 Intro
01:03 Past to Present
05:21 Future
Переглядів: 1 216

Відео

Dynamic 2D Lights - Game & Engine Devlog
Переглядів 1,6 тис.5 місяців тому
In this devlog I show you how I use Screen Space Lightmaps to implement dynamic 2d lights in my C engine. I use OpenGL to render the game. 00:00 Gameplay 00:52 Screen Space Lightmaps 01:46 RenderDoc 03:36 Gameplay
Make Pong in pure C++ in 2 hours
Переглядів 7106 місяців тому
In this tutorial, I will show you how you can make Pong in pure C using OpenGL to render the game on Windows. GL Extension Headers: registry.khronos.org/OpenGL/api/GL/glext.h registry.khronos.org/EGL/api/KHR/khrplatform.h 00:00 Window Setup 05:55 Rendering 10:29 Gameplay
[OUTDATED] Gameplay Trailer | 1000+ Enemies Bullet Heaven
Переглядів 2786 місяців тому
In development gameplay trailer for my top-down shooter indie game with over 1000 enemies on screen at the same time. Developed in C using my own custom engine. Music: How's It Supposed to Feel - NEFFEX
How I'm making my game in C++
Переглядів 3,3 тис.7 місяців тому
I'm making my indie game in C and use mostly the win32 api and OpenGL. I will show you my project and build setup and walk you line by line through the Start.cpp file to give you an overview of the project. 00:00 Intro 00:40 Build Setup 03:01 Includes 05:03 Main Function
EXPLOSIVE Enemies | 1000+ Enemies Bullet Heaven - Devlog 2
Переглядів 1,1 тис.7 місяців тому
In this devlog I show you the progress on my 2d top-down bullet heaven indie game, where you fight over 1000 enemies at the same time. I use C and OpenGL to make this game.
1000+ Enemies Bullet Heaven | Devlog 1
Переглядів 2,7 тис.7 місяців тому
In this devlog I show you the progress on my 2d top-down bullet heaven game with over 1000 enemies on the screen at the same time. I use C and OpenGL to make this game.
Physically Based Rendering (feat. art by @naevrah ) | OpenGL
Переглядів 1,4 тис.9 місяців тому
Physically Based Rendering (feat. art by @naevrah ) | OpenGL
I added 4 new stages to my OpenGL game!
Переглядів 94611 місяців тому
I added 4 new stages to my OpenGL game!
I wrote a game engine to build my game prototype using C++ and OpenGL
Переглядів 1,6 тис.Рік тому
I wrote a game engine to build my game prototype using C and OpenGL
This is how you can draw a cube in C++ without SDL | Game Engine Devlog | OpenGL
Переглядів 4,8 тис.Рік тому
This is how you can draw a cube in C without SDL | Game Engine Devlog | OpenGL
You don't need libraries to write a game engine in C++ | OpenGL | Devlog
Переглядів 72 тис.Рік тому
You don't need libraries to write a game engine in C | OpenGL | Devlog

КОМЕНТАРІ

  • @FrippoFripp
    @FrippoFripp 14 днів тому

    Wow!

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

    Can you share the source code for this tutorial for learning puposes?

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

    Epic this Looks Like so much fun

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

    Epic fr

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

    Pretty cool, since their green I think a sewer setting could work really well and the enemies could be called “The Sludge”

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

    Looks really good! Really like the new upgrade system and looking forward to see the permanent ones. Also how the fuck does one make a game with decent graphisms, tons of enemies that only requires 1gRam and a 100Mb graphics card pretty sure a pc like that couldn't even run steam

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

      Thanks :) I'm writing the game in C++, that helps. So far the amount of memory needed is even much less than those numbers. Should this change in the future, I'll adjust them.

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

    What I never like about using libraries is that they somewhat force you into including a lot boiler-plate, that forces you to have a complicated build setup, because otherwise compilation is to slow, even though you jzst wanna lets say build a lightweight GUI API. Then every time you wanna use your API you are forced to include the whole build system, it is a very bad experience over all. Most people just want a few Header files, which expose the 50 functions you actually need

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

    Nice to see such a big update :D Can't wait for the full game!

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

    Amazing progress! Worried that unless turrets expire, players will just hover near them indefinitely

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

      Thx :) They do actually expire after some time.

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

    reminds me of Geometry Wars lol

  • @Nate-bd8fg
    @Nate-bd8fg 2 місяці тому

    What would be cool (not to be THAT guy, just spitballing) is a multi-level design, like the one those 3DS Zelda's use. I feel it could add a whole layer (lol) to gameplay and player creativity

  • @Illuminat-ve5ue
    @Illuminat-ve5ue 2 місяці тому

    omfg your voice is really nice TwT

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

    Fire

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

    Super curious as to how many enemies is the limit for performance reasons? And if you do any tricks to simplify collision detection on enemies in large groups?

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

      The current technical limit I set is 5000 enemies. But I could increase that, should I reach it during playtesting. I will probably not go over 10k, because so many enemies don't fit on the screen anyway. I do grid partitioning, so that every enemy only checks those in close proximity to see if they are overlapping.

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

      @@ykeygames makes sense - I'm assuming that grid partitioning is to determine which enemies are in the same area? As otherwise calculating the distance each time is costly

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

      Yes

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

    Hell yeah

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

    looks like fun💥

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

    I actually cant wait for this

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

    Less Go Automatic turrets gonna be in the game

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

    😎first

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

    Since this game is programmed with openGL can it be ported to macos?

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

      You would have to rewrite all the platform specific code.

  • @Nikola-q4m
    @Nikola-q4m 3 місяці тому

    No you dont. But you should because good fucking luck

  • @pedrogabrielnogueira1068
    @pedrogabrielnogueira1068 4 місяці тому

    Bruh is going up to that point when he realises he doesn't need an OS as well

  • @iaminthenowhereinn
    @iaminthenowhereinn 4 місяці тому

    bro is ded

  • @coolmanthecool603
    @coolmanthecool603 4 місяці тому

    Now use vulkan, or no opengl

  • @oh-facts
    @oh-facts 4 місяці тому

    I have a question. Why are we including glcorearb / glext / khrplatform ourselves? Doesn't windows ship with gl/gl.h? Do those headers not cover everything?

    • @ykeygames
      @ykeygames 4 місяці тому

      gl.h only includes some of the gl functions. I think only the ones from version 1.0. These are also the ones, that don't have to be bound manually.

  • @oh-facts
    @oh-facts 4 місяці тому

    Could you touch on creating a modern opengl context + creating bindings for it (including 4.x extensions)? That's the only thing stopping me from dropping sdl since sdl doesn't do everything I need and I'd much rather just do platform stuff myself. I had a platform from earlier games for linux and win32, but I used vulkan then and I didn't have to do all that opengl context crap and its been so painful to do those, that I just used sdl. some nice resource / starting point would be nice.

    • @ykeygames
      @ykeygames 4 місяці тому

      I show my setup for binding opengl functions in my Pong video around this time: ua-cam.com/video/ZyVH_Yjo8gk/v-deo.html You can bind any function, that is in the glext.h file. There are more header files like glcorearb.h and wglext.h should you need functions from there. These files should also be easy to find on the khronos website. In general I found the win32 documentation quite helpful and depending on how deep you want to go into this topic I would recommend you the @MollyRocket channel. There are some older videos about opengl and windows platform. Hope that helped :)

    • @oh-facts
      @oh-facts 4 місяці тому

      @@ykeygames Hi, I was able to get it to work, thanks. Handmade hero is a gold mine, thanks. I am a bit new to opengl so I had some questions, in case you've come across this before. I decided to update to 4.5 because its more fun to write + compute shaders. But is this potentially harmful because of platform support? I am also making a 2d game, and targetting windows and linux.

    • @oh-facts
      @oh-facts 4 місяці тому

      part 2: Do you have suggestions for modern rendering techniques in opengl? At the moment I am uploading most of my uniform data before hand, then indexing into whatever I need. And I implemented pushbuffers / render commands too.

    • @ykeygames
      @ykeygames 4 місяці тому

      I don't do anything special regarding rendering. I just try to keep it as simple as possible.

  • @B_dev
    @B_dev 4 місяці тому

    well sure you could be a carpenter starting with no tools but you gotta be sure you want to

    • @Luluskuy
      @Luluskuy 4 місяці тому

      This is brilliant analogy, lol

  • @ExodiumTM
    @ExodiumTM 4 місяці тому

    Rendering a cube with a pure black shadow isn't even remotely close to a game engine, at all. Also, how is Open Graphics LIBRARY not a library? Just code in assembly

  • @oh-facts
    @oh-facts 4 місяці тому

    are you using opengl 4.5 or 3.3?

    • @ykeygames
      @ykeygames 4 місяці тому

      3.3

    • @oh-facts
      @oh-facts 4 місяці тому

      @@ykeygames why not support Mac too if you're using 3.3 anyways?

    • @ykeygames
      @ykeygames 4 місяці тому

      I still want to keep the option open to use 4.x features later. Also supporting mac would take quite some additional developing time.

  • @KamranWali
    @KamranWali 5 місяців тому

    Awesome video! Like the idea of your game. Also kudos for making your own game engine. That takes some serious dedication and time to do. It is always interesting to see how others implement certain features to a game engine. Looking forward to your next devlog. Keep it up! :)

  • @NowKnownMAWO
    @NowKnownMAWO 5 місяців тому

    well done, very impressive that you created your own custom engine :) I really like the minimal style of the game. I would add a simple art-style (such as only flat colors, no details, simple shapes) and a lot of "juice" (game-feel) to make it pop-out! I also like the idea of having a map, instead of a huge open area! continue the good work :)

  • @BlatentCheater
    @BlatentCheater 5 місяців тому

    add coop multiplayer

  • @someguythatlikesultrakill
    @someguythatlikesultrakill 5 місяців тому

    This Looks really cool maybe after your done with all important stuff you could add Like a turret Shooting at enemies that lasts for Like 30 Seconds and then its on cooldown

    • @ykeygames
      @ykeygames 5 місяців тому

      Thanks :) I have a list with a couple of ideas, that involve an automated turret. Though I have to consider how much time it would take to implement one of them.

  • @till8413
    @till8413 5 місяців тому

    ich sehe einen deutschen akzent, wenn ich ihn sehe!😂

  • @MrCloudage
    @MrCloudage 5 місяців тому

    Excuse me, may I ask why you chose to stick with OpenGL instead of opting for Vulkan? Are there any particular reasons or special considerations?

  • @nguyenloc180
    @nguyenloc180 5 місяців тому

    I'm crying right now

  • @hawkbirdtree3660
    @hawkbirdtree3660 5 місяців тому

    When did writing your own game engine become a bad thing? It used to be the norm in early days of game development. Most games I come across could easily be remade with a framework. In the drag and drop approach, you are always limited by what the popular game engine allows you to make, and not what you really wanted. I feel DD encourages a "you don't have to think about what's happening under the hood", and makes it so you never really what understand you are doing.

  • @compilererror2836
    @compilererror2836 6 місяців тому

    "you don't need libraries" my brother in christ, windows.h all jokes aside though this is very impressive

    • @Kawa-oneechan
      @Kawa-oneechan 5 місяців тому

      My brother in Christ, "opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;shell32.lib;" What does ".lib" stand for again?

    • @TU7OV
      @TU7OV 5 місяців тому

      That's not a library.

    • @compilererror2836
      @compilererror2836 4 місяці тому

      @@TU7OV I mean yeah it’s *technically* not a library but it is a header file you include that provides functions, typedefs and structs (exactly what libraries do except it’s for interfacing with the OS). I think that’s close enough for you to not be *that guy* on a comment with 10 likes.

    • @LamantinoElettronico
      @LamantinoElettronico 4 місяці тому

      The title is imprecise as what he meant is "libraries outside of OS functionality" which as you said is still awesomely impressive as the OS doesn't give you much at all in the way of writing a game. I wouldn't know how to do this myself without at least SDL2 and GLFW

    • @etodemerzel2627
      @etodemerzel2627 4 місяці тому

      Yeah, go all the way in and write your own OS.

  • @Ragnemalm
    @Ragnemalm 6 місяців тому

    You use some keywords that I totally agree with: transparency, educational. I think you have a strong point there. I teach computer graphics, and although I do provide my students with some utility code on top of OpenGL, but it is all *transparent*. No black boxes if I can avoid them, no libraries stashed away where you aren't supposed to read or change them and they are so bit that you can't do that anyway. And this is all about transparency. My students are encouraged to dig into my code, and I try to keep things compact and simple. No GLM, instead a single code file with the essentials, no GLUT or GLFW, instead another single code file (one each for Mac, Linux and Windows). No assimp, instead the smallest reasonably capable OBJ loader I know (smaller than TinyOBJLoader!). Most of these are single header code. I obviously can't have my students digging into the code of OpenGL (although Mesa is open source) but all the other parts. But I am asking myself one thing: Should I skip most of this code and ask the students to write their own? Writing a model loader is a project of its own, but writing your own math library is not very hard at all. So, I totally agree on your approach. I think it is how you learn the best.

  • @lLenn2
    @lLenn2 6 місяців тому

    Let's be real. You do if you want to actually make something good.

  • @KoltPenny
    @KoltPenny 6 місяців тому

    Why you say you don't need libraries then use OpenGL?

  • @OdysseyAviation
    @OdysseyAviation 6 місяців тому

    Hast du das mit OpenGl erstellt?

  • @qwerty86381
    @qwerty86381 6 місяців тому

    Looks great :D can't wait to download!

  • @AltamishM
    @AltamishM 6 місяців тому

    Nice work so far :) Would it be possible to smooth the camera repositioning when your controllable character moves? It's currently quite jarring. Else, it looks extremely fun!

  • @mugiseyebrows
    @mugiseyebrows 6 місяців тому

    Writing your own tool is educational, leveraging existing tool is productive.

  • @Aragubas
    @Aragubas 7 місяців тому

    great now add support for Vulkan, Linux and Wayland 👀

  • @threecolor3010
    @threecolor3010 7 місяців тому

    You have a nice voice!

  • @eestela42
    @eestela42 7 місяців тому

    Open Graphic Lib...

  • @korigamik
    @korigamik 7 місяців тому

    Man can you share the source code for the project?

  • @cheer7731
    @cheer7731 7 місяців тому

    you are using a graphics lib. Your title does not really make sense