Unreal & SQL Databases - Part 4 - Relational DB Primer

Поделиться
HTML-код
  • Опубликовано: 21 окт 2024

Комментарии • 16

  • @gram_o_phone
    @gram_o_phone Год назад +1

    As a fullStackDev I think you made a very good job explaining SQL capabilities especially in this part. Congrats!

  • @AngryPenguinStudio
    @AngryPenguinStudio 2 года назад +5

    These videos are great. I am not an "SQL guy" by any means and this are soo great to follow along and aid in learning the complex system in a way that is 100% digestible. Keep them coming friend!

    • @ggamedev
      @ggamedev  2 года назад +4

      It means a lot to read that; if I have in some way helped even one person, then it was totally worth making these videos. Thanks for taking the time to comment.

    • @AngryPenguinStudio
      @AngryPenguinStudio 2 года назад

      @@ggamedev You are very welcome. Thanks for taking the time to make such great videos on the subject. I see the production value is already up as well; had me laughing a few times. Right now, my big question (and im sure you are getting to this) is "how do i get data from SQL to load into UE". Like anyone else, i tend to get impatient and skip steps (bad, i know). Getting something like "inventory/Equipped items" into a player char from SQL.

  • @Thrallix
    @Thrallix Год назад

    Hello, i just wanted to say thank you and i really appreciate your in-depth explanations and your humor inbetween. I think you should start a full MMORPG unreal engine 5 project, complete with database and blueprints, it would be so amazing to follow, you seem to really enjoy doing this and it would help thousands of people out :)

    • @ggamedev
      @ggamedev  Год назад +2

      Thanks for that positive feedback, it's always nice to know when something I have done was appreciated! 😊
      As far as a full MMORPG project is concerned (or any kind of game genre for that matter) it IS the sort of thing I have been considering...
      I have an absolute tonne of background resource developed over several years, and quite detailed game designs for several titles.
      In particular, I have in-depth source material for a fantasy world, tailored specifically as a setting for games...
      I am thinking of putting together a new team to develop one such game, and chronicling the entire process here on RUclips:
      How the team is assembled, the concept and initial designs, technology, prototyping, blueprints, programming, database, art, sound, and music.
      As much of the process as open and transparent to anyone who is interested to know as possible.
      Hopefully, the results could contain both useful how to guide type stuff that people could follow directly, and also tricks and tips from both the good (and inevitably bad) things which happen along the way when you undertake such projects...
      It all depends how things go with various work commitments I have, and if decide to commit and actually 'push the button' on it.
      So... you know... keep it on the down-low, just between us 🤫
      (And anyone who actually reads other people's RUclips comments! )

    • @grantharris7396
      @grantharris7396 Год назад +1

      Do it! @@ggamedev

  • @CyberWolf755
    @CyberWolf755 Год назад

    Is it possible to use gameplay tags to make SQLite database queries, e.g. query NPC's reaction to specific subclass (Class.Mage.Pyromage or Class.Warrior.Blademaster)?
    Is there any good examples of storing tree like keys in DB's?

    • @ggamedev
      @ggamedev  Год назад

      Well, yes, you can do something like that...
      My personal 'long term' game project I am working on is an fairly deep RPG game, and I sorta do something similar... but not exactly like that.
      Basically, all the NPCs, job titles, organisations, etc, etc, live in the database.
      Each NPC has an NpcID and that is brought over into their class (same for other things like various objects, etc)
      So rather than needing to stuff the AActor's tag full of things (which you could absolutely do if it was gonna be quite simple), the only thing needed in the AActor is that NpcID
      You can then do whatever with it. for example, Player talks to NPC:
      Player character data is in database, and we pass the NpcID over...
      wanna know if the player and the NPC have common organisation memberships?
      Given tables related like so:
      NpcID -> NpcOrganisations PlayerOrganisations
      We can do something like:
      SELECT * FROM Organisation O
      INNER JOIN NpcOrganisations NPCO ON O.OrganisationID = NPCO.OrganisationID
      INNER JOIN PlayerOrganisations PO ON O.OrganisationID = PO.OrganisationID
      And that little SQL chunk can be a small part of something way more complex, where you are basically asking:
      'How does an NPC feel about the player, how are they disposed towards them?'
      You can have tables with the results of the quests the player completed, so what rumours about how the player acts are out there
      Tables about how the player treated various groups, etc, etc.
      And basically make one 'overall score' for NPC attitude based on all those things.

  • @kameenavery9616
    @kameenavery9616 2 года назад +1

    I would actually like to see a Database setup where players Create Username /Password> Then Character Select > Load level.
    I want to use my Username Database to use a players Username to save and load all relational data for a player character CharacterSelect, Stats and such. I have a working therory that I can show you on the discord in a day or so. Would be nice to see just how close I get to doing it right

    • @ggamedev
      @ggamedev  2 года назад +1

      Its an interesting topic, and I look forward to hearing what you plan on the discord. Passwords are a very specific subject regarding databases, for security reasons, we usually don't store them directly - generally opting for some sort of salted hash value. It is less important with something like SQLite where the password isn't going to be transmitted over the internet. A person's gaming rig, xbox, playstation, etc, *usually* wouldn't be the target for an external hacker trying to steal data, but regardless, it pays to be careful with these things, humans being what they are, we tend to reuse the same passwords in several places, so it better to be careful upfront.

    • @ruellerz
      @ruellerz Год назад

      Ugh this is what I'm after as well.. What did you do for a final design?

  • @ROSALIEIK
    @ROSALIEIK 11 месяцев назад

    i dont get it unreal already has data tables they never made me able to log into a server

  • @zerochain3176
    @zerochain3176 11 месяцев назад

    hm you need to update unreal 5.3 to the new pach thits pluging wont work anymore afther the new unreal pach it worket before the pach

    • @ggamedev
      @ggamedev  10 месяцев назад

      I think you maybe commented on the wrong video?
      (Part 3 had the link to the github project with my SQLiteGameDB plugin in it...)
      But regardless, yes, there were changes caused by 5.3 which screwed up the compilation of the plugin - but I updated the github project 2 months ago to have the same changes as those epic had made, and retested everything, it all was fine.
      It is possible that there are some other changes Epic sneaked into the 5.3.2 update they just rolled out that might also cause problems, however I'm not seeing anything on my projects here.
      Unfortunately, the version of the plugin I use myself (for my own projects) has obviously grown since I produced the videos, and has been expanded and updated in other ways which don't always reflect the tutorial version, so I cannot guarantee there are no issues.
      Eventually when I have time, I will return to the project an update it, both with any required fixes, and with additional functionality.
      Of course, in the meantime, if you (or anyone else) identifies specific fixes, I will either incorporate them myself, or use GitHub pull requests as applicable.

    • @zerochain3176
      @zerochain3176 10 месяцев назад

      yes i did its working now anyway i forget i swich the project to another version so its all working now @@ggamedev