I agree. I see the "challenge" to be to make something cool, to learn something, and to have fun. *thats* the challenge. Not something to beat necessarily
@@pvic6959 that's very very true and i see that's the idea of the game jams, and it's to learn new things and have fun and make teams, make new friends and learn how to work in teams, the game jam is like a challenge to me so i love it, and love the best programming teacher ever MR Daniel Shiffman ❣️, love you all guys ♥️.
I wrote something like this for Uni a year ago in C++. I don't know if I'm mad I didn't use JavaScript or not, but the experience was certainly interesting with C++
I did an very very basic ASCII video filter like a month ago. I could just play the video on an html page and I would just display a code section animated to see the video in ASCII. It could be nice to improve it. If y'all are interested you could just fork my project and make a PR (it's super basic tho, I think it's a static modems project)
The amount of effort for your off-the-cuff alternate ideas that you then have to fully code so your editor can splice them in for 2.5 seconds. Don't think it's lost on us. It's an incredible amount of extra work per video. You are a legend, sir!
i love how simple of a concept this is. i remember back in the 2000's and a lot of websites did this to images and i thought it was simply magic. so cool to see real time video being rendered at the browser with ASCII, just amazing
in 90s there was something called aalib, you could pump anything through it and see videos, demos, games... whatever on ascii terminal the idea is like 30 years late but even this is not true as algorithms doing such things existed probably a few decades earlier. aalib could use also 16 colors, different type of charsets and so on, and so on.
6 odd years ago I watched my first coding train video. It was something about star generation like travelling in hyperspace. Now I’m about to finish my degree in computer science. I’m researching testing methods for random number generation, comparing pseudorandom to radiation random. You inspired me all those years ago, thanks
your style of teaching really resonates with me, and im about 10 years into a professional coding career where coding has often become mundane and unimaginative. I found myself excited again about the possibilities. thank you for sharing with us!
When I was 6 years old, it was 1996. and I was with my kindergarten on a school trip. Back then, there weren't PCs available on location, only old FAX telephones. And while we were talking on a shared phone my mom sent me an image of her converted to ASCII via fax. I was really really proud that I've got a picture of her while all kids were just talking with their parents on a phone.
@@TheCodingTrain I was going to suggest doing this but remove the innards so your left with just the outlines similar to the old ASCII art days. _____ ___ |[]|_n__n_I_c |___||______|____} O-O--O-O+++--O-O
@@nzhook That's a great idea too, though my brain is upset at the phrasing "remove the innards" xD I mean, I understand what you mean, but that sounds so... visceral.
try using a log base 2 function to convert the pixel range from 255 to an 8 scale. Then get the image derivative by using a two pointer technique to subtract the previous pixel from the current pixel!
Messed around with some of the ascii shading characters and found that ' .:░▒▓█' this combo works great for the "density" const. Loved this video and your content is always great!
@@marcopeterson805 These characters exists from looooooooooong ago, they are original from ASCII extended. ALTGR +176, ALTGR+177,ALTGR+178, and ALTGR+219
Daniel your channel has become really amazing in these years. Your immense energy and positivity are still the same!!! That's why you're the best. Keep up the outstanding job.
I remember ertdfgcvb from the website they had in the mid-2000s, showcasing all sorts of Flash-based art which I loved as a kid. (fun fact: ertdfgcvb is not just a random jumble of letters, it's forming a parallelogram on a keyboard!)
i know nothing about coding, I have no idea how I even ended up here. I also don't even own a computer. But I was fascinated by this video and watched it twice. i have no idea where I should start watching your channel but you've a subscriber in me.
Keep "Coding Challenge". That name has worked well for six years! But ditch the clock. The challenge for you is to explain the coding process so that others can understand it, and you shouldn't feel rushed. The challenge for Coding Train passengers is to make (and hopefully share) our own variants.
MAN I got so ecstatic when I saw you. I loved your videos as a child but drowned in demotivation and stopped watching coding videos so this is refreshing and blissful! I'm now majoring in Computer Engineering!!
This brings back memories of when I used to code. Hours spent writing code, debugging, test running, all to find that someone else had made the same program that ran 1000x faster and smoother than what I had made.
Trying to render 3D objects ASCII-style would be pretty cool. Replicating Andy Sloane's spinning donut using JS would be an interesting coding challenge.
You can use pretty much the same code as in this video, just replace the camera input with your favoured method of capturing 3D objects. Either through rendering it to video, a series of stills or P5's built-in loadModel to load the .obj file directly (don't forget to switch it back to using Canvas and setting your canvas to WebGL if you use the latter).
I vote keeping the name as is. I see the "challenge" to be to make something cool, to learn something, and to have fun. *thats* the challenge. Not something to beat necessarily
@@TheCodingTrain No problem! You have brought me joy, entertainment, and learning for many years at this point! I share your channel with ANYONE who asks me about coding haha. Im glad I could give back a little bit :)
I vote for keeping it as "Coding Challenge". Something I've always appreciated about your channel is that you don't hide the struggle of getting something working. Many other channels edit out all the mistakes. I think downplaying the challenge can negatively affect a new programmer's confidence.
One thing you could do to improve this is to improve the string storing the brightest to darkest characters so that the progression is more linear, rather than just random. Then it would line up with the linear nature of the algorithm which assigns the brightness of a pixel to the character in the string
Is anyone else here implementing this code on vintage computers, PRE 1985? This is why I am here, and I thank you so much @The Coding Train for your fantastic video and energy!
You could do something like "Coding Voyage"?! Voyage evokes a sense of exploration and adventure which is in tune with your theme, even if it is historically used for nautical expeditions and not train trips lol. Great video as always!
Is it me or is the production value of this video just off the charts? It’s been a while since I’ve seen a coding train video and I’m pleasantly surprised
Apologize as I am a newbie. Is it possible to uninstall the library that we install? Suppose I install library A and suddenly I found that library B is way better. I wonder if I could uninstall library A. Your answer is appreciated.
I just started coding a few weeks ago and your tutorials are sooo good and really fun! I love your humor and energy, it just makes coding fun and exciting instead of intimidating and scary
Another great tutorial and coding challenge, I love watching these! I developed an image reader as my first year college co-op project with a company called ProGraph, and used the 'fixedsys' font to dump each image format to ASCII, as a test. FixedSys is a mono-spaced raster font, so you can count the actual pixels in each character to determine how much 'value' the character has based on the number pixels in the area that are white, and express it as a value from 0 (black, no pixels are white) to 255 (white, all pixels are white). You can quickly fill an array with 0 through 255 'values' that recreate black to white transitional brightness and do exactly what you did using the generated string of each 'pixel' pulled from the 'value' array.
Instead of using a non-breaking space you should use the presentation element, , this will preserve whitespace without adding the non-breaking part of nbsp.
I watch a p5.js video about making a ball bounce like 4/5 years ago. Today I am a IT-manage and Full Stack, with PHP and JS as my natives. This guy sparked something in me!
Really nice to see more of this format again, loved the original challenges and they are what got me hooked in the first place. Change is good though, and while I like the Coding Challenge name, they are more like journeys as you say. Confirmation bias at work I’m sure, but I really do like the name Coding Journey. Implicit in that name is the arrival at a destination, but Coding Destination doesn’t quite have the same ring. Besides, quite often it’s not the end result that matters, but more about how you get there. Coding Trip Coding Ride Coding Expedition Nah, I prefer Coding Journey, then you could title videos like “Coding Journey to ASCII town”, lol
you've inspired me to make my own processing style framework in C#! since i've started watching you i've grown quite a bit as a programmer, thank you for that! keep coding challenge!
As an alternative to replacing all of the spaces with nonbreaking space entities, you could set `white-space: pre;` in the CSS file, which would make all spaces render normally.
That’s exactly how I do it in the ASCII playground. The performance is really good (60FPS in fullscreen) until color is added (single chars wrapped in spans).
@@kirkanos771 I wrote an optional canvas renderer as well and it's faster but not by much, tbh. I finally also added a WebGL renderer which obviously is smooth no matter the amount of characters to display. But the point for me is to output text as “text“ - and not to render it on a pixel canvas.
your magic is to make watch me these 22 minutes even if I am not a coder or developer, to enjoy me, and to make me feel like I understand and I can do it by myself:)
Dude, I love your videos! They are awesome! Also, I love your energy and your coding skills. OK, back to the topic!!! ASCII images are my favorite thing to do. I put that s#!t everywhere... Nothing better than a funny ASCII image after finishing a build or running a command! It makes things kinda starwarsy and leget!!! And let's not forget, these silly images boosts team morale (since we can't pay them more, why not I give them some ASCII images treats instead)? LOL, JK... They get paid enough... Anyway, keep on rocking man! I will put an ASCII images of you in my code as an easter egg (I do that from time to time in harmless code, like build scripts and such)
My favorite videos of you are the ones where you try something new without a completely set up plan. It shows your true character and are the most entertaining for me. The chaos is part of the deal ;)
I’d love to see you create a script that detects the resolution of an input image/video and then fits that to a hilbert curve. It’s a much more efficient data structure
I suggest "Coding Train Trip". A small trip down to a specific topic, similar to a one day trip, that usually has a time restraint. But let's be honest, you always stretch past the planned time window. So perfectly fitting.
fun fact: i did ASCII art with a tutorial in blender using nodes (those who know about blender understand) and from that i made a donut with lighting adjustment and rotation. so i kinda understand the logic at first but idk the syntax or the code so i didnt make it the tutorial is from default cube
Great video! I've been inspired to get back into programming from your channel. Just one question.. How do I achieve your level of energy and enthusiasm?
Should totally be Coding Collaborations.... cause the challenges so far haven't been "go away and code the same thing" it's been "go away and improve on my thing" .... to that end including going through other people's additions to your code (or even each other's code) would be amazing videos/followups for a second channel
I've been there for some of that (you even looked at my raytracing.... which I still need to work on) but I think they could be their own videos even going back to the earliest submissions Code diving random code is kinda vital for all coders teaching that would be great not just "cool effect" but "how does that work" kinda things Also I'm thinking about Steve Shives and his "not actually trek actually" videos where he puts in "even less effort" and does comment response stuff, doing that with code could be very interesting, it could be a lot less work to create that content but you probably can't do it with just any or every submission diving into some though would be great and drive people to the old challenges again
that density array seems wrong. There are bright characters at one end, and dark characters at the other, but in the middle it's just all the numbers in numerical order which I highly doubt is also the order of density.
I love this guy! Not as much as Tom MacDonald and Adam Calhoun love each other but there is still time... Thank you Dan for all the years of knowledge and happiness you bring into this world! Keep up the great work!
The word 'coddiwomple' is such a delight: "To travel purposefully towards a vague destination". It suggest exploration and discovery. It allows to wander, to make mistakes and change your route as you please. For fun, make it 'Codiwomple', one 'd'. I'd like to see you codiwompling, you codiwompler. And after you have codiwompled, I'll have some fun codiwompling myself!
Wow! The most incredible thing in this video is our capacity to see an image in this mess of characters kkkkkkk when you are stop, I cant see your glass, but when you move the head, to front and back, i can see perfectly a glass on your face! This is incredible in so many levels kkkkkk What a lucky to discover this channel! Hello from Brazil!
Dude, if you haven't been on Sesame Street yet? It's a crying shame. You remind me, of that, and Mr. Rogers. Best memories of my childhood. You, are a natural and I'm convinced you could make ANYTHING fun. Good vibes, good times. Thanks!
Def keep it 'Coding Challenge'. One can strive to overcome something and be collaborative/explorative - they are not mutually exclusive. Overcoming a challenge and growing as a result is a-OK in my books.
I think keeping 'Coding Challenge' is better. A challenge is different from everyone, to each their meaning and I love that. I would however make the case for removing the timer. :) Thank you for everything as always.
used to watch you for my new media arts class. i love how youre so enthusiastic! will continue keeping up with the stuff you post really appreciate what you do
A linear array of characters by density (brightness/darkness) is ok, but you can get much better pictures by doing sub-pixel rendering taking into account the shape of the character glyphs. One simple way to do this is to split each character into a 3x3 grid and matching the brightness of each sub-character so a diagonal line would match well with the forward slash: [0,0,255][0,255,0][255,0,0]
I think a Coding Challenge is appropriate . after all we are challenging ourselves to understand the world of coding, pushing to the next level. just my opinion
Brilliant. Just brilliant. Imagine if this was the only way to see people move due to hardware limitations. It would save a lot of space as it would use less variables but would get the same point across. It's like photomosaics.
I've found that in the past what is fun to do is write all of this in python. I don't use Processing at all, and I've watched a couple of your videos and written them in Python. The concepts is what I needed to understand, once that was done the code was pretty easy. Thanks for sharing this, and keep it "Coding Challenge" please.
I laughed my pants off watching this and learned a lot from it. I'm learning myself Python right now and got stuck in interesting projects. This one was great!
To me, the challenge of beating the clock gets me hooked every time! You already have slower and calmer videos, which are part of your "tutorials". I would keep the challenges :)
I absolutely love your videos. You taught me how to code by actually giving me examples and problems to solve and everything. I just really appreciate your content. Keep on inspiring :D