This Game Is Only 100 CHARACTERS LONG?

Поділитися
Вставка
  • Опубліковано 9 лют 2025

КОМЕНТАРІ • 193

  • @tiagotiagot
    @tiagotiagot 2 роки тому +347

    I think it would make more sense to have the player be drawn with a 7 or a 3 instead of a zero; slightly more bird-like

    • @arkanon8661
      @arkanon8661 2 роки тому +14

      and also the obstacles with 1 perhaps

    • @recklessroges
      @recklessroges 2 роки тому +4

      I would have them drawn with their score. That way their hit box would grow as they progress.

    • @chri-k
      @chri-k 2 роки тому +11

      @@recklessroges the collision system has no hitboxes. Also no score is being tracked.

    • @LucadiNazareth
      @LucadiNazareth 2 роки тому

      𓅓

    • @tiagotiagot
      @tiagotiagot 2 роки тому

      @Building Letters would require quotes, increasing the number of characters required to write the game

  • @arandomguy9669
    @arandomguy9669 2 роки тому +222

    Man seriously? You deserve more subscribers. The video quality is awesome and the concept itself is super cool.

  • @lofiviberoom7001
    @lofiviberoom7001 2 роки тому +64

    It makes me happy to finally see the youtube algorithm do its job and recommend good content such as this. 💕

  • @Pepso8P
    @Pepso8P 2 роки тому +56

    That is pretty impressive. But when you mentioned that you used separate lines for the if statement instead of a space, I was like:
    "Well that saves you nothing. If anything, it adds a character if you are using a Windows line endings." I genuinely don't think a new line character shouldn't count, it is just a different whitespace character after all.

    • @jordanguillou
      @jordanguillou  2 роки тому +23

      Potentially, my method for character counting was pretty basic though so I wasn't checking for that.

    • @c0smo709
      @c0smo709 2 роки тому

      presumably he has to put a line break there anyway. but i dont know the syntax of this language

  • @kellybmackenzie
    @kellybmackenzie 2 роки тому +23

    This is awesome, but I agree that you should include "in GameMaker" in the title.
    Keep up the great work, this is awesome!!

  • @Blasulz1234
    @Blasulz1234 2 роки тому +50

    damn, I hopped in here an felt like watching a 10k+ subscribers channel. You are criminally underrated, I really enjoyed your video!

    • @jvliaaaaan
      @jvliaaaaan 2 роки тому +1

      rofl imagine man benutzt gamemaker

    • @Blasulz1234
      @Blasulz1234 2 роки тому +1

      @@jvliaaaaan ne jetzt reicht's, ich rufe 911 an

  • @gasparRaduB
    @gasparRaduB 2 роки тому +27

    You could reduce it further by creating a variable which references draw_text, then using that since you're using it twice.

  • @KayOScode
    @KayOScode 2 роки тому +11

    I made tic tac toe in 11 lines back in college while competing with a friend to see who could do it in the fewest lines. The rules were that each open and closing brace needed to start and end on its own line. Of course no libraries outside of the sys lib and in C.

  • @soliderarmatang5664
    @soliderarmatang5664 2 роки тому +1

    Ohhhhhh! How much I still have to learn! Please keep making more videos like this!

  • @arnetsanchez8136
    @arnetsanchez8136 2 роки тому +2

    Thanks man!! You've earned my respect

  • @bentaylor25
    @bentaylor25 2 роки тому +72

    Sorry to be that guy, but there are either 106(LF) or 112(CRLF) characters (you can't ignore newline).
    Still a cool game and video though!

  • @neelg7736
    @neelg7736 2 роки тому +5

    Great vid!! Saw this on my home page!

  • @Codefan321
    @Codefan321 2 роки тому +4

    "Mom can we get flappy bird?"
    Mom: We have flappy bird at home
    Flappy bird at home:

  • @erlendlunde2968
    @erlendlunde2968 2 роки тому +25

    Really cool idea and a quality video! You deserve more subscribers.

  • @le9038
    @le9038 2 роки тому +24

    Red Dead Redemption 2: 150GB
    Call Of Duty: Modern Warfare: 231 GB
    Call Of Duty: Black Ops Cold War: 250 GB
    flpy brd: 100 B

    • @crides0
      @crides0 2 роки тому +1

      you forgot the runtime

    • @le9038
      @le9038 2 роки тому +2

      @@crides0 500b?

    • @el2746
      @el2746 2 роки тому +4

      @@le9038 probably way more

    • @le9038
      @le9038 2 роки тому +2

      @@el2746 1024b to be more accurately then...

    • @gutoguto0873
      @gutoguto0873 2 роки тому

      100 b*
      100 B would be bytes.

  • @santiagomoreno331
    @santiagomoreno331 2 роки тому +1

    BROTHER, YOU ARE THE BEST!!! You oooh really helped me!! THANK YOU VERY MUCH!

  • @SolninjaA
    @SolninjaA 2 роки тому +4

    I can't believe you only have 36 subscribers, great video!

  • @azverndias913
    @azverndias913 2 роки тому +1

    Mans gonna blow up, was here before 200 subscribers

  • @MadDexSkillz
    @MadDexSkillz 2 роки тому +3

    ITS ON MY HOME PAGE GET READY FOR THIS VID TO EXPLODE I WAS HERE FIRST BEFORE IT GOT 1 MILLION VIEWS!

  • @skilz8098
    @skilz8098 2 роки тому +65

    Not only did you reduce the source code's character length, but you also added in a bit of obfuscation... and yet it is still fairly readable. It' only lacking a few bits code structure.

  • @aiden_3c
    @aiden_3c 2 роки тому +2

    I would say that the newlines technically are one character, 2 if on windows lol
    But honestly amazing code it was fun reading the screenshot and figuring out how the game worked, great stuff!

  • @arthank1263
    @arthank1263 2 роки тому +3

    Code golfing in Game Maker. That's new :))
    Nice stuff, dude!

  • @Yolwoocle
    @Yolwoocle 2 роки тому +5

    Great video! Please look into the world of PICO-8 tweetcarts, which aim to make a game or small animation using the PICO-8 engine in as few characters that it fits in a tweet

    • @jordanguillou
      @jordanguillou  2 роки тому +2

      I love PICO-8! I will definitely check that out, thanks ☺

  • @elwan_
    @elwan_ 2 роки тому +2

    As other said, you deserve more subscribers.
    And I'm proud to say that I am the 100th.

  • @z4ckexe861
    @z4ckexe861 2 роки тому +1

    Super well explained.

  • @timnau7981
    @timnau7981 2 роки тому +4

    Nice idea and video mate :)

  • @XorDev
    @XorDev 2 роки тому

    This is dope! I wish I found this video sooner. I learned some neat stuff

  • @kanishkachakraborty
    @kanishkachakraborty 2 роки тому +3

    This is incredible. Subscribed!

  • @jojozm9287
    @jojozm9287 2 роки тому +1

    underrated channel

  • @johndododoe1411
    @johndododoe1411 2 роки тому +1

    Try coding it for a retro machine like the VIC-20, which had much of the extra functionality in hardware (specifically in the sprite registers). Some models even had collision detection.

  • @Ricardo99352
    @Ricardo99352 2 роки тому +1

    it worked! thank you so much!!

  • @InHellITrust
    @InHellITrust 2 роки тому +1

    I looked down to see how many subs this guy has and was baffled.

  • @onelikeandidie
    @onelikeandidie 2 роки тому +1

    Good video, concept reminds me of the C donut that draws a donut

  • @Fe-zm8rq
    @Fe-zm8rq 2 роки тому +1

    I'm here at 800 views, before the algorithm picked it up. Awesome video!

  • @sageunix3381
    @sageunix3381 2 роки тому +2

    This is yes. Good content.

  • @dogunboundhounds9649
    @dogunboundhounds9649 2 роки тому +4

    Jordan Guillou: This Game is Only 100 CHARACTERS LONG?
    Code for rendering images / text to screen: Am I a joke?

    • @kayaahr
      @kayaahr 2 роки тому

      Code in the operating system, video driver and computer firmware: "Yeah, tell me about it."

  • @loleq2137
    @loleq2137 2 роки тому +2

    Quality and informative video 👍

  • @rixxlx
    @rixxlx 2 роки тому +1

    You're a madlad

  • @anand.suralkar
    @anand.suralkar 2 роки тому +1

    ok 7lines if code man thats truely efficient

  • @avasam06
    @avasam06 2 роки тому +3

    I got into code golfing by writing macros for WoW

  • @Kiroto50
    @Kiroto50 2 роки тому +1

    can't you alias functions? like b = draw_text, then doing stuff like b(9, y, 0)?
    You can in js, python and kotlin

  • @terohannula30
    @terohannula30 2 роки тому +1

    Awesome!

  • @Ribula1
    @Ribula1 2 роки тому +1

    You should call it "tweety bird 🐦"

  • @ivan-Croatian
    @ivan-Croatian 2 роки тому +10

    On the thumbnail, there's really around 100 characters, but there's missing draw_text method, and how the app is retrieving the values of the keyboard keys and some other values too.
    So there's definitely more than 100 characters. Just saying :D

    • @jordanguillou
      @jordanguillou  2 роки тому +7

      I'm working in GameMaker which handles that functionality for you - I might try this challenge again with a lower level language

    • @JosueRodriguez08
      @JosueRodriguez08 2 роки тому +1

      Well, you could as well you create a library and just import the library and make it "10 characters long"

    • @kellybmackenzie
      @kellybmackenzie 2 роки тому

      I agree. The video is awesome, but they should've really included "in GameMaker" in the title.

    • @kayaahr
      @kayaahr 2 роки тому +1

      Well... When doing it in JavaScript for a browser (which would be impressive) then you could say the game uses features provided by the browser. So where is the limit? Machine code? Then there is still the operating system and the video driver providing functionality. Even when doing it without an operating system you most likely use BIOS interrupts (or whatever is the new shit when using UEFI) which are basically function calls to output stuff on the graphics card.

    • @__lasevix_
      @__lasevix_ 2 роки тому

      @@kayaahr restricted x86 machine code is basically the lowest you can get without manually having to inject values sonewhere afaik

  • @w_as_in_worcestershiresauce
    @w_as_in_worcestershiresauce 2 роки тому +2

    I've never used gamemaker, so I'm not too certain if this would work, but couldn't you set the draw_text function itself as a variable and thus use less characters?
    from how variables seem to work in that, I assume it would essentially be:
    d=draw_text()
    d(9,y,0)
    d(x,s,0)if
    this cuts down on 4 characters, which while not a lot, is still smaller.

    • @Orincaby
      @Orincaby 2 роки тому

      no not exactly

    • @jordanguillou
      @jordanguillou  2 роки тому

      You can do something like this, I just forgot at the time. It is a good idea though ☺

    • @blableu4519
      @blableu4519 2 роки тому +1

      you do need to remove the brackets after the draw_text in the 1st line of your example, since then, you are only storing the return value of the func instead of the func itself

  • @ctb3335
    @ctb3335 2 роки тому +11

    "Removing semicolons is terrible coding form"
    Me, a python stan: *pardon*
    In all seriousness I never though I'd see GML golf and I love it.

    • @avasam06
      @avasam06 2 роки тому +1

      I yeeted off my semis off my Typescript code.
      It's much more fluent to code, swap lines around, etc.

    • @SkateFallen1424
      @SkateFallen1424 2 роки тому

      @@avasam06 javascript in general seems to be trending in that direction

  • @RixtronixLAB
    @RixtronixLAB 2 роки тому

    Creative video, thanks :)

  • @szabotudor
    @szabotudor 2 роки тому +2

    7:10 Challenge accepted! Here's a C++ version of the game using Raylib under 300 characters. I decided, of course, to raise the maximum number of characters a bit, cause it's C++, but I'm still proud of myself. I couldn't do it in less than 100 characters, since C++ requires some boilerplate like including libraries and other stuff, and raylib functions, although automating a lot of stuff, and decreasing the amount of boilerplate code, still have some pretty long names
    I also made some decisions which are a REALLY bad idea, which make the game extremely memory-unsafe
    This is the shortest version I could make without cheating by using #define to replace the long function names
    #include
    int x,y,z=9;
    int main(){
    InitWindow(128,96,"");
    SetWindowState(64);
    while(1){
    if(x-9&&y-z

    • @szabotudor
      @szabotudor 2 роки тому

      Explanation of the code:
      first weird line is this one: "if(y-z>-9&&y-z

    • @jordanguillou
      @jordanguillou  2 роки тому

      Awesome! Glad to see someone inspired to try the challenge themselves. Thanks for the explanation 👍

  • @kayaahr
    @kayaahr 2 роки тому

    Without a way to loose/win this can hardly be called a game. So some collision detection between player and the obstacle is a must have. Otherwise it is just an interactive animation, not a game.

    • @jordanguillou
      @jordanguillou  2 роки тому +1

      I have a lose state which makes it technically a game I think

  • @vikenemesh
    @vikenemesh 2 роки тому +16

    You didn't implement checking collisions in the first few versions at all? Hmn :( Also, Gamemaker? In the Thumbnail you almost had me sold that its gonna be Javascript, which would've been mindblowing.
    But using these premade game loops, event handlers and draw functions while calling the whole thing "100 characters" is a bit clickbaity imho.
    Video quality itself was excellent though! Go hard man, the algorithm seems to love u right now.

    • @kellybmackenzie
      @kellybmackenzie 2 роки тому +1

      @@vlc-cosplayer There are some game engines that let you create games with completely no code, like GDevelop. By your logic, using those engines shouldn't be too different from using a high level language like Javascript since both include "premade" items to make your life easier, yes? If that's the case, then I've made a game with exactly 0 lines of code.
      (( This is lighthearted, of course! :P I love the video, the person is super talented, I just wish they'd have added "in GameMaker" in the title. Also, your comment was really funny! ))

  • @ruroruro
    @ruroruro 2 роки тому +27

    You should probably include the name of the Engine in the title. Otherwise it's a bit clickbaity. This is the eternal problem with Code Golf. If any programming language/engine is allowed, then every computable problem can be solved in 0 bytes.

  • @nelsmotley8283
    @nelsmotley8283 2 роки тому +1

    Great video

  • @recklessroges
    @recklessroges 2 роки тому +1

    Nice code golfing.

  • @LulledLion
    @LulledLion 2 роки тому +3

    never used gml, but think this is 93:
    draw_text(++x%=9,x?score:score=y,0)
    draw_text(8,y+=keyboard_key?-1,1,0)if
    x>7&y=score
    gameend()

  • @the-pink-hacker
    @the-pink-hacker 2 роки тому +2

    When is the no engine version of this coming /s

  • @thejonte
    @thejonte 2 роки тому +1

    Game maker includes a lot of code.

  • @spok_real
    @spok_real 2 роки тому +1

    Amazing

  • @JulianGaming007
    @JulianGaming007 2 роки тому +1

    That's so cool

  • @Weckacore
    @Weckacore 2 роки тому +1

    never seen game dev code golf this was really cool! Only question: since you only check that the Y is the same and the X is far enough left, does that mean the character has a 1px hit box? Could you actually touch the obstacle without getting hit ?

    • @jordanguillou
      @jordanguillou  2 роки тому

      Yeah the hitbox is effectively 1px so collision is in pretty big air quotes but it technically works

  • @baadrqaaba9529
    @baadrqaaba9529 2 роки тому +1

    Brilliant

  • @kairu_b
    @kairu_b 2 роки тому +1

    Awesome

  • @G809
    @G809 2 роки тому +1

    YOOO GD WAVE REFERENCE

  • @G0dAr3a
    @G0dAr3a 2 роки тому

    It really worked for me after I look and try some tutorials, yours is the one that worked. Owe you a lot.

  • @emmanuelgoldstein319
    @emmanuelgoldstein319 2 роки тому +5

    Code it in apl or golfscript to squeze in more functionality in the same character space

    • @jordanguillou
      @jordanguillou  2 роки тому

      Interesting - I'll look into that 👍

  • @Tryhard_Trille
    @Tryhard_Trille 2 роки тому +1

    me in ue5 with blueprints: 😎

  • @awarriorsdub6211
    @awarriorsdub6211 2 роки тому +13

    Well you could say that 100 UTF8 characters are 800 bytes and you could write a game in bytecode, but this is impressive anyways

    • @talkysassis
      @talkysassis 2 роки тому +1

      Unless he's using ASCII

    • @anonimenkolbas1305
      @anonimenkolbas1305 2 роки тому +10

      100 UTF-8 characters are 100 bytes. A single UTF-8 character is 8 *bits,* not 8 bytes.

    • @talkysassis
      @talkysassis 2 роки тому +1

      @@anonimenkolbas1305 There's UTF characters that are 64 bits. But most of us don't use those.

    • @awarriorsdub6211
      @awarriorsdub6211 2 роки тому +1

      @@anonimenkolbas1305 Not true UTF-8 has more than 256 characters. What you are talking about is ASCII

    • @rinrin4711
      @rinrin4711 2 роки тому +9

      @@awarriorsdub6211, utf-8 is not constant symbol size encoding. All ASCII characters in UTF-8 are the same as in ASCII itself.

  • @amolven
    @amolven 2 роки тому +1

    Meanwhile, I made a 500-line script to download files. In Python.

  • @cmyk8964
    @cmyk8964 2 роки тому

    Can Game Maker still allow treating undeclared variables as 0, possibly cutting down the character count for every token “score”?

  • @StiekemeHenk
    @StiekemeHenk 2 роки тому +1

    You are aware that a linebreak is a character? Just like a space or ;

    • @jordanguillou
      @jordanguillou  2 роки тому +2

      Depends how you count the characters - I wasn't counting blank characters. However your way is totally valid and maybe I'll challenge myself to do it that way in the future

  • @MrGrabReal
    @MrGrabReal 2 роки тому +1

    Sped Up, many viewers are going to see you after this recommendation Explode, or maybe twice

  • @dimusikus
    @dimusikus 2 роки тому +2

    Чисто спортивный интерес, поработать головой. Интересно.

    • @jordanguillou
      @jordanguillou  2 роки тому

      Thanks for the great ideas in your other comments, I hadn't thought of doing that :)

  • @KeithOlson
    @KeithOlson 2 роки тому +1

    BEAGLE BROS LIVE!!!!

  • @bujitself
    @bujitself 2 роки тому

    Aren't newlines also characters?

  • @runneypo
    @runneypo 2 роки тому +1

    Not enough videos on code golf and obfuscation out there

  • @OskarP2601
    @OskarP2601 2 роки тому

    I'm not sure what programming language tis is but couldnt you reference the function under a different name to make it ever shower?
    example:
    draw_text()
    draw_text()
    becomes
    d = draw_text
    d()
    d()
    wouldnt that work?

    • @jordanguillou
      @jordanguillou  2 роки тому

      I'm using GML but you're right I should have done that.

  • @askhowiknow5527
    @askhowiknow5527 2 роки тому +1

    Ummm

    is two characters…

  • @XDRosenheim
    @XDRosenheim 2 роки тому +1

    Now put it in QR-code.

  • @de_soot
    @de_soot 2 роки тому +1

    why do u still not even have 350 subscirbers

  • @3yl.
    @3yl. 2 роки тому +1

    Yea i 100% didn't waste 5 minutes of my time counting the chars of the thumbnail

  • @BrunodeSouzaLino
    @BrunodeSouzaLino 2 роки тому +3

    But...Does it fit inside a QR code?

    • @antonf.9278
      @antonf.9278 2 роки тому +1

      The whole point of the famous QR code video was, that it was a compiled binary and ready to go.

    • @jordanguillou
      @jordanguillou  2 роки тому +1

      I'm tempted to investigate loading QR codes into GameMaker - I wonder how close you can get to running code loaded from the image

    • @lofiviberoom7001
      @lofiviberoom7001 2 роки тому

      I know of a UA-camr that did make a game run from a QR code. Now to do so from within GM, now that I'm not sure 😅

  • @YusufYaser
    @YusufYaser 2 роки тому +1

    Hello, here before this blows up

  • @陳冠辰-q2z
    @陳冠辰-q2z 2 роки тому +3

    For python programmers, not writing semicolon is just so normal. I even stop writing semicolon in JavaScript

    • @kayaahr
      @kayaahr 2 роки тому

      No semicolons in JavaScript? Have fun with destructuring assignments then :)
      a = 1
      [ b, c ] = [ 2, 3 ]

  • @ruroruro
    @ruroruro 2 роки тому

    Newlines are still characters.

  • @alg3n320
    @alg3n320 2 роки тому +1

    this is me: 🤯

  • @lolop7452
    @lolop7452 2 роки тому +1

    cool

  • @matteofeyaerts
    @matteofeyaerts 2 роки тому

    this can be in a qr code

    • @jordanguillou
      @jordanguillou  2 роки тому +1

      Unfortunately by the time GameMaker compiled it to a zip it would be too big for a QR code. I do have an exciting idea for work with QR codes in the future though!

    • @matteofeyaerts
      @matteofeyaerts 2 роки тому

      @@jordanguillou preferably one that runs in browsers cuz then its universal

  • @pable2
    @pable2 2 роки тому

    Not showing a collision? I don't know walt, looking sus to me

  • @barigamb
    @barigamb 2 роки тому +1

    Wow that is really impressive. But also technically there are 6 newline characters and 1 EOF character at the very end just like with any file, so it's technically 107 characters.

    • @Pepso8P
      @Pepso8P 2 роки тому

      EOF is not an actual character. It is just a value that is returned to you when end of file is reached, but isn't present in the file itself.

    • @johndododoe1411
      @johndododoe1411 2 роки тому +1

      @@Pepso8P EOF was an actual character (#26 ==ctrl-Z) in CP/M and MS-DOS 1.x . File size was rounded up to a multiple of 128 bytes. Some Windows libraries still check for that when loading text files.

    • @Pepso8P
      @Pepso8P 2 роки тому

      @@johndododoe1411 Interesting info, thanks. I've read that in some cases an actual EOF character may be present, but it generally isn't used anymore like the original comment suggested by saying that EOF is at the end of any file.

  • @Cypaa_
    @Cypaa_ 2 роки тому

    sooo yeah, not only 100 characters.

  • @vitorgabrielgomesrodrigues
    @vitorgabrielgomesrodrigues 2 роки тому +1

    Now do it in C 💀

  • @ramosgildo8872
    @ramosgildo8872 2 роки тому +1

    I wish its get work

  • @StickySli
    @StickySli 2 роки тому

    I don't know what language is this, but couldn't you bind "draw_text" to a function callback, i.e. "d=draw_text"?

    • @jordanguillou
      @jordanguillou  2 роки тому +1

      You're right, someone else pointed out that I should have done that. Maybe I can improve with a V2?

  • @DIProgan
    @DIProgan 2 роки тому

    I can name my executable in 5 characters and use all of its built in functionalities instead of using game maker

    • @SkateFallen1424
      @SkateFallen1424 2 роки тому

      I'll do you one better -- I can double click it in zero characters

  • @nevemlaci
    @nevemlaci 2 роки тому

    I mean it is not 100 characters... We are using a whole framework, objects etc. If we don't take this into consideration then the title is correct.

  • @miweneia
    @miweneia 2 роки тому

    now i want everyone to write code without semicolons and spaces lol

    • @jordanguillou
      @jordanguillou  2 роки тому

      Glad to inspire reckless coding habits

  • @TerribleTonyShow
    @TerribleTonyShow 2 роки тому

    clash of code players be like

  • @DeveloVooshGWeb
    @DeveloVooshGWeb 2 роки тому +1

    Just use Brainf**

  • @luizfernandonoschang8298
    @luizfernandonoschang8298 2 роки тому +1

    I don't know what language is that, so I don't know if the code below is correct, but you could try this:
    y-=keyboard_key?1:-1if
    x--

  • @fisharepeopletoo9653
    @fisharepeopletoo9653 2 роки тому +1

    Boost

  • @dimusikus
    @dimusikus 2 роки тому +2

    #macro keyboard_key k