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!
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
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
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.
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.
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
It's so painful watching other game dev youtubers rely on LLMs and shit in their videos. Like even in the roguelike community, where the vast majority of our projects are open source, my peers are literally telling new devs to just ask ChatGPT to solve their issues instead of pointing them towards any of the human-documented source repositories and essays.
3:29 I also recommend uploading in 1440p (you can transcode or export, you don't need your timeline to be 1440p) because then RUclips does the "Enhanced Bitrate" thing where normal 1080p gets half the bitrate it used to.
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.
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.
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
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
@@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
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...
I noticed the 11:52 Valhalla music almost immediately despite The Primeagen talking in its reaction video. Great video btw and impressive work on your part. You've taught me quite a few things that hopefully will be useful for me in the future.
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.
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
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.
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.
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?
@@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
I don't have nearly enough knowledge to follow every process yet somehow you managed to make me extremely interested about anything you say. Ive already binged all your videos and although the math tends to get lost on me I cannot stop thinking about the difference of gaussians and have a pretty decent understanding on how 3d rendering works I hope you never stop makong videos cause these are some of my favorite things to watch on youtube btw I'm really fond of the shot on 15:19 fsr, something very cinematic about it
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.
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 .)
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
@@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.
@@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.
Love this. Your channel has got to be one of my favorites! I can understand everything you’re talking about even though I’m only a high school freshman. It’s all so simple, and your intro with the flashing phrases and the design is peak! I also love recurring bits such as parish being the harbinger of the sponsored segment. As well as the ever popular “but Acerola?” Speaking of which, I don’t know if I just missed it, but I didn’t really get why returnal using a 10x10 text size was so strange. But you manage to put so much information in such a short amount of time that I very well could have subconsciously breezed past it. Another thing I love about these videos.
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.
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.
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
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
Holy hell Acerola, this is so clean. Genuinely learnt so much while watching this video and it was so much fun experimenting after seeing the whole thing. God just because how well it turned out, genuinely I am so tempted into developing a whole game on it. Love it and please keep letting your random wishes drive you man. Also peak music choice throughout
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
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)
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.
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
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
This looks very cool. I've made a good amount of ASCII shaders, and I love the addition of the edge layer, especially implementing the distance falloff. Cel shading would obviously play very well with this effect The em-dash (-) would be better than the underscore for horizontal lines because it's in the middle of the sprite, so all of your edge sprites will be centered on the same axis. I would also suggest increasing your gradient from 10 to 16 or even 32 steps. You're reducing the already low amount of information by compressing your gradient palette. Thanks for sharing all of your awesome experiments!
What a brilliant ploy to get people to watch the ad. Also, this was probably the easiest to follow video that you've made yet. I think I could probably code this one up myself.
This is so awesome looking! I haven't gotten into trying to make shaders myself yet, but this is really convincing me to forget about my current projects so I can try remaking this. It seems relatively simple while also looking really cool.
This would be fascinating for a game where you play as some sort of near-sighted cyborg who occasionally has flashes of hyper-photorealistic vision in key story moments where their humanity manifests itself.
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!
Maybe lol
Super Hot Mind Control Delete uses ASCII art shader for it's non-puzzle "real life" scenes in some sort of prison
Good luck with braces! I just got off "clear correct / invisalign" so I feel you.
Your cat is freaking me out, every time she appears an add pop up out of nowhere besides her😂
dwarf fortress uses acii character
"Is it possible to edge" Is a far more philosophical question than I expected from this video
many people have been asking this
@@Acerola_tI think I'm going to search for edging for further research
@@virionspiral please no
@@virionspiral on microsoft edge
"I want to go home, and then edge"... *disparage message*
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
Yup, was looking for this comment
Havent played that game in a while cause my dumbass dont know how to code automate the 🔥🔥💪💪GRIND🔥🔥💪💪💪
Also dwarf fortress
there's also one obscure game called ASCIIDENT
"Today, we'll be turning characters, into characters" 🔥✍
"is it possible to edge?" 🔥✍️
Monogatari reference?
That was GOOD.
“Noodles into noodles? At the Chinese restaurant?” - Parappa The Rapper 2 (PS2)
@@cringe4581 when is this said? I can't remember
I love the suspense leading up to the Mohg fight only for him to Comet Azur his ass
But acerola
But acerola,
but acerola~
butt
But acerola 😳😩
but areola.
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
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
Yea i was surprised they decided to limit it to just the 10 characters they did
¨`^~,._.,~^´¨ More letters would definitely be better ...
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.
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.
@@minicooper237probably neural nets lmao. With enough layers you could identify tiny features and assign the best character
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
transformers?
@@TeleportRush The alien car robots
@@TeleportRush the T in GPT is 'Transformer'
It's so painful watching other game dev youtubers rely on LLMs and shit in their videos.
Like even in the roguelike community, where the vast majority of our projects are open source, my peers are literally telling new devs to just ask ChatGPT to solve their issues instead of pointing them towards any of the human-documented source repositories and essays.
1:57 We are all edging, aren't we
3:29 I also recommend uploading in 1440p (you can transcode or export, you don't need your timeline to be 1440p) because then RUclips does the "Enhanced Bitrate" thing where normal 1080p gets half the bitrate it used to.
doesn't do?
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.
I think you could just use the letter sprites themselves as convolutional filters of a sort.
i think it would be similar to how jpeg compression breaks an image down into preset shapes but with characters instead
( ㅅ )
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.
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
i mean it *is* just a thing for the photo mode. not like its a major game feature
stone story rpg is an amazing game which uses ascii art for the visuals
yeah i meant specifically an ascii shader over 3D like the Returnal example
Dwarf fortress is the most beautiful game using ASCII art. You will understand everything happening on screen very easily.
The way tht Stone Story RPG allows players to make their own ASCII sprites is quite cool.
Candy Box 2 also uses ascii art
Cogmind does ASCII art well (it's a futuristic 2d roguelike).
Putting a video of your cat with the sponsor part is honestly so smart, I respect that
there's Asciicker, which is 3d and rendered in ascii characters
oh yeah this is a good example, thank you!
the fact that it's pronounces "ass kicker" is hilarious to me
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
@@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
Also, my submission for acerolas jam: LAMB
9:39 bonus points for finding an image with the correct group size
A+ great job keep up the good work
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!
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
i bet it could render text if the text was large enough. the problem is what he was talking about at @15:00
@@dantekiwi7926 Maybe you could just render the UI after converting everything to ASCII
@@dantekiwi7926 oh god
@@dantekiwi7926 if its not lined up with the grid and doesn't have the same font I can't imagine it looking good
Underrated channel. Pacing, explanations, visual guides and comedy/presentation are all done well.
Thanks Acerola 👏
13:15 With fading based on depth, that's my favourite option. Looks amazing.
Golden content. Technical, without bs, source included. Many thanks
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...
downscaled captions
@@MultiChristianandres yeah but either way it's still funny
I noticed the 11:52 Valhalla music almost immediately despite The Primeagen talking in its reaction video. Great video btw and impressive work on your part. You've taught me quite a few things that hopefully will be useful for me in the future.
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
edge has always been in the game.
those 9999 rating messages around the assassin dude in round table hold saying edge, lord
Edge isn't new
edge,
lord
Dwarf Fortress is an entire game rendered with ascii art.
I was surprised almost nobody else is saying this, I guess it isn't exactly conveying art? Just symbols representing objects
Exactly. The game is rendered in characters but its not asci art@@864awesomeness
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.
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
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.
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.
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?
@@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
@@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.
I don't have nearly enough knowledge to follow every process yet somehow you managed to make me extremely interested about anything you say.
Ive already binged all your videos and although the math tends to get lost on me I cannot stop thinking about the difference of gaussians and have a pretty decent understanding on how 3d rendering works
I hope you never stop makong videos cause these are some of my favorite things to watch on youtube
btw I'm really fond of the shot on 15:19 fsr, something very cinematic about it
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.
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 .)
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
@@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.
@@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.
Love this. Your channel has got to be one of my favorites! I can understand everything you’re talking about even though I’m only a high school freshman. It’s all so simple, and your intro with the flashing phrases and the design is peak! I also love recurring bits such as parish being the harbinger of the sponsored segment. As well as the ever popular “but Acerola?”
Speaking of which, I don’t know if I just missed it, but I didn’t really get why returnal using a 10x10 text size was so strange. But you manage to put so much information in such a short amount of time that I very well could have subconsciously breezed past it. Another thing I love about these videos.
The cat is forcing me to watch the sponsor! Noo!
That cat better be getting a cut
Someone needs a sponsor block extension
@@IvanIvanov-ww8ylthat's why I missed the cat 😔
0:37 so today, we'll be turning characters
*into characters*
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.
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.
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
@@Acerola_t fair. But it’s still a really cool concept to render a game in ascii.
"game as ascii" reminded me of the primeagen's recent journey of rendering DOOM as ascii and making his twitch chat play it.
It's come full circle now with prime reacting to this video lol
0:50 There is a browser game about candies that is fully ASCII
It was brilliant putting the cat on the sponsor segment so that I bypassed my sponsorskip to see the kitty.
Same XD
that was so clever it's perverse
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
Just watched 18 minutes and 17 seconds of a guy talking about Edging. Absolute Cinema.
Holy hell Acerola, this is so clean. Genuinely learnt so much while watching this video and it was so much fun experimenting after seeing the whole thing. God just because how well it turned out, genuinely I am so tempted into developing a whole game on it. Love it and please keep letting your random wishes drive you man.
Also peak music choice throughout
THE TIMING ON THIS IS IMPECCABLE I NEEDED THIS AND IT JUST CAME TO ME ON MY HOMESCREEN
This was so cool!! The filter looked amazing in Final Fantasy and was beautiful in Elden Ring. Great job!
I actually watched the sponsor because of the cat. Brilliant move
He must has learned this trick on Brilliant.
This is absolutely fantastic! Just... wow! (both the editing/pacing of the video as well as the final effect are top notch! )
your channel is the definition of underrated. great video!
holy shit it's beautiful 😭
your video definitely convinced me to build my ascii shader
This guys is amazing, easily my favourite computer science RUclipsr! You’re a fucking legend and inspiration 🔥
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
Hol' up dude you're like getting buff 🔥
Really interesting vid, always love how much info you're able to pack into these
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)
I wonder if you could use the Normals of the image to skew the characters with the meshes that make it up
This looks so much better than I could have ever imagined
Can’t believe he spent months figuring out the optimal edge technique 😤😮💨😤
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.
Was going to suggest this idea too :) Would be cool to see
i quit learning programing many years ago, but these videos are genuinely so cool.
acerola's excuse to dedicate an entire video to edging
probably my favorite video on this channel already this looks so fire
Amazing stuff. Maybe faces looking jumbled together from a distance would make for a great horror game style with all the uncannyness.
Pretty great video ^w^ nice work making this cool shader
I'm rolling my ace soooo hard rn
it's insane how well that final result still reads as a detailed image.
finally we have the technology to make a worthy spiritual successor to return of the obra dinn
I remember those dope ASCII GameFaqs guide logos. They were sick.
youre really cool mr rola
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
did you start going to gym?
I KNOW RIGHT, I SWEAR HE WASNT THIS BEEFY
Super interesting watch, and thank you for including it in the description! Lovely aesthetic.
the thumbnail swap is nasty, i hate youtube after mr beast
?
Absolutely amazing work here! Great vid
STOP USING THAT THUMBS UP IMAGE I BEG 😭
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
i love when i understand what you're saying
it makes me feel so smort
Imagine putting ui and subtitles over the shader, and redo them in ascii style too
Cool video!
Best way to do an add segment I have ever seen. I didn’t even play attention to the add, just the cat lol
Very smart to share the advertisement with cat time. 10/10, didn't skip the ad.
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
this just in, acerola figures out edging
For one second I thought that I was going to see an ascii version of bad apple again
I appreciate how i zoned out for a minute and then panicked like I was missing important information in class
-.-
VLC can play an entire movie in ascii art.
The subtitles through the ascii are like a cursed alien language
This looks very cool. I've made a good amount of ASCII shaders, and I love the addition of the edge layer, especially implementing the distance falloff. Cel shading would obviously play very well with this effect
The em-dash (-) would be better than the underscore for horizontal lines because it's in the middle of the sprite, so all of your edge sprites will be centered on the same axis. I would also suggest increasing your gradient from 10 to 16 or even 32 steps. You're reducing the already low amount of information by compressing your gradient palette.
Thanks for sharing all of your awesome experiments!
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
There is a game based on ASCII art. Its called "Asciicker"
Brilliant! I love the effect at 14:29 with the bloom, it reminds me of Inscryption, for some reason
This looks like it'd work great for a horror game, as the ascii filter makes it harder to see anything.
Massive Respect for using Persona 3 Soundtrack
Super awesome. Content like this makes me actually want to get start learning shader coding.
Stone Story RPG is an ASCII only game. all handmade
this video is about not handmade ascii art
I got goosebumps from the mogh cutscene, pure cinema, you are a fucking wizard harry.
I've been thinking about this for so long. Super cool project!
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
What a brilliant ploy to get people to watch the ad. Also, this was probably the easiest to follow video that you've made yet. I think I could probably code this one up myself.
This is so awesome looking! I haven't gotten into trying to make shaders myself yet, but this is really convincing me to forget about my current projects so I can try remaking this. It seems relatively simple while also looking really cool.
every like 30 seconds there's another mindblowing idea presented that i would never think of in a million years this video is insane
Acerola: the photomode tech demo guy
A really informative and well made video, thanks a lot Acerola!
I stayed through the ad bc of the cute cato - great job
This would be fascinating for a game where you play as some sort of near-sighted cyborg who occasionally has flashes of hyper-photorealistic vision in key story moments where their humanity manifests itself.
Cat split screen over sponsor segments is underrated
You have the best way to force us to watch the ad and I'm not complaining