Can I Create Video Games Using SQL? (No Game Engine)

Sdílet
Vložit
  • čas přidán 16. 03. 2024
  • Leaving all the other contenders - Unreal, Unity, Godot, GameMaker and many more - in the dust, I bring forth the strongest game development toolkit known to man - SQL.
    Taking advantage of all the features this tool offers, I developed a fully functional Snake Game implementation, which runs on a remote database, to which anyone can connect, play (or watch), and marvel at the future of video games and their development.
    Making use of PostgreSQL and a couple of really interesting options it has to offer, along with some of my beloved Python, I managed to create a fully interchangeble/interoperational architecture, to make this as customizable and modular as possible.
    Link to the Github repo: github.com/icitry/SqlGameEngine
  • Věda a technologie

Komentáře • 296

  • @_Mackan
    @_Mackan Před 2 měsíci +1532

    Finally, server side rendered games

    • @icitry
      @icitry  Před 2 měsíci +155

      A new era of gaming indeed

    • @linusrath
      @linusrath Před 2 měsíci +55

      @@icitryNew Google Stadia

    • @salvadego7834
      @salvadego7834 Před 2 měsíci +27

      What TRUE server side looks like

    • @gorlix
      @gorlix Před 2 měsíci +6

      i remember playing Garry's mod sandbox where people could build anything, there is Expression 2 interpreted language that is based on lua ingame functions. it was always serverside and it was fun making something usable with screens and stuff even though it works with obvious delay

    • @jamesking2439
      @jamesking2439 Před 2 měsíci +4

      Thank god out games now have SEO.

  • @memes_gbc674
    @memes_gbc674 Před 2 měsíci +855

    rule 91 of programming: if it's turing complete it's a game engine

    • @icitry
      @icitry  Před 2 měsíci +86

      what a coincidence, I was exactly on that chapter when I got the idea

    • @michawhite7613
      @michawhite7613 Před 2 měsíci +32

      Who's going to take up the Brainfuck game engine challenge?

    • @memes_gbc674
      @memes_gbc674 Před 2 měsíci +24

      @@michawhite7613 someone wrote tic tac toe for it with a computer opponent

    • @vytorrennan7923
      @vytorrennan7923 Před 2 měsíci +8

      Sql is not even turing complete dude

    • @memes_gbc674
      @memes_gbc674 Před 2 měsíci

      @@vytorrennan7923 postgres is (which is what he uses in the video)

  • @alicethetransdalek7333
    @alicethetransdalek7333 Před 2 měsíci +579

    love the (No Game Engine) in the title, as if there was a whole universe of SQL game engines out there and you specifically chose not to use any of them

    • @icitry
      @icitry  Před 2 měsíci +115

      Well of course, I am a man of integrity and commitment to the bit. Plus, better play it safe, who knows what lurks out there

    • @alessandrorossi1294
      @alessandrorossi1294 Před 2 měsíci +12

      Prolog’s graphics libraries is likely the closest you get to a sql-like language for game development

    • @idedary
      @idedary Před měsícem +3

      Well, there is. It's called ECS. Unity Dots or Bevy for example.

    • @okko7788
      @okko7788 Před 8 dny

      Lmao

  • @jusstyno
    @jusstyno Před 20 dny +29

    People really out here doing anything to avoid using unity /s
    mad respect.

  • @mki443
    @mki443 Před 2 měsíci +322

    I thought it was a typo and ment SDL, but no, you ACTUALLY made a game using SQL...... WTF? Good job man

    • @icitry
      @icitry  Před 2 měsíci +41

      I try to make everything I do seem like a typo, so thank you doubly 😄

    • @someever2
      @someever2 Před 2 měsíci +5

      structured directmedia language

    • @mki443
      @mki443 Před 2 měsíci +1

      @@icitryThat is REALLY smart, it really made the video stand out on my home screen! Awesome!

    • @icitry
      @icitry  Před 2 měsíci +4

      @@mki443 😄I actually was just talking about the project ideas, but now I'm definitely stea- integrating that into the original idea (also I'm really happy nontheless, thank you!!)

    • @mki443
      @mki443 Před 2 měsíci

      @@icitryahahahaha, what do you meannn that just programming

  • @andreykuzmin3583
    @andreykuzmin3583 Před 2 měsíci +82

    Well, you could say it’s a data driven approach

  • @superscatboy
    @superscatboy Před měsícem +76

    Looks great! I've started migrating my Godot project to this wonderful new engine, because as we all know, newer = better.

    • @icitry
      @icitry  Před měsícem +18

      Why yes what a delightful decision, I see you're also well versed in the righteous ways of programming

    • @darkzeroprojects4245
      @darkzeroprojects4245 Před 5 dny

      I want to do similar for a custom engine or two one point.

  • @le0t0rr3z
    @le0t0rr3z Před 7 dny +6

    Mah man really woke up and said
    Commit;

  • @dr_ander
    @dr_ander Před 2 měsíci +46

    Ah yes SQL the perfect game engine

    • @icitry
      @icitry  Před 2 měsíci +8

      Glad to know there are people with the same stance on this

  • @YourWishes
    @YourWishes Před 2 měsíci +71

    You can have partial redraws by creating a table that simply contains the changed pixels' with their position on the framebuffer, and color they are (now) set to, as well as the ID of the change being auto incremented, clients could then query "Get me all pixel changes since pixel change ID XYZ" where XYZ is the last pixel that they fetched on their last query. You can truncate the table by automatically deleting pixels that you are re-writing to. Initial client would simply pull all pixels on the screen in a single query then continue fetching from the last ID they had fetched.
    You can also improve FPS by using the concept of a tile system, like how older consoles work, where you would instead store tile IDs for groups of 8x8 pixels, have the client request the tile sheet once and then fetch screen using tiles, that would technically mean you are rending client side however.
    Also consider batching your queries into groups, you can probably achieve higher FPS by having a single query that both fetches the current screen, as well as submitting all events that were recorded, then waiting the 16.6ms necessary and re-executing the query. One query less delay.

    • @YourWishes
      @YourWishes Před 2 měsíci +8

      one other small thing I though of, you are running a game loop server side, but there's probably an argument to be made that you have a client query allow the game to perform a tick manually, moving away from frame based updates to time delta based updates based on how long since the last tick was run, e.g. (velocity += some fixed speed) vs (velocity += speed * delta).

    • @icitry
      @icitry  Před 2 měsíci +24

      Ok, first off - wow thank you a lot for taking the time to write this out 😄
      For the 1st thing, I totally agree, great improvement, exactly the fix I was looking for when thinking about this shortcoming.
      But for the 2nd thing, exactly as you said, it would start to lean on the client too much, which I wanted to avoid.
      On the 3rd point - there's definitely a point to be made for reducing the number of queries as much as possible, but wouldn't that cause potential delay to feedback on user actions?
      For the last idea, yea I could see that work actually, could probably end up a bit smoother visually and maybe lighter on the whole processing.
      Really great points, all of them (even on the small disagreements it pretty much boils down to personal preferences), so big props to you!

    • @YourWishes
      @YourWishes Před 2 měsíci +8

      ​@@icitryYeah for the third point it would introduce a single frame of input lag, I think some games do this method but can't remember why they do.
      Thanks for listening to my ideas lol, just had them while eating lunch watching your vid.

    • @icitry
      @icitry  Před 2 měsíci +8

      Hmm, I'll have to check that out then, you actually made me curious. And of course - brainstorming ideas is what makes this whole thing fun, I always enjoy seeing what others can come up with 😄

    • @nightshade_lemonade
      @nightshade_lemonade Před měsícem

      @@icitry lots of netcode uses a rollback feature, where they post process events after they happened.
      So like
      Deliver Tick 1
      Deliver Tick 2
      Deliver Tick 3
      Deliver Tick 4
      Event keypress tick 2
      Rollback 4
      Rollback 3
      Rollback 2
      Event Tick 2
      Execute 2
      Execute 3
      Execute 4
      Deliver Tick 5

  • @mu11668B
    @mu11668B Před 2 měsíci +57

    It's all fun and game until the madlad from your neighbor's basement turn them into Bobby tables. 💀

    • @icitry
      @icitry  Před 2 měsíci +15

      You know you could've simply not manifested the thought or put it into words, but now look at what you've potentially unleashed

  • @jakesarjeant8326
    @jakesarjeant8326 Před 2 měsíci +17

    To optimize the frame rate as you said at the end of the video, you could maintain a table of frame updates where you always keep the last, say, ten changes. That way, clients that are perfectly synchronized can always fetch the next frame, but if a client falls behind by a few frames, it can just catch up by querying multiple lines at once from the changelog...

    • @icitry
      @icitry  Před 2 měsíci +3

      Ohh yep, really great solution, virtually no drawbacks and simple to implement. Someone else suggested something similar, and gotta say - you both came up with it so fast it's amazing. Big props, and thanks for taking the time to write it out 😄

    • @jakesarjeant8326
      @jakesarjeant8326 Před měsícem +2

      @@icitryNo problem, glad I could help! I'm always happy to participate in these sorts of gloriously ridiculous projects

    • @jakesarjeant8326
      @jakesarjeant8326 Před měsícem +2

      @@icitryBTW, another thing that comes to mind: Instead of sending a grid of pixels, you can probably make much more complex games much more easily if you send simple vector draw instructions instead (e.g., "draw a 5x5 square at 0, 10", etc.).

    • @icitry
      @icitry  Před měsícem +2

      @@jakesarjeant8326 Oh definitely, that would be a great optimization - just that it would shift a lot more responsibilities onto the client, which is something I wanted to avoid for my approach (but if I wanted to make an actually viable solution, I'd probably go for something like you said)

  • @nx_
    @nx_ Před 2 měsíci +25

    i really like your content and i hope that the algorithm will start recommending you to broader audience

    • @icitry
      @icitry  Před 2 měsíci +2

      Thank you! It makes me so happy to hear you enjoy it

  • @oliverbrandstetter721
    @oliverbrandstetter721 Před měsícem +12

    Another advantage of only storing the differences would be that you could also add a replay feature afterwards

    • @icitry
      @icitry  Před měsícem +9

      Wait that's actually such a cool idea, didn't even cross my mind - nice one!

  • @pithlyx9576
    @pithlyx9576 Před 2 měsíci +4

    This is something i have been thinking of since i made my first api, ended up getting a full factory builder setup with items but lost interest. Love the approach and cool to see how you approached the rest of it.

    • @icitry
      @icitry  Před 2 měsíci +2

      Love to hear you enjoyed it! And hey, if you ever get back the interest for it, know that the world could always use another SQL game engine 😤

  • @petrusboniatus
    @petrusboniatus Před 2 měsíci +13

    I thought I was going to see a version of an ECS (like Bevy game engine is basically SQL) where you implement the logic functionally as views or something, not this plsql madness 😂. Great video ❤.

    • @icitry
      @icitry  Před 2 měsíci +2

      Oh but who would I be if not for the madness 😤 Thank you, love to hear you enjoyed it!

    • @Pe0ads
      @Pe0ads Před měsícem

      Similarly yeah. Thanks for the heads-up on Bevy, it’s a cool system

  • @designator7402
    @designator7402 Před 2 měsíci +14

    The implication that there's a game engine that uses SQL as a scripting base is hilarious to me.
    No. No I can't. Don't make me do this.

    • @icitry
      @icitry  Před 2 měsíci +2

      Oh yes, yes you can. And I will

  • @WhiteThumbs
    @WhiteThumbs Před měsícem +7

    Very interesting, I've used SQL at work , I used it to create a save text area within the cmpanies log in for inventory managment users to save their work throughout the day instead of writing everything on paper. I also found a backdoor which allowed me to see everyones log in and because of how the company was set up I suspect it was very easy to hack anyone in the company, I let the company know and they told me ~ to go f myself. I also wound up saving them 2.2 mil/yr on shipping and then they illegally fired me , so I guess don't work at home depot.

    • @icitry
      @icitry  Před měsícem +3

      ohh well that's shitty... sorry you had to go through that - goes to prove how for most (if not all) of these companies employees are just replaceable commodities

    • @WhiteThumbs
      @WhiteThumbs Před měsícem +2

      @@icitry Thanks, you get get it :D. I look forward to seeing your next videos.

    • @icitry
      @icitry  Před měsícem +2

      Thank you as well! :D

  • @strokkur24
    @strokkur24 Před měsícem +2

    Good job man! I would have never though that one could use SQL for operations like these. I've always seen databases as just external structured file storage. But the complexity is really nice.
    I have 2 more things to add though.
    1. The "2" fps looked more like 20 fps in my opinion. Did you speed up the footage so it is no that much of a pain to watch?
    2. You can compile C/C++ on windows. It is a bit of a pain to do it in VSC but Visual Studio supports C/C++ compiling and debugging.
    Great content though! Your channel is definetely underrated

    • @icitry
      @icitry  Před měsícem

      Thank you so much! 😊
      As for the 2 points you raised:
      1. Yep, that is sped up (although surprisingly enough the original still looks good, and handles better than it would at higher framerates - due to how Snake is designed probably - just that it takes longer to get a good grasp on the gameplay).
      2. Also yep, you can, but it's not something in-built with a well designed repository system and CLI tools something like Linux comes with by default, for example. You can get by with doing simple stuff, but once you break away from that... (also you don't have a universal solution, so each compiler, be it the MSVC one, mingw, or cygwin will have its own quirks which often don't translate between them)

  • @Nayte08
    @Nayte08 Před měsícem +1

    The first 40 seconds of this video cannot be overlooked
    That was a masterpiece of words

    • @icitry
      @icitry  Před měsícem +1

      Why thank you very much for the kind words, I was just thinking of submitting it for an award

  • @mintx1720
    @mintx1720 Před měsícem +6

    The squeal game engine.

    • @icitry
      @icitry  Před měsícem +4

      No don-don't call it that..

  • @Milan____
    @Milan____ Před 18 dny +1

    9/10 very insane, do NOT see me after class or ever again

    • @icitry
      @icitry  Před 18 dny +1

      but.. I still have so many other unhin- revolutionary ideas

  • @mermaidpotato
    @mermaidpotato Před měsícem +1

    I knew this would be insane from the title, but somehow the actual implementation bullshit you had to pull to make this work still took me out at the knees. Good job, I guess?

    • @icitry
      @icitry  Před měsícem +1

      Well thank you very much, glad to hear I managed to deliver on your expectations 😅

  • @PanicGiraffe
    @PanicGiraffe Před 2 měsíci +13

    This stresses me out.

  • @ellisgl
    @ellisgl Před 22 dny

    This is definitely along the line I had several years back, where you make a CMS / Blog that was mostly in the DB. You could use something like PHP to move data to / from the user and db with as little logic as possible.

  • @StandardTacticalKnight
    @StandardTacticalKnight Před 2 měsíci +5

    This is amazing, I love it

    • @icitry
      @icitry  Před 2 měsíci

      Thank you, glad you do!

  • @mikecu2249
    @mikecu2249 Před 2 měsíci

    i knew it was possible. I always wonderd about it. Now i need no wondering no more :D ty for the Vid and Work!

    • @icitry
      @icitry  Před 2 měsíci +1

      Glad to hear you enjoyed it! 😄

  • @monad_tcp
    @monad_tcp Před 6 dny +1

    I remember when I made Tetris as a Stored Procedure on SQL Server 2000 because I was too bored from just making queries for reports in stored procedures.

    • @icitry
      @icitry  Před 6 dny

      Finally - a fellow supporter of the SQL game dev movement

  • @happydeadbed5995
    @happydeadbed5995 Před 2 měsíci +1

    Respect man holy shit wow using actually sql wtf??? U are a genius man

    • @icitry
      @icitry  Před 2 měsíci

      I was thinking more of "masochist", but I'm flattered nonetheless 😅 Thank you!

  • @blaisemomin1106
    @blaisemomin1106 Před měsícem

    Finally something I needed to see

  • @GashyDev
    @GashyDev Před 4 dny

    Both cursed and beautiful at the same time.

  • @wouter11234
    @wouter11234 Před 2 měsíci +1

    Awesome video, though I wonder if it would be doable to make the server more abstract, and letting the client dealing with drawing the frame. Then for example, the server would say "draw a line here and a triangle there, and fetch this asset from the db and rotate it and draw it there". This way you could even leverage something like OpenGL on the client side. Come to think of it, using the DB to queue up openGL calls would probably also work, and make the client very simple. Though then you'd have a massive restriction of only being able to use opengl on the client.

    • @icitry
      @icitry  Před 2 měsíci +2

      Thank you! Yeah, exactly, well pointed. It's all a balancing act - you can move more of the logic to the client, but then you'd be losing portability, and wouldn't be leveraging the full potential of SQL 😔 But it's a really nice alternative approach to the problem. Also I'm sure it can ultimately be made more portable - you can abstract away the primitives used on the client and just call what is available once the server makes a request. But I guess it boils down to personal preference, or rather restrictions you want to impose on the architecture.

    • @asdfqwerty14587
      @asdfqwerty14587 Před 2 měsíci

      Well.. you can of course do that, but going in that direction is just going to go further and further towards "just do everything without using SQL" (which is of course the correct answer if you were trying to make a game as efficiently as possible) - after all, there's really no need for the server to exist at all and everything could be done way more easily by just.. not using such a convoluted setup, but then you just aren't making a game with SQL at all anymore.

    • @wouter11234
      @wouter11234 Před 2 měsíci

      Haha yes, when refining the SQL method more and more I'm sure you'll end up not using SQL at all, or at least very little of it (possibly only storing temporary game state - or even better only long term game state). Though as @icitry pointed out at the end, encoding the video feed would make this setup a lot more efficient, and I guess even sending the stuff I mentioned above would be a way of "encoding" a very strict video feed.

  • @clashblaster
    @clashblaster Před 13 dny

    I clicked on this video reading the title as "SDL" instead of "SQL" and wasn't at all prepared for what this video would actually be about lol.

  • @Unknown_Trip
    @Unknown_Trip Před měsícem +1

    what the database teacher does on his free time when no one is watching:

    • @icitry
      @icitry  Před měsícem

      ushering the game dev world into a new era? hell yeah he is

  • @spaghettiking653
    @spaghettiking653 Před 2 měsíci +1

    This is the mark of utter genius

    • @icitry
      @icitry  Před 2 měsíci

      Well.. genius isn't quite the word I'd use, but I do appreciate the compliment 😄

  • @bowen516
    @bowen516 Před 2 měsíci +8

    Sir I think you need to see a therapist. Nobody should be subjected to this much SQL in their lifetime.

    • @icitry
      @icitry  Před 2 měsíci +2

      I dunno, when I showed my therapist this he smiled and asked if he could share it with his other therapist friends, so I think it's simply just an interesting subject yk

    • @Difluoroacetamide
      @Difluoroacetamide Před měsícem

      Databases make me want to hurt myself especially Microsoft Access databases

    • @le0t0rr3z
      @le0t0rr3z Před 7 dny

      ​@@icitry did he ask for your last name? They might be about to name something after you

    • @icitry
      @icitry  Před 7 dny +1

      @@le0t0rr3z You think so too? I was a bit unsure when they asked, but now I'm certain something big is about to happen

  • @pabloqp7929
    @pabloqp7929 Před 2 měsíci +3

    Get this man a Linux virtual machine. Great video!!

    • @icitry
      @icitry  Před 2 měsíci +3

      I hope it's one built with SQL though...
      Thank you!! 😁

    • @pabloqp7929
      @pabloqp7929 Před 2 měsíci

      @@icitry hahaha

  • @Lukas-qy2on
    @Lukas-qy2on Před měsícem +4

    honestly, imagine buying a game and you get the ip and a password to stream code over lol

  • @fogbank
    @fogbank Před dnem

    SQL lends itself naturally to multiplayer games and shared experiences in general by virtue of being relational.

  • @ohimdabiggestbird
    @ohimdabiggestbird Před měsícem +5

    i was completely gone braindead thinking about other stuff while watching this video until 18:48, great refresher

    • @icitry
      @icitry  Před měsícem

      Well there's a reason they call me waterboy (they don't) - always ready with a refreshment

    • @ohimdabiggestbird
      @ohimdabiggestbird Před měsícem

      @@icitry i cant wrap my head around how u got this much play when ur an SQL developer lmao

    • @icitry
      @icitry  Před měsícem

      @@ohimdabiggestbird Woah woah this a wholesome-only zone, let's not throw around words like that (for the 2 sql devs in this world I'm sorry)

  • @breekicheeki
    @breekicheeki Před měsícem

    what an absolute madlad

  • @doce3609
    @doce3609 Před 2 měsíci

    I just love this.

    • @icitry
      @icitry  Před 2 měsíci

      😁 Thank you!

  • @mikecu2249
    @mikecu2249 Před 2 měsíci +2

    Another question. I know this would go against the spirit of the project, but let say for a second that rendering would be purly client side. Could the SLQ Engine approch legit work?

    • @icitry
      @icitry  Před 2 měsíci +1

      Great question actually! And I would argue that yes, it would, but in very specific scenarios. I'm thinking generally games where the player has a predefined set of actions allowed and in which users don't interact with each other (not necessarily only singleplayer, could also work for "multiplayer" games where players work toward common goals for example - mainly in the style of those gimmicky mobile games). That way the database can simply manage the state of each player, along with the actions and responses it should provide, whereas the client needs to only display the visuals for what is returned by the database - like: hit enemy -> update enemy hp data -> signal play enemy hit for enemy with a certain id -> client plays hit animation for said enemy. So really simple stuff, but there are definitely games made in that style that could (and I'm pretty sure do) benefit from such an approach. Another thing is that you'd probably use something like Redis for direct communication with the client, as it would be exponentially faster for these kinds of operations, and have Redis instances for multiple regions, all of which then flush the data at given intervals to a relational database.

  • @homieinthesky8919
    @homieinthesky8919 Před 2 měsíci +1

    Great video. Now i could actually play a server side game. Some of your code that i see could be shortened via the use of dataclasses but hey it is still equivalent. Also what code theme do you use?

    • @icitry
      @icitry  Před 2 měsíci +1

      Oh the code could always be improved. About the theme - if you're asking about the code samples, it's actually Carbon, they're not taken directly from my IDEs. Otherwise I'm running the default dark theme and config on all of them. Also glad to hear you liked it!!

  • @richardgrosman5798
    @richardgrosman5798 Před měsícem

    You can create a game solely using SQL without having to utilize another language like Python etc. You just have to figure out how. Nevertheless, thank you for sharing and the effort. It's still a challenge to accomplish such tasks.

    • @icitry
      @icitry  Před měsícem +1

      Well unless we'd run the game in the db console, calls to os primitives are still needed, so I don't think a pure SQL solution is actually possible (at the very least I see it as needing to modify the internal libs) - I could be wrong though, but I genuinely don't see how - would be curious to see some ideas, if anyone more well-versed happens to chime in.
      Also thank you for the kind words!

  • @brennanlaurent4748
    @brennanlaurent4748 Před 2 měsíci +3

    you are him you are that guy

    • @icitry
      @icitry  Před 2 měsíci +1

      hell yeah acknowledgement! you too, making me blush like that

  • @captainMony
    @captainMony Před měsícem +1

    Im watching someone rise above human reasoning and compression!

    • @icitry
      @icitry  Před měsícem +1

      I'm simply beginning to believe

  • @brandyhandy4157
    @brandyhandy4157 Před 2 měsíci

    Welcome💙 🧡🙏🏼

  • @ProdByAR4
    @ProdByAR4 Před měsícem +4

    11:35 MSVC is the native c/c++ compiler for windows
    Also you need to add some sort of client prediction, otherwise if you host your server in another network (not LAN) you wouldn't able to do literally anything (network latency and packet loss will be a problem)
    edit: also Clang run on both windows and linux natively, so I don't really understand your point here

    • @icitry
      @icitry  Před měsícem +2

      Well unless something major happened in the meanwhile, MSVC is proprietary software to the Visual Studio toolkit, which isn't shipped bundled with Windows, so it's as much a native compile as any other you can install on your machine.
      For the second thing - yeah let's just say sustainability wasn't a core concern when developing this 😅

  • @RyoSuzaki64
    @RyoSuzaki64 Před měsícem

    The fact that you used the GameMaker 1.4 Logo hurts my soul

  • @haukerikjacobsen3580
    @haukerikjacobsen3580 Před měsícem

    yo, how did u manage to merge the = and > sign like that? 7:03

    • @icitry
      @icitry  Před měsícem

      That's actually because of Carbon, as that's what I use when creating the code snippet demos. But I'm fairly sure there are plugins/add-ons for most IDEs that can do just that

  • @SoloRads
    @SoloRads Před měsícem +2

    The fact that does not run at 0.5 fps is insane as an web developer.

    • @icitry
      @icitry  Před měsícem +3

      Honestly I was really surprised as well, initially I was going to try incrementing the size from 50x50 pixels till it crashed - now imagine my surprise when I went with 400x400 for the lols and it worked decently

  • @MichaelUrocyon
    @MichaelUrocyon Před měsícem +1

    This is so incredibly cursed. Always online games taken to new extremes

  • @kxhu
    @kxhu Před 2 měsíci +4

    i thought i read sdl, but sql??? dang

    • @icitry
      @icitry  Před 2 měsíci +2

      Well I had to pick the one with more potential yk

  • @Baisernours
    @Baisernours Před měsícem +1

    I know y'all were laser focused on that guy munching straight sand like it was God's providence

  • @teh1archon
    @teh1archon Před měsícem +1

    this video is bonkers!

    • @icitry
      @icitry  Před měsícem

      just the aftermath of me being in a silly goofy mood

  • @23bcx
    @23bcx Před 2 měsíci +1

    Alot of Civ atleast V and VI and I belive IV aswell is coded in SQLite

    • @icitry
      @icitry  Před 2 měsíci +1

      Hmm I wouldn't say a lot (at least not from a pure programming perspective, as data-wise it might be), as from what I know they basically use SQLite to store config, initialization files and the like, as well as localization stuff, so they don't walk around parsing XML and ini files and instead rely on db optimizations. Ofc I could be wrong, but I find it highly unlikely it's used for more than that, given the nature of the games

  • @markinius8866
    @markinius8866 Před měsícem

    now create a chip 8 emulator in sql. another thing, have you tried other sql db's? perhaps sqlite or mariadb?

    • @icitry
      @icitry  Před měsícem

      not really tbh, I went with postgres from the start, knowing it's a really mature and comprehensive solution, so that if I wanted to touch on some edge cases, there's at least a chance a mechanism already exists - others would probably work as well (maybe even better), it's just that I went with the safest pick

  • @elusivefrog
    @elusivefrog Před 2 měsíci +2

    make a game with mongoDB next lol. more server side games

    • @icitry
      @icitry  Před 2 měsíci

      Going through the whole databases gauntlet hmm.. But I think there needs to be as many people as possible making the server-side gaming gospel known - I'm just happy being one of the founding fathers (I'm not)

  • @elyascanfixit
    @elyascanfixit Před 6 dny

    You absolute menace.

    • @icitry
      @icitry  Před 6 dny

      What can I say, I always try to bring out my A-game

  • @sir_no_name1478
    @sir_no_name1478 Před 6 dny

    This is kind of what space time db does.
    Very impressive. Now try again using sqlite 💀.

    • @icitry
      @icitry  Před 5 dny

      I.. think I'll let others do the honors for that 🤕

  • @ortherner
    @ortherner Před měsícem +1

    wow

  • @denischen8196
    @denischen8196 Před měsícem +1

    Is it possible to make a system call with only SQL?

    • @icitry
      @icitry  Před měsícem

      Depends on what you think when you say "just SQL". Cuz you could write a DLL to define new procedures that SQL can use, and inside those you can technically do whatever you want. But with just the stuff you'd get when installing it and not modifying anything - I'm pretty sure you can't (although depending on the flavor there could be some extra functionalities that may allow some more freedom).

  • @Kanookoochn
    @Kanookoochn Před 2 měsíci +1

    its said a game like lord mobile is basically a redis server instance, thats why it can handle 10000ccu

    • @icitry
      @icitry  Před 2 měsíci +1

      Oh wait that's smart actually, given the type of game that seems to be (haven't actually tried it, but I think I get the gist of it). Ty for telling me about it, now I have something else to look into 😅

    • @Kanookoochn
      @Kanookoochn Před 2 měsíci

      @@icitry well if you find out how the backend architecture work you should make the video abbout it , waiting for it 😀

  • @isle_of_violets
    @isle_of_violets Před 15 dny

    nah now we need a non-relational mongodb game engine

    • @icitry
      @icitry  Před 15 dny +2

      I think I'll let someone else have the honor of doing that

  • @aaronspeedy7780
    @aaronspeedy7780 Před 2 měsíci +2

    Haha I don't think you not using an existing game engine is the interesting part here ...
    Good job though this is amazing

    • @icitry
      @icitry  Před 2 měsíci

      😅 Thank you, happy to hear you liked it!

  • @gamerzero6085
    @gamerzero6085 Před 17 dny

    bro invented ECS

  • @caduhidalgo4996
    @caduhidalgo4996 Před měsícem +1

    From the same creators of Cascading Server Sheets:

    • @icitry
      @icitry  Před měsícem

      Now, don't lump me in with those lunatics, it's obvious my creation is an actually viable product with real value

  • @rodriggrrr9788
    @rodriggrrr9788 Před měsícem +1

    Can't wait for people to apply maths and render a 3D game in your 2D engine.

    • @icitry
      @icitry  Před měsícem +1

      It's inevitable at this point tbh, someone's definitely porting doom on it

  • @justinnamilee
    @justinnamilee Před 2 měsíci +1

    Neato.

    • @icitry
      @icitry  Před měsícem +1

      Thanks! 😊

  • @mansiselyn
    @mansiselyn Před měsícem

    Insane

    • @icitry
      @icitry  Před měsícem

      Thanks, always happy to provide 😤

  • @gauthamnair6075
    @gauthamnair6075 Před 2 měsíci

    Now he gotta do prolog for making games

    • @icitry
      @icitry  Před 2 měsíci

      What a sick and twisted individual you are - why must you take joy in others (me) suffering?

  • @notaredBox
    @notaredBox Před 2 měsíci +2

    C++ is no contender to how hard this is.

    • @icitry
      @icitry  Před 2 měsíci +2

      C++? Oh yea that's definitely a small fry, especially compared to this absolute work of art

  • @NileGold
    @NileGold Před 2 měsíci +3

    Didnt someone play doom using sql?

    • @icitry
      @icitry  Před 2 měsíci +1

      There were people running it on human cells, so at this point nothing surprises me

  • @s1nistr433
    @s1nistr433 Před měsícem

    Still better than writing a game in javascript

    • @icitry
      @icitry  Před měsícem +1

      Now why would you go and say that, you've hurt potentially all ten js game devs in this world (I agree)

  • @EobardUchihaThawne
    @EobardUchihaThawne Před měsícem

    im sure Primeagen will make reaction video😅

    • @icitry
      @icitry  Před měsícem +2

      oh that's a terrifying prospect, and I don't know for whom more

  • @DownDance
    @DownDance Před 2 měsíci

    You're sick. But I love it

    • @icitry
      @icitry  Před 2 měsíci

      And I love being like this :)) Thanks!

  • @MunaAlaneme
    @MunaAlaneme Před 2 dny

    Minedur's Strouls: Stardew of the Last Dive

  • @AbegazNap
    @AbegazNap Před měsícem

    im more of a plv8 kinda gal, amazing video tho

    • @icitry
      @icitry  Před měsícem

      oh but what an extremely exquisite alternative (and also thank you!!)

  • @MegaGadgetdude
    @MegaGadgetdude Před 2 měsíci +2

    isnt there a doom plugin for psql?

    • @icitry
      @icitry  Před 2 měsíci +2

      Is there? I mean I shouldn't even be surprised at this point, there's probably a way to run it directly on my retinas

    • @icitry
      @icitry  Před 2 měsíci +2

      Ohh gotcha. Well it's a pretty clever hack though so you gotta give it to the creator

  • @megabotvideos
    @megabotvideos Před měsícem

    is this fullstack game development

    • @icitry
      @icitry  Před měsícem +1

      hmm I like the sound of it, sounds like it's fancy and pays well - let's go with that

  • @BrianWoodruff-Jr
    @BrianWoodruff-Jr Před 2 měsíci

    My god, this man doesn't use the python black formatter D:

    • @icitry
      @icitry  Před 2 měsíci

      The what now? I always used the default one, but now ofc I gotta check that out

  • @undeadqug7732
    @undeadqug7732 Před 7 dny

    yes only if the creators of the souls game made the games via sql maybe then they'll understand the pain of their creation

    • @icitry
      @icitry  Před 7 dny

      Even that wouldn't be enough, gotta add some poison swamps throughout the codebase

  • @dmitriyrasskazov8858
    @dmitriyrasskazov8858 Před 2 měsíci

    Madman

    • @icitry
      @icitry  Před 2 měsíci

      I'm 100% taking that as a compliment

  • @Alex-nk3tl
    @Alex-nk3tl Před 2 měsíci +1

    Rule 34 of programing: if a programing language exits its a game engine

    • @icitry
      @icitry  Před 2 měsíci +1

      Oh yea very true, and don't forget about the section 2b addition: some languages (sql) are better suited than others for the task. For more information look up rule 34 2b

  • @markhaus
    @markhaus Před 6 dny

    Ah yes good ole SQL. By that I mean Structured Qame Language

  • @exhaustive_the_sixth
    @exhaustive_the_sixth Před měsícem

    now we are looking for game engine on brainfuck

    • @icitry
      @icitry  Před měsícem +1

      I wonder who's the unlucky (pronounced insane) bastard that's gonna try that

  • @Ruhgtfo
    @Ruhgtfo Před měsícem

    Tortual a drive with a Willy Wonka way

  • @neutrino2211_
    @neutrino2211_ Před měsícem

    "Just use an ORM bro"

    • @icitry
      @icitry  Před měsícem +1

      "yea dude just use an ORM (Osql Rgame Mengine)"

  • @user-tb4ig7qh9b
    @user-tb4ig7qh9b Před 2 měsíci

    As backend everyday write sql and try optimize query as i could, the better than sql hacks is sql games 😂

    • @icitry
      @icitry  Před 2 měsíci +2

      Of course, making games is known to be one of SQL's best features :))

  • @IDS_Switty
    @IDS_Switty Před 7 dny

    @CHBG ты ли это?

  • @natalie-sky
    @natalie-sky Před měsícem +1

    but why

    • @icitry
      @icitry  Před měsícem +1

      "but why hasn't anyone thought of this before?" ikik that was my first reaction as well

  • @user-tb4ig7qh9b
    @user-tb4ig7qh9b Před 2 měsíci

    Great great great job 😂

  • @tristunalekzander5608
    @tristunalekzander5608 Před měsícem

    Oh I read SDL, not SQL lol

    • @icitry
      @icitry  Před měsícem +1

      That seems to be the trend... guess I should be proud 😤

  • @ikerpc7
    @ikerpc7 Před měsícem

    Make a game engine and then make a game engine in your game engine

    • @icitry
      @icitry  Před měsícem

      And then - you guessed it - make a game engine within the game engine I created inside a game engine

    • @ikerpc7
      @ikerpc7 Před měsícem

      @@icitry yes

  • @type-moonfag4413
    @type-moonfag4413 Před měsícem +4

    But can it run doom?

    • @icitry
      @icitry  Před měsícem +1

      Oh it's not a matter of can, just of when

  • @monad_tcp
    @monad_tcp Před 6 dny

    14:45 cygwin ? what sort of HELL are you doing to that poor windows computer ?

    • @icitry
      @icitry  Před 6 dny

      hey, if I'm putting myself through hell, my computer has to experience it as well - solidarity you know

  • @APDesignFXP
    @APDesignFXP Před 2 měsíci +1

    It’s weird, cool but weird. And a way to kill ur SSD.

    • @icitry
      @icitry  Před 2 měsíci +1

      Ehhh, I'm sure it'll be fine (brb gotta go do some backups)

    • @APDesignFXP
      @APDesignFXP Před 2 měsíci

      @@icitry lol

  • @AK-vx4dy
    @AK-vx4dy Před 2 měsíci

    it depends on dialect

    • @icitry
      @icitry  Před 2 měsíci

      Oh yeah I'm sure you couldn't do this with a Yorkshire one (jk, but yeah it definitely depends on which one you're using)

    • @AK-vx4dy
      @AK-vx4dy Před 2 měsíci

      @@icitry Welsh is more powerful 😅
      Sorry i have no idea on UK dialects.
      But i mean SQL dialect (and specific dstabase) PSQL, T-SQL, PL/SQL...etc.

    • @icitry
      @icitry  Před 2 měsíci

      Neither do I 😁 - but yeah I specifically chose the postgres variant because of its extra features

  • @nito8066
    @nito8066 Před měsícem

    WHAT DA HALLLLLLLLLLLLLLLLLLLLLL