Can I Play Pac-Man Directly On Its Own Source Code?
Вставка
- Опубліковано 22 сер 2024
- 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...
UA-camrs 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
Glad you're getting a kick out of it, and hey, welcome to the club, nobody knows what's happening here
no clue how but i tried it and blinky escaped the maze lmfao
Well now that's something else, thanks for pointing it out - you can submit an issue if you get it to happen consistently
im surprised someone actually recognized the "PIXELS" movie, that movie feels like a forgotten memory
Well that just can't be, the cinematic masterpiece that is the Pixels movie and its cultural impact are nothing less than absolutely legendary
Developer:"This is my sourcecode."
People:"But can it run Doom!?"
Developer: Wat
never stop cooking
Oh the kitchen's holding on for dear life but you better believe I'm not letting it chill
Now do it in C
Is this how little you think I value my mental health? (it probably is)
real programmers make their own CPU architecture to have their own Assembly language only using transistors and logic gates smh@@icitry
@@lmfao-tp4cx wdym just wait for lightning to strike a rock and you've got a cpu, the rest is dark magic and hexes
@@icitry nah there is a emacs command and a js framework for that already
@@lmfao-tp4cx fair point ngl
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
CAVE STORY!!!!
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.
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.
ooh i took a very long time to realize what directly on its own source code meant
Ohh, did I take too long to get into the explanation? Or maybe the subject itself is a bit convoluted?
@@icitry next time try a game that constantly rewrites its source code
@@JusticeNDOU Maybe replacing state machine with self-modifying code 🤔
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
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
insanely cool idea diff in my TODO list when i finish my language
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
Hey, with a big enough screen, who knows
"Playing on their games source directly code"
Godzilla had a stroke reading this and died
Okay but can it [insert overused joke here]
Okay but can it solve world hunger?
Can it run doom?
This is very interesting to someone who has no clue what you’re talking about
See you cowboy, someday, somewhere!
what a ride! really satisfying to see it finally run haha
Huh, interesting, sort of! Thanks!
Glad to hear that, thanks as well!
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.
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).
I'm so glad I'm nyot the only person to say "eargasm"
1:19 YOU.
But what about when Clyde's position is 8, _itself,_ tiles away from Pac-Man, Icitry?
Oh, that'd still be Pac-Man's position. My bad, I somehow let that slip by 😅
Well, twmpleOS does that natively
Ok let's not compare the work of man to that of the Gods now shall we?
@@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
6:16 remove all whitespac3 characters and shorten variable and function names
Eargasm quality audio? Street fighter 2 Guile's theme gives me an eargasm and gets me hyped with just 16 bits.
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.
Definitely, I don't see why it wouldn't work, and I'm sure there'd be plenty of fans of the style
the last level of pacman:
Making it in C. A very bad idea
You tell me... At least it was kinda fun in hindsight
As someone who wrote a hello world PE windows executable with just a hex editor, I would say C is pretty nice...
here is your algorithm boost
But can it run Crysis?
Do Super Mario World in Super Mario World.
... in Super Mario World
Ace vulnerability.
@@icitry yeah seems doable
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...?
baba is you
What have i understood from this? Hey, look, there is a game in ASHII! 😅
Doom. You have to.
Do doom for old times sake
Make it in javascript or html, those are interpreted, or any interpreted language, bam, running from source
9:08 cuisgravida
buttholeispregnant
(cu is butthole in portugues and gravida is pregnant in portugues)
"...I thought to myself..."
As opposed to "thinking to someone else" here in mortality?
cool now do it on dooms source code
WEIRD AL⁉️⁉️⁉️⁉️⁉️⁉️⁉️
0:30 am i colorblind? i cant see it as a clock
Sorry you had to find out this way
ok but can it run doom?
I think interpreted languages do just that
ok but can it run doom
Can it run doom
Can it run DOOM?
damn.
I absolutely hate that you made me lose the game
welp better luck next time, player o7
i have also lost the game
what's your source of all knowledge? wikipedia surfing? reddit? or what?
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.
I wanna make a dotnet game engine please teach basics if you can
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.
Don’t play me 😡
what was that intro
Just the creative genius of Weird Al himself
really funny that you made me lose the game
Now do it in binary
Better yet, why not in unary
@@icitrywhat is stopping ya from doing it using photons
IM FAT 0:00
Doesn't work on Ubuntu can you add support for Linux
Which part exactly?
@@icitry the exe part (and the .c part because the c part only seems to work on Windows API)
@@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.
@@icitry ok
bet you cant run doom on its source code
I'm sure someone brave enough will take on that challenge sooner or later
can it run doom
unironically, yeah it should
I see a pin, can i have it?
spongebob is a kid's show, adults should not watch it
lies, deception
@@icitry spongebob mostly has no mature content so it's not an adult's show
oh shut it.
@@cheesepop7175 lmao no I'ma keep on watching spunch bop
@@hunterchichester5720 based on how you misspelled spongebob you're probably a kid so that means you can still watch spongebob