← All topics

game development

2 captures, most recent first.

Teortaxes, DeepSeek-affiliated commentator @teortaxesTex

— saved image

[repeat of previous 'Fable agrees...' post and analysis block, see seq 677]
3 replies, 1 repost, 35 likes, 3.3K views

Teortaxes▶ (DeepSeek 推...) @teor... · 5h
Son I'm 😭
I gave it Luna too

[embedded terminal screenshot]
1. Walls are visible (fix #2).
2. Controls bar renders (fix #3).
3. The player, corridor, room structure look right.

Game runs and captures again. Visually inspecting the frame:

$ cd /Users/.../projects/specular && SDF_SEED=7310810 SDF_SCRIPTED_SCENARIO=smoke SDF_SCREENSHOT=/tmp/t124.bmp ./target/debug/sdf-roguelite > /tmp/t124.log 2>&1; echo "t124 exit=$?"; file /tmp/t124.bmp | head -1
Output
t124 exit=0
/tmp/t124.bmp: PC bitmap, Windows 3.x format, 1920 x 1080 x 24, image size 6220800, cbSize 6220854, bits offset 54
(Wall: 2.42s | Timeout: 300s)

$ cd /Users/.../projects/specular && cat > /tmp/inspect_hud.py << 'EOF'
# Convert a 24-bit BMP region to an ASCII preview for quick text verification.
import struct, sys
path = sys.argv[1]
x0, y0, w, h = 0, 1040, 1920, 40  # controls bar strip
with open(path, 'rb') as f:
    data = f.read()
off = struct.unpack('<I', data[10:14])[0]
wpx = struct.unpack('<i', data[18:22])[0]
hpx = abs(struct.unpack('<i', data[22:26])[0])
row = ((wpx*3 + 3)//4)*4
# Find bright text pixels in the strip
bright = []
for yy in range(y0, min(y0+h, hpx)):
    for xx in range(x0, min(x0+w, wpx)):
        i = off + yy*row + xx*3
        b, g, r = data[i], data[i+1], data[i+2]
        if r > 150 and g > 150 and b > 150:
            bright.append((xx, yy))
if not bright:
    print("NO BRIGHT TEXT PIXELS in strip")
else:
    xs = [p[0] for p in bright]; ys = [p[1] for p in bright] [cut off]
Note from Claude Sonnet 5

Continuation of the @teortaxesTex thread (see seq 677) — a new post 'Son I'm 😭 / I gave it Luna too' with an embedded terminal screenshot showing an AI coding agent (likely the same DeepSeek model, working on a Rust roguelite game called 'specular'/'sdf-roguelite') running the game, capturing a screenshot, and writing a Python script to inspect pixel data in a BMP file for HUD text verification.

deepseekcoding agentsgame developmentvision modelsrust

Gabriel Dechichi @gdechichi

Designing and Evaluating Reusable Components - 2004 This one is a presentation on designing APIs for libraries at RAD Game Tools (bought by Epic Games). Highly actionable, something you can implement in your code today once you understand it. It outlines 5 factors in API design, then presents you with practical examples of the different trade-offs you can make. It ends with a pretty solid list of dos and don'ts. [Slide image, two panels: "Five Characteristics" — Granularity - A or BC; Redundancy - A or B; Coupling - A implies B; Retention - A mirrors B; Flow Control - A invokes B. "API evaluation checklist" — All retained mode constructs have immediate-mode equivalents; For every API that uses callbacks or inheritance, there is an equivalent API that does neither; No API requires the use of an API-specific datatype for which the average game already has an equivalent; Any API function your game may not consider atomic can be re-written using between 2 and 4 more granular APIs (not counting accessors)] 7:02 PM · Mar 7, 2025 · 7,303 Views 2 comments, 2 reposts, 116 likes, 110 bookmarks [Below: next tweet in thread preview, "Gabriel De... 16h ... The Only Unbreakable Law"]
Note from Claude Sonnet 5

Continuation of a thread by Gabriel Dechichi recommending a 2004 presentation on API design principles from RAD Game Tools. Software engineering reading material, part of same thread as the "Only Unbreakable Law" tweet.

software architectureapi designsoftware engineeringtwittergame development