8 ms·
The first look-up table effect that really impressed me was to use them for making a textured tunnel. You have a look-up table such that for each pixel on the
by bemmu 3y ago
The first look-up table effect that really impressed me was to use them for making a textured tunnel.
You have a look-up table such that for each pixel on the screen, you know its angle and distance from the center of the screen. With this you can pick which texel to put at each pixel location.
It looks as if you are moving in a tunnel with 3D geometry, but it's so cheap you can even do it on pico: https://www.lexaloffle.com/bbs/?pid=63818 https://www.lexaloffle.com/bbs/?pid=63818
At first I thought the game Stardust must have used this effect, but reading up on it just now they actually just play a repeating 6 frame animation for the background! https://codetapper.com/amiga/sprite-tricks/stardust/ https://codetapper.com/amiga/sprite-tricks/stardust/
- taeric 3y agoIf you view color palette as a lookup table, palette cycling was very common and feels very related.
- dividuum 3y agoColor palette definitely counts. I remember the lookup table Quake used to map its 256 color VGA palette to itself to implement light levels: https://quakewiki.org/wiki/Quake_palette#Colormap https://quakewiki.org/wiki/Quake_palette#Colormap You now basically have a two step lookup: palette_rgb[colormap[color, light]]
- indy 3y agoMark J. Ferrari was incredible at utilising palette cycling: http://www.effectgames.com/demos/canvascycle/ http://www.effectgames.com/demos/canvascycle/
- chongli 3y agoHe gave one of my favourite GDC talks of all time [1]! I recommend this talk to anyone who is interested in the details and history of working on limited colour palette games! [1] https://youtu.be/aMcJ1Jvtef0 https://youtu.be/aMcJ1Jvtef0
- indy 3y agoLove that video, his passion for the art form really comes through.
- djmips 3y agoWrites nowadays. https://www.markferrari.com/writing https://www.markferrari.com/writing
- Akronymus 3y agoMakes me think about the area 5150 demo https://www.youtube.com/watch?v=fWDxdoRTZPc https://www.youtube.com/watch?v=fWDxdoRTZPc edit: This comment really summarizes just how impressive the demo is https://old.reddit.com/r/Demoscene/comments/wjxqve/area_5150_ibm_pc_demo/ijm71m0/ https://old.reddit.com/r/Demoscene/comments/wjxqve/area_5150...
- ku1ik 3y agoWitchcraft!
- lloeki 3y agoAnd goes to the next level: http://www.effectgames.com/demos/worlds/ http://www.effectgames.com/demos/worlds/ (Make sure you're properly seated, then click Show Options »)
- boomlinde 3y agoYes, you could for example achieve the tunnel effect described above with a 16x16 or 32x8 texture using a 256-entry palette. Unreal by Future Crew has an effect that comes to mind that is probably implemented exactly like that (on VGA mode 0x13), just more of a wormhole than a tunnel: https://www.youtube.com/watch?v=InrGJ7C9B3s&t=4m40s https://www.youtube.com/watch?v=InrGJ7C9B3s&t=4m40s
- JKCalhoun 3y agoI remember games that used 8-bit color palette cycling to do tear-free renders in an interesting way. They would draw the next frame of the game direct to the screen in either the high nybble (4 bits) or the low nybble (alternating each frame). The color palette was either one of two: one where the same color would be displayed regardless of the high nybble and the other palette had colors chosen where they were the same regardless of the bits in the low nybble. To be sure the game threw away 256 possible colors to have instead only 16. But when the next frame was being rendered, the user was never aware until, at the very last instant, the next palette was slammed in revealing the new frame (and of course the rendering began for the next).
- spookie 3y agoAn advanced use of this principle is POM. You can even do self shadowing! https://web.engr.oregonstate.edu/~mjb/cs557/Projects/Papers/Parallax_Occlusion_Mapping.pdf https://web.engr.oregonstate.edu/~mjb/cs557/Projects/Papers/...
- nopakos 3y agoThere is a little button "Code ▽" under the demo if you want to see how it's working!
- sylware 3y agoLooking at the symmetries of specific cases, you may find convenient solutions.