Тёмный

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

icitry
Подписаться 6 тыс.
Просмотров 125 тыс.
50% 1

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

Наука

Опубликовано:

 

16 мар 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 321   
@_Mackan
@_Mackan 3 месяца назад
Finally, server side rendered games
@icitry
@icitry 3 месяца назад
A new era of gaming indeed
@linusrath
@linusrath 3 месяца назад
@@icitryNew Google Stadia
@salvadego7834
@salvadego7834 3 месяца назад
What TRUE server side looks like
@gorlix
@gorlix 3 месяца назад
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 3 месяца назад
Thank god out games now have SEO.
@memes_gbc674
@memes_gbc674 3 месяца назад
rule 91 of programming: if it's turing complete it's a game engine
@icitry
@icitry 3 месяца назад
what a coincidence, I was exactly on that chapter when I got the idea
@michawhite7613
@michawhite7613 3 месяца назад
Who's going to take up the Brainfuck game engine challenge?
@memes_gbc674
@memes_gbc674 3 месяца назад
@@michawhite7613 someone wrote tic tac toe for it with a computer opponent
@vytorrennan7923
@vytorrennan7923 3 месяца назад
Sql is not even turing complete dude
@memes_gbc674
@memes_gbc674 3 месяца назад
@@vytorrennan7923 postgres is (which is what he uses in the video)
@alicethetransdalek7333
@alicethetransdalek7333 3 месяца назад
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 3 месяца назад
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 3 месяца назад
Prolog’s graphics libraries is likely the closest you get to a sql-like language for game development
@idedary
@idedary 2 месяца назад
Well, there is. It's called ECS. Unity Dots or Bevy for example.
@okko7788
@okko7788 Месяц назад
Lmao
@jusstyno
@jusstyno Месяц назад
People really out here doing anything to avoid using unity /s mad respect.
@Neoproxy_
@Neoproxy_ 11 дней назад
Do not tell them about godot
@andreykuzmin3583
@andreykuzmin3583 3 месяца назад
Well, you could say it’s a data driven approach
@mki443
@mki443 3 месяца назад
I thought it was a typo and ment SDL, but no, you ACTUALLY made a game using SQL...... WTF? Good job man
@icitry
@icitry 3 месяца назад
I try to make everything I do seem like a typo, so thank you doubly 😄
@someever2
@someever2 3 месяца назад
structured directmedia language
@mki443
@mki443 3 месяца назад
@@icitryThat is REALLY smart, it really made the video stand out on my home screen! Awesome!
@icitry
@icitry 3 месяца назад
@@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 3 месяца назад
@@icitryahahahaha, what do you meannn that just programming
@superscatboy
@superscatboy 3 месяца назад
Looks great! I've started migrating my Godot project to this wonderful new engine, because as we all know, newer = better.
@icitry
@icitry 3 месяца назад
Why yes what a delightful decision, I see you're also well versed in the righteous ways of programming
@darkzeroprojects4245
@darkzeroprojects4245 Месяц назад
I want to do similar for a custom engine or two one point.
@dr_ander
@dr_ander 3 месяца назад
Ah yes SQL the perfect game engine
@icitry
@icitry 3 месяца назад
Glad to know there are people with the same stance on this
@YourWishes
@YourWishes 3 месяца назад
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 3 месяца назад
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 3 месяца назад
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 3 месяца назад
​@@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 3 месяца назад
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 2 месяца назад
@@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
@le0t0rr3z
@le0t0rr3z Месяц назад
Mah man really woke up and said Commit;
@mu11668B
@mu11668B 3 месяца назад
It's all fun and game until the madlad from your neighbor's basement turn them into Bobby tables. 💀
@icitry
@icitry 3 месяца назад
You know you could've simply not manifested the thought or put it into words, but now look at what you've potentially unleashed
@nx_
@nx_ 3 месяца назад
i really like your content and i hope that the algorithm will start recommending you to broader audience
@icitry
@icitry 3 месяца назад
Thank you! It makes me so happy to hear you enjoy it
@oliverbrandstetter721
@oliverbrandstetter721 2 месяца назад
Another advantage of only storing the differences would be that you could also add a replay feature afterwards
@icitry
@icitry 2 месяца назад
Wait that's actually such a cool idea, didn't even cross my mind - nice one!
@monad_tcp
@monad_tcp Месяц назад
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 Месяц назад
Finally - a fellow supporter of the SQL game dev movement
@jakesarjeant8326
@jakesarjeant8326 3 месяца назад
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 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 3 месяца назад
@@icitryNo problem, glad I could help! I'm always happy to participate in these sorts of gloriously ridiculous projects
@jakesarjeant8326
@jakesarjeant8326 3 месяца назад
@@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 3 месяца назад
@@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)
@designator7402
@designator7402 3 месяца назад
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 3 месяца назад
Oh yes, yes you can. And I will
@pithlyx9576
@pithlyx9576 3 месяца назад
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 3 месяца назад
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 😤
@Nayte08
@Nayte08 2 месяца назад
The first 40 seconds of this video cannot be overlooked That was a masterpiece of words
@icitry
@icitry 2 месяца назад
Why thank you very much for the kind words, I was just thinking of submitting it for an award
@petrusboniatus
@petrusboniatus 3 месяца назад
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 3 месяца назад
Oh but who would I be if not for the madness 😤 Thank you, love to hear you enjoyed it!
@Pe0ads
@Pe0ads 2 месяца назад
Similarly yeah. Thanks for the heads-up on Bevy, it’s a cool system
@StandardTacticalKnight
@StandardTacticalKnight 3 месяца назад
This is amazing, I love it
@icitry
@icitry 3 месяца назад
Thank you, glad you do!
@blaisemomin1106
@blaisemomin1106 2 месяца назад
Finally something I needed to see
@WhiteThumbs
@WhiteThumbs 2 месяца назад
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 2 месяца назад
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 2 месяца назад
@@icitry Thanks, you get get it :D. I look forward to seeing your next videos.
@icitry
@icitry 2 месяца назад
Thank you as well! :D
@mikecu2249
@mikecu2249 3 месяца назад
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 3 месяца назад
Glad to hear you enjoyed it! 😄
@mintx1720
@mintx1720 3 месяца назад
The squeal game engine.
@icitry
@icitry 3 месяца назад
No don-don't call it that..
@mermaidpotato
@mermaidpotato 2 месяца назад
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 2 месяца назад
Well thank you very much, glad to hear I managed to deliver on your expectations 😅
@strokkur24
@strokkur24 3 месяца назад
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 3 месяца назад
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)
@GashyDev
@GashyDev Месяц назад
Both cursed and beautiful at the same time.
@Milan____
@Milan____ Месяц назад
9/10 very insane, do NOT see me after class or ever again
@icitry
@icitry Месяц назад
but.. I still have so many other unhin- revolutionary ideas
@PanicGiraffe
@PanicGiraffe 3 месяца назад
This stresses me out.
@icitry
@icitry 3 месяца назад
Good.
@ellisgl
@ellisgl 2 месяца назад
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.
@dragonick2947
@dragonick2947 11 дней назад
I want a snake game for my desktop that I can open and snake around with others in whenever I want! I'm excited to see what people do with this.
@clashblaster
@clashblaster Месяц назад
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.
@happydeadbed5995
@happydeadbed5995 3 месяца назад
Respect man holy shit wow using actually sql wtf??? U are a genius man
@icitry
@icitry 3 месяца назад
I was thinking more of "masochist", but I'm flattered nonetheless 😅 Thank you!
@spaghettiking653
@spaghettiking653 3 месяца назад
This is the mark of utter genius
@icitry
@icitry 3 месяца назад
Well.. genius isn't quite the word I'd use, but I do appreciate the compliment 😄
@ohimdabiggestbird
@ohimdabiggestbird 3 месяца назад
i was completely gone braindead thinking about other stuff while watching this video until 18:48, great refresher
@icitry
@icitry 3 месяца назад
Well there's a reason they call me waterboy (they don't) - always ready with a refreshment
@ohimdabiggestbird
@ohimdabiggestbird 3 месяца назад
@@icitry i cant wrap my head around how u got this much play when ur an SQL developer lmao
@icitry
@icitry 3 месяца назад
@@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)
@heartofcode5372
@heartofcode5372 11 дней назад
Now make a video called "Should I create video games using sql? (no game engine)" In all seriousness though, great video, enjoyed it alot!
@GerinoMorn
@GerinoMorn 11 дней назад
This kind of thing is what awaits you if you start coding. Intrusive thoughts that end up being a bag of hours you're never getting back, but you learned like, one useful thing in the process xD
@Lukas-qy2on
@Lukas-qy2on 3 месяца назад
honestly, imagine buying a game and you get the ip and a password to stream code over lol
@bowen516
@bowen516 3 месяца назад
Sir I think you need to see a therapist. Nobody should be subjected to this much SQL in their lifetime.
@icitry
@icitry 3 месяца назад
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 2 месяца назад
Databases make me want to hurt myself especially Microsoft Access databases
@le0t0rr3z
@le0t0rr3z Месяц назад
​@@icitry did he ask for your last name? They might be about to name something after you
@icitry
@icitry Месяц назад
@@le0t0rr3z You think so too? I was a bit unsure when they asked, but now I'm certain something big is about to happen
@Unknown_Trip
@Unknown_Trip 2 месяца назад
what the database teacher does on his free time when no one is watching:
@icitry
@icitry 2 месяца назад
ushering the game dev world into a new era? hell yeah he is
@doce3609
@doce3609 3 месяца назад
I just love this.
@icitry
@icitry 3 месяца назад
😁 Thank you!
@pabloqp7929
@pabloqp7929 3 месяца назад
Get this man a Linux virtual machine. Great video!!
@icitry
@icitry 3 месяца назад
I hope it's one built with SQL though... Thank you!! 😁
@pabloqp7929
@pabloqp7929 3 месяца назад
@@icitry hahaha
@breekicheeki
@breekicheeki 2 месяца назад
what an absolute madlad
@fogbank
@fogbank Месяц назад
SQL lends itself naturally to multiplayer games and shared experiences in general by virtue of being relational.
@mikecu2249
@mikecu2249 3 месяца назад
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 3 месяца назад
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.
@teh1archon
@teh1archon 3 месяца назад
this video is bonkers!
@icitry
@icitry 3 месяца назад
just the aftermath of me being in a silly goofy mood
@brandyhandy4157
@brandyhandy4157 3 месяца назад
Welcome💙 🧡🙏🏼
@elyascanfixit
@elyascanfixit Месяц назад
You absolute menace.
@icitry
@icitry Месяц назад
What can I say, I always try to bring out my A-game
@s1nistr433
@s1nistr433 3 месяца назад
Still better than writing a game in javascript
@icitry
@icitry 2 месяца назад
Now why would you go and say that, you've hurt potentially all ten js game devs in this world (I agree)
@MrPeepa
@MrPeepa 11 дней назад
New video idea "I added multiplayer to my sql game engine"! I think it will be super easy to implement multiplayer if multiple clients use the same db!
@wouter11234
@wouter11234 3 месяца назад
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 3 месяца назад
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 3 месяца назад
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 3 месяца назад
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.
@captainMony
@captainMony 2 месяца назад
Im watching someone rise above human reasoning and compression!
@icitry
@icitry 2 месяца назад
I'm simply beginning to believe
@brennanlaurent4748
@brennanlaurent4748 3 месяца назад
you are him you are that guy
@icitry
@icitry 3 месяца назад
hell yeah acknowledgement! you too, making me blush like that
@homieinthesky8919
@homieinthesky8919 3 месяца назад
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 3 месяца назад
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!!
@MichaelUrocyon
@MichaelUrocyon 3 месяца назад
This is so incredibly cursed. Always online games taken to new extremes
@YaBoiKuma
@YaBoiKuma 3 месяца назад
I know y'all were laser focused on that guy munching straight sand like it was God's providence
@proxmbeats
@proxmbeats 3 месяца назад
yessir XD
@SoloRads
@SoloRads 3 месяца назад
The fact that does not run at 0.5 fps is insane as an web developer.
@icitry
@icitry 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
@kxhu
@kxhu 3 месяца назад
i thought i read sdl, but sql??? dang
@icitry
@icitry 3 месяца назад
Well I had to pick the one with more potential yk
@haukerikjacobsen3580
@haukerikjacobsen3580 2 месяца назад
yo, how did u manage to merge the = and > sign like that? 7:03
@icitry
@icitry 2 месяца назад
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
@moneyl6594
@moneyl6594 9 дней назад
Pretty cool idea. 11:38 What do you mean by there being no native support for compiling c & c++? They have MSVC.
@icitry
@icitry 8 дней назад
Thanks! Well yes, they have MSVC, but it doesn't come prepackaged with the OS, instead it's part of Visual Studio, meaning you don't get access to the compiler the OS was actually compiled with, so obviously there'd be differences across implementations - reason why we have like 3 different solutions.
@moneyl6594
@moneyl6594 8 дней назад
@@icitry Understood
@WANGLY
@WANGLY 12 дней назад
sql injection gonna go crazy lmao
@mansiselyn
@mansiselyn 3 месяца назад
Insane
@icitry
@icitry 3 месяца назад
Thanks, always happy to provide 😤
@cheesepop7175
@cheesepop7175 Месяц назад
what happens if you view a .wav file in binary waterfall
@richardgrosman5798
@richardgrosman5798 2 месяца назад
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 2 месяца назад
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!
@thribsilva
@thribsilva 26 дней назад
We can play "how do you rename a table?" It's pretty hardcore
@RyoSuzaki64
@RyoSuzaki64 3 месяца назад
The fact that you used the GameMaker 1.4 Logo hurts my soul
@icitry
@icitry 3 месяца назад
Let's call it a nostalgia trip
@RyoSuzaki64
@RyoSuzaki64 3 месяца назад
@@icitrylol
@DownDance
@DownDance 3 месяца назад
You're sick. But I love it
@icitry
@icitry 3 месяца назад
And I love being like this :)) Thanks!
@redeye851
@redeye851 Месяц назад
Imagine game cheats over SQL injections, I love it 😂
@JohlBrown
@JohlBrown День назад
what's the game at the start that shows all the bones breaking when they get shot
@icitry
@icitry 8 часов назад
Oh that's from Sniper Elite 3
@justinnamilee
@justinnamilee 3 месяца назад
Neato.
@icitry
@icitry 3 месяца назад
Thanks! 😊
@isle_of_violets
@isle_of_violets Месяц назад
nah now we need a non-relational mongodb game engine
@icitry
@icitry Месяц назад
I think I'll let someone else have the honor of doing that
@markinius8866
@markinius8866 2 месяца назад
now create a chip 8 emulator in sql. another thing, have you tried other sql db's? perhaps sqlite or mariadb?
@icitry
@icitry 2 месяца назад
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
@denischen8196
@denischen8196 3 месяца назад
Is it possible to make a system call with only SQL?
@icitry
@icitry 3 месяца назад
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).
@caduhidalgo4996
@caduhidalgo4996 2 месяца назад
From the same creators of Cascading Server Sheets:
@icitry
@icitry 2 месяца назад
Now, don't lump me in with those lunatics, it's obvious my creation is an actually viable product with real value
@rodriggrrr9788
@rodriggrrr9788 3 месяца назад
Can't wait for people to apply maths and render a 3D game in your 2D engine.
@icitry
@icitry 3 месяца назад
It's inevitable at this point tbh, someone's definitely porting doom on it
@sir_no_name1478
@sir_no_name1478 Месяц назад
This is kind of what space time db does. Very impressive. Now try again using sqlite 💀.
@icitry
@icitry Месяц назад
I.. think I'll let others do the honors for that 🤕
@23bcx
@23bcx 3 месяца назад
Alot of Civ atleast V and VI and I belive IV aswell is coded in SQLite
@icitry
@icitry 3 месяца назад
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
@notaredBox
@notaredBox 3 месяца назад
C++ is no contender to how hard this is.
@icitry
@icitry 3 месяца назад
C++? Oh yea that's definitely a small fry, especially compared to this absolute work of art
@vitasomething
@vitasomething 9 дней назад
would you rather have infinite bacon but no game engines, or game engines, infinite game engines but no game engines
@icitry
@icitry 8 дней назад
well that's a tough one, but I think I'll go with the infinite game engines... I mean there's grease involved in both cases, but infinite game engines is obviously better
@aaronspeedy7780
@aaronspeedy7780 3 месяца назад
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 3 месяца назад
😅 Thank you, happy to hear you liked it!
@MunaAlaneme
@MunaAlaneme Месяц назад
Minedur's Strouls: Stardew of the Last Dive
@ortherner
@ortherner 3 месяца назад
wow
@ProdByAR4
@ProdByAR4 3 месяца назад
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 3 месяца назад
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 😅
@user-tb4ig7qh9b
@user-tb4ig7qh9b 3 месяца назад
Great great great job 😂
@icitry
@icitry 3 месяца назад
Thank you!
@gauthamnair6075
@gauthamnair6075 3 месяца назад
Now he gotta do prolog for making games
@icitry
@icitry 3 месяца назад
What a sick and twisted individual you are - why must you take joy in others (me) suffering?
@EobardUchihaThawne
@EobardUchihaThawne 3 месяца назад
im sure Primeagen will make reaction video😅
@icitry
@icitry 3 месяца назад
oh that's a terrifying prospect, and I don't know for whom more
@izanazir7088
@izanazir7088 Месяц назад
Next project, creating a game without using objected oreinted programming.
@Kanookoochn
@Kanookoochn 3 месяца назад
its said a game like lord mobile is basically a redis server instance, thats why it can handle 10000ccu
@icitry
@icitry 3 месяца назад
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 3 месяца назад
@@icitry well if you find out how the backend architecture work you should make the video abbout it , waiting for it 😀
@MegaGadgetdude
@MegaGadgetdude 3 месяца назад
isnt there a doom plugin for psql?
@icitry
@icitry 3 месяца назад
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 3 месяца назад
Ohh gotcha. Well it's a pretty clever hack though so you gotta give it to the creator
@NileGold
@NileGold 3 месяца назад
Didnt someone play doom using sql?
@icitry
@icitry 3 месяца назад
There were people running it on human cells, so at this point nothing surprises me
@elusivefrog
@elusivefrog 3 месяца назад
make a game with mongoDB next lol. more server side games
@icitry
@icitry 3 месяца назад
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)
@gamerzero6085
@gamerzero6085 Месяц назад
bro invented ECS
@markhaus
@markhaus Месяц назад
Ah yes good ole SQL. By that I mean Structured Qame Language
@GerinoMorn
@GerinoMorn 11 дней назад
1. Wouldn't using docker/wsl make either the windows pains null, or in the other approach, make setting up an env easier? 2. Have you heard about our lord and saviour LISTEN/NOTIFY? :D I had some fun recently with PG, using it for relational storage, MQ, distributed locks and some other stuff xD
@Ruhgtfo
@Ruhgtfo 2 месяца назад
Tortual a drive with a Willy Wonka way
@AbegazNap
@AbegazNap 3 месяца назад
im more of a plv8 kinda gal, amazing video tho
@icitry
@icitry 3 месяца назад
oh but what an extremely exquisite alternative (and also thank you!!)
@dmitriyrasskazov8858
@dmitriyrasskazov8858 3 месяца назад
Madman
@icitry
@icitry 3 месяца назад
I'm 100% taking that as a compliment
@undeadqug7732
@undeadqug7732 Месяц назад
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 Месяц назад
Even that wouldn't be enough, gotta add some poison swamps throughout the codebase
@BrianWoodruff-Jr
@BrianWoodruff-Jr 3 месяца назад
My god, this man doesn't use the python black formatter D:
@icitry
@icitry 3 месяца назад
The what now? I always used the default one, but now ofc I gotta check that out
@exhaustive_the_sixth
@exhaustive_the_sixth 2 месяца назад
now we are looking for game engine on brainfuck
@icitry
@icitry 2 месяца назад
I wonder who's the unlucky (pronounced insane) bastard that's gonna try that
Далее
How Microsoft Accidentally Backdoored 270 MILLION Users
14:45
Why Do Video Game Studios Avoid Blender?
6:49
Просмотров 308 тыс.
Why Don't You Make Your OWN Game Engine?
7:23
Просмотров 7 тыс.
Can I Convert Youtube Into A Cloud Storage Service?
11:31
Factorio teaches you software engineering, seriously.
21:27
I built my own 16-Bit CPU in Excel
16:28
Просмотров 1,4 млн
I Created a Game Engine Just to Optimise This
4:50
Просмотров 943 тыс.
So I Made My Own Game Engine...
10:19
Просмотров 86 тыс.
Неразрушаемый смартфон
1:00
Просмотров 1,7 млн