JADE-ite Games and Programming
JADE-ite Games and Programming
  • 124
  • 39 568
Game Engine Ep.75 - Copying the Scene to Runtime
Don't forget to check out the github repo:
github.com/dwjclark11/Scion2D
Welcome back everyone, in this video, we start looking into copying the current scene that we are working on into the runtime scene.
Currently we are loading a preloaded scene into the editor; however, the goal is to be able to run different scenes that we create fully in our game engine.
If you have any questions or concerns, don't hesitate to leave a comment below and I will make sure to get back as fast as possible.
Please Like and Subscribe! If you have any questions or concerns, please leave a comment below and I will make sure to answer them to the best of my ability.
Also, if you know a better way to implement something, please share! I always love to learn and grow.
Check out the playlist here:
ua-cam.com/play/PL3HUvSWOJR7XRDwVVQqqWO-zyyscb8L-v.html
Переглядів: 88

Відео

Game Engine Ep.74 - Scene Hierarchy and Tile Details Displays - Part #3 - Scene Hierarchy Display
Переглядів 15914 днів тому
Don't forget to check out the github repo: github.com/dwjclark11/Scion2D Welcome back everyone, my name is Dustin, and in this video we start adding in the Scene Hierarchy Display. We also add the ability to create game objects and add components. If you have any questions or concerns, don't hesitate to leave a comment below and I will make sure to get back as fast as possible. Please Like and ...
Game Engine Ep.73 - Scene Hierarchy and Tile Details Displays - Part #2 - Tile Details Display
Переглядів 20721 день тому
Don't forget to check out the github repo: github.com/dwjclark11/Scion2D Welcome back everyone, my name is Dustin, and in this video we create the Tile Details Display. This will allow us to change some of the attributes of the tiles, such as the layer, width, height, etc. We use the ranges library for a lot of stuff in this video and we also use the std::views::filters to help filter out diffe...
Game Engine Ep.72 -Scene Hierarchy and Tile Details Displays - Part #1 - Draw Components Info UI
Переглядів 164Місяць тому
Don't forget to check out the github repo: github.com/dwjclark11/Scion2D Welcome back everyone, my name is Dustin, and this is the first video for the next part of the series where we start adding in the Scene Hierarchy and Tile Details Displays. We start adding the ability to actually draw the Components in the Editor. So we are only making some utility functions that we will use in the editor...
Game Engine Ep.71 - Serialization - Part #2 - Saving and Loading Tilemaps - Solution
Переглядів 2102 місяці тому
Don't forget to check out the github repo: github.com/dwjclark11/Scion2D Welcome back everyone, my name is Dustin, and in this video we go over the solution for the challenge of the last video. That was to use the new JSONSerializer and rapidjson to finish the Save/Load functions for the tilemap loader. We also take a quick look at where we will be going in the near future with some changes I h...
Game Engine Ep.70 - Getting Into Serialization - Part #1 - JSON and Component Serializers
Переглядів 1662 місяці тому
Don't forget to check out the github repo: github.com/dwjclark11/Scion2D Welcome back everyone, my name is Dustin, and in this video we start looking into how we are going to serialize our tilemaps and data to files so we can save and load. In this video, we create the JSONSerializer class using rapidjson and start the ComponentSerializer. There is a challenge at the end to finish the Save/Load...
Game Engine Ep.69 - Main Menu Bar and File Dialogs
Переглядів 1762 місяці тому
Don't forget to check out the github repo: github.com/dwjclark11/Scion2D Welcome back everyone, my name is Dustin, and in this video we add in the MenuDisplay and the Main Menu Bar. We also start getting into file dialogs and create a cpp wrapper around the tinyfiledialogs library. If you don't want to use tinyfiledialogs, NFD extended is also another great solution. You can see them here: Tiny...
Game Engine Ep.68 - Tilemap Editor - Create the Rect File Tile Tool : SOLUTION!
Переглядів 1582 місяці тому
Don't forget to check out the github repo: github.com/dwjclark11/Scion2D Welcome back everyone, my name is Dustin, and in this video, we go over the challenge proposed in the last video to create the RectFillTool. In the next couple of videos we are going to start looking into file dialogs. I want to make sure that this is cross platform, so we are most likely going to use the NFD extended libr...
Game Engine Ep.67 - Tilemap Editor - CHALLENGE: Create the Rect File Tile Tool!
Переглядів 833 місяці тому
Don't forget to check out the github repo: github.com/dwjclark11/Scion2D Welcome back everyone, my name is Dustin, and this is going to be a small challenge video! The challenge for this video is to create the RectFillTileTool class. The new tool is going to need the following: - Inherit from TileTool - Needs to be able to draw a preview of the tiles that may be created. This does not create th...
Game Engine Ep.66 - Tilemap Editor - Part #6 -Finish Create Tile Tool, Add Camera Zoom, and More!
Переглядів 943 місяці тому
Don't forget to check out the github repo: github.com/dwjclark11/Scion2D Welcome back everyone, my name is Dustin, and in this video we continue working on the Tilemap Editor and the associated tools. We do a lot in this video: * We finish the Create function of the CreateTileTool. * Add in the ability to pan and zoom the camera inside of the tilemap editor. * Refactor the Rendering systems. * ...
Game Engine Ep.65 - Tilemap Editor - Part #5 - CreateTileTool Class
Переглядів 1233 місяці тому
Don't forget to check out the github repo: github.com/dwjclark11/Scion2D Welcome back everyone, my name is Dustin, and in this video we continue working on the Tilemap Editor and the associated tools. In this video we do the CreateTileTool class and actually get that drawing to the screen. We also fix the grid system to use the current scene's canvas and the render systems to draw the current s...
Game Engine Ep.64 - Tilemap Editor - Part #4 - TileTool Class
Переглядів 1143 місяці тому
Don't forget to check out the github repo: github.com/dwjclark11/Scion2D Welcome back everyone, my name is Dustin, and in this video we continue working on the Tilemap Editor and the associated tools. We specifically create the TileTool class. This is another abstract class that will be the base for the CreateTileTool and the RectTileTool that we will create in the following videos. Please Like...
Game Engine Ep.63 - Tilemap Editor - Part #3 - Starting the Tools - Abstract Tool
Переглядів 1373 місяці тому
Don't forget to check out the github repo: github.com/dwjclark11/Scion2D Welcome back everyone, my name is Dustin, and in this video we continue with the advancement of the Editor and start looking into Scenes and Scene Management. We also make some changes to the rendering systems and go over the challenges from the last video. Please Like and Subscribe! If you have any questions or concerns, ...
Game Engine Ep.62 - Scenes, Scene Management, and More!
Переглядів 2313 місяці тому
Don't forget to check out the github repo: github.com/dwjclark11/Scion2D Welcome back everyone, my name is Dustin, and in this video we continue with the advancement of the Editor and start looking into Scenes and Scene Management. We also make some changes to the rendering systems and go over the challenges from the last video. Please Like and Subscribe! If you have any questions or concerns, ...
Game Engine Ep.61 - Start the Asset Display, Renaming assets, and More!!
Переглядів 1674 місяці тому
Don't forget to check out the github repo: github.com/dwjclark11/Scion2D Welcome back everyone, my name is Dustin, and in this video we continue with the advancement of the Editor and create the Asset Display. The asset display will display all of the converted assets in the game. We will also go over how to rename the assets and add some error text if the asset already exists or if the new nam...
Game Engine Ep.60 - Tilemap Editor - Part#-2 - Tilemap Display, Gridsystem, and Scene Adjustments
Переглядів 1344 місяці тому
Game Engine Ep.60 - Tilemap Editor - Part#-2 - Tilemap Display, Gridsystem, and Scene Adjustments
Game Engine Ep.59 - Tilemap Editor - Part#-1 - Tileset Display
Переглядів 1794 місяці тому
Game Engine Ep.59 - Tilemap Editor - Part#-1 - Tileset Display
Game Engine Ep.58 - Game Intermission - Platformer #6 - Shooting Projectiles and More!
Переглядів 1594 місяці тому
Game Engine Ep.58 - Game Intermission - Platformer #6 - Shooting Projectiles and More!
Game Engine Ep.57 - Play/Stop Scenes and Embedding Editor Textures
Переглядів 2124 місяці тому
Game Engine Ep.57 - Play/Stop Scenes and Embedding Editor Textures
Game Engine Ep.56 - Adding the Log Display
Переглядів 1735 місяців тому
Game Engine Ep.56 - Adding the Log Display
Game Engine Ep.55 - Game Intermission - Platformer #5 - Improved Jumps, Contact Fixes, and more
Переглядів 995 місяців тому
Game Engine Ep.55 - Game Intermission - Platformer #5 - Improved Jumps, Contact Fixes, and more
Game Engine Ep.54 - Game Intermission - Platformer #4 - Adding Fonts, StateMachines, and More!
Переглядів 1245 місяців тому
Game Engine Ep.54 - Game Intermission - Platformer #4 - Adding Fonts, StateMachines, and More!
Skatepark Fun with my Boys
Переглядів 605 місяців тому
Skatepark Fun with my Boys
Game Engine Ep.53 - Adding CMake Support and building on Linux
Переглядів 1545 місяців тому
Game Engine Ep.53 - Adding CMake Support and building on Linux
Started Adding Split Screen Capabilities to our SCION2D Engine
Переглядів 725 місяців тому
Started Adding Split Screen Capabilities to our SCION2D Engine
Game Engine Ep.52 - Game Intermission - Platformer #3 - Game State Challenge - Solution
Переглядів 1005 місяців тому
Game Engine Ep.52 - Game Intermission - Platformer #3 - Game State Challenge - Solution
Game Engine Ep.51 - Game Intermission - Platformer #2 - Getting into Game States and the State Stack
Переглядів 1425 місяців тому
Game Engine Ep.51 - Game Intermission - Platformer #2 - Getting into Game States and the State Stack
Game Engine Ep.50 - ImGui Part #2 -- Dockspace, Framebuffers, and Rendering Scene to ImGui Window
Переглядів 7716 місяців тому
Game Engine Ep.50 - ImGui Part #2 Dockspace, Framebuffers, and Rendering Scene to ImGui Window
Game Engine Ep.49 - ImGui Part #1 -- Getting Started
Переглядів 5467 місяців тому
Game Engine Ep.49 - ImGui Part #1 Getting Started
Game Engine Ep.48 - Contact Listener Part #3 -- Teleportation and Multiple Contacts
Переглядів 627 місяців тому
Game Engine Ep.48 - Contact Listener Part #3 Teleportation and Multiple Contacts

КОМЕНТАРІ

  • @syntaxed2
    @syntaxed2 13 годин тому

    Is this common practice? Does sound rather inefficient to me...I store geo in components. Why not just use one registry and perhaps disable some components during runtime?

    • @JADE-iteGames
      @JADE-iteGames 13 годин тому

      @syntaxed2 Thanks for the comment. Not too sure if it is common practice, but this separates the tilemap editor from the scene itself. They are both running simultaneously, so if you want, you can make adjustments to the tilemap while the scene is running and one does not affect the other unless the scene is run again.. Feel free to make any changes that work for you.

  • @slobbo
    @slobbo 2 дні тому

    For the engine soon will we be able to do visual scripting or scripting in editor. Love the work your doing

    • @JADE-iteGames
      @JADE-iteGames 2 дні тому

      @slobbo Thank you so much! I do hope to eventually get into visual scripting as well; however, we are pretty far from that currently.

  • @tronghoangphucnguyen2478
    @tronghoangphucnguyen2478 5 днів тому

    hi, I have a problem that I can't include <glad/glad.h> although I config glad/include in project GLAD

    • @tronghoangphucnguyen2478
      @tronghoangphucnguyen2478 5 днів тому

      this error happen in file glad.c

    • @JADE-iteGames
      @JADE-iteGames 5 днів тому

      @tronghoangphucnguyen2478 Hello, do you happen to have an error? Also, in the glad project, did you add the correct include directories in the properties? thanks

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

    Hi there, the SDL Game Controller is memory leaking after the controller disconnecting. I test it with your SDL Destroyer implementation and with manual deletion in the CleanUp fn and the SDL_GC_DIS.. event. I found a article in SDL Forums this is a reported issue. I using vcpkg latest SDL 2.30.8 I using crtbdg.h for memleak detection

    • @JADE-iteGames
      @JADE-iteGames 13 днів тому

      @TyberZann01 Wonderful catch! I have not been using the controller lately and I assumed that there was no leak. Very good to know! I will have to look into this. Thanks!

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

    Turning into a pretty self-sufficent editor. I wonder why people haven't discovered the series yet. But in my opinion, you will be the first thing that comes to people's mind when they talk about creating a game engine - editor. Edit: Forgot to say "Great video!".

    • @JADE-iteGames
      @JADE-iteGames 14 днів тому

      @baphometfromabove Thank you so much! We still have a long way to go, but it is really getting there now.

  • @abhijitleihaorambam3763
    @abhijitleihaorambam3763 23 дні тому

    this series is so good.

    • @JADE-iteGames
      @JADE-iteGames 23 дні тому

      @abhijitleihaorambam3763 Thank you so much!

  • @JADE-iteGames
    @JADE-iteGames 25 днів тому

    Hey everyone, in this video I add a small fix at the end for getting the index of a reverse_view so we can swap layers. Well, I also have a fix for the fix lol. In the video, I still used the rView in the swap, since we are getting the correct indexes instead of reversed, we need to use the "spriteLayers" vector directly in the std::swap function. std::swap( spriteLayers[ n ], spriteLayers[ n_next ] ); This will be updated in the github repo. I have also stopped using adobe products and I am trying to get used to using Davinci and other products. So, there will be a transition phase while I learn how to use the new software; however, I will update the thumbnails etc, once I get a better handle on everything. Please Like and Subscribe and Enjoy! Dustin

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

    I need catch up, but I like how you are still pushing uploads! thank you again.

    • @JADE-iteGames
      @JADE-iteGames Місяць тому

      @X_Daniel466 You're welcome and thank you as well. I am currently working on the next video. It will be the Tile Details Display/panel and it will allow us to be able to change the layer of the tiles, add box colliders, animations, etc. It will probably be a big video. Hopefully by the end of next week it should be done.

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

    I don't have the C++ options anywhere

    • @JADE-iteGames
      @JADE-iteGames Місяць тому

      @Viiner78 Good morning, do you mean that you don't have the c++ options to create the project? You may need to add those in your visual studio installer. Run Visual Studio Installer -> Click Modify -> Check the "Desktop development with C++" option -> Install Hopefully that helps.

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

      @@JADE-iteGames Thanks, also my home screen looks completely different from yours and I can only create new solutions.

    • @JADE-iteGames
      @JADE-iteGames Місяць тому

      @Viiner78 You're welcome, I am glad that you can get start. I am not sure why the home screen may be different from mine. I will look into that a bit.

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

      @@JADE-iteGames You don't have to, I got it already

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

    Hi there, what is the ETA the next video?

    • @JADE-iteGames
      @JADE-iteGames Місяць тому

      @TyberZann01 Hey, thanks for the comment! I have been extremely busy these past few months. I started a new job and all that great stuff that comes with it. I plan on having another video out next week. I was prepping some code for adding in the Scene Hierarchy so we can add game objects and components. That we take a few videos to finish lol. Hopefully I should have at least one video out next week at the latest. Sorry for the delay.

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

      @@JADE-iteGames Thx the answer, i learn lot of your videos, dont give up this is very good content.

    • @JADE-iteGames
      @JADE-iteGames Місяць тому

      @TyberZann01 You're welcome and thank you so much for the great comment. I am very happy that you are able to learn a lot from my videos. I do plan to continue the series and add more content along the way :)

  • @MD-xh3on
    @MD-xh3on Місяць тому

    Hi Dustin. Over the past few years, I’ve been messing around with C++, but I’ve gotten more serious over the past few months, going through the typical intermediate books from Stroustrup, etc. I usually don’t have the time to dive deep into a project (typically using Python for work because of its speed), but I came across this series a few weeks ago. I usually don’t like videos, but I appreciated the unscripted nature. I’m not saying your videos aren’t high-quality-they are-but I like the way you handled bugs as they came up, instead of cutting the video and redoing sections. TL;DR: I really appreciate you doing this series- I watched every video in full & took quite a bit of value from it, especially alongside the cpp learning materials mentioned earlier. While it would, of course, be good to see you continue this series, I think it’s also a good point for us viewers to branch out on our own, so don't feel any pressure

    • @JADE-iteGames
      @JADE-iteGames Місяць тому

      @MD-xh3on Thank you for the wonderful comment! I do have another series where we are creating a 2D game engine using C++. There are a lot of good tidbits of c++ in those videos as well. That takes up most of my time right now. I also have some other tasks that I have been really busy with. I would love to continue this series, it is hard jumping back on a project after a long time lol. I had a friend comment on the fixing of bugs, he said that showing how to debug is very valuable to the viewers, if they like that sort of thing. Thank you so much for the support, I may find some time in the near future to continue the series. I also agree, the only way to get better is to make your own projects. Take this one and make the changes that you would like to see. Break it, fix it and go from there.

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

    For anyone having trouble in adding dependent 3rd libraries: I have just succeeded compiling it in Clion with integrated vcpkg. Select View->Tool Windows-> Vcpkg, then you can see a vertical tab with an icon vcpkg located at bottom-left area (above Message). Next click the tab and then click "+" to add a new vcpkg.exe, then click the pencil icon besides "+" to edit vcpkg, a window pops up, and you only need to tick "Add vcpkg integration to existing CMake profiles". After toggling it, your CMake project add vcpkg into its toolchain. That means, you can use the vcpkg.exe to add any library required by this CMake project. The last step is easy: search for each library mentioned in readme and install it with the vcpkg. The only test is imgui with docking features in that you cannot find it by simple search and install. To solve it, you can click the {} icon to generate a vcpkg.json file, which record all library information, you can see all libraries except for imgui. Add it manually after other libraries in this format: { "name": "imgui", "features": [ "docking-experimental", "opengl3-binding", "sdl2-binding" ] } Finally, reload CMake and build the project

  • @KA-zd4sn
    @KA-zd4sn Місяць тому

    What about opengl instancing for batch rendering?

    • @JADE-iteGames
      @JADE-iteGames Місяць тому

      @KA-zd4sn That is a great question. I have never done instancing for opengl yet, I should try messing around and see what I can come up with. Here is some good information on that if you like: learnopengl.com/Advanced-OpenGL/Instancing

    • @KA-zd4sn
      @KA-zd4sn Місяць тому

      @@JADE-iteGames good article. I am reading it now

    • @JADE-iteGames
      @JADE-iteGames Місяць тому

      @KA-zd4sn Awesome! Let me know what you come up with! I have been so busy with other things; however, I should definitely be using better techniques if they are available.

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

    I have two errors 1) 'StateMachine::StateMachine': no overloaded function takes 2 arguments 2) 'GameState::GameState': no appropriate default constructor available If you could help me solve these errors, that would be greatly appreciated! I'm loving this series so much!

    • @JADE-iteGames
      @JADE-iteGames Місяць тому

      @aideannell4778 Hello, thank you for your great comment. Without seeing your code I can only guess at what the issue might be. When you are creating your StateMachine, are you passing in arguments? I believe we are doing this in the Game class. try for the state machine. m_pStateMachine = std::make_unique<StateMachine>(); // No arguments here. The GameState needs arguements sent in. The CTOR is GameState(Console& console, Keyboard& keyboard, StateMachine& stateMachine); So we need something like this m_pStateMachine->PushState(std::make_unique<GameState>(*m_pConsole, *m_pKeyboard, *m_pStateMachine)); Hopefully that helps.

  • @KA-zd4sn
    @KA-zd4sn Місяць тому

    5:30 write namespace ... {} in .cpp first and then press "create derlaration/definition". It will be automatically added inside namespace. Sorry for my English

    • @JADE-iteGames
      @JADE-iteGames Місяць тому

      @KA-zd4sn Thank you for the tip. It is definitely needed. I wish it was a something that we could automatically format. Like a clang.format write inside namespace lol.

  • @KA-zd4sn
    @KA-zd4sn Місяць тому

    I really like that you decided to use ECS in the engine

    • @JADE-iteGames
      @JADE-iteGames Місяць тому

      @KA-zd4sn Thank you. I really like to use ECS and entt. Entt is very easy to understand and use.

  • @KA-zd4sn
    @KA-zd4sn Місяць тому

    I love these series a lot!

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

    I did everything you told me, but 1) it's saying false, and m_Keys[key].m_bIsDown do not match the function type (void OnKeyUp) and 2) escape isn't working T^T

    • @JADE-iteGames
      @JADE-iteGames Місяць тому

      @aideannell4778 Good morning, The OnKeyUp(int key) function should have this: void Keyboard::OnKeyUp(int key) { // Check to see if the key is defined if (key >= KEY_LAST) { TRPG_ERROR("[" + std::to_string(key) + "] - Is not defined!"); return; } m_Keys[key].Update(false); } For the Escape, are you calling the m_pKeyboard->Update() inside of Game::Update()?

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

      @JADE-iteGames it worked! Thank you, and good morning! I love this series so much, you know what you're doing, and you explain things pretty well

    • @JADE-iteGames
      @JADE-iteGames Місяць тому

      @aideannell4778 That's wonderful that you got it to work! Thank you as well.

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

    Im having a hard time seeing the code, but i love watching this

    • @JADE-iteGames
      @JADE-iteGames Місяць тому

      @aideannell4778 Thanks, I agree. In these videos the code is rather small. My newer videos I increase the size.

  • @ng.h9315
    @ng.h9315 Місяць тому

    🔥🔥🔥

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

    For every future video watcher: Here is the function with the keys of "InputManager.cpp": void InputManager::RegisterLuaKeyNames(sol::state& lua) { // Register Typewriter Keys lua.set("KEY_A", CR_KEY_A); lua.set("KEY_B", CR_KEY_B); lua.set("KEY_C", CR_KEY_C); lua.set("KEY_D", CR_KEY_D); lua.set("KEY_E", CR_KEY_E); lua.set("KEY_F", CR_KEY_F); lua.set("KEY_G", CR_KEY_G); lua.set("KEY_H", CR_KEY_H); lua.set("KEY_I", CR_KEY_I); lua.set("KEY_J", CR_KEY_J); lua.set("KEY_K", CR_KEY_K); lua.set("KEY_L", CR_KEY_L); lua.set("KEY_M", CR_KEY_M); lua.set("KEY_N", CR_KEY_N); lua.set("KEY_O", CR_KEY_O); lua.set("KEY_P", CR_KEY_P); lua.set("KEY_Q", CR_KEY_Q); lua.set("KEY_R", CR_KEY_R); lua.set("KEY_S", CR_KEY_S); lua.set("KEY_T", CR_KEY_T); lua.set("KEY_U", CR_KEY_U); lua.set("KEY_V", CR_KEY_V); lua.set("KEY_W", CR_KEY_W); lua.set("KEY_X", CR_KEY_X); lua.set("KEY_Y", CR_KEY_Y); lua.set("KEY_Z", CR_KEY_Z); lua.set("KEY_0", CR_KEY_0); lua.set("KEY_1", CR_KEY_1); lua.set("KEY_2", CR_KEY_2); lua.set("KEY_3", CR_KEY_3); lua.set("KEY_4", CR_KEY_4); lua.set("KEY_5", CR_KEY_5); lua.set("KEY_6", CR_KEY_6); lua.set("KEY_7", CR_KEY_7); lua.set("KEY_8", CR_KEY_8); lua.set("KEY_9", CR_KEY_9); lua.set("KEY_RETURN", CR_KEY_RETURN); lua.set("KEY_BACKSPACE", CR_KEY_BACKSPACE); lua.set("KEY_ESCAPE", CR_KEY_ESCAPE); lua.set("KEY_SPACE", CR_KEY_SPACE); lua.set("KEY_LCTRL", CR_KEY_LCTRL); lua.set("KEY_RCTRL", CR_KEY_RCTRL); lua.set("KEY_LALT", CR_KEY_LALT); lua.set("KEY_RALT", CR_KEY_RALT); lua.set("KEY_LSHIFT", CR_KEY_LSHIFT); lua.set("KEY_RSHIFT", CR_KEY_RSHIFT); // Register Function Keys lua.set("KEY_F1", CR_KEY_F1); lua.set("KEY_F2", CR_KEY_F2); lua.set("KEY_F3", CR_KEY_F3); lua.set("KEY_F4", CR_KEY_F4); lua.set("KEY_F5", CR_KEY_F5); lua.set("KEY_F6", CR_KEY_F6); lua.set("KEY_F7", CR_KEY_F7); lua.set("KEY_F8", CR_KEY_F8); lua.set("KEY_F9", CR_KEY_F9); lua.set("KEY_F10", CR_KEY_F10); lua.set("KEY_F11", CR_KEY_F11); lua.set("KEY_F12", CR_KEY_F12); // Register Cursor Control Keys lua.set("KEY_UP", CR_KEY_UP); lua.set("KEY_RIGHT", CR_KEY_RIGHT); lua.set("KEY_DOWN", CR_KEY_DOWN); lua.set("KEY_LEFT", CR_KEY_LEFT); // Register Numeric Keypad Keys lua.set("KP_KEY_0", CR_KEY_KP0); lua.set("KP_KEY_1", CR_KEY_KP1); lua.set("KP_KEY_2", CR_KEY_KP2); lua.set("KP_KEY_3", CR_KEY_KP3); lua.set("KP_KEY_4", CR_KEY_KP4); lua.set("KP_KEY_5", CR_KEY_KP5); lua.set("KP_KEY_6", CR_KEY_KP6); lua.set("KP_KEY_7", CR_KEY_KP7); lua.set("KP_KEY_8", CR_KEY_KP8); lua.set("KP_KEY_9", CR_KEY_KP9); lua.set("KP_KEY_ENTER", CR_KEY_KP_ENTER); }

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

    Gonna use nfd on my project for now. Ready to use solution so...

    • @JADE-iteGames
      @JADE-iteGames 2 місяці тому

      @baphometfromabove nfd is a good choice. I used it in my BinConverter project; however, I have just started dabbling with the tinyfiledialogs lib. You can get it from vcpkg and it is very easy to use as well. I created a simple c++ wrapper for it and it might be the way to go. The only reason I like it more is, it allows you to change the title for some dialogs if desired.

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

      @@JADE-iteGames I'll check it. User experience is important too.

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

      @@JADE-iteGames Thanks man. Love ya!

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

    Could you link to the exact texture pack? Or maybe the size of the png? All I got was a black box with my png. IDK if that's a size difference or what.

    • @JADE-iteGames
      @JADE-iteGames 2 місяці тому

      @gluax7553 Hello, I don't think it would be a size issue. The size of the texture I was using is 512 x 512. It might be an issue with the shaders or the possibly the vertex attributes. Any png should work in theory. Would you be able to post your code?

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

      @@JADE-iteGames Oh thanks for the quick response! I just managed to figure it out. I had `glBindVertexArray` called before the second Vertex Attribute Pointer and that caused a silent error, till I printed out the GL error and got its code.

    • @JADE-iteGames
      @JADE-iteGames 2 місяці тому

      @gluax7553 That's Awesome! I am glad you figured it out.

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

    Excited for the next video!

    • @JADE-iteGames
      @JADE-iteGames 3 місяці тому

      @mynameisjooo22 Thank you so much! It should be a good one! Make sure you try our the challenge.

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

    good shot m8

  • @winterSweet-k4m
    @winterSweet-k4m 3 місяці тому

    I just found your youtube channel like a day ago and I'm honestly astonished how good your tutorials/devlogs are. please keep going with the awesome content!! just a quick question, what do you think the requirements are for starting this game engine series? I'm an intermediate programmer however I never did any graphics/opengl programming and big cpp projects and wondering if starting this series from zero will actually add anything to me. maybe I should be learning some other stuff before even coming close to do a project this big.

    • @JADE-iteGames
      @JADE-iteGames 3 місяці тому

      @w4rd3nclyffe74 Thank you so much! What I recommend is getting somewhat familiar with C++ first. I do tend to gloss over some concepts. I was thinking about making a C++ series to go hand and hand with the game engine series. I also have a text RPG series that does a console app in c++. I haven't gotten around to finishing that yet because this series and work; however, that one does not do any graphics. You could try the series out and if you have any questions about something that I may have not gone over, don't hesitate to ask. I may be able to elaborate more on the topic. Another thing is to try all of the challenges that may be proposed. That allows you to take what you have learned and see if you can implement things on your own. Mess around with the code, change things you don't like to be the way you want them to be. Break the code and find your way back to a working project again. The worst thing that could happen is you wait for the next video to explain it or ask for help. I am all about getting better and learning everyday as well. I might not do something the right way or make mistakes and that's ok, because that's how we learn.

    • @winterSweet-k4m
      @winterSweet-k4m 3 місяці тому

      @@JADE-iteGames Thank You so much for responding! yes i agree i definitely should just learn the prerequisites fully before diving into an enormous project. I already did a couple of c++ projects and i thought maybe i could check out your text based rpg too. might still just start watching everything in this game engine series from the very beginning and go along with learning whatever comes up that i don't know about. that being said I will definitely check out every single video you make from now on, there's so many things to be learned in this channel. keep up the great work!

    • @JADE-iteGames
      @JADE-iteGames 3 місяці тому

      @w4rd3nclyffe74 Thank you so much! I definitely will keep working on the videos. I find I learn more from doing the videos as well. There are also some great devs and contributors in the community that have also helped with the project. So much good information on UA-cam regarding programming, lots of other great devs to learn from as well.

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

    Hello ! Your work is really nice, I would also love to see the next videos !

    • @JADE-iteGames
      @JADE-iteGames 3 місяці тому

      @virgilecharton698 Thank you so much! I am currently spending most of my time working on the game engine series; however, I am doing a refactor for the Selector class so we can support pages and scrolling. There should be a video for that coming eventually.

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

    Any Idea on how I could get the selector to work with "pages" of items. For example, if I wanted to have ~100 item choices and only have room on screen for ~20, I would want to specify that I want up to 20 items per "page", and let the user press a pair of buttons to "flip the page" forwards or backwards.

    • @JADE-iteGames
      @JADE-iteGames 3 місяці тому

      @minecraftgigachad9368 That is a great question. I think a way that you could do that would be to keep track of what page you are currently on and then have a max number of rows that you want for that page. The max number of rows * the number of columns is how many items you would want to display max for the page. When doing the draw function for the selector, you would need to skip any items that are not within the max rows per page * page number range. That way you are only drawing the items for that page. Give that a shot and see what you can come up with. I might try to see if I can do the same. you could also make it scroll. Instead of doing pages. It would be something similar.

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

      @@JADE-iteGames I’ll try both the scroll and page cases. If they turn out well, I’ll share

    • @JADE-iteGames
      @JADE-iteGames 3 місяці тому

      @@Brugosovi Awesome! I can't wait to see what you come up with!

    • @JADE-iteGames
      @JADE-iteGames 3 місяці тому

      @minecraftgigachad9368 I have created a new issue on the repo that has some of the things that will be needed. Feel free to add more as comments and talk there about the new selector page issue/enhancement. github.com/dwjclark11/TextRPG/issues/5

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

      @@JADE-iteGames I don’t use GitHub much, so I just attached a zip with my first implementation of a “SelectorPages” class to a comment on the issue.

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

    Nice job!

    • @JADE-iteGames
      @JADE-iteGames 3 місяці тому

      @alexandryuschenko333­4 Thank you!

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

    Nice

    • @JADE-iteGames
      @JADE-iteGames 3 місяці тому

      @francescoesposito1583 Thank you

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

    For anybody stuck on getting the item description to match the item the cursor is hovering over: try changing the line const std::wstring& item_desc = item->GetDescription(); to const std::wstring& item_desc = data.at(index).get()->GetDescription(); in the RenderItem function in ItemMenuState.cpp (line 132). To the best of my understanding, item->getDescription() would return the description of every rendered item, but data.at(index).get()->GetDescription() gives us only the description of the item the user is "hovering over". Hope this helps!

    • @JADE-iteGames
      @JADE-iteGames 3 місяці тому

      @minecraftgigachad9368 This was a great catch, thank you! This should now be fixed in the github repo as well.

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

    I stumbled upon your videos randomly. Your explanations got me unstuck after 3 days of no progress. Thanks man

    • @JADE-iteGames
      @JADE-iteGames 3 місяці тому

      @lure3601 That is wonderful! I am glad that they have helped.

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

    Hi, thank you for the video,. I have a question. Do you plan to add OSX support? I have an old windows that I don't want to work with so I am trying to do the things on MacOS. Anything related will be more than enough. Thanks...

    • @JADE-iteGames
      @JADE-iteGames 3 місяці тому

      @MarcoLittleyan That is a great idea; however, I do not have a mac, so I would not be able to test that. That might be something I add in the future though.

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

      @@JADE-iteGames Thanks for the info. I will try to implement it myself.

    • @JADE-iteGames
      @JADE-iteGames 3 місяці тому

      @MarcoLittleyan Awesome, if you are able to get it to work with mac, maybe do a PR for the repo. Other mac users may be able to benefit from that. We would still have to make sure the other OSs work though. Thanks

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

      @@JADE-iteGames With pleasure.

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

    HI, At 56:35, you are returning a refeference to a scoped std::string which is undefined behaviour. Here it is not crashing because m_pMouseTile is a shared pointer initialized in the class constructor and therefore valid until at least the class destructor is called. Moreover, texture_name is already initialized to " " in the SpriteComponent struct. So I guess lines 147 & 148 could be deleted.

    • @JADE-iteGames
      @JADE-iteGames 3 місяці тому

      @IntheFishtank Thanks for that, I have made the change. It should be fixed in the next video.

    • @JADE-iteGames
      @JADE-iteGames 3 місяці тому

      @IntheFishtank I have probably done that in a few other places as well. I will go over the code to ensure those are taken care of. Thanks

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

    Knight Online Graphic engine imgui ??

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

    regarding adding the namespace. While this works on my home machine. It does not work on my office PCs. Give it a shot. what do you have to lose. Highlight the code you want to wrap in a namespace. Right-click on the highlighted code or Select Quick Actions and Refactorings... (or press Ctrl + .). From the context menu, choose Encapsulate in Namespace.... note you can set this up as a shortcut in visual studio Enter the desired namespace name and confirm. Truncate the methods with the multi select cursor

    • @JADE-iteGames
      @JADE-iteGames 3 місяці тому

      @GarrethandPipa Thanks I will definitely give this a try today.

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

    i cant really say there is something to improve in series right now because it has been really great and comprehensive but maybe you can improve maybe on youtube like you had been consistent as well as good amount of videos but somehow its not getting the reach that you deserve so how about maybe trying seo and stuff a bit and yeah keep up its really really good series

    • @JADE-iteGames
      @JADE-iteGames 3 місяці тому

      @hades8131 Thank you so much. I was thinking about do some side videos where we are using unreal engine or going over games, or playing some games as well. I was also thinking of doing a c++ series. This series assumes that people have a decent understanding of c++, so maybe a companion series with c++ would be good as well.

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

      @@JADE-iteGames yes great idea.

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

    hey man, what do you think that programming learner needs to become a professional programmer, what specific knowledge or level one needs

    • @JADE-iteGames
      @JADE-iteGames 4 місяці тому

      @unLinuxeroMas That is a great question and can be very tricky. I believe a programmer needs to know how to create applications, knows how to troubleshoot and debug programs, have a deep love for learning, a decent understanding of Data structures and algorithms, and in my personal experience, try to get really good in one programming language. Whatever language that is, work on it, become as good as you can in that language. After that, other languages will be easier. If you are self-taught, make sure you are not just following lessons/tutorials, make sure to mess with the code outside of the lessons. Break the code, make changes, add in your own flair. That is the real way to learn. Try to redo the lessons from scratch, and if you miss something watch the lesson again. Constantly be learning and growing because it is better to be ready for an opportunity and not have one, than have an opportunity and not be ready for it. There are many ways to answer this question that may work better for you; however, this is what was working for me. Thanks and keep coding.

  • @0nizukatn453
    @0nizukatn453 4 місяці тому

    love the work bro.. keep the good work <3

    • @JADE-iteGames
      @JADE-iteGames 4 місяці тому

      @0nizukatn453 Thank you so much! I definitely will!

  • @el-3omda476
    @el-3omda476 4 місяці тому

    Your content is veryyy underrated , Hope your channel blow up someday , Keep the grind <3 <3

    • @JADE-iteGames
      @JADE-iteGames 4 місяці тому

      @el-3omda476 Thank you so much! I hope so as well. I enjoy making the videos and feel like I am getting a lot better at making content.

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

    upa ya empezamos con linux

    • @JADE-iteGames
      @JADE-iteGames 4 місяці тому

      @unLinuxeroMas yes we can now run the engine on linux!! Thanks to the added CMake support by skaarj1989. I just made a video today, so I will have to make sure it still works lol.

    • @JADE-iteGames
      @JADE-iteGames 4 місяці тому

      @unLinuxeroMas Just tested the current master and it builds successfully on Ubuntu 24.

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

      @@JADE-iteGames noice

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

    I might be wrong, but at 17:32 the destructor should be virtual as well, even if defaulted (c++11... compilers are clever now :) ).

    • @JADE-iteGames
      @JADE-iteGames 4 місяці тому

      @IntheFishtank very nice catch. The virtual here would be implied because it is virtual in the base. Since we are not doing anything with the dtor, we could probably remove it. Thanks I will add the virtual to the main project.

    • @JADE-iteGames
      @JADE-iteGames 4 місяці тому

      @IntheFishtank Actually, it looks like it was not virtual in the base Batcher class. I have made the change and should be in the next push. Thanks.

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

      @@JADE-iteGames Thanks to you ;) This series is amazing and gold for beginners, I guess you struggled a bit to come to this point with that clarity. i'am also working on a batch renderer that I wish to optimize... I'm trying to avoid resubmitting all the vertices to the GPU at each frame, meaning keeping track of existing meshes that didn't get dirty in between... keeping in mind that new mesh could be created and other could be destroyed... so thinking about an optimized strategy about updating the VBOs data...

    • @JADE-iteGames
      @JADE-iteGames 4 місяці тому

      @IntheFishtank Thank you for your kind words! That sounds like a great idea! Let me know what you come up with! Soon we will be adding in some needed profiling tools. So that should help as well.

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

    Challenge accepted! 😁

    • @JADE-iteGames
      @JADE-iteGames 4 місяці тому

      @baphometfromabove That is wonderful! Let me know how it goes.

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

    Geat video! And I have a question. I am not a great developer but I am planning to add a visual scripting system to my editor. I thought ways of doing it and I am thinking of a finite state structure like the other editors. Then write the nodes to a file to use. Ok, so far. But i want programmable nodes! I want people to create their own modules. It's not looking too hard right now maybe because of my lack of skills and intelligence so I am asking you have you ever did something like this? If so, can you recommend any docs or works that can be usefull? Again, thank you for the videos, have a good day sir.

    • @JADE-iteGames
      @JADE-iteGames 4 місяці тому

      @baphometfromabove Thanks, this is also a great question. I have not done the visual scripting stuff yet myself; however, this is something that I do want to get into as well. Here are a couple links that might help using ImGui github.com/thedmd/imgui-node-editor, github.com/rokups/ImNodes, github.com/Nelarius/imnodes. These can help you get an understanding of what we would need to do to accomplish this. There are so many great resources out there from people that are way smarter than me lol. I hope to get into that as well some day; however, we still have a lot to do before we get to that. Maybe I will do a simple test project to see If I can get those working.

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

      @@JADE-iteGames Thank you so much. And yes it is early for me as well. I will continue to follow your videos.

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

    New subscriber here! I'm following pikuma's 2d game engine course and wanted to find a way to render my gui window outside of the main game window and came across your channel while searching for a way to do that. Do I have to use opengl for that or can I create multiple windows using SDL and having a separate renderer for each? Fyi I'm on a mac, and I think opengl is no longer supported.

    • @JADE-iteGames
      @JADE-iteGames 4 місяці тому

      @Zhilajoon The Pikuma 2D Game engine course is a great course. I took it a while ago and created a tilemap editor for it. Being able to render into multiple windows is actually something I would like to add to the Tilemap editor. I believe the easiest way would be to use a Framebuffer. I have not done it with just SDL; however, I believe that it is doable. This game engine uses opengl and it is much easier to use framebuffers and just render the scene to a texture. I have not used mac before, but a quick google search shows that you can use OpenGl up to 4.1; however, it is deprecated and will probably be removed from mac in the future. I would suggest to look into vulkan or metal as rendering alternatives. Or lookup how to render your scene to a SDL_Framebuffer. Hopefully that helps.

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

      @@JADE-iteGames thanks for taking the time to respond! I did manage to get the game and the demo window to render but have some other issues/crashes to take care of. I'll probably go through your videos and continue with the pikuma engine in parallel. I'm hoping to gain a better understanding of how all of these graphics libraries actually work together.

    • @JADE-iteGames
      @JADE-iteGames 4 місяці тому

      @Zhilajoon That sounds like a great idea. I will be putting a new video out today or tomorrow. This video will be adding stop/play buttons for the scene so it is not loaded right away, also loading textures from memory as well. Good luck with the pikuma course, it is great.

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

    This has given me new ideas for my game engine. Thank you!

    • @JADE-iteGames
      @JADE-iteGames 5 місяців тому

      @seannolan2120 You're welcome! Glad it helps.

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

    Thank you for the video man, please keep going. You are very inspiring and whenever I get stuck, I take refuge in your videos. 😅

    • @JADE-iteGames
      @JADE-iteGames 5 місяців тому

      @baphometfromabove You're welcome and thank you for the great comment. It makes me happy that these videos help others. I should have another one out in the next couple of days.

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

    Really useful and well explained, thank you so much! I'm also building an engine but I don't use ECS. Do you think effective Lua scripting depends on ECS or is it possible to do it without?

    • @JADE-iteGames
      @JADE-iteGames 5 місяців тому

      @arachnid5669 Thank you! I just like how ECS works; however, it is not necessary to use for effective scripting with lua. You just want to make sure that any user types you need are bound and you should be good to go.

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

    awesome I wish I had am dad as great as he is

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

    Wow almost 2 hours! Thanks for the new video.

    • @JADE-iteGames
      @JADE-iteGames 5 місяців тому

      @tomahawkov You're welcome and thank you. The video was actually closer to three hours. Lot's of editing etc. But it was pretty fun.

    • @JADE-iteGames
      @JADE-iteGames 5 місяців тому

      I am still trying to get used to CMake compared to the Visual Studio sln. So I stumble a little bit on that front. lol.