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...

КОМЕНТАРІ • 119

  • @TheMostOrdinaryPersonOnEarth
    @TheMostOrdinaryPersonOnEarth Місяць тому +232

    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

    • @icitry
      @icitry  Місяць тому +43

      Glad you're getting a kick out of it, and hey, welcome to the club, nobody knows what's happening here

  • @Hellscaped
    @Hellscaped Місяць тому +79

    no clue how but i tried it and blinky escaped the maze lmfao

    • @icitry
      @icitry  Місяць тому +30

      Well now that's something else, thanks for pointing it out - you can submit an issue if you get it to happen consistently

  • @couldntcreateagoodname
    @couldntcreateagoodname 23 дні тому +31

    im surprised someone actually recognized the "PIXELS" movie, that movie feels like a forgotten memory

    • @icitry
      @icitry  23 дні тому +11

      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 18 днів тому +10

    Developer:"This is my sourcecode."
    People:"But can it run Doom!?"
    Developer: Wat

  • @alexshonia880
    @alexshonia880 Місяць тому +92

    never stop cooking

    • @icitry
      @icitry  Місяць тому +16

      Oh the kitchen's holding on for dear life but you better believe I'm not letting it chill

  • @BullyBarua
    @BullyBarua Місяць тому +123

    Now do it in C

    • @icitry
      @icitry  Місяць тому +56

      Is this how little you think I value my mental health? (it probably is)

    • @lmfao-tp4cx
      @lmfao-tp4cx Місяць тому +45

      real programmers make their own CPU architecture to have their own Assembly language only using transistors and logic gates smh​@@icitry

    • @icitry
      @icitry  Місяць тому +32

      @@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 Місяць тому +8

      @@icitry nah there is a emacs command and a js framework for that already

    • @icitry
      @icitry  Місяць тому +9

      @@lmfao-tp4cx fair point ngl

  • @Jakku_Azzo
    @Jakku_Azzo Місяць тому +38

    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

  • @farcesable
    @farcesable Місяць тому +33

    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  Місяць тому +4

      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.

  • @JusticeNDOU
    @JusticeNDOU Місяць тому +24

    ooh i took a very long time to realize what directly on its own source code meant

    • @icitry
      @icitry  Місяць тому +4

      Ohh, did I take too long to get into the explanation? Or maybe the subject itself is a bit convoluted?

    • @JusticeNDOU
      @JusticeNDOU Місяць тому +12

      @@icitry next time try a game that constantly rewrites its source code

    • @raphaeld9270
      @raphaeld9270 Місяць тому

      @@JusticeNDOU Maybe replacing state machine with self-modifying code 🤔

  • @hyperkiko
    @hyperkiko Місяць тому +11

    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  Місяць тому +4

      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 Місяць тому +3

    insanely cool idea diff in my TODO list when i finish my language

  • @JamesTDG
    @JamesTDG 28 днів тому +3

    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  28 днів тому

      Hey, with a big enough screen, who knows

  • @UpsTubeTheYouTuber
    @UpsTubeTheYouTuber 23 дні тому +1

    "Playing on their games source directly code"
    Godzilla had a stroke reading this and died

  • @KaiDotBurokai
    @KaiDotBurokai 17 днів тому +8

    Okay but can it [insert overused joke here]

  • @justansmg4fan254
    @justansmg4fan254 9 днів тому +1

    This is very interesting to someone who has no clue what you’re talking about

  • @DsiPro1000
    @DsiPro1000 Місяць тому +2

    See you cowboy, someday, somewhere!

  • @justpigzilla
    @justpigzilla 24 дні тому

    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!

  • @anon_y_mousse
    @anon_y_mousse Місяць тому +2

    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  Місяць тому +2

      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).

  • @Psycheux_
    @Psycheux_ 20 днів тому

    I'm so glad I'm nyot the only person to say "eargasm"

  • @dotdashdotdot668
    @dotdashdotdot668 День тому

    1:19 YOU.

  • @HelloKittyFanMan
    @HelloKittyFanMan Місяць тому +2

    But what about when Clyde's position is 8, _itself,_ tiles away from Pac-Man, Icitry?

    • @icitry
      @icitry  Місяць тому +4

      Oh, that'd still be Pac-Man's position. My bad, I somehow let that slip by 😅

  • @cvabds
    @cvabds Місяць тому +3

    Well, twmpleOS does that natively

    • @icitry
      @icitry  Місяць тому +7

      Ok let's not compare the work of man to that of the Gods now shall we?

    • @cvabds
      @cvabds Місяць тому +1

      @@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

  • @Monkeymario.
    @Monkeymario. 21 день тому +1

    6:16 remove all whitespac3 characters and shorten variable and function names

  • @Jack-ov4mb
    @Jack-ov4mb 18 днів тому +2

    Eargasm quality audio? Street fighter 2 Guile's theme gives me an eargasm and gets me hyped with just 16 bits.

  • @Skullkid16945
    @Skullkid16945 Місяць тому +1

    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  Місяць тому +1

      Definitely, I don't see why it wouldn't work, and I'm sure there'd be plenty of fans of the style

  • @TravTrevTV
    @TravTrevTV 17 днів тому

    the last level of pacman:

  • @12354fdw
    @12354fdw Місяць тому +8

    Making it in C. A very bad idea

    • @icitry
      @icitry  Місяць тому +7

      You tell me... At least it was kinda fun in hindsight

    • @theevilcottonball
      @theevilcottonball Місяць тому +2

      As someone who wrote a hello world PE windows executable with just a hex editor, I would say C is pretty nice...

  • @th1v5
    @th1v5 Місяць тому

    here is your algorithm boost

  • @majinya6199
    @majinya6199 13 днів тому +1

    But can it run Crysis?

  • @georgerogers1166
    @georgerogers1166 Місяць тому +4

    Do Super Mario World in Super Mario World.

  • @ponali.mememaker
    @ponali.mememaker 16 днів тому

    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...?

  • @RobertTheFoxxo
    @RobertTheFoxxo 20 днів тому +1

    baba is you

  • @Bonini000
    @Bonini000 18 днів тому

    What have i understood from this? Hey, look, there is a game in ASHII! 😅

  • @BoxAnims2
    @BoxAnims2 17 днів тому

    Doom. You have to.

  • @SquidBeatsSB
    @SquidBeatsSB 11 днів тому

    Do doom for old times sake

  • @MarkRayers
    @MarkRayers Місяць тому

    Make it in javascript or html, those are interpreted, or any interpreted language, bam, running from source

  • @Nobodyever_434
    @Nobodyever_434 21 день тому

    9:08 cuisgravida
    buttholeispregnant
    (cu is butthole in portugues and gravida is pregnant in portugues)

  • @HelloKittyFanMan
    @HelloKittyFanMan Місяць тому +1

    "...I thought to myself..."
    As opposed to "thinking to someone else" here in mortality?

  • @oofiyea4444
    @oofiyea4444 20 днів тому

    cool now do it on dooms source code

  • @EriksGarbage
    @EriksGarbage 20 днів тому

    WEIRD AL⁉️⁉️⁉️⁉️⁉️⁉️⁉️

  • @cupajoe99
    @cupajoe99 13 днів тому

    0:30 am i colorblind? i cant see it as a clock

    • @icitry
      @icitry  12 днів тому

      Sorry you had to find out this way

  • @404Foundnt
    @404Foundnt 9 днів тому

    ok but can it run doom?

  • @tower9602
    @tower9602 Місяць тому

    I think interpreted languages do just that

  • @Vincent_Bloodstone
    @Vincent_Bloodstone 14 днів тому

    ok but can it run doom

  • @Duckyy.
    @Duckyy. 18 днів тому

    Can it run doom

  • @the-protogen-of-the-sky
    @the-protogen-of-the-sky 9 днів тому

    Can it run DOOM?

  • @kubaoko008
    @kubaoko008 19 днів тому

    damn.

  • @Mega9466
    @Mega9466 29 днів тому +1

    I absolutely hate that you made me lose the game

    • @icitry
      @icitry  29 днів тому

      welp better luck next time, player o7

    • @justpigzilla
      @justpigzilla 24 дні тому

      i have also lost the game

  • @im-Anarchy
    @im-Anarchy 29 днів тому

    what's your source of all knowledge? wikipedia surfing? reddit? or what?

    • @icitry
      @icitry  28 днів тому

      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.

  • @artwork-studios
    @artwork-studios Місяць тому

    I wanna make a dotnet game engine please teach basics if you can

    • @icitry
      @icitry  Місяць тому

      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.

  • @Pacman009
    @Pacman009 16 днів тому +5

    Don’t play me 😡

  • @Axcyantol
    @Axcyantol 28 днів тому

    what was that intro

    • @icitry
      @icitry  28 днів тому +2

      Just the creative genius of Weird Al himself

  • @anotherpromotor
    @anotherpromotor 13 днів тому

    really funny that you made me lose the game

  • @SirMatthew
    @SirMatthew 28 днів тому

    Now do it in binary

    • @icitry
      @icitry  28 днів тому

      Better yet, why not in unary

    • @Firstname-d6g
      @Firstname-d6g 17 днів тому

      ​@@icitrywhat is stopping ya from doing it using photons

  • @gavinleonard-ru1uj
    @gavinleonard-ru1uj 26 днів тому

    IM FAT 0:00

  • @nikolasg4210
    @nikolasg4210 28 днів тому

    Doesn't work on Ubuntu can you add support for Linux

    • @icitry
      @icitry  28 днів тому

      Which part exactly?

    • @nikolasg4210
      @nikolasg4210 28 днів тому

      @@icitry the exe part (and the .c part because the c part only seems to work on Windows API)

    • @icitry
      @icitry  28 днів тому

      @@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 28 днів тому

      @@icitry ok

  • @Esiv0_
    @Esiv0_ 28 днів тому

    bet you cant run doom on its source code

    • @icitry
      @icitry  28 днів тому +1

      I'm sure someone brave enough will take on that challenge sooner or later

  • @nkacey2000
    @nkacey2000 Місяць тому

    can it run doom

    • @icitry
      @icitry  Місяць тому

      unironically, yeah it should

  • @untitiled_user
    @untitiled_user Місяць тому

    I see a pin, can i have it?

  • @cheesepop7175
    @cheesepop7175 Місяць тому

    spongebob is a kid's show, adults should not watch it

    • @icitry
      @icitry  Місяць тому +18

      lies, deception

    • @cheesepop7175
      @cheesepop7175 Місяць тому +1

      @@icitry spongebob mostly has no mature content so it's not an adult's show

    • @DiamondKittyCat
      @DiamondKittyCat 29 днів тому +11

      oh shut it.

    • @hunterchichester5720
      @hunterchichester5720 29 днів тому +11

      ​@@cheesepop7175 lmao no I'ma keep on watching spunch bop

    • @cheesepop7175
      @cheesepop7175 29 днів тому

      @@hunterchichester5720 based on how you misspelled spongebob you're probably a kid so that means you can still watch spongebob