
Non-PhotoRealistic Quake (2002) - njn
https://research.cs.wisc.edu/graphics/Gallery/NPRQuake/whatIsIt.html
======
simias
One of my favorite parts of writing emulators is getting to mess with the
internals of the console to change the way the games look or feel. Widescreen
hacks, palette swaps, visual enhancements and/or deterioration.

Here are a few random examples I've collected while experimenting:

Playstation upscaling:
[https://svkt.org/~simias/mednafen/ffix-1xvs2x.gif](https://svkt.org/~simias/mednafen/ffix-1xvs2x.gif)

OpenGL debugging gone wild that turned Spyro into LSD dream emulator mode:
[https://svkt.org/~simias/mednafen/disco.webm](https://svkt.org/~simias/mednafen/disco.webm)

Metal Gear Solid without textures:
[https://svkt.org/~simias/mednafen/RetroArch-0131-170156.png](https://svkt.org/~simias/mednafen/RetroArch-0131-170156.png)

Crash Bandicoot in Wireframe: [https://svkt.org/~simias/rustation/crash-
wf.png](https://svkt.org/~simias/rustation/crash-wf.png)

Metroid II "widescreen" hack: [https://svkt.org/~simias/metroid-
ws.webm](https://svkt.org/~simias/metroid-ws.webm)

Super Mario Land with fixed background (and terrible audio):
[https://svkt.org/~simias/mario-warp.ogv](https://svkt.org/~simias/mario-
warp.ogv)

The possibilities are endless and it sometimes lets you discover some clever
tricks the devs used to work around the limitations of the time, such as
Spyro's skybox being made entirely out of non-textured polygons:
[https://svkt.org/~simias/rustation/spyro-moon-
bg.png](https://svkt.org/~simias/rustation/spyro-moon-bg.png)
[https://svkt.org/~simias/rustation/spyro-moon-bg-
wf.png](https://svkt.org/~simias/rustation/spyro-moon-bg-wf.png)

A similar trick is used in Crash Team Racing and the Homeworld PC game (or was
it Homeworld 2? I don't remember).

~~~
WorldMaker
A related, interesting rabbit hole I wandered through the other day (prompted
by a thread on Mastodon), was that the early Sierra games included stronger
art than the systems they were developed for supported. The thread started by
wondering if there were smart ways to upscale some of the games because Sierra
often used a lot of vector art, though the conclusion there is the
vector/raster mix is too brittle in most of their games, because it is almost
always a pixel-specific mix in the end result.

That lead to the interesting bit that SCI0 games from Sierra in the EGA era
had artwork drawn at higher color palettes than EGA supported at the time (or
more specifically, the artwork individually follows EGA restrictions of 16
color palettes, but a larger mix of different colors palettes for different
artwork mixed in the same scenes/games than EGA can quickly cycle through and
than other EGA games would have done in the same time frame), and included
that detail in the games with the SCI0 engine dithering the results at
runtime, rather than standardizing palettes at dev time. Sierra at the time
was quite proud of their dithering tech because it gave the artists greater
freedom and looked good enough at the time. Arguably, too they knew the
technology would get less restrictive eventually and they could support that
when that happened, though that was before the era of easy game patches so who
knows if they ever thought to act on that for "easy" VGA upgrades.

The interesting part of that to me is that ScummVM reimplemented the
dithering, then eventually turned it _off_ by default. If you play a SCI0 game
in ScummVM today you get the wider color mix of the original artwork. You can
turn the dithering back on if you wish, but the artwork really does look
better with modern color support rather than emulated dithering.

~~~
wyldfire
> The thread started by wondering if there were smart ways to upscale some of
> the games because Sierra often used a lot of vector art, though the
> conclusion there is the vector/raster mix is too brittle in most of their
> games, because it is almost always a pixel-specific mix in the end result.

IIRC "Out of this World" (aka "Another World") was relatively pure wrt vector
art. This is probably why it was straightforward to port to a modern re-
release. I don't know that they targeted a higher resolution, though.

------
dosy
Here's a video of all the shaders:

[https://www.youtube.com/watch?v=PMpx3pupMKg](https://www.youtube.com/watch?v=PMpx3pupMKg)

My reaction was, that is really cute, seriously. Let me feel happy to see
this:)

~~~
lawlessone
Need's A-ha as a soundtrack :-)

~~~
harveynick
Ha! Came here to say this!

------
qiller
My other favorite Quake experiment was PanQuake
[http://strlen.com/gfxengine/panquake/](http://strlen.com/gfxengine/panquake/)
and FisheyeQuake
[http://strlen.com/gfxengine/fisheyequake/index.html](http://strlen.com/gfxengine/fisheyequake/index.html).
Running through the world with 360° view is quite trippy.

~~~
aw3c2
[https://github.com/shaunlebron/blinky](https://github.com/shaunlebron/blinky)

------
arketyp
I prefer Quake on an oscilloscope:
[https://www.youtube.com/watch?v=GIdiHh6mW58](https://www.youtube.com/watch?v=GIdiHh6mW58)

------
sytelus
This is refereed to as Stylized Rendering is well supported by modern engines
quite easily. Usually you just drop in plugin and you get stylized version of
the game:

[https://docs.unrealengine.com/en-
us/Resources/Showcases/Styl...](https://docs.unrealengine.com/en-
us/Resources/Showcases/Stylized)

~~~
Nah0chei
For anime style you'll need a little more than just a few shaders. The models
themselves need to be distortable and perspective-dependent.

~~~
uryga
I know very little about this field - why would a model need to be distorted
to give an anime look? (Also, what does perspective-dependent mean in this
context?)

~~~
slazaro
Re: perspective-dependence: I'm assuming they meant that in actually hand-
drawn anime, things like hairstyles or eyes are not realistic because they
switch shapes and locations depending on the perspective (like, both eyes
always visible even when almost-sideways, or hair spikes switching from left
to right when the character turns, etc).

~~~
e_proxus
Good, and incredible impressive, examples are recent entries into the Guilty
Gear series, such as Guilty Gear Xrd: Revelator:

[https://www.youtube.com/watch?v=tY1RpK1vbTo](https://www.youtube.com/watch?v=tY1RpK1vbTo)
[https://www.youtube.com/watch?v=5z5-97rfHEg](https://www.youtube.com/watch?v=5z5-97rfHEg)
[https://www.youtube.com/watch?v=tHp3fmDypg0](https://www.youtube.com/watch?v=tHp3fmDypg0)

One early example in the first video is the shell casing, which is replaced
with a model that has some motion blur-like extensions.

~~~
mpax
Here’s a short pdf breakdown of the shading tricks used in this game:

[https://www.dropbox.com/s/3ltkinwnmmzurjw/GuilltyGearXrd_sha...](https://www.dropbox.com/s/3ltkinwnmmzurjw/GuilltyGearXrd_shader.pdf?dl=0)

------
shpx
This reminds me of using neural style transfer on the surfaces of 3D models.

[https://twitter.com/nobelchoco/status/909417583954317312](https://twitter.com/nobelchoco/status/909417583954317312)

~~~
Erlich_Bachman
Is that really 3D models in the video though? It looks more like regular
neural-style-transfer done on something like series of images from google
street view.

~~~
shpx
It's a 3D model of Bibury, UK made using photogrammetry.

Did you watch the whole clip? Watch it again; the perspective changes as the
camera rotates.

[https://en.wikipedia.org/wiki/Photogrammetry](https://en.wikipedia.org/wiki/Photogrammetry)

[http://www.theastronauts.com/2014/03/visual-revolution-
vanis...](http://www.theastronauts.com/2014/03/visual-revolution-vanishing-
ethan-carter/)

------
Nursie
That's pretty awesome, and I like that there are people still doing
interesting stuff with Quake.

Years ago I used to love ttyquake. Even played a couple of (fun) deathmatches
in it. With the xterm font-size turned way down and res way up of course...

~~~
falsedan
> _still doing interesting stuff with Quake_

I like it too, but NPRQuake was a spring 2000 class project and was widely
available in 2001. I remember making a version which intercepted calls with
GL_TRIANGLE to instead call glutSolidTeapot. The framerate was… degraded.

~~~
Nursie
Ha! Didn't spot that this article was from 2002 :)

------
hiccuphippo
A game called Valkiria Chronicles uses a hand drawn style similar to this:
[https://youtu.be/p-0RY4TTNwE](https://youtu.be/p-0RY4TTNwE)

~~~
_frog
I had a ton of fun with Valkyria Chronicles back in the day, and I’m not sure
anything’s pulled of that sketched style in quite the same way. The
brushstroke renderer also reminded me a lot of Okami[1], one of my favourite
games from the PS2 era. It had a very distinctive style based on Japanese ink
brush art.

[1]: [https://youtu.be/G6NPoX7_ehc](https://youtu.be/G6NPoX7_ehc)

------
jadbox
no screenshots?

~~~
travbrack
Here's a video of the "sketchy" shader. Couldn't find the others.
[https://www.youtube.com/watch?v=jrr3dt01jNc](https://www.youtube.com/watch?v=jrr3dt01jNc)

~~~
simongray
And of course "Take On Me" is playing in the background ;-)

~~~
yellowapple
My very first thought when encountering the article was "Needs more A-Ha",
only for the Internet to have already made my dreams come true.

------
mikeash
I love the look of the still images, but I don’t like how everything is shaky
because things get stylised differently from one frame to the next. Has there
been work on this sort of thing that maintains consistency between frames?

~~~
mpax
The jitteryness is an artistic choice (no tech limitation).

------
openbasic
Game project based on NPRQuake engine:
[https://github.com/klaussilveira/doodle](https://github.com/klaussilveira/doodle)

------
jlebrech
you could make a nice story driven game with that shader

~~~
jlebrech
or some 3d storyboarding, but then you don't need quake, it could be a shader
for blender for example

------
Kapura
Quake was never anything close to photorealistic, so it is an absolute crime
that this is called "Non-Photorealistic Quake" and not "Quake On Me."

~~~
cholantesh
Perfect! Next we need a Bakshi-style rotoscoped Quake.

------
0xdeadbeefbabe
It wasn't ever photo-realistic. Why bother with realism at all? This looks
awesome btw
[http://www.quelsolaar.com/love/screen_shots.html](http://www.quelsolaar.com/love/screen_shots.html)?
There was also a gory black and white and RED game that I can't find right
now.

~~~
jackhack
Madworld?
[https://en.wikipedia.org/wiki/MadWorld](https://en.wikipedia.org/wiki/MadWorld)

While no-one would argue that Quake was truly photorealistic, it was as
realistic as the hardware of the day would allow at a videogame framerate
(30+fps).

~~~
0xdeadbeefbabe
Though I never played madworld I continue to wonder if the game play is more
exciting because the graphics invite your mind to fill in missing details.

