Dominic Szablewski

2.4K posts

Dominic Szablewski banner
Dominic Szablewski

Dominic Szablewski

@phoboslab

Katılım Mart 2008
254 Takip Edilen7.6K Takipçiler
Andreas Kling
Andreas Kling@awesomekling·
I would be doing something very similar if I had unlimited tokens for a frontier model tbh. This seems wild now, but will be normal everyday shit in a year or two. Great to see @jarredsumner pushing the envelope :)
English
10
2
121
7.6K
Andreas Kling
Andreas Kling@awesomekling·
You may not like it, but this is what peak performance looks like.
Andreas Kling tweet media
English
26
20
594
38.1K
Dominic Szablewski
Dominic Szablewski@phoboslab·
@PalmerLuckey I don't know man. The N64 is a quirky beast. Yes, it has enough horsepower to decode H264, yet drawing a simple tilemap requires careful consideration of draw order to not overwhelm the memory bandwidth. It's all possible, but so, so complicated.
English
0
0
9
815
Palmer Luckey
Palmer Luckey@PalmerLuckey·
One of the real bummers of the N64 software library is that despite being extraordinarily capable as a 2D system, almost all of the effort went into 3D games. Makes sense, that was the shiny new selling point, but the hardware is capable of so much as a sort of Super-SNES.
English
346
134
6.2K
393.3K
Dominic Szablewski
Dominic Szablewski@phoboslab·
@kurriochi @the_randomizer Right, we now have much better tooling and an amazing community, compared to the hushed tones behind closed doors back in the day. Also, fun fact: what people generally call "GPU microcode" (in N64 context) is just MIPS assembly :)
English
0
0
0
21
Kurriochi
Kurriochi@kurriochi·
@phoboslab @the_randomizer Like yeah it's cool that if you carefully construct the game's code in assembly, GPU microcode and other stuff, you can get stuff like ambient occlusion and bloom working. But I'm not sure if any devs could've taken advantage of this stuff back then.
English
1
0
1
35
Dominic Szablewski
Dominic Szablewski@phoboslab·
Ever wondered why explosions and other effects looked so much cooler on PSX than on N64? It's additive blending! While the N64 ACKCHYUALLY did support it, it was practically unusable. 🧵
English
23
56
481
42K
Dominic Szablewski
Dominic Szablewski@phoboslab·
@megatog615 PSX had the opposite problem: no proper multiplicative blending. What you need is `(src * dst)/255`, but the PSX has no programmable "color combiner" and only allows one of 4 fixed blend modes: 0: (src + dst) / 2 1: src + dst 2: dst - src 3: dst + src/4
English
1
0
11
1.1K
mega
mega@megatog615·
@phoboslab unfortunately the PS1's odd multiplicative blending for shadows and other effects like screen dissolves is quite distracting can you explain why PS1 Looks Like That in this regard?
English
1
0
1
1.2K
Dominic Szablewski
Dominic Szablewski@phoboslab·
@the_randomizer And it's no wonder why. SGI famously designed the display processor. They were coming from the movie world where quality was of utmost importance. While doing things "quick and dirty" is often the better approach for games.
English
0
0
0
67
Dominic Szablewski
Dominic Szablewski@phoboslab·
@the_randomizer ... and yet, the general look of PSX games has aged much better. I love the N64, but in hindsight it's undeniably that Nintendo made the wrong tradeoffs deciding for anti alias & texture filter instead of improving memory bandwidth and trivial things such as additive blending.
English
4
0
0
92
Dominic Szablewski
Dominic Szablewski@phoboslab·
Still, this whole approach worked out quite nicely and runs fast enough with a few hundred small sprites on the screen. Might use it for a game! Source is here: github.com/phoboslab/n64_…
English
0
1
22
1.9K
Dominic Szablewski
Dominic Szablewski@phoboslab·
Sadly, the N64 struggles hard with memory bandwidth and thus with blending/overdraw: for each pixel the RDP needs to read the framebuffer from RDRAM, compute the output color and write back to RDRAM. With a 32bit buffer this problem gets twice as bad.
English
1
0
12
1.9K
Merijn
Merijn@merijnvanes·
night time is so chaotic 😂 ~6.6MB only (!) transferred to user, following some core principles kindly shared by @rtroar #threejs #vibejam
English
11
5
99
13.2K
Casey Muratori
Casey Muratori@cmuratori·
@wookash_podcast It says "no JIT" - so, I'm not sure what that means in terms of benchmarking, since presumably nobody else optimizes their unjitted perf?
English
8
0
125
13.3K
Ashley Gullen
Ashley Gullen@AshleyGullen·
Had a bit of a light bulb moment, and... here's a Windows export from Construct running as a single .exe file - all resources packed in to a single file, in a way that antivirus tools hopefully won't see as suspicious. Pretty cool! Should be in a future Construct release.
English
4
0
22
925
Dominic Szablewski
Dominic Szablewski@phoboslab·
More info about my original N64 game, Xibalba 64, soon! 18/18
English
0
2
10
701
Dominic Szablewski
Dominic Szablewski@phoboslab·
I'm in awe of whoever designed this thing. A true hacker! Also, thanks again to lidnariq and everyone else in the N64Brew discord for figuring this out. You guys are the best <3 17/n
English
1
0
7
745
Dominic Szablewski
Dominic Szablewski@phoboslab·
For my N64 game I wanted to support the Rumble Pak and stumbled down a rabbit hole of "not sure if genius or really dumb"-engineering. Libdragon, the system library I'm using, has this very convenient function `joypad_set_rumble_active(port, active)`. Simple, right? 🧵 1/n
Dominic Szablewski tweet media
English
1
5
50
4.5K