The material id idea is pretty clever, it reminds me of some indie games where the devs usually go nuts with their ideas because they are not trying to please an existing audience.
I thought at first that this defeats the purpose of ASCII rendering (since it's made deliberately to be limited and easier to draw), but I'm now convinced this is an entirely new thing. I don't think it belongs as "traditional ASCII art" but it could be an interesting art style for a game with a techie/nerd (in the best senses of those words) audience, especially given the material thing. This really inspires me, imagine what a 3D roguelike with these material properties would look like.
Yeah I can see how this would be a new thing. Maybe an ascii-art-adjacent rendering style then. I'm really glad to here it's inspiring to you especially the materials because I wasn't actually sure what people would think. For a 3D roguelike I definitely see the potential!
@@Yusef28maybe call it rune-based rendering? It reminds me of the effects in a lot of media's magic systems of representing magic as runes flying around in shapes
No falling everything engine's main point is not rendering. It's main point is to handle physics well. Not to render in a certain style. @@VistaGrooves
I can see this working well with some sort of a strange fantasy magic experimentation game. You are a blind wizard given the chance to see again after a freak accident, but you cannot remember how you did it. Research to re-create your magic and uncover the unknowns. You have a castle full of puzzles, recipes, and ingredients at your disposal.
This would look great as an overlay for spells where the ascii character textures are wizardy-looking glyphs. Kind of like a particle system, but in a way that naturally reacts to the brightness of individual parts of the spell effect because it’s a shader
@@Yusef28 Ya, especially if you used a custom font to replace all the standard ASCII characters with something mystic looking. Even katakana of Norse runes would get you most of the way there.
One thing I'd love to see tried with this, is to have one video encoded to the ASCII shader, but then have a separate video encoded to the motion, so the orginal video is being distorted in the shape of the second video.
@@Nedddo Damn, that would be cool, especially if not only were edges effectively static, but if they acted as a boundary to the motion of the other characters. Suddenly, every object is a container filled with, and surrounded by swirling fluids lol
This is great. Since you have some characters growing and shrinking, I imagine if you combined it with the ID effect you could have the name of the object repeated over the whole area of the object, with simply the size of each character (or maybe a specific variation of each character) to accurately represent the luminance. So a wall would just be a repeating texture of the word "wall", and characters would be grown or shrunk to represent luminance.
I love that all these things popped into your brain after a new idea occurred to you. It's one of the best feelings. Like the whole world just got bigger. I think people would definitely be interested in using this effect in some way or another. Coming from a filmmaking background, I couldn't help but draw this comparison: If the ASCII characters are allowed to change symbols as they move around (and they move around fast enough), you can effectively get more resolving power. Film in movies works this way. A single film frame is not very sharp compared to the output of a modern digital camera sensor. But because each frame of film has its “pixels” (grains) randomly distributed, you get more spacial information over time.
I think it would be cool if the characters always sampled the original image directly below themselves. Then you could maybe get some of the detail back, that you lost by downscaling the image, since the moving characters can reveal the higher resolution data when moving between pixels.
That's actually a great idea. So if a character moves from one cell to neighbor it could easily sample the texture there and maybe morph into that one. Yeah that should help with detail you're right!
Yup I'm working on that. TThis time I got the final render in the right resolution but the screen recordings were automatically in the wrong one. I'll see what I can do for the next one.
The blur and movement of the characters as a depth of field effect is my favorite. It makes it look like objects are materializing as you approach them
I’d be very interested in seeing a game developed with/around the techniques and applications you’ve thought of - and the (probably) many more you would think of along the way. The shockwave visualization struck me as especially interesting.
Wow! Now that you e made it, someone is definitely going to make a game influenced by this. I can’t believe how far you’ve explored this effect. I definitely think mentioning Dwarf Fortress early gives a great perspective throughout the rest of the video. I’m not thinking about how nerdy it is, just how cool it would be to see this as a stylistic effect for a much bigger work. This is exactly what a perfect shader is! Great work
This is really neat. I think another good way to drive the motion of the characters would be using a technique similar to normal motion blur. You could create and sample a velocity texture for each frame. See: GPU Gems 3 Chapter 27 Motion Blur as a Post-Processing Effect
6:51 this effect is so sick. it reminds me of pixel sprite indie games that incorporate modern post processing filters like bloom and screen distortions. i would love to see this implemented and used in a game engine, great work dude!
I think the best uses of this effect was definitely the material id, or the depth of field effects. I think these were so impactful because it made certain details stand out from their surroundings which really help with visually parsing the scene after losing such detail in the ASCII rendering process. You might be able to expand this by either adding color by layering colored ascii characters which sample the luminance in their respective color channels. Or maybe drop the ascii entirely to look at this as a particle effect, which might make the effects you came up with clearer and let them stand on their own
this is so insane! it's very cool yet evocative, I could easily see this in some form of video art that touches on online nostalgia or the slow death of the old internet
Interesting twist on ascii shaders. But for ascii purists what would realy look like actual ascii art would be choosing characters that matches the shape of what you want to represent, not just the luminosity.
My first thought is that you could use the "wiggle" aspect to display multiple views at once. Like, you could look at person who has a hidden weapon and the "wiggle" gives you the outline.
I might not be understanding the hidden weapon mechanic you're talking about. You mean in general it will show an outline only which means you "can't see it"? Or do you mean if you can see if when it's hidden it will look like that?
@@Yusef28 you could like move letters in a way that shows the shape but it isnt in the actual characters or the font (like waves in water). this is a sorta similar idea to op saying but might be different
Really cool!!! I had a thought for a variation, what if the character changed to a new character as it randomly wandered? It could change depending on the underlying data. Perhaps do several ascii maps with offset coordinates to get higher resolution upsampling, and as the character moves towards different points on the different grids, it could shift characters, so display higher resolution data as a lower resolution character, thanks to the movement. I forget who, but another youtuber did edge detection in ascii rendering. Adding something like that so the edges are shown as the character moves would probably look amazing.
This is awesome and has so much potential. I think this sort of effect with not even just ascii but arbitrary SDFs could do some very interesting things
I think it’s amazing how much you were already able to do with it just in playing around with the idea for this 8 minute video. I definitely think it has potential for use in games. It has a way more dynamic look that Dwarf Fortress, & people play that. 😆
Wow this is so cool looking, I could definitely see this being a big inspiration for lots of different game genres. It's so cool looking it'd just draw people in to see what this different look to a game feels like to play.
That's such a cool effect! Wonderful video, thank you! To the identifier part with balls, that would be a way to work with dimensional games like 4D. The way you show the effect it looks like it translates 3D or even 4D into 2D. It could make something really unique possible. CodeParade channel might give some inspiration, I get similar vibes from your content. I might envision a platformer where the player has a special hammer that can spin the world a bit and hit enemies with the flame. And in another spot needs to do so to cross a gap.
I'm glad you liked the video! I have seen CodeParade so I know what you're talking about also and the idea of translating 4d into 2d using this ascii effect is really cool! I might do some 4d later so I'll keep this in mind for that. Your platformer idea where you can spin the world is also sick.
Hey good to see you on youtube! I'm glad you think so. I didn't have time to show as much of the materials capabilities as I would have liked so I'm glad the main idea still comes across ok.
5:12 I like this. It’s inherently gonna make far objects, which inherently already suffer in ASCII due to small size, further obscured, but that is NOT to say it’s bad. This would be a wonderful effect in like an “unclear water” setting or maybe a “foggy” setting where far objects are SUPPOSED to be obscured a bit
Cool stuff! The motion and fluidity reminds me of the 'rain-vision' from the Daredevil movie. I could see a game in which you have to make noise to see the world. The more noise you make the more ascii characters you get but they also get more agitated.
What about motion vectors? You could run some sort of optical flow from video to drive the motion of the characters. That combined with the depth of field would make a really cool effect.
The ideas in this video are insanely creative. I would love to see a game made around them, even if it’s just a glorified tech demo. Thanks for sharing!
very intriguing! i could see an implementation where the movement/scaling within the picture (optical flow?) translates to the characters moving / scaling for a subtle effect. also i could see chroma keying one color of the input to be rendered colored and the rest as grayscale. the game concept would need to fit this style though, limiting applications to something where details are not the most important thing. maybe a game where you need to rotate the camera and move some objects to arrange them in a specific way. the render params could be used to show how far away from the solution you are.
Tbh, this idea of having moving particles create the image is a neat idea in general, even without using ascii characters. You could use it like you did in this video showing distance objects or motion blur or creating special animated materials, but ot would just be drawing squares that maintain the color of the actual image behind it without the shader perhaps, or you can apply whichever other changes you want.
i love the cuts back and forth between the code, and a visual demonstration that just so happens to be this man questioning his life choices over a bottle of hot sauce
It would be interesting to see the letters moving, and especially change size, to help add more detail. So like, if you have an area with not a lot of edges/noise/whatever, then you use pretty large letters, but when you get to areas with more detail (such as faces) the characters get smaller and denser so you can dynamically get more visual information out of the shader
Oh ok this is a good idea. One other person mentioned something along these lines too with changing density. It's cool to see multiple people reach that idea on their own. I'll keep this in mind thanks!
Wow, this is a super interesting idea. My first thought for this is to use a vector field to make objects that are moving wiggle, almost like motion blur, but leave everything that isn’t moving static. I could imagine a game where the camera is mainly static like the old resident evil games using something like this
Cool effect. Another idea would be to read out the value change of the source pixel from the last frame to the next frame and control the characters move strength by that. With a falloff over time for the strength, it should leave a trail for moving objects in a more static scenery. :D
I absolutely love this shader, imagine how cool it would be if it was a 3D Material, you could have people made of ASCII that moves, that would look so cool.
Wow! Ok so you would use a 3d voronoi (27 neighborhood checks instead of 9) and then in each cell you would raymarch or raytrace a 3d extruded character. I imaging making that run efficiently would be tricky but very very cool idea!
I did something similar writing an expression in After Effects. Each pixel/cell was a precomp’d animation. The cell value was mapped to the animation’s time. So like yours there are smooth tweens between values updating. Imagine each character smoothly morphing into the next.
You could use the movement to make stuff more clear to the eye. Like the characters move a litle bit to the up, if there is something really bright, or down, if there is a really dark thing.
What if instead of all of the water and fire characters moving in relationship to the camera, they moved in relationship to the tangent plane of the surface they are rendering. That way all of the movement would follow the 3d geometry instead of the object, instead of looking like a 2d surface. That would give more information about the environment to the user. Fantastic work, this is such a cool way to see the development process of something like this, and your delivery of information is very efficient. Well done
That would be very interesting! Especially since we can fake z-axis movement with the size changes (and blur). Thanks for the feedback on my delivery also!
explaining that the neighbours to "help out" in drawing is actually genius, I remember thinking along those lines writing a shader to render a tilemap ages ago but never really being able to describe what it was doing.
1:00 the thing about the basic way to turn images into ascii is that the images just look like well not art, the only novelty is lots and lots of text characters resembling a very color banned image, i have made a better converter in python (let me know if i should release it) that what it does is instead of storing the brightness values separately it takes a 12 X 24 image of every character (doesn't only have to be ascii, limited by your font) and it compares 12x24 parts of the image with every character to see which character best represents that part of the image, it works quite well and it makes it so that the shape of the image like for a logo looks incredibly smooth since it's taking advantage of the shape of the characters and not just making a big fuzzy anti aliasing mess like with some other converters, and also with grayscale images it works with them as well! of course nothing beats ascii artists where they can be creative and like make a house where they use diagonals with slash characters and a door knob with whatever, stuff like that if you tried to do it with a generator it would not align, you would have to manually align a very specific premade image to use with the generator and at that point you should become an artist, of course there is AI and i did see one that was pretty good at that but the font width (normal ascii art is monospaced because it's easier) it was kinda wild and it was this kinda pixelated font, it doesn't have that much personality but AI with a lot of personality like chatGPT are crap, also it generates braille art sometimes which is not ascii and i and other ascii artists think braille art generators are the most lazy things ever
This is pretty cool! The material ascii shader might be useful in some kind of puzzle game where the movement and the set of characters making up a material tell you something about an objects properties. also im curious if using optical flow or motion vectors to influence the characters motion could help with clarity at lower sizes.
So a puzzle game where you have to infer what something is based about an object on the movement of the characters. Right on that's a great idea! I haven't got into motion vectors or optical flow but might have to since I keep hearing about them (at least motion vectors).
I'd be hesitant to call it ASCII because, while the characters may indeed be ASCII characters, saying "ASCII" implies some text mode thing, like a terminal or a command line. I don't think there are many, if any, terminals that can move characters around like a graphical sprite. Semantics out of the way, I think this is really cool, and I especially like the idea of applying different effects based on some ID like you showed at the end.
I think this is a very cool post-processing effect, and could be used for so much! When I see the characters moving, I immediately think of a recent video of Datamoshing by @Jam2go where he uses a velocity vector of the entire screen to move and apply effects to individual pixels. I think this could also be applied to your effect, using the velocity vector to move the individual characters and perhaps creating an interesting effect.
This is a great suggestion! There is a lot of potential with velocity and motion vectors for driving different effects. I'll put this on the list to look into further.
Using increased motion/displacement for censorship is cool. I'm thinking of games like Obra Dinn, where a face you can't identify with the given clues is presented blurry, or Watch_Dogs, where the MC hacks the city's CCTV network to blur out his face from all footage. If the game is already stylized through ASCII, that could definitely add a dimension, and your examples were quite interesting.
The final example reminds me something from a game I've played: That game is currently only in Chinese, and it utilizes the fact that Chinese characters fits well in a grid. In a part of that game, it renders a 3D scene, where the each character is based on what objects that "pixel" is, for example the doors are consist of the characters that means "door" etc.
@@Yusef28 《文字遊戲》, or in English "Word game", by Team9. Note that: 1. The said effects is only used in the "true ending" part of the game. and the majority of the game is in 2D. Think how Rougelikes on terminal look like, but now all symbols and characters are literally replaced by the words of what they represent. 2. Due to how that game works, you HAVE know Chinese to play it, and I don't think it's ever possible to be translated into languages other than Japanese, or maybe Korean. The "true ending" part of that game can be seen in this video, starts from 9:52: ruclips.net/video/sjhNX02M5FM/видео.htmlm52s
I wasn't filtering comments properly so I'm only seeing this now but wow this whole idea is awesome. Especially that you have to know the language to play. As some one who has tried to learn Chinese in the past this is so cool thank-you for sharing!
I love the way this looks. I wonder how it could change if it was unbound from the idea of an ascii shader and instead the particles could take whatever shape or opacity. Maybe they could have their own internal motion, like spinning or wiggling. I really dig how it evokes the ascii look though.
That's actually a great idea. They don't need to be ascii characters and actually in my example some weren't but there is room to get even more creative with it and yeah differerent motion for each opens up even more possibilities.
Yeah this is something that people can debate. Some might say ascii is defined by it's limitations. I guess I say, and maybe you agree here, that we can expand the definition of ascii to fit modern technology.
Looks cool. Maybe add motion to the characters based on motion vectors from your game engine? Would probably only be coherent on slow movement of certain objects within the scene as opposed to camera movement
Perhaps you could find a way to add this as a post motion blur effect on high resolution colored video, where the blur gradually turns into larger and more dispersed ascii characters. The ripple effect you did could also be a displacement map for colored video, or even break an image or video into ascii particles that have physics applied to it, such as having a 3D block that is cracking and falling down like a collapsing building, but it’s pieces turn into various ascii characters. Something else I’d find nice and interesting is if you can apply this effect volumetrically. Consider a cone of light that falls off in the distance. Instead of placing the ascii characters as 2d shapes on a 2d shape of the image, they could be rendered and move as particles in 3D space. This would make many overlap of course but the motion would make the effect visible, subtle, and the falloff make it more intense. The ability to look around the volume of ascii particles would be interesting as it would enhance the appearance of 3D space. This could then be applied in various ways to objects. The water or fire materials for example would be more believable, interactive and three dimensional. You could define specific characters and sizes of characters for the various properties of a material, for example the peaks of waves being different to the unbroken water surface being underwater, or ice having different characters in more transparent parts than places with more solid ice. Etc.
Wow these are great ideas. I especially the one about 3D. It should be possible since 3d voronoi is possible. Performance would be the tricky part. You're right though it would extend the material effect alot. I'll keep this in mind to explore.
I think the most cool/useful thing this could be turned to (at least in terms of video games) is make it work dynamically with regular pixel rendering (it's not called that but you know what I mean hopefully) for example, the damage effect thingy where you have the characters moving more erratically the more damaged something is, you could make that effect appear for a freeze frame when something is hit, or better yet, make the object slowly become more and more asci rendered rather then classically rendered the more it is damaged. Make only specific objects like that instead of pre-processing the whole scene. I am not at all a shader guy (I started to be seriously interested in it recently, still need to sit down and try to write something) but I think it could be achieved with some sort of mask? and then inverting that mask for one of the steps, so you will have parts in pixels, parts in characters hopefully with natural-esk looking overlaps. It could look like reality is breaking, straight up matrix.
Right, I think the trickiest part will be having characters overlap with parts of the scene that aren't ascii. It should be possible though esp with masking etc like you say, and it would be a really cool effect. That reality breaking matrix description gives me a super cool visual.
The material id idea is pretty clever, it reminds me of some indie games where the devs usually go nuts with their ideas because they are not trying to please an existing audience.
I'm glad you appreciate that idea! Yeah this would definitely be a project to do before anyone knows me haha or under a separate brand
Except the audience that looks for new and fresh experiences I guess
I thought at first that this defeats the purpose of ASCII rendering (since it's made deliberately to be limited and easier to draw), but I'm now convinced this is an entirely new thing. I don't think it belongs as "traditional ASCII art" but it could be an interesting art style for a game with a techie/nerd (in the best senses of those words) audience, especially given the material thing. This really inspires me, imagine what a 3D roguelike with these material properties would look like.
Yeah I can see how this would be a new thing. Maybe an ascii-art-adjacent rendering style then. I'm really glad to here it's inspiring to you especially the materials because I wasn't actually sure what people would think. For a 3D roguelike I definitely see the potential!
@@Yusef28maybe call it glyph rendering? Because it's rendering things as symbols flying around
@@Yusef28maybe call it rune-based rendering? It reminds me of the effects in a lot of media's magic systems of representing magic as runes flying around in shapes
noita's falling everything engine but made for 3D
No falling everything engine's main point is not rendering. It's main point is to handle physics well. Not to render in a certain style. @@VistaGrooves
The amount of applications this has all starting from "what if Ascii but move?" is wicked cool! Super inspiring!
Thanks that's great to hear!
the depth of field effect using character motion was so damn cool!!
Thanks I'm glad you can appreciate it!
I can see this working well with some sort of a strange fantasy magic experimentation game.
You are a blind wizard given the chance to see again after a freak accident, but you cannot remember how you did it. Research to re-create your magic and uncover the unknowns. You have a castle full of puzzles, recipes, and ingredients at your disposal.
Oh good call I can see that too. This sort of effect lends itself well to magical and mystical themes.
Good idea, man!
This would look great as an overlay for spells where the ascii character textures are wizardy-looking glyphs. Kind of like a particle system, but in a way that naturally reacts to the brightness of individual parts of the spell effect because it’s a shader
@@Yusef28 Ya, especially if you used a custom font to replace all the standard ASCII characters with something mystic looking. Even katakana of Norse runes would get you most of the way there.
finally a programming youtuber who doesn't mess around
Glad to hear it!
One thing I'd love to see tried with this, is to have one video encoded to the ASCII shader, but then have a separate video encoded to the motion, so the orginal video is being distorted in the shape of the second video.
This is a very interesting idea!
OOOOH the depth of field was such a great idea.
Thanks, I'm glad the idea came through well despite the compression!
We should show this to @Acerola🤩
Sure, Acerola can add edges to it👌
@@Yusef28 edges being still would be a neat effect I think
I saw the title and assumed it was one of his videos, NGL lol
@@Nedddo Damn, that would be cool, especially if not only were edges effectively static, but if they acted as a boundary to the motion of the other characters.
Suddenly, every object is a container filled with, and surrounded by swirling fluids lol
@@Nevir202I don't think this would be easy to do/possible because how far would you have to check to ensure that characters don't cross a boundary
In terms of games, this would look really look for an enemy, especially if you make the ascii characters move when they got shot or hit
This is great. Since you have some characters growing and shrinking, I imagine if you combined it with the ID effect you could have the name of the object repeated over the whole area of the object, with simply the size of each character (or maybe a specific variation of each character) to accurately represent the luminance. So a wall would just be a repeating texture of the word "wall", and characters would be grown or shrunk to represent luminance.
I can see the video title now: “Making a WordWorld shader”
Yup this is a really cool idea!
Cool! We need a bad apple version.
That's a good idea I'm just not sure I can right now
FR
I love that all these things popped into your brain after a new idea occurred to you. It's one of the best feelings. Like the whole world just got bigger. I think people would definitely be interested in using this effect in some way or another.
Coming from a filmmaking background, I couldn't help but draw this comparison: If the ASCII characters are allowed to change symbols as they move around (and they move around fast enough), you can effectively get more resolving power. Film in movies works this way. A single film frame is not very sharp compared to the output of a modern digital camera sensor. But because each frame of film has its “pixels” (grains) randomly distributed, you get more spacial information over time.
Oh that's really interesting about getting more resolving power!
the depth of field example is SOOOO cool
The fire/water/rock example is super cool! Love the mixing of effects there, it brings a lot of life to the scene
I think it would be cool if the characters always sampled the original image directly below themselves. Then you could maybe get some of the detail back, that you lost by downscaling the image, since the moving characters can reveal the higher resolution data when moving between pixels.
That's actually a great idea. So if a character moves from one cell to neighbor it could easily sample the texture there and maybe morph into that one. Yeah that should help with detail you're right!
This is pleasing all my neurons trained on cyberpunk memes.
Oh Excellent!
love the idea, RUclips compression might like it more if it wasn't in 720p, no worries though!
Yup I'm working on that. TThis time I got the final render in the right resolution but the screen recordings were automatically in the wrong one. I'll see what I can do for the next one.
The blur and movement of the characters as a depth of field effect is my favorite. It makes it look like objects are materializing as you approach them
I’d be very interested in seeing a game developed with/around the techniques and applications you’ve thought of - and the (probably) many more you would think of along the way.
The shockwave visualization struck me as especially interesting.
Well I'd love to see a game based on this. I have nothing planned yet but maybe at some point. I'm glad to hear someone is diggng the shockwave!
This is very impressive tbh, would gi crazy as an album cover
Wow! Now that you e made it, someone is definitely going to make a game influenced by this. I can’t believe how far you’ve explored this effect. I definitely think mentioning Dwarf Fortress early gives a great perspective throughout the rest of the video. I’m not thinking about how nerdy it is, just how cool it would be to see this as a stylistic effect for a much bigger work. This is exactly what a perfect shader is! Great work
It would be so cool to see a game based on this effect! Also thanks for the feedback on how mentioning dwarf fortress helps give perspective!
This is really neat. I think another good way to drive the motion of the characters would be using a technique similar to normal motion blur. You could create and sample a velocity texture for each frame. See: GPU Gems 3 Chapter 27 Motion Blur as a Post-Processing Effect
Thanks for this idea I will check it out!
i think this is a really cool concept with a lot of potential, gonna be alot of fun to see where it goes from here
6:51 this effect is so sick. it reminds me of pixel sprite indie games that incorporate modern post processing filters like bloom and screen distortions. i would love to see this implemented and used in a game engine, great work dude!
Glad you think so! And me too a game engine using this would be awesome!
I think the best uses of this effect was definitely the material id, or the depth of field effects. I think these were so impactful because it made certain details stand out from their surroundings which really help with visually parsing the scene after losing such detail in the ASCII rendering process.
You might be able to expand this by either adding color by layering colored ascii characters which sample the luminance in their respective color channels. Or maybe drop the ascii entirely to look at this as a particle effect, which might make the effects you came up with clearer and let them stand on their own
Good suggestions, and glad to hear you think it helps with visual parsing!
This is insane!
Major props to you!
this is so insane! it's very cool yet evocative, I could easily see this in some form of video art that touches on online nostalgia or the slow death of the old internet
Oh cool yeah I get that! Old internet with falling sand games so the video can use that effect to show it decay somehow. That's super neat!
The effect you show with the orbs near the end is so pretty!
that is absolutely amazing! 😍i love your idea of using it as a ripple effect in a game world too. excellent work!
Thanks, The ripple effect is one of my favourites!
Very cool! I love how you took an already creative idea and just shared your exploration process. I'm glad the algorithm brought this video to me :)
Interesting twist on ascii shaders. But for ascii purists what would realy look like actual ascii art would be choosing characters that matches the shape of what you want to represent, not just the luminosity.
Fair enough, and that could further enhance the material technique I talk about at the end.
absolutely awesome video! i was on the edge of my seat the whole time and no second was wasted or exaggerated. thanks for making this :)
This is great to hear, thanks for the feedback!
My first thought is that you could use the "wiggle" aspect to display multiple views at once.
Like, you could look at person who has a hidden weapon and the "wiggle" gives you the outline.
I might not be understanding the hidden weapon mechanic you're talking about. You mean in general it will show an outline only which means you "can't see it"? Or do you mean if you can see if when it's hidden it will look like that?
@@Yusef28 you could like move letters in a way that shows the shape but it isnt in the actual characters or the font (like waves in water). this is a sorta similar idea to op saying but might be different
This is really awesome work! Feels like there's heaps of potential here.
This is really cool, good job dude!
This is incredibly cool. There's so much potential shown here. Great work!
Really cool!!! I had a thought for a variation, what if the character changed to a new character as it randomly wandered? It could change depending on the underlying data. Perhaps do several ascii maps with offset coordinates to get higher resolution upsampling, and as the character moves towards different points on the different grids, it could shift characters, so display higher resolution data as a lower resolution character, thanks to the movement. I forget who, but another youtuber did edge detection in ascii rendering. Adding something like that so the edges are shown as the character moves would probably look amazing.
I like this idea especially how it could help show edges. That might have been Acerola's ascii renderer you are talking about.
This is awesome and has so much potential. I think this sort of effect with not even just ascii but arbitrary SDFs could do some very interesting things
This is super cool, looks amazing. I can see this being used for a games particle effects etc
my favourite thing is the shockwave effect, it really looks like some sorta of already existing game, i love it!
I think it’s amazing how much you were already able to do with it just in playing around with the idea for this 8 minute video. I definitely think it has potential for use in games. It has a way more dynamic look that Dwarf Fortress, & people play that. 😆
Thanks, and haha good point about dwarf fortress!
Wow this is so cool looking, I could definitely see this being a big inspiration for lots of different game genres. It's so cool looking it'd just draw people in to see what this different look to a game feels like to play.
Great point about it drawing people in, I agree!
great work, keep experimenting and finding fun and interesting paths to explore, thanks for sharing ☺
That's such a cool effect! Wonderful video, thank you!
To the identifier part with balls, that would be a way to work with dimensional games like 4D. The way you show the effect it looks like it translates 3D or even 4D into 2D. It could make something really unique possible. CodeParade channel might give some inspiration, I get similar vibes from your content.
I might envision a platformer where the player has a special hammer that can spin the world a bit and hit enemies with the flame. And in another spot needs to do so to cross a gap.
I'm glad you liked the video! I have seen CodeParade so I know what you're talking about also and the idea of translating 4d into 2d using this ascii effect is really cool! I might do some 4d later so I'll keep this in mind for that. Your platformer idea where you can spin the world is also sick.
This is a fun idea. I really liked the different animations on the different materials 🙂
Hey good to see you on youtube! I'm glad you think so. I didn't have time to show as much of the materials capabilities as I would have liked so I'm glad the main idea still comes across ok.
It definitely can't add as much detail as it removes. But it certainly adds interesting and new details! This is pretty cool!
5:12 I like this. It’s inherently gonna make far objects, which inherently already suffer in ASCII due to small size, further obscured, but that is NOT to say it’s bad. This would be a wonderful effect in like an “unclear water” setting or maybe a “foggy” setting where far objects are SUPPOSED to be obscured a bit
Agreed!
I love the idea of using this as a censor or an overlay. Really sick!
Cool stuff! The motion and fluidity reminds me of the 'rain-vision' from the Daredevil movie. I could see a game in which you have to make noise to see the world. The more noise you make the more ascii characters you get but they also get more agitated.
That's a great idea!
Legitimately the coolest thing I've seen all week
Glad to hear it!
What about motion vectors?
You could run some sort of optical flow from video to drive the motion of the characters. That combined with the depth of field would make a really cool effect.
I keep hearing about motion vectors so I will look into it!
This guys voice is S tier asmr
Well thanks, this is good feedback!
The ideas in this video are insanely creative. I would love to see a game made around them, even if it’s just a glorified tech demo. Thanks for sharing!
Thanks for the feedback! I would also like to see a game made around them.
very intriguing! i could see an implementation where the movement/scaling within the picture (optical flow?) translates to the characters moving / scaling for a subtle effect. also i could see chroma keying one color of the input to be rendered colored and the rest as grayscale. the game concept would need to fit this style though, limiting applications to something where details are not the most important thing. maybe a game where you need to rotate the camera and move some objects to arrange them in a specific way. the render params could be used to show how far away from the solution you are.
Tbh, this idea of having moving particles create the image is a neat idea in general, even without using ascii characters. You could use it like you did in this video showing distance objects or motion blur or creating special animated materials, but ot would just be drawing squares that maintain the color of the actual image behind it without the shader perhaps, or you can apply whichever other changes you want.
This is a good point! There is potential for this outside of ascii.
youtube 720p bitrate is so horrendous, ruins your cool effects
It's rough for sure, I'll see about rendering higher res videos when I have the computing power and time.
i love the cuts back and forth between the code, and a visual demonstration that just so happens to be this man questioning his life choices over a bottle of hot sauce
Haha you nailed it I was definitely questioning things after the hot sauce
This is really cool! Looks damn satisfying
It would be interesting to see the letters moving, and especially change size, to help add more detail. So like, if you have an area with not a lot of edges/noise/whatever, then you use pretty large letters, but when you get to areas with more detail (such as faces) the characters get smaller and denser so you can dynamically get more visual information out of the shader
Oh ok this is a good idea. One other person mentioned something along these lines too with changing density. It's cool to see multiple people reach that idea on their own. I'll keep this in mind thanks!
Wow, this is a super interesting idea. My first thought for this is to use a vector field to make objects that are moving wiggle, almost like motion blur, but leave everything that isn’t moving static.
I could imagine a game where the camera is mainly static like the old resident evil games using something like this
I like this idea about a vector field! Very interesting idea using this with those fixed camere games also.
Cool effect. Another idea would be to read out the value change of the source pixel from the last frame to the next frame and control the characters move strength by that. With a falloff over time for the strength, it should leave a trail for moving objects in a more static scenery. :D
This is an awesome idea I'll experiment with it when I have time.
Dude, I would love to see a game in this style. Kudos!
This would go absolutely nuts as a censoring effect, you’re right. All of these are so visually interesting, especially that material id bit.
I'm glad you think so!
would love a game with this style.. has so much possibilities for cool gameplay too.
This is beautiful. I always wonder the amount of detail that could be added by adding more characters for more levels of brightness.
This is very fun and impressive, I wanna see more!
Wery cool effect, thanks for the content! Would like to see more your videos in the future 😁
No problem and you got it!
I absolutely love this shader, imagine how cool it would be if it was a 3D Material, you could have people made of ASCII that moves, that would look so cool.
Wow! Ok so you would use a 3d voronoi (27 neighborhood checks instead of 9) and then in each cell you would raymarch or raytrace a 3d extruded character. I imaging making that run efficiently would be tricky but very very cool idea!
wild. Hope to see more of this. I would love this on some Hotline miami kind of game with explosions and crazy colors.
I haven't heard of Hotel Miami, definitely explosions though and vibrant colors would be wicked!
@@Yusef28 My dumbass meant hotline
This is incredible and super creative; I'll have to try implementing this one day :)
Thanks and awesome I'm sure you'll be able to make something even better!
I did something similar writing an expression in After Effects. Each pixel/cell was a precomp’d animation. The cell value was mapped to the animation’s time. So like yours there are smooth tweens between values updating. Imagine each character smoothly morphing into the next.
That sounds sweet, I need to look into after effects!
You could use the movement to make stuff more clear to the eye. Like the characters move a litle bit to the up, if there is something really bright, or down, if there is a really dark thing.
What if instead of all of the water and fire characters moving in relationship to the camera, they moved in relationship to the tangent plane of the surface they are rendering. That way all of the movement would follow the 3d geometry instead of the object, instead of looking like a 2d surface. That would give more information about the environment to the user.
Fantastic work, this is such a cool way to see the development process of something like this, and your delivery of information is very efficient. Well done
That would be very interesting! Especially since we can fake z-axis movement with the size changes (and blur). Thanks for the feedback on my delivery also!
explaining that the neighbours to "help out" in drawing is actually genius, I remember thinking along those lines writing a shader to render a tilemap ages ago but never really being able to describe what it was doing.
Thanks this is great feedback, I'm really trying to make sure everything is clear and also concise!
@@Yusef28 Well you're doing a great job, keep it up!
Super cool! Some of this reminded me of Neuromancer and how I thought it may have looked.
I haven't heard of neuromancer until now but apparently it's one of the earliest cyberpunk works? It looks like a really good novel.
1:00 the thing about the basic way to turn images into ascii is that the images just look like well not art, the only novelty is lots and lots of text characters resembling a very color banned image, i have made a better converter in python (let me know if i should release it) that what it does is instead of storing the brightness values separately it takes a 12 X 24 image of every character (doesn't only have to be ascii, limited by your font) and it compares 12x24 parts of the image with every character to see which character best represents that part of the image, it works quite well and it makes it so that the shape of the image like for a logo looks incredibly smooth since it's taking advantage of the shape of the characters and not just making a big fuzzy anti aliasing mess like with some other converters, and also with grayscale images it works with them as well!
of course nothing beats ascii artists where they can be creative and like make a house where they use diagonals with slash characters and a door knob with whatever, stuff like that if you tried to do it with a generator it would not align, you would have to manually align a very specific premade image to use with the generator and at that point you should become an artist, of course there is AI and i did see one that was pretty good at that but the font width (normal ascii art is monospaced because it's easier) it was kinda wild and it was this kinda pixelated font, it doesn't have that much personality but AI with a lot of personality like chatGPT are crap, also it generates braille art sometimes which is not ascii and i and other ascii artists think braille art generators are the most lazy things ever
This is pretty cool! The material ascii shader might be useful in some kind of puzzle game where the movement and the set of characters making up a material tell you something about an objects properties. also im curious if using optical flow or motion vectors to influence the characters motion could help with clarity at lower sizes.
So a puzzle game where you have to infer what something is based about an object on the movement of the characters. Right on that's a great idea! I haven't got into motion vectors or optical flow but might have to since I keep hearing about them (at least motion vectors).
This is so innovative thank you for sharing!!!
I'd be hesitant to call it ASCII because, while the characters may indeed be ASCII characters, saying "ASCII" implies some text mode thing, like a terminal or a command line. I don't think there are many, if any, terminals that can move characters around like a graphical sprite. Semantics out of the way, I think this is really cool, and I especially like the idea of applying different effects based on some ID like you showed at the end.
This is gorgeous!
This looks super cool!
YOOOO THIS IS INCREDIBLE
I think this is a very cool post-processing effect, and could be used for so much! When I see the characters moving, I immediately think of a recent video of Datamoshing by @Jam2go where he uses a velocity vector of the entire screen to move and apply effects to individual pixels. I think this could also be applied to your effect, using the velocity vector to move the individual characters and perhaps creating an interesting effect.
This is a great suggestion! There is a lot of potential with velocity and motion vectors for driving different effects. I'll put this on the list to look into further.
this is very cool. this was a great idea!
Using increased motion/displacement for censorship is cool. I'm thinking of games like Obra Dinn, where a face you can't identify with the given clues is presented blurry, or Watch_Dogs, where the MC hacks the city's CCTV network to blur out his face from all footage. If the game is already stylized through ASCII, that could definitely add a dimension, and your examples were quite interesting.
Right on and thanks for the examples of games that actually use censorship as a main element! I couldn't think of any games that did that.
The final example reminds me something from a game I've played:
That game is currently only in Chinese, and it utilizes the fact that Chinese characters fits well in a grid. In a part of that game, it renders a 3D scene, where the each character is based on what objects that "pixel" is, for example the doors are consist of the characters that means "door" etc.
Cool! Could you share the name of this game?
@@Yusef28
《文字遊戲》, or in English "Word game", by Team9. Note that:
1. The said effects is only used in the "true ending" part of the game. and the majority of the game is in 2D. Think how Rougelikes on terminal look like, but now all symbols and characters are literally replaced by the words of what they represent.
2. Due to how that game works, you HAVE know Chinese to play it, and I don't think it's ever possible to be translated into languages other than Japanese, or maybe Korean.
The "true ending" part of that game can be seen in this video, starts from 9:52:
ruclips.net/video/sjhNX02M5FM/видео.htmlm52s
I wasn't filtering comments properly so I'm only seeing this now but wow this whole idea is awesome. Especially that you have to know the language to play. As some one who has tried to learn Chinese in the past this is so cool thank-you for sharing!
Very impressive. Great work!
I'm glad you think so!
Love it, super creative!
I love the way this looks. I wonder how it could change if it was unbound from the idea of an ascii shader and instead the particles could take whatever shape or opacity. Maybe they could have their own internal motion, like spinning or wiggling.
I really dig how it evokes the ascii look though.
That's actually a great idea. They don't need to be ascii characters and actually in my example some weren't but there is room to get even more creative with it and yeah differerent motion for each opens up even more possibilities.
My first thought was "but that doesn't work on a raster character terminal" and then I realized that was 30 years ago.
Yeah this is something that people can debate. Some might say ascii is defined by it's limitations. I guess I say, and maybe you agree here, that we can expand the definition of ascii to fit modern technology.
Freakin sweet! Thanks for sharing. Great video
Looks cool. Maybe add motion to the characters based on motion vectors from your game engine? Would probably only be coherent on slow movement of certain objects within the scene as opposed to camera movement
I think this is really neat
This is very cool, man
This definitely looks cool
Perhaps you could find a way to add this as a post motion blur effect on high resolution colored video, where the blur gradually turns into larger and more dispersed ascii characters.
The ripple effect you did could also be a displacement map for colored video, or even break an image or video into ascii particles that have physics applied to it, such as having a 3D block that is cracking and falling down like a collapsing building, but it’s pieces turn into various ascii characters.
Something else I’d find nice and interesting is if you can apply this effect volumetrically. Consider a cone of light that falls off in the distance. Instead of placing the ascii characters as 2d shapes on a 2d shape of the image, they could be rendered and move as particles in 3D space. This would make many overlap of course but the motion would make the effect visible, subtle, and the falloff make it more intense. The ability to look around the volume of ascii particles would be interesting as it would enhance the appearance of 3D space. This could then be applied in various ways to objects. The water or fire materials for example would be more believable, interactive and three dimensional. You could define specific characters and sizes of characters for the various properties of a material, for example the peaks of waves being different to the unbroken water surface being underwater, or ice having different characters in more transparent parts than places with more solid ice. Etc.
Wow these are great ideas. I especially the one about 3D. It should be possible since 3d voronoi is possible. Performance would be the tricky part. You're right though it would extend the material effect alot. I'll keep this in mind to explore.
This is really cool !! ideal for destroying youtube's bitrate too, lol
Super cool project!
I think the most cool/useful thing this could be turned to (at least in terms of video games) is make it work dynamically with regular pixel rendering (it's not called that but you know what I mean hopefully) for example, the damage effect thingy where you have the characters moving more erratically the more damaged something is, you could make that effect appear for a freeze frame when something is hit, or better yet, make the object slowly become more and more asci rendered rather then classically rendered the more it is damaged. Make only specific objects like that instead of pre-processing the whole scene.
I am not at all a shader guy (I started to be seriously interested in it recently, still need to sit down and try to write something) but I think it could be achieved with some sort of mask? and then inverting that mask for one of the steps, so you will have parts in pixels, parts in characters hopefully with natural-esk looking overlaps. It could look like reality is breaking, straight up matrix.
Right, I think the trickiest part will be having characters overlap with parts of the scene that aren't ascii. It should be possible though esp with masking etc like you say, and it would be a really cool effect. That reality breaking matrix description gives me a super cool visual.