Can You Play Pac-Man Directly On Its Own Source Code?

  Рет қаралды 60,601

icitry

icitry

Күн бұрын

Join me as I create a Quine Game Engine, which allows you to develop games as you would do it normally, except using APIs developed by yours truly, and compiling them using a custom tool that converts your beautiful creations into their most condensed form, to be enjoyed by everyone.
By making use of different techniques and technologies, like the C Language, JavaScript, Rollup.js, Terser, various optimization I attempt to recreate PacMan (the game) in its entirety and have it run as a Quine on its own source code.
Link to the repo: github.com/ici...

Пікірлер: 125
@TheMostOrdinaryPersonOnEarth
@TheMostOrdinaryPersonOnEarth 3 ай бұрын
KZbinrs keep making game engines, and i'm all for it. I enjoy how long it takes until I don't understand anything, and writing C++ is a small part of my job so you'd think I'd know whats happening
@icitry
@icitry 3 ай бұрын
Glad you're getting a kick out of it, and hey, welcome to the club, nobody knows what's happening here
@couldntcreateagoodname
@couldntcreateagoodname 2 ай бұрын
im surprised someone actually recognized the "PIXELS" movie, that movie feels like a forgotten memory
@icitry
@icitry 2 ай бұрын
Well that just can't be, the cinematic masterpiece that is the Pixels movie and its cultural impact are nothing less than absolutely legendary
@lpfan4491
@lpfan4491 2 ай бұрын
Developer:"This is my sourcecode." People:"But can it run Doom!?" Developer: Wat
@Hellscaped
@Hellscaped 3 ай бұрын
no clue how but i tried it and blinky escaped the maze lmfao
@icitry
@icitry 3 ай бұрын
Well now that's something else, thanks for pointing it out - you can submit an issue if you get it to happen consistently
@Jakku_Azzo
@Jakku_Azzo 2 ай бұрын
Next step I guess is finding a way to interpolate the src code over a bitmap of a level in a way that the level is still recognisable , objects are interactable and the game can be played. Then we have cave story Quine
@SomeUsernameSomeoneElseTookIt
@SomeUsernameSomeoneElseTookIt 2 ай бұрын
CAVE STORY!!!!
@alexshonia880
@alexshonia880 3 ай бұрын
never stop cooking
@icitry
@icitry 3 ай бұрын
Oh the kitchen's holding on for dear life but you better believe I'm not letting it chill
@farcesable
@farcesable 3 ай бұрын
I like your result and I definitely couldn't do this myself, but I think what sets some of the others apart is that the code isn't just short, it's readable too. With the JavaScript minifier it ends up looking obfuscated, I don't think there's any short section in there that I could understand on its own. Getting it short and readable is a massive limitation though, so I get what you were saying when you mentioned not wanting to do pong or snake, there's not a lot that can be short and readable outside of games of that era.
@icitry
@icitry 3 ай бұрын
Happy to hear that! And I totally agree, having it also be readable and actually easy to understand is an art in and of itself.
@BullyBarua
@BullyBarua 3 ай бұрын
Now do it in C
@icitry
@icitry 3 ай бұрын
Is this how little you think I value my mental health? (it probably is)
@lmfao-tp4cx
@lmfao-tp4cx 2 ай бұрын
real programmers make their own CPU architecture to have their own Assembly language only using transistors and logic gates smh​@@icitry
@icitry
@icitry 2 ай бұрын
@@lmfao-tp4cx wdym just wait for lightning to strike a rock and you've got a cpu, the rest is dark magic and hexes
@lmfao-tp4cx
@lmfao-tp4cx 2 ай бұрын
@@icitry nah there is a emacs command and a js framework for that already
@icitry
@icitry 2 ай бұрын
@@lmfao-tp4cx fair point ngl
@JusticeNDOU
@JusticeNDOU 3 ай бұрын
ooh i took a very long time to realize what directly on its own source code meant
@icitry
@icitry 3 ай бұрын
Ohh, did I take too long to get into the explanation? Or maybe the subject itself is a bit convoluted?
@JusticeNDOU
@JusticeNDOU 3 ай бұрын
@@icitry next time try a game that constantly rewrites its source code
@raphaeld9270
@raphaeld9270 2 ай бұрын
@@JusticeNDOU Maybe replacing state machine with self-modifying code 🤔
@GameJam230
@GameJam230 Ай бұрын
I feel like another interesting way this could be developed too would be to have a game with a save file system where the code can overwrite characters in itself to represent the save data, making it so stopping and reloading the game will completely restore the game like a save state. This could probably even be extended to another video I've seen on saving a game in a QR code, but I recall that onr being EXTREMELY tight on data size already, so it would likely work better here.
@hyperkiko
@hyperkiko 3 ай бұрын
you should make the background text also include the html (and css if it exists) to be able to just select the whole background, paste it in an html file and run it
@icitry
@icitry 3 ай бұрын
Actually it includes them. The only HTML I haven't included is the one for the page displaying the script as I considered that to be outside of the game itself - but I can definitely see your point
@Roxve
@Roxve 2 ай бұрын
insanely cool idea diff in my TODO list when i finish my language
@JamesTDG
@JamesTDG 2 ай бұрын
Now I want to see someone make this run Tetris. As for doom, I don't think running its source code in this program would be very entertainng
@icitry
@icitry 2 ай бұрын
Hey, with a big enough screen, who knows
@justansmg4fan254
@justansmg4fan254 2 ай бұрын
This is very interesting to someone who has no clue what you’re talking about
@anon_y_mousse
@anon_y_mousse 3 ай бұрын
I would think it'd be easier to do in C since you could just issue ANSI escape sequences directly to modify the terminal output. I doubt I could make it a true quine, but I'll see if I can't at least do a terminal version of Pac-Man. Let's see if I have any time to actually read the research on ghost movements.
@icitry
@icitry 3 ай бұрын
I actually did just that 😅 (you can check out the repo), the issue was creating a general solution that could properly compress code for any game. But yeah, creating a full fledged C Quine for Pac-Man would be quite the feat (considering my solution is still not a 1:1 copy even at that size).
@KaiDotBurokai
@KaiDotBurokai 2 ай бұрын
Okay but can it [insert overused joke here]
@MysticMicrowave
@MysticMicrowave 2 ай бұрын
Okay but can it solve world hunger?
@ChairGuyTf2
@ChairGuyTf2 2 ай бұрын
Can it run doom?
@Scaphenaph
@Scaphenaph 2 ай бұрын
"Playing on their games source directly code" Godzilla had a stroke reading this and died
@DsiPro1000
@DsiPro1000 2 ай бұрын
See you cowboy, someday, somewhere!
@Skullkid16945
@Skullkid16945 2 ай бұрын
You think someone could make a rendering engine using a terminal that supports sixels as the output? Could use sixels to render the game in the terminal directly with more clarity, although possibly limited in colors. Would work for certain art style games though or older games that already have limited colors.
@icitry
@icitry 2 ай бұрын
Definitely, I don't see why it wouldn't work, and I'm sure there'd be plenty of fans of the style
@piggyzilla
@piggyzilla 2 ай бұрын
what a ride! really satisfying to see it finally run haha
@HelloKittyFanMan
@HelloKittyFanMan 2 ай бұрын
Huh, interesting, sort of! Thanks!
@icitry
@icitry 2 ай бұрын
Glad to hear that, thanks as well!
@HelloKittyFanMan
@HelloKittyFanMan 2 ай бұрын
But what about when Clyde's position is 8, _itself,_ tiles away from Pac-Man, Icitry?
@icitry
@icitry 2 ай бұрын
Oh, that'd still be Pac-Man's position. My bad, I somehow let that slip by 😅
@tonycrawl5300
@tonycrawl5300 Ай бұрын
This just makes me think (Pac-Man but texted to look like dwarf fortress) anyone else think that's kinda fitting?
@tonycrawl5300
@tonycrawl5300 Ай бұрын
Oh I mean the free one fiy not the steam one
@cvabds
@cvabds 2 ай бұрын
Well, twmpleOS does that natively
@icitry
@icitry 2 ай бұрын
Ok let's not compare the work of man to that of the Gods now shall we?
@cvabds
@cvabds 2 ай бұрын
@@icitry I wish people didn't get fixated about the religious part of it. I wish there was someone like you who could just do pure coding without restrictions on it. Call it HeresyOS haha
@Psycheux_
@Psycheux_ 2 ай бұрын
I'm so glad I'm nyot the only person to say "eargasm"
@Jack-ov4mb
@Jack-ov4mb 2 ай бұрын
Eargasm quality audio? Street fighter 2 Guile's theme gives me an eargasm and gets me hyped with just 16 bits.
@dotdashdotdot668
@dotdashdotdot668 Ай бұрын
1:19 YOU.
@ponali.mememaker
@ponali.mememaker 2 ай бұрын
i'm trying to send a comment, but everytime i try to do so it automatically gets deleted, but not for my client. trying to edit those unexisting comments results in the "Returned error" error. i tried editing one of my existing comments and it stayed for a while, but now it's gone...?
@majinya6199
@majinya6199 2 ай бұрын
But can it run Crysis?
@TravTrevTV
@TravTrevTV 2 ай бұрын
the last level of pacman:
@angzarrpsyco
@angzarrpsyco Ай бұрын
Now make a game run on a QR version of its own code
@cupajoe99
@cupajoe99 2 ай бұрын
0:30 am i colorblind? i cant see it as a clock
@icitry
@icitry 2 ай бұрын
Sorry you had to find out this way
@Monkeymario.
@Monkeymario. 2 ай бұрын
6:16 remove all whitespac3 characters and shorten variable and function names
@MarkRayers
@MarkRayers 2 ай бұрын
Make it in javascript or html, those are interpreted, or any interpreted language, bam, running from source
@12354fdw
@12354fdw 3 ай бұрын
Making it in C. A very bad idea
@icitry
@icitry 3 ай бұрын
You tell me... At least it was kinda fun in hindsight
@theevilcottonball
@theevilcottonball 3 ай бұрын
As someone who wrote a hello world PE windows executable with just a hex editor, I would say C is pretty nice...
@th1v5
@th1v5 2 ай бұрын
here is your algorithm boost
@RobertTheFoxxo
@RobertTheFoxxo 2 ай бұрын
baba is you
@georgerogers1166
@georgerogers1166 3 ай бұрын
Do Super Mario World in Super Mario World.
@icitry
@icitry 3 ай бұрын
... in Super Mario World
@georgerogers1166
@georgerogers1166 3 ай бұрын
Ace vulnerability.
@champion_ofcloud-var
@champion_ofcloud-var 2 ай бұрын
@@icitry yeah seems doable
@im-Anarchy
@im-Anarchy 2 ай бұрын
what's your source of all knowledge? wikipedia surfing? reddit? or what?
@icitry
@icitry 2 ай бұрын
I generally break down the problem into really small parts, based on which I start googling around - and of course getting side-tracked and discovering new stuff that may or may not help me for another project. It's all really the sum of all the stuff I'd studied prior.
@brenioks_old
@brenioks_old Ай бұрын
WHY DID YOU MAKE ME LOSE 😭
@the-protogen-of-the-sky
@the-protogen-of-the-sky 2 ай бұрын
Can it run DOOM?
@BoxAnims2
@BoxAnims2 2 ай бұрын
Doom. You have to.
@Bonini000
@Bonini000 2 ай бұрын
What have i understood from this? Hey, look, there is a game in ASHII! 😅
@404Foundnt
@404Foundnt 2 ай бұрын
ok but can it run doom?
@artwork-studios
@artwork-studios 2 ай бұрын
I wanna make a dotnet game engine please teach basics if you can
@icitry
@icitry 2 ай бұрын
Hey! Gonna be honest, I'm not really the best suited to do that. I'd recommend checking out someone like The Cherno - they delve pretty deep into proper game engine development.
@SquidBeatsSB
@SquidBeatsSB 2 ай бұрын
Do doom for old times sake
@Vincent_Bloodstone
@Vincent_Bloodstone 2 ай бұрын
ok but can it run doom
@Duckyy.
@Duckyy. 2 ай бұрын
Can it run doom
@tower9602
@tower9602 3 ай бұрын
I think interpreted languages do just that
@oofiyea4444
@oofiyea4444 2 ай бұрын
cool now do it on dooms source code
@nikolasg4210
@nikolasg4210 2 ай бұрын
Doesn't work on Ubuntu can you add support for Linux
@icitry
@icitry 2 ай бұрын
Which part exactly?
@nikolasg4210
@nikolasg4210 2 ай бұрын
@@icitry the exe part (and the .c part because the c part only seems to work on Windows API)
@icitry
@icitry 2 ай бұрын
@@nikolasg4210 Oh I see. Thing is, that's just intended to be a prototype, so there is no plan to make it cross-platform. You are free to play around with it and port it to use Linux-specific APIs, but the main focus is the JS implementation.
@nikolasg4210
@nikolasg4210 2 ай бұрын
@@icitry ok
@Axcyantol
@Axcyantol 2 ай бұрын
what was that intro
@icitry
@icitry 2 ай бұрын
Just the creative genius of Weird Al himself
@EriksGarbage
@EriksGarbage 2 ай бұрын
WEIRD AL⁉️⁉️⁉️⁉️⁉️⁉️⁉️
@HelloKittyFanMan
@HelloKittyFanMan 2 ай бұрын
"...I thought to myself..." As opposed to "thinking to someone else" here in mortality?
@Snipersfmgmodtf2hl
@Snipersfmgmodtf2hl 2 ай бұрын
9:08 cuisgravida buttholeispregnant (cu is butthole in portugues and gravida is pregnant in portugues)
@nkacey2000
@nkacey2000 3 ай бұрын
can it run doom
@icitry
@icitry 3 ай бұрын
unironically, yeah it should
@SirMatthew
@SirMatthew 2 ай бұрын
Now do it in binary
@icitry
@icitry 2 ай бұрын
Better yet, why not in unary
@Firstname-d6g
@Firstname-d6g 2 ай бұрын
​@@icitrywhat is stopping ya from doing it using photons
@Mega9466
@Mega9466 2 ай бұрын
I absolutely hate that you made me lose the game
@icitry
@icitry 2 ай бұрын
welp better luck next time, player o7
@piggyzilla
@piggyzilla 2 ай бұрын
i have also lost the game
@kubaoko008
@kubaoko008 2 ай бұрын
damn.
@Esiv0_
@Esiv0_ 2 ай бұрын
bet you cant run doom on its source code
@icitry
@icitry 2 ай бұрын
I'm sure someone brave enough will take on that challenge sooner or later
@Pacman009
@Pacman009 2 ай бұрын
Don’t play me 😡
@anotherpromotor
@anotherpromotor 2 ай бұрын
really funny that you made me lose the game
@gavinleonard-ru1uj
@gavinleonard-ru1uj 2 ай бұрын
IM FAT 0:00
@Parsa.a298
@Parsa.a298 Ай бұрын
I cant believe you didn't use asambly, your soooo lazy using high level languages,using them is a sin.use asambly next time please
@untitiled_user
@untitiled_user 2 ай бұрын
I see a pin, can i have it?
@cheesepop7175
@cheesepop7175 2 ай бұрын
spongebob is a kid's show, adults should not watch it
@icitry
@icitry 2 ай бұрын
lies, deception
@cheesepop7175
@cheesepop7175 2 ай бұрын
@@icitry spongebob mostly has no mature content so it's not an adult's show
@DiamondKittyCat
@DiamondKittyCat 2 ай бұрын
oh shut it.
@hunterchichester5720
@hunterchichester5720 2 ай бұрын
​@@cheesepop7175 lmao no I'ma keep on watching spunch bop
@cheesepop7175
@cheesepop7175 2 ай бұрын
@@hunterchichester5720 based on how you misspelled spongebob you're probably a kid so that means you can still watch spongebob
I Spent 18 Months Using Rust And Regret It
38:36
ThePrimeTime
Рет қаралды 400 М.
Every parent is like this ❤️💚💚💜💙
00:10
Like Asiya
Рет қаралды 25 МЛН
Smart Sigma Kid #funny #sigma
00:14
CRAZY GREAPA
Рет қаралды 4,1 МЛН
How do Cats Eat Watermelon? 🍉
00:21
One More
Рет қаралды 14 МЛН
Wisdom From Linus | Prime Reacts
12:18
ThePrimeTime
Рет қаралды 491 М.
Can I Run Youtube Entirely From My Terminal? (No Browser)
15:31
It's Hard To Make Games
18:01
Acerola
Рет қаралды 258 М.
One second to compute the largest Fibonacci number I can
25:55
Sheafification of G
Рет қаралды 352 М.
I used hyprland for one month. Here's what I got to yap about
8:56
ScathIsVibing
Рет қаралды 16 М.
The Ridiculous Quest to Beat Minecraft in Under 60 Seconds
42:34
The Art of Linux CLIs
8:35
Mults
Рет қаралды 324 М.
The Bingo Paradox: 3× more likely to win
30:15
Stand-up Maths
Рет қаралды 672 М.
The purest coding style, where bugs are near impossible
10:25
Coderized
Рет қаралды 1 МЛН