The Simplest Game (YKey Games)
The Simplest Game (YKey Games)
  • Видео 21
  • Просмотров 113 768
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 209

Видео

Dynamic 2D Lights - Game & Engine Devlog
Просмотров 1,6 тыс.4 месяца назад
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
Просмотров 6995 месяцев назад
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
Просмотров 2765 месяцев назад
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 тыс.6 месяцев назад
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 тыс.6 месяцев назад
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 тыс.8 месяцев назад
Physically Based Rendering (feat. art by @naevrah ) | OpenGL
I added 4 new stages to my OpenGL game!
Просмотров 94610 месяцев назад
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 тыс.11 месяцев назад
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,7 тыс.Год назад
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

Комментарии

  • @syedmohib4217
    @syedmohib4217 22 дня назад

    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 Месяц назад

    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 Месяц назад

      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 Месяц назад

    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

  • @_tringle
    @_tringle 2 месяца назад

    This looks like something i would buy. Will the dev art be changed or is that a deliberate choice?

    • @ykeygames
      @ykeygames 2 месяца назад

      The general art direction (e.g. simple, readable) is a deliberate choice, but I'm not 100% set on what the final art will be.

  • @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 2 месяца назад

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

    • @ykeygames
      @ykeygames 2 месяца назад

      You would have to rewrite all the platform specific code.

  • @user-hy3if4cs2n
    @user-hy3if4cs2n 3 месяца назад

    No you dont. But you should because good fucking luck

  • @pedrogabrielnogueira1068
    @pedrogabrielnogueira1068 3 месяца назад

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

  • @iaminthenowhereinn
    @iaminthenowhereinn 3 месяца назад

    bro is ded

  • @coolmanthecool603
    @coolmanthecool603 3 месяца назад

    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: ruclips.net/video/ZyVH_Yjo8gk/видео.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 3 месяца назад

      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 4 месяца назад

    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 4 месяца назад

    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 4 месяца назад

    add coop multiplayer

  • @someguythatlikesultrakill
    @someguythatlikesultrakill 4 месяца назад

    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 4 месяца назад

      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 4 месяца назад

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

  • @MrCloudage
    @MrCloudage 4 месяца назад

    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 5 месяцев назад

    "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 4 месяца назад

      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 5 месяцев назад

    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 5 месяцев назад

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

  • @KoltPenny
    @KoltPenny 5 месяцев назад

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

  • @OdysseyAviation
    @OdysseyAviation 5 месяцев назад

    Hast du das mit OpenGl erstellt?

  • @qwerty86381
    @qwerty86381 5 месяцев назад

    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 6 месяцев назад

    great now add support for Vulkan, Linux and Wayland 👀

  • @threecolor3010
    @threecolor3010 6 месяцев назад

    You have a nice voice!

  • @eestela42
    @eestela42 6 месяцев назад

    Open Graphic Lib...

  • @korigamik
    @korigamik 6 месяцев назад

    Man can you share the source code for the project?

  • @cheer7731
    @cheer7731 6 месяцев назад

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