Joรฃo Baptista ๐Ÿ‡ง๐Ÿ‡ท's Avatar

Joรฃo Baptista ๐Ÿ‡ง๐Ÿ‡ท

@joaobapt.com.bsky.social

Passionate for game development, graphics programming, mathematics and music. Contributor at the GBA and Gameboy development community, willing to learn more about console dev, modern GPUs and anything that can execute code ๐Ÿ™ƒ

85 Followers  |  385 Following  |  57 Posts  |  Joined: 07.12.2023  |  1.6558

Latest posts by joaobapt.com on Bluesky

Everything I wanted to pioneer in already exists unfortunately. Either it already existed when I thought of it, or I did nothing and someone arrived first with it. Makes me wonder what is my real value in the software world. What am I really good at?

02.01.2026 04:12 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Ah okay, I was thinking on a more graph-like map like in Metroid Prime, maybe using a leve streaming feature (which is semi-simplified by the fact that the world is divided in rooms).

11.12.2025 04:22 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

โ€ฆugh, Prime 2, I forgot I canโ€™t edit posts here.

11.12.2025 02:32 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

8x8x8 what? Kilometers? Iโ€™d probably set in something like 16x16x4 or even less, because 3D worlds donโ€™t need to be super vertical since they have the 3rd dimension. (Of course verticality isnโ€™t bad, the third area of Prime 3 shows that)

11.12.2025 02:31 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

How would you design a Metroid Prime game if you had the chance? What about a 2D exploration one? I cannot really fathom going from one extreme to the other โ€œby footโ€ in Silksong, and even in Metroid Prime 4 itโ€™s a bit daunting (yes, even with the bike).

10.12.2025 22:10 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

What do you think of how it was implemented in the Hollow Knight games? Granted, they have fast travel, so backtracking isnโ€™t as tedious as in Super Metroid for example.

10.12.2025 21:51 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

I wonder what was happening when someone came up with some namesโ€ฆ
โ€œOh, how should I name the error that happens when a process tries to access memory it doesnโ€™t have permission to?โ€
โ€œThatโ€™s easyโ€ฆ a SEGMENTATION FAULT!!โ€

21.05.2025 22:55 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

How does a vey aspect-ratio 2D game, like a platformer, deal with wildly varying aspect ratios when on PC without letterboxing? If you have a native resolution of 16:9, some users might be in an ultrawide monitor of 16:3 a 4:3 standard CRT, or other weird combinations. How to do in that case?

02.05.2025 01:30 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

I wonder itโ€™s any โ€œeasierโ€ to emulate the Nintendo Switch on an Apple Silicon machine due to them using the same ISA, and if that would simplify things a bit since no tricky JIT needs to be done from AArch64 to x86.

25.04.2025 04:15 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

AVX512 was quite a bit of a mess due to the extreme power consumption and even throttling caused by it. At this point, might as well move part of the workload to the GPU.

03.04.2025 03:56 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

It makes sense to charge for them, the upgrades werenโ€™t pulled out of thin air, they were made by people who need a steady income so they can pay bills, eat and pay rent (or taxes, or whatever).

02.04.2025 15:16 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

Iโ€™m not ready to say goodbye to shadow mapping, SSAO/SSDO/SSR, clever light probing techniques, planar reflections, all in favor of ray tracing. I always loved the โ€œtricksโ€ graphics programmers had to pull out for realistic graphics in the past decade.

02.04.2025 15:14 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Anyone going to GDC next week?

14.03.2025 00:42 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Guys, in the end all the processor sees is a linear array of instructions operating on a linear array of bytes.

15.02.2025 03:44 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

When I was trying to derive it myself, I was trying to protectively map the โ€œfrustum trapezoidโ€ to a rectangle while preserving the perceived projected depth, but it seemed impossible to do it.

02.02.2025 06:10 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Anyone knows good articles about oblique projection of shadow maps onto the frustum planes? Seems like an interesting technique to save space and avoid undersampling.

02.02.2025 06:10 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

They could be in any format. Plain (tiled) sprites, or compressed, or even encrypted, so itโ€™s hard to say without looking at the game and inspecting it. What you can do, though, is use an emulator to inspect the VRAM while the game is being played.

30.01.2025 01:58 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

But, if youโ€™re a computer creating a file to be read by another computer, why not just export the binary representation of the number? This will skip synthesizing the number *and* skip parsing, saving some resources.

29.01.2025 21:38 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

I remember seeing some researches about fast parsing of floating-point numbers from text format. This is necessary to optimize parsing of textual records with potentially millions or billions of numbers, things that would potentially only be created by computers themselves.

29.01.2025 21:38 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

C++ be like: โ€œYouโ€™re the intelligent guy here, Iโ€™m trusting youโ€™re doing the right thing, go ahead friend!โ€

Rust be like: โ€œScrew you, youโ€™re dumb as a door, Iโ€™ll pester you with every single line of code to write to show you MY way of doing things.โ€
Me: unsafe
Rust: โ€œOh, sorry.โ€

23.01.2025 07:08 โ€” ๐Ÿ‘ 7    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

You can actually write any expression, no matter how complex, without using parentheses, but you have to get rid of infix operators:

0 b - b b * 4 a * c * - โˆš + 2 a * /

14.01.2025 20:44 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Same!

22.12.2024 13:52 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Turns out Swift has full Unicode support, so I could use it and it would accept, even emoji if I wanted to.

14.12.2024 02:07 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Swift has โ€˜^โ€™ at the same precedence as โ€˜+โ€™, so I canโ€™t repurpose it to vector wedge product (or cross product for that matter), would have to create another operator (yes, thatโ€™s possible on Swift).

13.12.2024 18:58 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Yes, by default, if you donโ€™t put any license, you have an โ€œall rights reservedโ€ copyright that doesnโ€™t let anyone use it or copy it without your permission. However, I doubt you can disallow forks on GitHub.

It doesnโ€™t stop people from reading your code and learning from it though.

12.12.2024 01:38 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image

Bad projection matrix vs good projection matrix ๐Ÿ˜…

11.12.2024 21:31 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Iโ€™d say file A maintains its original guid. Or you could generate a new guid for it.

Depends on if youโ€™re trying to encode the โ€œnameโ€, the โ€œexistenceโ€ or the โ€œcontentsโ€ of a file. Maybe it would be better to just hash it and use that hash if possible, but then hashes can clash.

11.12.2024 00:03 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

๐Ÿ˜ข To be honest, seeing all the studios ditching their engines to go with Unreal, Unity or Godot makes me wonder how the future for a graphics engineer looks right now. I donโ€™t want to have as my only choice to work on one of two over-engineered superprojects to be honest.

11.12.2024 00:01 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

One of my favorite things when playing modern games is to walk around and move the camera to see the reflections. For some reason, reflections are beautiful and I always wonder how theyโ€™re handled by the engine.

09.12.2024 05:11 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

iPhone ๐Ÿ˜… I also want to get a Mac eventually, at least those have a more homogeneous hardware.

Thatโ€™s the advantage of consoles (at least unless they decided to launch Pro/X versions); thereโ€™s a single unique hardware where your game is supposed to run.

05.12.2024 00:14 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

@joaobapt.com is following 18 prominent accounts