today I learned why my player felt faster sometimes
4px right 4px up isn't a 4px step, its actually 5.66px. so two keys = 41% free speed
one line fix: dx /= 1.414. wild that every game has to handle this
#gamedev#buildinpublic
Today I learned why screen coordinates are "upside down" 🤯
In math, y increases upward. On screens, y increases downward — (0,0) is the top-left corner.
Why? Old CRT TVs drew pixels top-to-bottom, and every system since inherited it.
#gamedev#phaser3#buildinpublic
hitting "File is not under rootDir" in your TypeScript monorepo?
add this to your tsconfig.json:
"references": [{ "path": "../shared" }]
and this to shared/tsconfig.json:
"composite": true
done. 🎯
#TypeScript#Monorepo#BuildInPublic
TypeScript tip 👇
"./src/**/*.ts" in your tsconfig include field means:
./src/ → src folder **/ → every subfolder recursively *.ts → any TypeScript file
one line. tells TypeScript exactly where to look.
#TypeScript#fullstackdevelopment#buildinpublic
I was building an auth flow with OTP emails, welcome emails.
The naive approach:- await sendEmail() inside the request handler.
Result:
❌ User waits for the email to be sent
❌ Higher response times
❌ Poor user experience
#NodeJS#JavaScript#Backend#BuildInPublic
"Why not Kafka?"
Because I'm sending hundreds of emails per day, not millions of events per second.
Kafka is a jet engine.
BullMQ is a delivery truck.
I needed the truck.
Pick tools that solve your problem, not tools that impress recruiters.
Day 1 of building an AI Dungeon Master 🐉
Frontend backend foundation done:
- Room creation with codes
- Character selection (Warrior, Mage, Rogue)
- Phaser.js dungeon, WASD movement, wall collision
- WebSocket server ready for multiplayer
#buildinpublic#gamedev#phaser
Everyone wants startup growth.
Nobody wants startup uncertainty.
Everyone wants responsibility on paper.
Few want responsibility in practice.
Real growth happens when you're solving problems bigger than your experience. 🚀
#StartupLife#BuildInPublic#Startups#CareerGrowth