I always find it fascinating to see the constraints that artists work under and how this effects their work. One thing none artists probably don't know is that a large part of traditional artist training is doing exercises under artificially constrained conditions in order to improve technique (source - I originally trained as a painter - 3 years vocational art and design qualification and 3 year degree). For example you might be given a continual line assignment (draw an entire picture without taking your pen off the paper), or to do life drawings without taking your eyes off the subject (so no looking at what you're drawing). These exercises are the equivalent of doing "scales" For musicians. They're largely boring, and often frustrating but dedicating time to them and doing them consistently over the course of years pays off. Early pixel art is amazing to me because there are so many constraints - in the tools (seriously drawing with joysticks!), the color pallets, the limited resomution and the exploiting of rendering and display artificats. Anyway, just some random thoughts.
Constraints are not used just for developing technique, but they also have an unintuitive effect -- boost creativity.
Think of how hard it is to start writing an essay on "any topic you like" versus a more specific, constrained one e.g., "about the influence of art on science in 16th century".
Something interesting happens when a creative person is constrained by the medium (e.g. limited number of pixels and colours) or by other factors (e.g. limited budget, time, access to instruments, CPU speed, hardware), these circumstances seem to somehow increase creativity.
Many of the great works of art were created in times of intense hardship for their authors.
You might be interested in this GCD talk. The speaker was an artist on various classic adventure games. I found it really interesting how he considered himself a traditional artist and doesn't really like computers at all.
The things they achieved with pallette switching were unbelievable, especially considering the limitations of their tools. It's crazy how he managed to do this stuff just in basic paint programs. Some HNers will be horrified (just write some code!) but I think it's really inspiring.
If you visit the worlds link, be sure to select "Show Options" and adjust the time of day. I'm assuming there are a lot of programmatic elements that create these effects.
A few years back, I used a few tools piecemealed together to make a living wallpaper from Ferrari's waterfall piece.
I'll now gladly pay to have it done properly. :)
Edit: Curses, no parallax! The version of waterfall I made has parallax scrolling, I worked very hard getting that working! (By which I mean I found one strange wallpaper tool from a Korean developer that is the only tool that worked to pull off parallax animated GIF wallpapers). On a 21:9 screen. waterfall is about 3 screens wide...
I mean, it's a rare artist who was sketching on their computer in the early 80s (the "keyboard and joystick" era of micros.)
The usual workflow was to draw your art on some grid-paper and then plot it onto the screen — either in a paintbrush program, or even more simply, by typing the numbers into a text file to produce a PBM/PGM/PPM image, and then running a tool to convert that to whatever format you need. (In some workflows, the artist themselves could be working entirely on paper, leaving the plotting to a data-entry intern.)
With such a workflow, clumsiness of input method doesn't really matter — it's not impinging on your creative process, since the creative process is already over by the time you sit down at the computer screen.
Why, then, did paintbrush software even exist? Well, it could be helpful for finishing touch-ups to plotted input (especially hand-dithering to suit a given system's palette — effectively the "color grading" of the early digital era.) And, of course, paintbrush software was helpful for quickly banging out "programmer art" mock-ups to use in your game/app, before an artist comes in to replace it with something better.
By the late 80s, 'serious' digital painting software for professional artists to create in came about. But said software either shipped only for systems that had a mouse (e.g. the Mac); or the software package itself shipped with a mouse (as in the case of PC Paint.) So "doing digital painting with a joystick" was never really a thing.
I wrote my own paint package, using ZX*? keys to move the pen and space/enter to lift/drop. I recreated the cover art of games cassettes in 8 hand-dithered colours. Not even a joystick in sight. Happy days :)
Forced constraints are definitely a great training tool. I think constraints in general also bring about great creativity in the artist. Having little to work with forces the artist to look at the essence of what they're trying to create/communicate and "do more with less", which leads to a sort of innovation.
One of my favorite drawing exercises I have done in a drawing class is speed drawing. You're asked to sketch a model in different poses, but at first you are given 1 minute per pose, and then 30 seconds per pose, then 10 seconds per pose, then 5 seconds per pose. It really forces you to look at the core shapes you see and translate them into as few lines as needed.
This is an excellent article... indeed, more of an information repository. So much raw info, it could form the basis of multiple articles.
I am in discussions now with a colleague who is setting up a new game design degree in our uni. I showed him this article... we both agreed that the incredible constraints experienced by these early developers could productively inform how the program will be delivered.
> Using the hexadecimal system contributed to save ROM space by minimizing the size of the graphical data at a time when it was very expensive.
This is incorrect, hexadecimal is just a different notation for binary information. It saves space when written down on paper, not in the actual ROM image.
Having a clear understanding of what is data, and what is a representation of that data (and being able to grok and manipulate both) is probably my #1 indicator of who is or isn't a good computing engineer. This is a primary example of a failure of this.
Suppose my data is a single letter, the letter 'x'. I might represent this data as (for example):
1. The integer 24, as x is the 24th letter of the alphabet.
2. A picture of a handwritten x.
3. The symbol x, as I did above.
4. The integer 120, as in ASCII.
All of these represent the same data, despite being different.
Data representation often has multiple layers. For example
that integer 120 from ASCII is then often represented as a single byte containing bits 01111000. The 'symbol x' has some unspecified representation. The picture might be represented using vector art, or an array of pixels, each with a color (which then requires[1] a representation for the colors).
Now suppose I'd want to write a function that gives the next letter after the symbol I'd give in. Choosing the right representation for your data can make this easy or hard.
For the example above, representations 1, 4 are very easy (simply increment the number of the representation by 1), 3 is somewhat easy, and 2 is highly impractical.
---
[1] I said something requires a representation. But this is only true when creating a concrete implementation. But while designing algorithms or systems it can often simplify things to simply think of the data, and not its representation.
I could draw an A on a piece of paper and it'll have the same meaning too. There's a near infinite amount of ways to "encode" the letter A. Same thing goes for any data. the more complex the more ways to represent that data.
Importantly none of the representations are A. A is a concept and doesn't exist as a real tangible thing in the way paper, bits, or other encodings do.
Pi (π) can't be stored on a computer b/c it's infinitely long, it would run out of memory!
data != the representation of that data
Can you suspend pedantry long enough to calculate the area of a circle? What about the approximate area of a circle? Did the addition of the word "approximate" make a difference in how you interpreted the request/statement?
I think the real space saver is not necessarily "hexadecimal system" per se but the "bitmapped graphics" technique that they seem to be referring to. Nowadays, graphics information doesn't tend to be packed in bitmaps, either manually or otherwise. It's pretty inconvenient for processing to have everything bitmapped (compositing, collision detection, etc.) and they probably wouldn't do it if it weren't for the space savings
Yes you are correct. Take something like the Super Nintendo, it typically displayed hundreds of colors on screen, however each graphical element could have a maximum of 16 colors (4 bits).
The way they solved this was by having CLUTs (color lookup tables), so for the Super Nintendo (if my memory serves me) you had 16 different CLUTs that you could assign to a graphical object, each able to contain 16 unique colors.
This is what made something like the Super Nintendo graphics look so much better than say the Amiga 500, both used bitmap graphics, but the Amiga did not have a CLUT solution, so you were stuck with 32 colors except for more advanced graphic modes which weren't really usable for games.
Bitmaps do not save space relative to, say, a vector representation -- but they do save CPU time. And they were hella convenient to work with for compositing and collision detection because there was specialized hardware to do just that. The sprite hardware in the video unit of most game consoles could draw bitmaps with transparency just as the electron beam arrived at the affected pixels. And it would signal an interrupt when two sprites collided (and often alert the CPU via registers which two sprites collided).
Hexadecimal definitely saves space if you compare it to binary-coded decimal. You might think that obviously nobody would ever use BCD because it wastes so much space, but lots of people used it anyway.
You can describe BCD using hexadecimal notation. You can describe binary data using decimal notation. Notation is orthogonal to storage format.
I don't think storing bitmap graphics in ROM as BCD was ever really a thing. If you had reserved space for 4 BPP, would you really say "nah I don't need 16 colours, 10 is enough for me".
On the other hand, bitmaps stored in planar form were supported by many hardware systems in the time frame of the article(the Amiga, for one, used a planar scheme). This did allow for bitdepths other than powers of 2 with the requirement of resolutions being multiples of a byte or word(so, 8 or 16). This is particularly useful when considering overall asset storage constraints - 8 colors(3bpp) is often plenty for small sprites.
Due to the visual complexity of its ideograms, Japan felt the need to use higher resolutions than those used in the West at the same time in order to display kanji properly
It still amazes me how users of kanji/hànzì are able to pick up ideograms from images that contain too little information for OCR to do its job.
Not an expert, but I would say that the reason is that Kanji is a silhouette-complex form, typical of pictogram written languages. The Western alphabet-form is certainly smaller in variance (which helps) but also simpler in its silhouette.
Many interesting learnings. One of them is how much the level of abstraction has been pushed up thru the years of technological improvements. A graphic designer in 2020 does not need to know how memory works in the CPU, not even most developers need to know that.
The other learning, in the oposite direction, is about "A Pixel Is Not A Little Square" (http://alvyray.com/Memos/CG/Microsoft/6_pixel.pdf). Abstractions are really useful, but they fail in some cases. Pixels are more complex that the abstractions we use.
And, of course, the article has some beautiful graphics.
OTOH, square pixels are mostly an artifact - back in the day, if you looked at the image your C64 or your SNES would produce on your TV, you couldn't really see the individual pixels as squares, because the low-quality analog display provided its own "antialiasing" - that's what emulators have trouble recreating...
On CRT displays, a pixel can be rectangular. It depends on how many pixels are jammed into a line, which is completely arbitrary. This causes oddities with emulators as pixels are always square on modern displays.
They're not sharp-edged squares, they're dots; they might be broadly rectangular but they'll have rounded ends and fade gently at the edges. Look at short-exposure photos showing a scanline in process.
I used to love Xevious. I see a Xevious screenshot.
In the early 1980s, I would stop at an arcade, almost every day, and waste a couple of dollars playing it.
That's a great article. We've come a long way. I particularly liked how it showed that the original characters were designed to integrate aliasing and blurring from CRT analog artifacts, so they actually look crappy, on today's nice monitors.
As a young child, I had an Atari, and the first shooter I ever played was Galaga. Played for hours. To this day one of my favorites.
One day I got the Xevious cartridge. I was in awe. A scrolling background that looked like a map, instead of a starfield? Objects in the game that you couldn't kill? Shooting bullets AND dropping bombs? Wow.
This was all capped off when you reach a mothership. Wow, a giant enemy that takes up what seemed like 1/4 of the screen! I was genuinely terrified when I first saw that thing.
Nice resource. While not strictly 2D, it brings to mind this GDC talk [1,2] from Arc System Works showing the lengths they went to achieve a high-res hand-drawn look while developing Guilty Gear Xrd.
japan has a deep bench of graphics talent but it is amazing how poorly paid the average mangaka is. something around $15K a year i am told. i wonder how many of them have already moved to digital graphics for pay reasons alone.
The version where you see "stripes" of blue, is the raw pixels, when you play on emulator you see that, for many years since I could only play on emulators, I thought the game art was weird and an a bizarre stylistic choice (the cartoon also had bizarre art so that was easy to believe).
The first time I saw photos of people playing on CRT I was amazed, on how skilled the artists were, figuring out you could make a transparent waterfall by using vertical stripes if the user had a certain TV + Cable combo (I think the classic coaxial cable was the one most likely to produce this effect if I remember it correctly, seemly that cable worked in a way that it inherently always mixed two columns next to each other).
Also many "retro" games make me sad, with them abusing "pixel art" without realizing that it was never about the pixels, some even go ahead and scale up their game to force pixels to be visible even on CRTs (stardewvalley for example scales the game up forcefully 4x, I did some modding of that game and tested what happen with the scaling disabled, the game could be much more beautiful).
Also lots of people forgetting pixels weren't necessarily square, and just copy-pasting old games art and then not understanding why shields now are oval...
EDIT: lots of hostility to my post it seems.
1. I never said "all" retro games makes me sad, not even "most" of them, I said "many". I am a gamedev myself and understand the appeal of pixel art, including cheaper costs (it is much cheaper to draw pixel art than hightly detailed art).
2. There are pixel-retro games that have really, really good art, even with no blurring or dithering, I never said there weren't.
3. I didn't said all pixels were not square, I said pixels werent "necessarily" square, some of them were rectangular, some were triangular even! And some weren't even pixels at all (Vectrex for example).
What bothers me is just many people could do better, but they just blunder ahead without understanding what they are trying to replicate, it doesn't make me "angry", just sad, because I see lots of great artists wasting their potential.
Some mediums allow a lot of interesting things, for example when Donkey Kong came out, Nintendo loved the pre-rendered 3D look, and demanded their next game be that way, Myamoto (that was orignally hired by Nintendo as artist, NOT as game designer), then made Yoshi Island to be the extreme opposite: art that is obviously 2D, with a painted look. I just want to see more people pulling that sort of stuff, instead of replicating something they don't understand, when they clearly have skills to do better.
> Also many "retro" games make me sad, with them abusing "pixel art" without realizing that it was never about the pixels
These kinds of arguments always seem a little solipsistic to me. I think it's a mischaracterization to say most indie developers are blundering foolishly after something they don't understand vs just developing their own style or working within their constraints (there are constraints that aren't technical in making a game, after all).
I can understand the intention of developers in the 80s optimizing for blurry screen all day, but that doesn't change the fact that I just prefer the grid-look for a lot of game contexts and usually don't like art styles with heavy antialiasing or a lot of smooth curves. To say that if only I understood the reality of the technical implementations of 40 years ago my aesthetic preferences would shift is pretty frustrating. I'd imagine it's much more frustrating for actual artists who have devoted time and energy to getting good at making games in the style and probably know their history pretty well.
The Sonic waterfall is an example of dithering. If you degrade the quality of the signal enough (using a composite video signal, for example) the output will become blurry enough that the dithering blends together, and you can achieve certain special effects, such as the waterfall transparency.
However, there is a big trade-off in the form of the entire game being blurry. That's why many enthusiasts back in the day (and today) preferred RGB output, even though the higher quality would ruin the blending of the dithered pattern. The Genesis/Mega Drive therefore supported RGB (Sega released an official adapter in Japan, and there was a SCART output in Europe).
And, of course, if you were playing a game on a PC with a CRT monitor, dithering remained visible since PC monitors coupled with VGA signals were of much higher quality than composite signals on consumer TVs.
It's definitely not the case that pixels could not be seen on a CRT - it just depends on the signal and the CRT type.
> To act like square pixels are a new plague is dishonest.
Please folks, the holidays are here and 2020 is almost over. Let's all be a bit more forgiving and generous to our fellow human beings. Maybe something like, "You may have forgotten that square pixels were contemporary" instead?
Relevant to note though that with the Game Boy, at least originally anyway, developers knew exactly what screen was being played on, and occasionally used that knowledge to fake effects that wouldn't been possible on a CRT. See for example the space shooter ZAS which flickers between multiple layers to simulate blending and parallax scrolling, effects which weren't otherwise possible on such a limited system (and using a mechanism which wouldn't have yielded acceptable results on a CRT):
Honestly, I grew up playing those games on CRT screens, i'd prefer to play them upscaled on my phone screen than go back to CRT's.
>Some mediums allow a lot of interesting things, for example when Donkey Kong came out, Nintendo loved the pre-rendered 3D look, and demanded their next game be that way, Myamoto (that was orignally hired by Nintendo as artist, NOT as game designer), then made Yoshi Island to be the extreme opposite: art that is obviously 2D, with a painted look. I just want to see more people pulling that sort of stuff, instead of replicating something they don't understand, when they clearly have skills to do better.
I think you're comparing two different intentions here. When those games were made, the goal was to push the graphics of the snes as hard as they could. Most retro games are made with the intention of, well, looking retro.
If you look at a game like say Hollow Knight, that's where I feel like art styles like Yoshi's island evolved to. There's still people going for that painted look, you just don't notice them or compare them to retro games because, they don't look retro.
My favourite monitor is a CRT, currently plugged into a R9 380X, that is the most recent GPU + RAMDAC combo... newer video cards do not have RAMDAC anymore :(
Also I do have the CRT main problem too... I own a Television that I intend to use to play old consoles, and that TV is from a very sought after model, but it is stuck on my parents house because it is so big and heavy that there is no physical space inside my apartment to put it :/ It will wait until I move into a ground-level house to use it... (I still regularly turn it on and use for other things, it works great)
The lack of RAMDACs in new GPUs is a real problem. The nicest DP-VGA adapters I can find need to be imported from Germany and even they top out at around 200 MHz pixel clocks before there are sync drops. When the blanking time is factored in, 1600x1200 at 75 Hz is unstable. Very disappointing when I have a P1130 (rebranded G520, 1200 TVL).
Very nice. I love the aesthetics. I see why tumblr was such a special place for visual content, it just allows for the art to speak for itself and form it’s own structure. Reminds me of going to a Japanese bookstore when I was younger and looking at concept art for my favorite anime series.
I love this kind of design analysis so much. Bordering on the neuroscientific ;)
And I miss old school tumblrs for inspiration. Sites like MLKSHK & FFFFound would provide a steady random stream of highly curated visual juxtapositions. Seriously needs to be revived...