Sign in

Hillsguy

@hillsguy.bsky.social
181 followers 30 following 107 posts

hi hemlo i struggle with developing videogames my games: samael-kethill.itch.io

PostsRepliesMedia
Hillsguy @hillsguy.bsky.social · 11h
Found out that my budget pocket camera from 2010 has a hidden debug menu with manual mode and 8/12 bit RAW export. These RAW files are in some undocumented proprietary format but after some experiments I was able to convert them into regular DNGs
010
Hillsguy @hillsguy.bsky.social · 16h
some minor changes
000
Hillsguy @hillsguy.bsky.social · 11/09/2026
The texture was hand painted in Krita with some bits here and there copied from photos online, projected onto the low-res texture, and then polished a bit further
000
Hillsguy @hillsguy.bsky.social · 11/09/2026
Timelapse
111
Hillsguy @hillsguy.bsky.social · 11/09/2026
Spent 3 days on my first low-poly car 3D model, a 1994 Toyota Supra MK4, made in #b3d 392 tris (excluding the shadow plane), 128x128 texture (again, excluding the shadow)
330
Hillsguy @hillsguy.bsky.social · 23/08/2026
users.cs.utah.edu/~ladislav/ka...
users.cs.utah.edu
000
Hillsguy @hillsguy.bsky.social · 23/08/2026
Vertex color baking again 1. Point sampling (current implementation in #b3d 5.2) 2. Least squares 3. Least squares + edge-based regularization with alpha = 0.1 4. Raytraced result
130
Hillsguy @hillsguy.bsky.social · 19/08/2026
I was thinking about making a pull request but I'm not sure which implementation to use
000
Hillsguy @hillsguy.bsky.social · 19/08/2026
Experimenting with vertex color baking in #b3d Point sampling (current implementation in Blender 5.2) vs weighted average vs least squares vs raytraced reference
120
Hillsguy @hillsguy.bsky.social · 23/07/2026
Came up with a cursed workaround to avoid light leaking when baking lightmaps in #b3d, but it multiplies render time by 2x 😩
020
Hillsguy @hillsguy.bsky.social · 05/07/2026
020
Hillsguy @hillsguy.bsky.social · 03/07/2026
samael-kethill.itch.io/soup-tour/
samael-kethill.itch.io
SOUP TOUR by Samael Kethill, Moonisland
Small walking simulator/virtual gallery for SOUPJAM 2026
010
Hillsguy @hillsguy.bsky.social · 03/07/2026
Enjoy our new walking simulator / virtual gallery made with Moonisland for #soupjam2026
120
Hillsguy @hillsguy.bsky.social · 28/06/2026
000
Hillsguy @hillsguy.bsky.social · 23/06/2026
Working on a small #SOUPJAM2026 entry, stay tuned
000
Hillsguy @hillsguy.bsky.social · 15/06/2026
Released my proof of concept BC1 encoder for channel packed textures on github! I hope that bc7enc and icbc developers will consider paying more attention to channel packed textures in the future. 🙂
github.com
GitHub - rmn20/dxt_cpt: BC1 encoder for channel packed textures
BC1 encoder for channel packed textures. Contribute to rmn20/dxt_cpt development by creating an account on GitHub.
020
Hillsguy @hillsguy.bsky.social · 09/06/2026
If we assume that ALL textures had zeroed-out metallic channel, the results would look something like this: SSIM: BC7ENC: 0.93925 MY ENC: 0.93565 RMSE: BC7ENC: 5.1213 MY ENC: 5.3502 LPIPS: BC7ENC: 0.05145 MY ENC: 0.0456
000
Hillsguy @hillsguy.bsky.social · 09/06/2026
I don't remember.. I think I had an overflow somewhere.
010
Hillsguy @hillsguy.bsky.social · 09/06/2026
And if I use 6x6 principal axis, it loses even on LPIPS. I guess 6x6 PA degrades small detail too much. Also, note that most textures have a completely black metallic channel, so results are slightly skewed.
100
Hillsguy @hillsguy.bsky.social · 09/06/2026
Downloaded 763 1k ARM textures from polyhaven and tested b7enc and my encoder (with 4x4 principal axis) using SSIM, RMSE and LPIPS I used L5 bc7enc mode as L18 is too slow and L5 seems to be closer to my encoder under the hood So my encoder seems to score better only on LPIPS...
110
Hillsguy @hillsguy.bsky.social · 06/06/2026
Floyd-Steinberg dithering can also have some beautiful color leaking artifacts
110
Hillsguy @hillsguy.bsky.social · 05/06/2026
Found another heuristic for improving visual quality of BC1 textures with channel packing. The idea is to calculate principal axis using pixels from the adjacent blocks. This essentially blurs hue and can reduce detail of channels parallel to PA, but this also reduces artifacts on block boundaries.
Red, green and blue channels of bc7enc, experimental encoder with PA calculated using 4x4 and 6x6 blocks
020
Hillsguy @hillsguy.bsky.social · 02/06/2026
Experimenting with S3TC/BC1/DXT1 compression. The idea is to intentionally leak channel data into each other to reduce blockiness and get at least some data instead of averaged out 4x4 blocks.
030
Hillsguy @hillsguy.bsky.social · 30/05/2026
I tried packing normals x direction into one BC1 texture and y direction into another one. Normals and bent normals look surprisingly good, but bounce light bent normals is quite blocky.. This was a bit unexpected for me, as texture data seems to be mostly correlated to my eye.
000
Hillsguy @hillsguy.bsky.social · 30/05/2026
I think it should be okay for rare materials here and there... You don't really need this amount of shader tricks for all materials. It only makes sense if your materials are both bumpy (otherwise there's no need in self-shadowing) and quite bright (otherwise light bounce won't be that noticeable).
110
Hillsguy @hillsguy.bsky.social · 30/05/2026
raytraced reference vs normal map + bent normals and ao for self-shadowing + separate bent normals and ao texture for light bounce 🤔
110
Hillsguy @hillsguy.bsky.social · 28/05/2026
ia802905.us.archive.org/view_archive...
ia802905.us.archive.org
010
Hillsguy @hillsguy.bsky.social · 28/05/2026
Most sources on bent normals cite "Production-Ready Global Illumination" by Hayden Landis from Siggraph 2002 course notes (see archive.org).
010
Hillsguy @hillsguy.bsky.social · 27/05/2026
It depends on what type of bent normals you are talking about. Screen space bent normals is used to improve LPV GI quality by changing sampling direction. Bent normals as texture on assets is usually used for self-shadowing and specular occlusion to reduce unnatural glow and ground assets a bit.
120
Hillsguy @hillsguy.bsky.social · 27/05/2026
You need both regular AND bent normals. I think this is mainly due to addition VRAM cost compared to AO, whether this is screen space bent normals or just a texture on an asset. Altho I think its worth it for hero assets and for highly bumpy surfaces with lots of self-shadowing.
120
Hillsguy @hillsguy.bsky.social · 26/05/2026
Still looks videogame-y to my taste but better than regular normal maps...
000
Hillsguy @hillsguy.bsky.social · 26/05/2026
This is how visibility data looks like at the pixel level. 1. Raytraced visibility 2. Visibility approximated using bent normals
230
Hillsguy @hillsguy.bsky.social · 26/05/2026
Came up with a cursed workaround for baking bent normals purely in Blender 3D using the raycast shader node. Bent normals are usually used for self-shadowing and reflection occlusion. 1. Regular normal map 2. Normal map + raytraced shadows 3. Normal map + bent normal map #b3d
2131
Hillsguy @hillsguy.bsky.social · 20/05/2026
Found a nice way to visualize and debug directional lighting data Again, raytraced reference vs per-channel RGB AHD lightmap
020
Hillsguy @hillsguy.bsky.social · 12/05/2026
Collecting references
000
Hillsguy @hillsguy.bsky.social · 08/05/2026
with another texture
020
Hillsguy @hillsguy.bsky.social · 08/05/2026
Ray-traced reference vs spherical harmonics (L0+L1) 1024x lightmap vs per-channel AHD (dominant direction) irradz 1024x lightmap I can barely see any difference...
171
Hillsguy @hillsguy.bsky.social · 04/05/2026
Currently trying various workarounds for baking directional lightmaps in #Blender 3D. Ray-traced result vs 1024x1024 lightmap with directional information stored as spherical harmonics. #gamedev
0103
Hillsguy @hillsguy.bsky.social · 29/04/2026
Nice! Can you show some screenshots?
100
Hillsguy @hillsguy.bsky.social · 29/04/2026
youtu.be/vHRVcCWy9Fo
youtu.be
Glass reflection and refraction using parallax corrected cubemaps
YouTube video by Romochka
000
Hillsguy @hillsguy.bsky.social · 29/04/2026
120
Hillsguy @hillsguy.bsky.social · 29/04/2026
Glass refraction & reflection using simple parallax corrected cubemaps. No screen space effects, no RT #gamedev #indiedev
2173
Hillsguy @hillsguy.bsky.social · 24/04/2026
A more naive approach using only 1 texture. Less artifacts but looks even more blurry
010
Hillsguy @hillsguy.bsky.social · 24/04/2026
1024x HDR texture + 1024x LDR distance texture = 😐 #gamedev #indiedev
152
Hillsguy @hillsguy.bsky.social · 27/03/2026
28-41 fps on Nokia N95! I love PowerVR MBX Lite
020
Hillsguy @hillsguy.bsky.social · 27/03/2026
Trying to approximate flashlight in M3G (~OpenGL ES 1.1) 1. Disable all scene lights, enable omni light at player position 2. Render the scene 3. Render flat 2D flashlight mask 4. Disable flashlight omni light, enable other scene lights 5. Render the scene again using additive blending 6. Voila?
This is how scene looks like with scene lights enabled but without flashlight
121
Hillsguy @hillsguy.bsky.social · 18/02/2026
spring 2020
010
Hillsguy @hillsguy.bsky.social · 13/02/2026
github.com/rmn20/MascotME
github.com
GitHub - rmn20/MascotME: MascotCapsule v3 implementation in pure J2ME
MascotCapsule v3 implementation in pure J2ME. Contribute to rmn20/MascotME development by creating an account on GitHub.
000
Hillsguy @hillsguy.bsky.social · 13/02/2026
Spent my whole January working on a new MascotCapsule v3 implementation in pure MIDP 2.0 Now you can run games previously exclusive to Sony Ericsson phones on any powerful enough J2ME cellphone or easily add MCv3 support to your J2ME emulator without worrying about OpenGL/ES support
Don't look at Nokia N70 and Samsung Champ, they are too slow for this
151
Hillsguy @hillsguy.bsky.social · 13/01/2026
The same render, but with filter glossy 1 and cast/receive shadow caustics
040