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

Поделиться
HTML-код
  • Опубликовано: 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

    RUclipsrs 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 10 дней назад +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 14 дней назад +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 12 дней назад

    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

  • @tower9602
    @tower9602 Месяц назад

    I think interpreted languages do just that

  • @404Foundnt
    @404Foundnt 9 дней назад

    ok but can it run doom?

  • @Vincent_Bloodstone
    @Vincent_Bloodstone 15 дней назад

    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