The Void Project
Silver Demon Studios Developer
Silver Demon Studios Publisher
Coming soon Release
🎹🖱️Keyboard + Mouse
🕹️ Partial Controller Support
🎮 Full Controller Support
8 user reviews
(8 reviews)
Devlog #1: Final Art Style, How and Why!Welcome to Devlog #1, well the second devlog to be exact.. this devlog will be more focused on how we achieved this pixelated dual-tone art style for our game.
Note: this shader was not entirely ours as we vastly expanded upon a similar in nature shader with CC0 License.
Here's a breakdown for the shader..
Understanding the Foundations
At its core, achieving that retro look comes down to three key elements:
- Pixelation: We deliberately reduce the resolution to make the image blocky. Think of the iconic chunky pixels of early game characters!
- Color Banding: The smooth gradients that we take for granted today simply weren't possible. Colors transition in distinct bands, creating a bold, almost posterized effect.
- Dithering: To soften the harshness of the color banding, old games use dithering. This involves strategically placing pixels of different colors from the palette near each other, tricking the eye into seeing a wider range of shades.
Breaking Down the Code
This shader tackles each of these elements step by step. Let's peek under the hood:
- The Luminosity Factor: Calculating the pixel's brightness (luminosity) accurately is essential for proper color banding. Many simple formulas just average the red, green, and blue, but We're using a more accurate one that accounts for how our eyes perceive these colors differently.
- Controlling Contrast: Adjusting contrast in this case isn't just about shifting brightness; it's about exaggerating it. Our shader multiplies the luminosity, pushing light areas even lighter and dark ones darker, creating a more stylized look.
- Snap! Creating Those Bands: This is where we force colors into distinct bands based on the pixel's brightness. By reducing the "bit depth" using clever math, we simulate the old hardware limitations.
- Mapping the Palette: The shader dynamically figures out which two colors from our palette texture the pixel falls between. It's like carefully placing the pixel on a color ruler!
- The Magic of Dithering: Time to break up the harsh bands! We use a dithering texture (basically a noise pattern), and compare each pixel's luminosity to a corresponding value on the texture. This determines whether to pick the higher or lower color from the palette.
In-Depth Explanation:
1. Luminosity Calculation and Contrast Adjustment
- Accurate Luminosity: The shader uses a more accurate luminosity formula than simple averaging. Different color channels contribute differently to how we perceive brightness. This formula is essential for realistic color banding and dithering later in the process.
- Contrast as a Multiplier: Notice how contrast is not added or subtracted, but rather multiplies the normalized luminosity. This has a non-linear effect, pushing darks darker and brights brighter without simply shifting the overall range. This can create a more visually punchy retro aesthetic.
2. Color Reduction for Banding
- Intentional Floor Function: The floor function is used to snap the continuous lum value into discrete steps. This creates the characteristic bands of color, simulating the limited bit depth of old displays.
- Adaptable Bit Depth: The u_bit_depth(uniform var. in shader) uniform lets you control the number of distinct bands. A lower bit depth gives you a stronger, more obvious retro effect.
4. Dithering Logic
- Dithering's Purpose: Our eyes have incredible color accuracy, so the color banding alone would look harsh. Dithering breaks up these bands with a noise pattern, creating the illusion of additional shades between the palette entries.
- Thresholding the Noise: The dither texture isn't directly added to the color decision. Instead, a pixel from the dither pattern is treated as a threshold. Based on its value, either the upper or lower palette color is selected.
- Customizable Dither Patterns: The u_dither_tex(uniform var. in shader) lets you swap out the noise pattern. Classic patterns include Bayer matrices or blue noise textures. These patterns influence the visual character of the dithering.
The Power of Customization
The beauty of a shader is how tweakable it is. I can crank up the pixelation for a super chunky retro vibe or dial down the color banding for a subtler effect. Plus, experimenting with different dithering textures lets me completely change the aesthetic!
[ 2024-05-01 17:00:02 CET ] [ Original post ] 
Influenced by 90s FPS and arcade classics,
The Void Project offers a thrilling, high-speed shooting experience. Step into a surreal arena, where you'll confront never-ending waves of demon hordes. With a formidable armament and seamless mobility, engage in a battle for survival, striving to outlast the relentless assault. Test your prowess and determination as you vie for seconds on Steam Friends and global leaderboards. Your tenacity and gaming skills will be pushed to their limits.

- Take on 5 bone-chilling demons and their unique variants. (More to be added with future updates)
- Mixture of Quake, UltraKill and Devil Daggers.
- Smooth Gameplay with fast movement.
- Change from up-to 50 Color Palette Art Styles, Make this truly your own.
- Master different demons' patterns, Beat as many as you can and top the Leaderboard.
- Slide, Slide-Jump, Dash and Slam your way through the Map.
- Free Updates and Patches to improve your experience further, No Micro Transactions or DLCs.

- Multiplayer system, Possibly PvP Matches (Not Confirmed and might remove this from roadmap)
- Procedural Map Generations (Unique map every Run)
24.79$ (17%)
12.44$ (17%)
16.79$ (16%)
7.44$ (17%)
24.87$ (17%)
24.87$ (17%)
26.34$ (12%)
8.54$ (79%)
4.95$ (17%)
16.18$ (19%)
12.42$ (17%)
12.84$ (79%)
35.14$ (12%)
8.27$ (17%)
8.39$ (16%)
16.96$ (15%)
15.11$ (16%)
16.57$ (17%)
5.10$ (91%)
7.44$ (17%)
13.14$ (12%)
4.18$ (16%)
20.72$ (17%)
5.03$ (16%)
23.90$ (20%)
12.42$ (17%)
43.94$ (12%)
8.39$ (16%)
20.72$ (17%)
41.49$ (17%)
0.43$ (91%)
0.34$ (91%)
1.7$ (91%)
2.55$ (87%)
5.31$ (79%)
1.58$ (77%)
1.58$ (77%)
0.85$ (91%)
3.75$ (81%)
0.17$ (83%)
0.85$ (91%)
2.55$ (87%)
1.13$ (96%)
3.19$ (81%)
2.38$ (66%)
3.19$ (81%)
3.0$ (85%)
1.58$ (77%)
1.11$ (91%)
1.58$ (77%)
1.58$ (77%)
0.51$ (91%)
1.91$ (87%)
0.58$ (92%)
3.4$ (83%)
3.19$ (87%)
1.58$ (77%)
3.06$ (83%)
3.83$ (62%)
8.8$ (78%)
1.19$ (92%)
0.99$ (90%)
53.99$ (10%)
2.99$ (70%)
2.98$ (85%)
9.99$ (75%)
38.99$ (13%)
19.09$ (5%)
23.96$ (20%)
1.19$ (88%)
0.89$ (87%)
6.24$ (75%)
1.19$ (88%)
1.24$ (75%)
7.49$ (85%)
1.19$ (76%)
3.99$ (90%)
1.19$ (88%)
2.98$ (80%)
4.49$ (70%)
42.49$ (15%)
2.98$ (90%)
2.99$ (75%)
1.09$ (78%)
21.49$ (14%)
8.99$ (10%)
1.19$ (76%)
2.49$ (75%)
1.29$ (91%)
3.99$ (73%)
FANATICAL BUNDLES

Time left:
356360 days, 8 hours, 51 minutes

Time left:
16 days, 15 hours, 51 minutes

Time left:
26 days, 15 hours, 51 minutes

Time left:
31 days, 15 hours, 51 minutes

Time left:
15 days, 15 hours, 51 minutes

Time left:
37 days, 15 hours, 51 minutes

Time left:
11 days, 15 hours, 51 minutes

Time left:
11 days, 15 hours, 51 minutes

Time left:
45 days, 15 hours, 51 minutes
HUMBLE BUNDLES

Time left:
4 days, 9 hours, 51 minutes

Time left:
6 days, 9 hours, 51 minutes

Time left:
13 days, 9 hours, 51 minutes

Time left:
14 days, 9 hours, 51 minutes
by buying games/dlcs from affiliate links you are supporting tuxDB
🔴 LIVE
urushiyowa
Science & Technology
test des modif sous linux
dumpstervirus
Minecraft
Minecraft! OPEN CHAOS Crossplay aternos server - Jump In!
b7h30
Software and Game Development
Breaking my DC | OSCP Study -AD | Co-Learn with a Penetration Tester ...
buuginski
"Clair Obscur: Expedition 33" auf Linux - pt.2
vs_code
The Elder Scrolls IV: Oblivion Remastered
?
arc_nazrin
FINAL FANTASY XIV ONLINE
Raid time BLM m5s reclear m6s adds prog
zital__
Just Chatting
The Last of Us 2 #13 https://live.zital.eus
elementlgames
Software and Game Development
Creating The Elementals Reworked Chat Viewers
fabien_anxa
Star Citizen
camionneur de l'espace sur linux.
zigma_61
IRL
Plymouth Valiant back to the road - ?
certifiedgta
Games + Demos
Leisure Suit Larry 7 - Love For Sail - Walkthrough (Nudity)
carolineofmaine
Always On
Kick back & listen ~ classical, country, rock, techno, jazz, blue...
t2sde
Software and Game Development
Latest GCC built Linux and Arcticfox on PowerPC64 G4 Mac ?
michaelkadzioch
Science & Technology
Homelab hochrsten Netzwerk, Server, Docker, Cloud !kaputt
angelbruni
THE FINALS
POWER SHIFT #2 EU & #6 GLOBAL | POWER SHIFT 24/7??? | AngelBruni#6...
liquidcake1
Noita
Just a few more perks, then off to explore! [Noita]
tom__bh
Software and Game Development
Tattoy Release Progress 33%: github.com/tombh/tattoy/milestones
iiii_spike_iiii
Fallout: New Vegas
Wieder mal ein casual playthrough nach sehr langer Zeit - Teil 5
henning_tv
DARK SOULS II: Scholar of the First Sin
/PC/Linux/ Zum ersten Mal durchspielen, fnfter Stream Mit dabei: @fl...
locet_
IRL
Morning Coffee | Affiliate Anniversary
type2play
The Legend of Zelda: Ocarina of Time
Ship of Harkinian (Ocarina of Time) Randomizer! Control the game throu...
linuxgamestv
Minecraft
[18+] Festungen & Endportale suchen U-Bahn Planung Community Ser...