I Tried Turning Games Into Text

Поділитися
Вставка
  • Опубліковано 1 жов 2024
  • To try everything Brilliant has to offer for free for a full 30 days, visit brilliant.org/... you’ll also get 20% off an annual premium subscription! #ad
    ASCII art has been a staple of the internet since its inception -- but today I'm wondering if we could make a shader that turns games into ASCII art, and if we can, would it even look good?
    Support me on Patreon!
    / acerola_t
    Download my ReShade shader pack!
    github.com/Gar...
    Socials:
    Twitter: / acerola_t
    Twitch: / acerola_t
    Discord: / discord
    Unity Code (lacking some features compared to ReShade): github.com/Gar...
    ReShade Code: github.com/Gar...
    Music:
    Afternoon Break - Persona 3 OST
    In A Moment's Time - Skullgirls OST
    Junes Theme - Persona 4 OST
    During The Test - Persona 3 OST
    Midori Eyes - Paradise Killer OST
    Police Station - Persona OST
    With Renewed Hope, We Continue Forward - VA-11 Hall-A OST
    Neon District - VA-11 Hall-A OST
    Sandgem Town - Pokemon Diamond OST
    Like A Dream Come True - Persona 4 OST
    Color Your Night - Persona 3 OST
    Thanks for watching!
    This video is dedicated to my friend, Alotryx.
    #acerola #gamedev #unity3d #graphics #shaders

КОМЕНТАРІ • 1,4 тис.

  • @Acerola_t
    @Acerola_t  3 місяці тому +219

    To try everything Brilliant has to offer for free for a full 30 days, visit brilliant.org/Acerola/ you’ll also get 20% off an annual premium subscription! #ad
    I got braces on so I'm learning how to speak again, sorry for any poorly enunciated words!

    • @palmossi
      @palmossi 3 місяці тому

      Maybe lol

    • @Jamato-sUn
      @Jamato-sUn 3 місяці тому

      Super Hot Mind Control Delete uses ASCII art shader for it's non-puzzle "real life" scenes in some sort of prison

    • @error.418
      @error.418 3 місяці тому +4

      Good luck with braces! I just got off "clear correct / invisalign" so I feel you.

    • @adamebadra3171
      @adamebadra3171 3 місяці тому

      Your cat is freaking me out, every time she appears an add pop up out of nowhere besides her😂

    • @k90v85
      @k90v85 3 місяці тому

      dwarf fortress uses acii character

  • @roifrvr
    @roifrvr 3 місяці тому +4954

    "Is it possible to edge" Is a far more philosophical question than I expected from this video

    • @Acerola_t
      @Acerola_t  3 місяці тому +854

      many people have been asking this

    • @virionspiral
      @virionspiral 3 місяці тому +246

      ​@@Acerola_tI think I'm going to search for edging for further research

    • @MaxEditsSpore
      @MaxEditsSpore 3 місяці тому +31

      @@virionspiral please no

    • @neoline5831
      @neoline5831 3 місяці тому +86

      @@virionspiral on microsoft edge

    • @heeeyno
      @heeeyno 3 місяці тому +59

      "I want to go home, and then edge"... *disparage message*

  • @Johnny31323
    @Johnny31323 3 місяці тому +175

    Talks about ASCII art:
    Creates ASCII art:
    Beats Elden Ring with ASCII art:
    Gives the public ASCII art for FREE:
    Doesn't elaborate further....:
    BaZED

  • @LemonHeadYT
    @LemonHeadYT 3 місяці тому +3579

    "Today, we'll be turning characters, into characters" 🔥✍

    • @deleted_handle
      @deleted_handle 3 місяці тому +188

      "is it possible to edge?" 🔥✍️

    • @cringe4581
      @cringe4581 3 місяці тому +15

      Monogatari reference?

    • @operator8014
      @operator8014 3 місяці тому +3

      That was GOOD.

    • @nnnArchive
      @nnnArchive 3 місяці тому +6

      “Noodles into noodles? At the Chinese restaurant?” - Parappa The Rapper 2 (PS2)

    • @heynamu
      @heynamu 2 місяці тому

      @@cringe4581 when is this said? I can't remember

  • @On1onQueen
    @On1onQueen 3 місяці тому +108

    IDK why but the shader rendering actual text characters in the boss fight cutscene as just lines and squares was really funny. You literally Are Text, ASCII shader...

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

      downscaled captions

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

      @@MultiChristianandres yeah but either way it's still funny

  • @Octogenico
    @Octogenico 3 місяці тому +2669

    But acerola

  • @saythrtL
    @saythrtL 3 місяці тому +53

    0:48 There is a pretty good came called "Stone Story RPG" that uses ascii art for the entire game, and by the entire game, i mean the ENTIRE GAME, menus, lightning, everything, and it looks beautifully simple

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

      Yup, was looking for this comment

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

      Havent played that game in a while cause my dumbass dont know how to code automate the 🔥🔥💪💪GRIND🔥🔥💪💪💪

  • @pinkorcyanbutlong5651
    @pinkorcyanbutlong5651 3 місяці тому +1019

    Finally someone that takes into account edge flow, as someone that does some 'by hand' ascii art, always am a bit annoyed when all of those 'ascii art generators' just do the "bright = big character, dark = small character" and leave at that
    A way of making it even nicer would probably to have an extra pass that applies some character heuristics, like "if above is '\' and bellow is '/', this should be a ')' ", and also take into account that letter characters also have slopes, so if you have a 'top left to bottom right' sloped edge, the 'q' character also fits it, and a 'V' is where '\' and '/' converge going down, and so on

    • @jc_art_
      @jc_art_ 3 місяці тому +57

      Yea i was surprised they decided to limit it to just the 10 characters they did

    • @PhaaxGames
      @PhaaxGames 3 місяці тому +61

      ¨`^~,._.,~^´¨ More letters would definitely be better ...

    • @quontumphysics6589
      @quontumphysics6589 3 місяці тому +66

      I know Acerola likes to focus on real-time rendering and applications to games in motion. I wonder how much computation time these extra checks would add.

    • @minicooper237
      @minicooper237 3 місяці тому +21

      I was thinking that maybe there was a way to do some additional processing at a higher resolution to better quantize pixel groups that would better match specific characters. Like an 'L' shape would fit better in an ascii pixel where you have two light subpixels on the bottom of the pixel and one light one dark subpixel at the top for example.

    • @MrAdamo
      @MrAdamo 3 місяці тому +8

      @@minicooper237probably neural nets lmao. With enough layers you could identify tiny features and assign the best character

  • @ZaneBastian
    @ZaneBastian 3 місяці тому +37

    Also, thank you for not doing the increasingly dull LLM / Transformers / AI content. You'll soon be what current gen game devs & technical artists (who are starting now) will call an "OG" resource on graphics programming.
    On your path, and with a few good collabs, you have the potential to co-author the next evolution of the GPU Gems series.
    Excited for you to blow up :D

    • @TeleportRush
      @TeleportRush 3 місяці тому

      transformers?

    • @mahvus5586
      @mahvus5586 3 місяці тому +1

      @@TeleportRush The alien car robots

    • @ZaneBastian
      @ZaneBastian 3 місяці тому +7

      @@TeleportRush the T in GPT is 'Transformer'

  • @mattcay
    @mattcay 3 місяці тому +613

    16:45 Very ironic how an ASCII shader can't draw text worth crap 🤖
    Not throwing shade, just found it funny. I love the effect, it looks great!

    • @dantekiwi7926
      @dantekiwi7926 3 місяці тому +43

      Maybe you can detect when a text is getting rendered in real time, so it can maybe be possible to put "real" text over the ascii text

    • @s1lkysl1m83
      @s1lkysl1m83 3 місяці тому +24

      i bet it could render text if the text was large enough. the problem is what he was talking about at @15:00

    • @lbgstzockt8493
      @lbgstzockt8493 3 місяці тому +26

      @@dantekiwi7926 Maybe you could just render the UI after converting everything to ASCII

    • @Punisher4xe
      @Punisher4xe 3 місяці тому +1

      @@dantekiwi7926 oh god

    • @theneonbop
      @theneonbop 3 місяці тому +8

      @@dantekiwi7926 if its not lined up with the grid and doesn't have the same font I can't imagine it looking good

  • @TheLeft4Gamer
    @TheLeft4Gamer 3 місяці тому +10

    I love the suspense leading up to the Mohg fight only for him to Comet Azur his ass

  • @an_asp
    @an_asp 3 місяці тому +261

    A lot of ascii art uses a variety of other symbols for edges, like V, for sharp points, Y for branching lines, and sometimes non-ascii characters (japanese characters seem common) to get more complicated edges. The art at 6:45 has a lot of examples of this. I wonder how you'd be able to automate something like that; you'd need a lot more than just the angle of the edge. It seems like you'd need to do something complicated with the "subpixels" as you downscale the image to find the specific shape of the edges, and map it to the most similar-looking edge character.

    • @somdudewillson
      @somdudewillson 2 місяці тому +11

      I think you could just use the letter sprites themselves as convolutional filters of a sort.

    • @ianrussell4217
      @ianrussell4217 2 місяці тому +2

      i think it would be similar to how jpeg compression breaks an image down into preset shapes but with characters instead

    • @semoueslati2586
      @semoueslati2586 2 місяці тому +2

      ( ㅅ )

    • @KingBobXVI
      @KingBobXVI 2 місяці тому +4

      You would add to the "histogram" step I think, replacing the check for "which angle is most common in the 8x8 block" with a check against a set of multiple angles.
      Like, if the top half is mostly \ and the bottom half is mostly / you instead get ). You could get more granular with it, possibly to the point of very specific letters.

  • @kurekureci
    @kurekureci 3 місяці тому +71

    Dwarf Fortress is an entire game rendered with ascii art.

    • @864awesomeness
      @864awesomeness 3 місяці тому +16

      I was surprised almost nobody else is saying this, I guess it isn't exactly conveying art? Just symbols representing objects

    • @Donovarkhallum
      @Donovarkhallum 2 місяці тому

      ​Exactly. ​ The game is rendered in characters but its not asci art@@864awesomeness

    • @orbatos
      @orbatos 2 місяці тому +9

      Calling it ASCII art isn't really correct. Drawn *with* ASCII is how it is usually referred to. All characters are symbolic or literal text, not a portrayal of an image. That this is cohesive owes to a painstaking selection of characters and it still takes work to get used to. The game itself is art, the use of ASCII isn't the medium though.

  • @MoleNihil
    @MoleNihil 3 місяці тому +844

    1:57 We are all edging, aren't we

  • @DarkSwordsman
    @DarkSwordsman 3 місяці тому +17

    3:29 I also recommend uploading in 1440p (you can transcode or export, you don't need your timeline to be 1440p) because then UA-cam does the "Enhanced Bitrate" thing where normal 1080p gets half the bitrate it used to.

  • @mcbeaniee4775
    @mcbeaniee4775 3 місяці тому +607

    this shader coupled with the fact that the elden ring dlc added an option to put the word "edge" into messages makes for some insane meme potential

    • @mrskibum885
      @mrskibum885 3 місяці тому +82

      edge has always been in the game.
      those 9999 rating messages around the assassin dude in round table hold saying edge, lord

    • @Kropolis
      @Kropolis 3 місяці тому +37

      Edge isn't new
      edge,
      lord

  • @SuboptimalEng
    @SuboptimalEng 2 місяці тому +5

    Can’t believe he spent months figuring out the optimal edge technique 😤😮‍💨😤

  • @TacoGuy
    @TacoGuy 3 місяці тому +374

    stone story rpg is an amazing game which uses ascii art for the visuals

    • @Acerola_t
      @Acerola_t  3 місяці тому +158

      yeah i meant specifically an ascii shader over 3D like the Returnal example

    • @w花b
      @w花b 3 місяці тому +43

      Dwarf fortress is the most beautiful game using ASCII art. You will understand everything happening on screen very easily.

    • @IndianaJoenz
      @IndianaJoenz 3 місяці тому +15

      The way tht Stone Story RPG allows players to make their own ASCII sprites is quite cool.

    • @ninjanate2244
      @ninjanate2244 3 місяці тому +5

      Candy Box 2 also uses ascii art

    • @sambojinbojin-sam6550
      @sambojinbojin-sam6550 3 місяці тому +4

      Cogmind does ASCII art well (it's a futuristic 2d roguelike).

  • @tekurohamada7068
    @tekurohamada7068 3 місяці тому +12

    Putting a video of your cat with the sponsor part is honestly so smart, I respect that

  • @maboesanman
    @maboesanman 3 місяці тому +283

    If you abandon the realtime requirement, you could maybe do something like this:
    Take the DCT of all the white-on-black characters that you want to be available to the shader.
    Take the DCT of the section of the image.
    Find the “nearest” by some metric.
    This way you can dramatically expand the palette of letters, and have a more organic selection

    • @KillahMate
      @KillahMate 3 місяці тому +47

      When I initially clicked on the video I assumed this is how the effect was going to work. But on reflection - and as you say - this would require a huge amount of branching and would run terribly as a GPU shader.

    • @jfolz
      @jfolz 3 місяці тому +15

      I was thinking maybe you could use locality sensitive hashing to switch between character palettes. You could downscale 8x8 blocks to 2x2 and use 4 hash functions, horizontal and vertical lines, and the two diagonals. Each hash function gives you 1 bit of info: which side of the line is brighter. That gives you 16 palettes you can choose from to determine the best character for the brightness less, which should retain quite a bit more detail. It should be very fast as well, as you're just comparing a few numbers each time without branching.

    • @oEQjet
      @oEQjet 3 місяці тому +3

      I was thinking you could use convolution filters generated by blurring the character set. Taking the DCT of the section is interesting. What are the advantages of doing that over just a convolution filter?

    • @maboesanman
      @maboesanman 3 місяці тому +2

      @@oEQjet tbh my signal processing skills aren’t strong enough to really push me towards one or the other. I thought DCT was what jpeg used so thought might make more sense in this specific case

    • @oEQjet
      @oEQjet 3 місяці тому +1

      @@maboesanman I mean you're not crazy! Jpeg do use it, you could use it here! And i honestly couldn't predict what would be more effective.

  • @GamerX-2000
    @GamerX-2000 3 місяці тому +7

    0:54 correction: there are a few. Many of which are mobile games. It’s not really a shader, but just everything is rendered with text. _Stone Story_ is a good one- it’s a free mobile game with no ads. Mad respect to them for making something good and playable for mobile.

    • @Acerola_t
      @Acerola_t  3 місяці тому +4

      so if it's not a shader and just actual ascii art, then there is no correction, there is also nothing to correct as it's me saying I personally have not seen it, not that it doesn't exist lol

    • @GamerX-2000
      @GamerX-2000 3 місяці тому +2

      @@Acerola_t fair. But it’s still a really cool concept to render a game in ascii.

  • @goofmuffin
    @goofmuffin 3 місяці тому +333

    there's Asciicker, which is 3d and rendered in ascii characters

    • @Acerola_t
      @Acerola_t  3 місяці тому +142

      oh yeah this is a good example, thank you!

    • @neoline5831
      @neoline5831 3 місяці тому +56

      the fact that it's pronounces "ass kicker" is hilarious to me

    • @pinkorcyanbutlong5651
      @pinkorcyanbutlong5651 3 місяці тому +15

      I'd say that is more of an extended ascii/CGA text mode art as it uses the DOS font that includes more characters, and also uses foreground and and background colours, but yea, pretty cool game

    • @hi-i-am-atan
      @hi-i-am-atan 3 місяці тому +10

      @@pinkorcyanbutlong5651 a lot of ascii art isn't truly ascii, but shift jis or its successors anyway thanks to the popularity of the medium on japanese image boards. the "ascii" in the name isn't really in reference to the encoding used, but rather the fact that the image is made from digital text. ascii was just the standard when term was coined, so it's kinda just been genericized in this context
      i mean really it's been genericized in a _lot_ of contexts, stuff like terminal-based roguelikes get called ascii games even when they use the ibm charset, but y'know

    • @fragmentshader2878
      @fragmentshader2878 3 місяці тому

      Also, my submission for acerolas jam: LAMB

  • @theftking
    @theftking 3 місяці тому +1

    I remember those dope ASCII GameFaqs guide logos. They were sick.

  • @Randomdud751
    @Randomdud751 3 місяці тому +226

    The cat is forcing me to watch the sponsor! Noo!

    • @funx24X7
      @funx24X7 3 місяці тому +17

      That cat better be getting a cut

    • @IvanIvanov-ww8yl
      @IvanIvanov-ww8yl 2 місяці тому +3

      Someone needs a sponsor block extension

    • @RandomAcronyms
      @RandomAcronyms 2 місяці тому

      ​@@IvanIvanov-ww8ylthat's why I missed the cat 😔

  • @govcorpwatch
    @govcorpwatch 3 місяці тому +1

    But Bacerola.... (Based-Acerola)... You're looking BUFF. Your new work out routine is paying off. Looking gooooood. Not the skinny Acerola @ the start.

  • @sxs512
    @sxs512 3 місяці тому +111

    I wonder how this would look like if instead of just downscaling the image and only matching the character to the luminance, you sampled the original image and looped through more characters to find one that best matches the pixels. This would be quite slow, but there are definitely ways to optimize this lookup. Would be pretty interesting to also see how it works with different fonts.

    • @sacwingedbatsatadbitsad4346
      @sacwingedbatsatadbitsad4346 3 місяці тому

      I've actually implemented this a few months back. Only in C# but I have outlined how it could be done in a shader with probably acceptable performance. It would take a lot of passes and buffers though. I've come to the conclusion that it's not really worth it. It preserves details a little bit better and the output is noticeably sharper - the simple luminance match method has a noticeable blur in comparison - but it's not better by enough to justify it IMO. With a bitmap font, it's still very noisy, the better details are only noticeable if you actively look for them. Maybe if you use antialiased fonts, but that would completely tank the performance.
      imgur_com/a/f5pQ1Qs (p sure youtube doesn't allow linking off-site so replace the _ with .)

    • @sacwingedbatsatadbitsad4346
      @sacwingedbatsatadbitsad4346 3 місяці тому +21

      I've actually implemented this a few months back. Only in C# but I have outlined how it could be done in a shader with probably acceptable performance. It would take a lot of passes and buffers though. I've come to the conclusion that it's not really worth it. It preserves details a little bit better and the output is noticeably sharper - the simple luminance match method has a noticeable blur in comparison - but it's not better by enough to justify it IMO. With a bitmap font, it's still very noisy, the better details are only noticeable if you actively look for them. Maybe if you use antialiased fonts, but that would completely tank the performance.
      a/f5pQ1Qs pretty sure youtube auto-deletes links, it's an imgur album with a comparison

    • @sxs512
      @sxs512 3 місяці тому +7

      ​@@sacwingedbatsatadbitsad4346
      Hmm what if instead of just comparing the bitmaps you compared the gradient of those? Looking at your imgur gallery it looks like the edges are not really as pronounced as one would expect from this.

    • @sacwingedbatsatadbitsad4346
      @sacwingedbatsatadbitsad4346 3 місяці тому +9

      @@sxs512 The way it works is it subtracts the pixel in the font, 0 or 1, from the grayscale pixel in the same position, then adds together the absolute value of the pixels in the 8x8 grid. Obviously, if you subtract a value from itself you get 0, so the character with the lowest absolute value is the best match. This is the most canonical approach, it preserves the most information overall. Not all information is equally important to humans, though. For example, you can distinguish more shades of green than red or blue. You'd need to enhance the edges as in the video to get a more desirable but less technically correct look.

  • @0730
    @0730 3 місяці тому +1

    Man, please stop changing thumbnails, it doesn't work. I clicked on this video only to say you that, not because I want to watch this.

  • @GerardMenvussa
    @GerardMenvussa 3 місяці тому +100

    13:15 With fading based on depth, that's my favourite option. Looks amazing.

  • @matthew.wilson
    @matthew.wilson 3 місяці тому +1

    I'd be interested to see if you can regain some of the detail lost in downscaling by using a character palette based on more detail than just luminance. Like, gradient (gun the 8x8) and luminance, perhaps. E.g.:
    Vertical: . : ; | { H 8 #
    Horizontal: . - = ≠ #
    Diagonal: . , / Z %
    Etc.
    Or even having some position variation based on quadrants within each 8x8:
    _-¯,•`

  • @tuna5618
    @tuna5618 3 місяці тому +81

    "game as ascii" reminded me of the primeagen's recent journey of rendering DOOM as ascii and making his twitch chat play it.

    • @eth3792
      @eth3792 2 місяці тому +5

      It's come full circle now with prime reacting to this video lol

  • @MarioGoatse
    @MarioGoatse 2 місяці тому +1

    Amazing work my bro. I hope you’re proud of the knowledge that you’ve gained and shared. This video was not only very informative and interesting, but easy to follow and understand too. Appreciate you, mate.
    Edit: WOW! That’s incredible. It got even better in the last 5 minutes. The Elden Ring scenes (with no DLC spoilers!) was beautiful. Man you nailed this so hard

  • @sirslavid3175
    @sirslavid3175 3 місяці тому +52

    I actually watched the sponsor because of the cat. Brilliant move

    • @logixindie
      @logixindie 3 місяці тому +9

      He must has learned this trick on Brilliant.

  • @shinobi0474
    @shinobi0474 2 місяці тому +1

    You should have used a higher resolution if possible so you could get the most detail possible. I counted the amount of characters on the screen's width and counted 240 which multiplied by 8 is 1920 pixels wide or 1080p. With 1440p it is 1.3... scale so you could get 1.7... times more characters on the screen. With 4k or 2160p it is a 2 times scale so you could get 4 times more characters on the screen.

  • @ThePixelatedCoder
    @ThePixelatedCoder 3 місяці тому +30

    lets go love ascii made a ascii shader myself once it was awfull and poorly coded that used a text texture as a compute shader only took like a month im actually still thinking of making a ascii horror game lol

  • @black_platypus
    @black_platypus 3 місяці тому +1

    I wish you had leaned even more into ASCII art's ingenuity for representing shapes and edges. I know you can't easily use elaborate computations on dynamic data in shaders, but this just begs for the exploration of composite shapes and intermediates, like a "V" where two diagonals meet, an "X" where they intersect, an "A" where they meet at the top; characters like L, T, 7, Z, F, H, K for combinations with vertical and horizontal lines, etc -- not to mention the box drawing characters.
    Isn't there a way to extract possible interpretations of an edge-focused image buffer like this in order to decide which shapes could be represented where with our characters?
    I'm thinking we may want to start without downsampling first, to get more than just one possible edge out of a cell, but then we could run a batch of kernels over each cell and find the character with the lowest difference (MSE?)
    Doesn't that seem possible to do?
    Does anyone want to do this? (I'm not experienced enough myself :( )

  • @endostatic7687
    @endostatic7687 3 місяці тому +55

    Just watched 18 minutes and 17 seconds of a guy talking about Edging. Absolute Cinema.

  • @mrsato7508
    @mrsato7508 2 місяці тому +1

    Just watched the video. Here is an option to save more details. You could choose symbols from ASCII table not by luminance, but by calculating how much the shape of the symbol suits the 8/8 region. First, normalise 8 by 8 region, to turn it lightest into white, and it darkest into black and shift all the other colors proportionally. Choose the symbol that has the least total difference compared to the region, and then adjust symbol's luminance to be same as average luminance of original chunk.
    Another option is to apply filter separately to RGB channels with red, green and blue symbols and then add them together to get the final result. Combining this methods you will be able to use all ASCII symbols, their luminance and colors, which should save a ton of details, probably close to possible maximum. This also should make image less contrast and more pleasant to look at for a long time.
    if comparing 8by8 chunks will hit performance, you can average some pixels to get 4by4 or 2by2 chunks, or you can find the least used symbols in the table and remove them, or both. This still should save more details
    Sadly i'm too dumb to code it myself

  • @BlackEagle478
    @BlackEagle478 3 місяці тому +42

    It was brilliant putting the cat on the sponsor segment so that I bypassed my sponsorskip to see the kitty.

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

    big game studio does a general 'replace bright with big character, dark with small character' and called it a day, but then you come in and did just that much more work and on all accounts blew them out of the water all by yourself. you deserve my sub o7

  • @augustday9483
    @augustday9483 3 місяці тому +21

    Depth fading looks very good, it really gives you that sense of 3D that's needed to keep the image coherent during gameplay. Lot of potential here for cool artstyles in a game.

  • @ryanreed4698
    @ryanreed4698 3 місяці тому +1

    Couldn't you use a convolution filter to do this? You could group 8x8 pixel chunks and compare those against the 8x8 pixel values for each text character you want. Then for each 8x8 pixel chunk you could get a vector of weights corresponding to how close each chunk is to a character and just choose the highest value and then render that corresponding character. So essentially you need to operate on an 8x8xN shape by an 8x8xM shape and get a NxM shape where N is the number of 8x8 chunks the image can be broken down into and M is the number of characters you want to possibly render. This should automatically take care of all edges, filled spaces, weird geometries, as it picks characters based off the pixel geometry rather than explicitly defining edges or spaces or anything. I think GPUs are pretty good at convolutions if I remember. Anyway, awesome video 😎👍

  • @EikaMikiku
    @EikaMikiku 3 місяці тому +12

    There is a lot of flicker on characters, especially with full square character.
    Perhaps having some kind of threshold to prevent high frequency changes of the same character like [full square -> @ for 1 frame -> back to full square] would make the image feel more stable if you prevent full square coming up again if there was one recently.

    • @candlestorms
      @candlestorms 2 місяці тому

      Was going to suggest this idea too :) Would be cool to see

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

    This guys is amazing, easily my favourite computer science UA-camr! You’re a fucking legend and inspiration 🔥

  • @thorntails
    @thorntails 3 місяці тому +20

    I'm rolling my ace soooo hard rn

  • @brandonscott3012
    @brandonscott3012 3 місяці тому +3

    Underrated channel. Pacing, explanations, visual guides and comedy/presentation are all done well.
    Thanks Acerola 👏

  • @meepo_sn1
    @meepo_sn1 3 місяці тому +11

    acerola's excuse to dedicate an entire video to edging

  • @CyberneticArgumentCreator
    @CyberneticArgumentCreator 2 місяці тому +1

    What is it with Zoomer content creators holding mics you're not supposed to bare hand? I see so many standing in front of a green screen with an SM7B in their paw or holding a lavalier mic up to their mouth in their hand.
    Mount an SM7B. Clip a lavalier to your clothes. What are you doing?

  • @_NaLo_
    @_NaLo_ 3 місяці тому +1

    It should be possible to retain much more detail by expanding the character set.
    It would be cool to see a shader that uses ALL ASCII characters and "downsamples" each 8x8 pixel grid down to the ASCII character that is most similar to it.

  • @mastromishu3906
    @mastromishu3906 3 місяці тому +8

    holy shit it's beautiful 😭
    your video definitely convinced me to build my ascii shader

  • @meleody
    @meleody 3 місяці тому +1

    Acerola: gets sponsorship
    Also Acerola: ay let me put up my cat real quick, look over here!!!
    Edit: Did you get away with it?

  • @BauskeMedia
    @BauskeMedia 3 місяці тому +8

    Amazing stuff. Maybe faces looking jumbled together from a distance would make for a great horror game style with all the uncannyness.

  • @sethbettwieser
    @sethbettwieser 3 місяці тому +1

    I wonder if we could improve the effect by trying to convert the shape of the 8x8 pixel area to the closest ascii representation. Probably wouldn't run very fast.

  • @CheeseWithMold
    @CheeseWithMold 3 місяці тому +5

    Been following the progress for this on twitter. This looks absolutely amazing and might be my favorite video of yours. Would love to make some small game that gets absolutely carried by these visual effects. Well done!
    Also, you gotta have one of the highest viewer retention rates during your ad reads (feel free to send this part of the message to potential sponsors)

  • @parrazarre1773
    @parrazarre1773 3 місяці тому +1

    It'd be nice to see a pixel art shader that would work in a similar way. You could have halftones, posterization, outlines for the simple part and maybe add some image recognition to make text use an already made pixel font or even have a set of face details that would replace otherwise simingly random jumbled pixels at a lower resolution. Might not be the kind of thing you'd want to make because it'd be less of a shader and more of an image recognition thing but it'd probably look awesome.

  • @Rexodiak
    @Rexodiak 3 місяці тому +6

    THE TIMING ON THIS IS IMPECCABLE I NEEDED THIS AND IT JUST CAME TO ME ON MY HOMESCREEN

  • @realdafool
    @realdafool 2 місяці тому +1

    I've seen lately a game about the same thing using ascii art, it's in the playstore, I don't remember its name.

  • @Kawnhai.mp4
    @Kawnhai.mp4 3 місяці тому +12

    youre really cool mr rola

  • @retrogamingmodding2262
    @retrogamingmodding2262 2 місяці тому +1

    im verry tempted to make a game with this
    might i ask as someone with EXTREMELY minimal shader code knowledge what shader language this was made with?

  • @jadefae
    @jadefae 3 місяці тому +8

    This looks so much better than I could have ever imagined

  • @blanana_m
    @blanana_m 2 місяці тому +1

    I wonder if you could use the Normals of the image to skew the characters with the meshes that make it up

  • @nickdevprod3667
    @nickdevprod3667 3 місяці тому +4

    did you start going to gym?

    • @Heyejen
      @Heyejen 3 місяці тому

      I KNOW RIGHT, I SWEAR HE WASNT THIS BEEFY

  • @redman447
    @redman447 3 місяці тому +1

    Is it possible to download the source code and change it in order to not lose so much image detail at the expense of ASCII readability?

  • @MilkJugA_
    @MilkJugA_ 3 місяці тому +13

    finally we have the technology to make a worthy spiritual successor to return of the obra dinn

  • @jademonass2954
    @jademonass2954 2 місяці тому +1

    there are a lot of games IN ascii, but no ascii shaders
    i think it would have been cool to mention them (like stone story RPG)

  • @fure8691
    @fure8691 3 місяці тому +4

    the thumbnail swap is nasty, i hate youtube after mr beast

  • @wflytothesky
    @wflytothesky 3 місяці тому +1

    What if you found a way to like match the eight by eight grid to the ascii character that looked the most like it so for example
    Ø would replace
    ⬛️⬛️⬛️⬛️⬛️⬛️⬛️⬜️
    ⬛️⬜️⬜️⬜️⬜️⬜️⬜️⬛️
    ⬛️⬜️⬛️⬛️⬛️⬜️⬜️⬛️
    ⬛️⬜️⬛️⬜️⬜️⬛️⬜️⬛️
    ⬛️⬜️⬜️⬛️⬛️⬛️⬜️⬛️
    ⬛️⬜️⬜️⬜️⬜️⬜️⬜️⬛️
    ⬜️⬛️⬛️⬛️⬛️⬛️⬛️⬛️

  • @ThatGuyGEWP
    @ThatGuyGEWP 3 місяці тому +4

    STOP USING THAT THUMBS UP IMAGE I BEG 😭

  • @KvapuJanjalia
    @KvapuJanjalia 3 місяці тому +1

    Challenge: Use the entire Unicode. Output to terminal. With ANSI colors.

  • @Raven99991
    @Raven99991 3 місяці тому +1

    there is a cmd command to watch a shortend vertion of the original starwars movie in ascii rendering its pretty fun to watch takes about 20 minutes and totaly free

  • @Marvin-jk9jx
    @Marvin-jk9jx 2 місяці тому +1

    ! There is a game that only uses only characters for their art style!!
    Its called stone story and is pretty cool, if you are into those kind of games

  • @Kno_2-d8h
    @Kno_2-d8h 2 місяці тому +1

    One word: StoneStory.
    Not exactly a shader, more like an art style, still cool though

  • @maxpierce8414
    @maxpierce8414 2 місяці тому +1

    be interesting to see this effect with a cell shaded game like wind waker. There's would be a lot lees dtl so readability would be a lot better

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

    I want to see it applied to an older game.
    Like Crash Bandicoot or the first Metal Gear Solid

  • @maevara_
    @maevara_ 3 місяці тому +1

    i think it'll look really cool on a game with a simple artestyle, like animal crossing, sicnce there is not much details or gradients

  • @umbra4540
    @umbra4540 3 місяці тому +1

    is animal well on your radar for a deep dive? iirc it did some really neat things with rendering, and using a custom engine

  • @matthew.wilson
    @matthew.wilson 3 місяці тому +1

    Additional effect: shift your grid by 1 pixel per frame and you can get that real Matrix "falling characters" vibe.

  • @N1K0420
    @N1K0420 3 місяці тому +2

    I hesitated clicking on the video because of the Elden Ring thumbnail and then was about to get off just as seeing the game's title screen, not wanting to get anything spoiled from the DLC. So that spoiler disclaimer was really reassuring to see. In a video about text, some text irrelevant to it saved some watch time.

  • @tempname8263
    @tempname8263 3 місяці тому +2

    Now add an OCR which will convert any text on screen into ascii characters directly, so that you can read subtitles and menus in game

    • @drdca8263
      @drdca8263 3 місяці тому

      In a game made with ASCII art graphics in mind, you wouldn’t need to do that (also I imagine that OCR is a bit slow for that? I could be wrong)

  • @pheonix0209
    @pheonix0209 3 місяці тому +1

    There’s a game called Stone Story(mobile and steam) that is (I believe) entirely made of characters(ASKII). It’s very simplistic, but it’s still entertaining.

  • @trainmaster997
    @trainmaster997 3 місяці тому +1

    how would you run this on static images? i’d really love to play around with it myself

  • @Scizophrenic_gunshop_owner
    @Scizophrenic_gunshop_owner 3 місяці тому +1

    This looks like it'd work great for a horror game, as the ascii filter makes it harder to see anything.

  • @HEXO_HANK69
    @HEXO_HANK69 2 місяці тому +1

    it'd be really cool if someone makes it that we can copy the ascii as a screenshot and be able to paste it on a text file

  • @giobrando6574
    @giobrando6574 3 місяці тому +1

    im actually surprised how youtube compression held up the quality at normal 1080p, I expected it to be a blurry mess after a couple secs.

  • @Danny_in_2D
    @Danny_in_2D 3 місяці тому +2

    Hol' up dude you're like getting buff 🔥
    Really interesting vid, always love how much info you're able to pack into these

  • @owngamesgamer4030
    @owngamesgamer4030 3 місяці тому +1

    i have an ascii renderer app on my laptop installed to spin a blahaj on my desktop infinetly

  • @MrDowntemp0
    @MrDowntemp0 3 місяці тому +1

    Yuck. Only 10 Characters, and one of them is a block of color. That's cheating. Use the standard ASCII characters. And increase the pixel size. 8x8 is too small, also feels like cheating. Also, ASCII characters aren't square.

    • @Acerola_t
      @Acerola_t  3 місяці тому +1

      nothing gets past this guy

  • @wolfyd2053
    @wolfyd2053 2 місяці тому +1

    Stone story is fully ascii art but it’s not really a shader like what’s created here

  • @d3.m4.r
    @d3.m4.r 2 місяці тому +1

    For one second I thought that I was going to see an ascii version of bad apple again

  • @ManleyReviews
    @ManleyReviews 2 місяці тому

    I like how despite all this ascii/shader knowledge this dude clearly lifts. bad ass.

  • @Archive_0x
    @Archive_0x 3 місяці тому +2

    Golden content. Technical, without bs, source included. Many thanks

  • @eeee69
    @eeee69 3 місяці тому +1

    the 2 color / 1 bit look on ff made it look like obra dinn (very cool)

  • @Lampe2020
    @Lampe2020 2 місяці тому +1

    0:47 Well, my dad is very good at building cities in Minecraft-like games that are so large that the game eventually can't handle it anymore. So I'll soon create my own such game that I'll make playable in the Linux TTY, inspired by this video.

  • @CoolAsFreya
    @CoolAsFreya 2 місяці тому +1

    Cat split screen over sponsor segments is underrated

  • @gamemaster9268
    @gamemaster9268 3 місяці тому +1

    The real question is if I even can defeat Mohg without the shader

  • @diddy_dante
    @diddy_dante 3 місяці тому +1

    It reminds me a lot of the shader used for Return of the Obra Dinn!

  • @tipdub
    @tipdub 3 місяці тому +1

    "I didn't really feel like doing any research on this topic because..I already know how to solve the problem, so..I don't need to do any research" lol!!

  • @GodsBadAssBlade
    @GodsBadAssBlade 3 місяці тому +1

    UA-camr teaches audience about edging and how to edge yourself

  • @pheonix0209
    @pheonix0209 3 місяці тому +1

    Best way to do an add segment I have ever seen. I didn’t even play attention to the add, just the cat lol

  • @fromixty
    @fromixty 3 місяці тому +2

    Massive Respect for using Persona 3 Soundtrack

  • @FiXsy_
    @FiXsy_ 2 місяці тому +1

    this must be the first video in a while that I watched the whole ad sponsor in, just cuz the cat was so adorable lmao

    • @sea5078
      @sea5078 2 місяці тому +1

      exactly what I was about to comment lol