<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Anthony Saade: Blog</title><description>Tutorials on Roblox game mechanics: networking, combat, anti-exploit, and Luau patterns.</description><link>https://anthonysaade.dev/</link><language>en-us</language><item><title>Postmortem: Bard’s Fighting Arena</title><link>https://anthonysaade.dev/blog/bards-fighting-arena-postmortem/</link><guid isPermaLink="true">https://anthonysaade.dev/blog/bards-fighting-arena-postmortem/</guid><description>What building and running Bard’s Fighting Arena taught me about niche audiences, zero-budget marketing, and the cost of perfectionism, after 21,600+ visits.</description><pubDate>Fri, 25 Sep 2026 00:00:00 GMT</pubDate><category>postmortem</category><category>game-design</category><author>Anthony Saade</author></item><item><title>Bezier Projectiles With De Casteljau’s Algorithm</title><link>https://anthonysaade.dev/blog/bezier-projectiles-with-de-casteljau/</link><guid isPermaLink="true">https://anthonysaade.dev/blog/bezier-projectiles-with-de-casteljau/</guid><description>A generic Luau BezierCurve function that works on any type you can lerp, and how Bard’s Fighting Arena uses it for projectile arcs.</description><pubDate>Fri, 25 Sep 2026 00:00:00 GMT</pubDate><category>luau</category><category>math</category><category>combat</category><author>Anthony Saade</author></item><item><title>Building Timestop: Freezing a Roblox Fight Convincingly</title><link>https://anthonysaade.dev/blog/building-timestop/</link><guid isPermaLink="true">https://anthonysaade.dev/blog/building-timestop/</guid><description>How the Timestop ability in Bard’s Fighting Arena works: a server-owned timestop state, a Glass mesh that freezes the screen, animations that ease to a stop, and a color grade.</description><pubDate>Fri, 25 Sep 2026 00:00:00 GMT</pubDate><category>luau</category><category>vfx</category><category>combat</category><author>Anthony Saade</author></item><item><title>Hurtboxes: One Part Per Character for Every Hit and Query</title><link>https://anthonysaade.dev/blog/hurtboxes-one-part-per-character/</link><guid isPermaLink="true">https://anthonysaade.dev/blog/hurtboxes-one-part-per-character/</guid><description>How Bard’s Fighting Arena gives every character a single invisible hurtbox, so combat, abilities, and character sync all find characters the same way.</description><pubDate>Fri, 25 Sep 2026 00:00:00 GMT</pubDate><category>luau</category><category>combat</category><category>architecture</category><category>server</category><author>Anthony Saade</author></item><item><title>Parallel Luau Character Sync: Moving Joint Math Off the Main Thread</title><link>https://anthonysaade.dev/blog/parallel-luau-character-sync/</link><guid isPermaLink="true">https://anthonysaade.dev/blog/parallel-luau-character-sync/</guid><description>How Bard’s Fighting Arena poses every nearby character’s neck, torso, hips, and shoulders in parallel under an Actor, then commits the results in one synchronized step.</description><pubDate>Fri, 25 Sep 2026 00:00:00 GMT</pubDate><category>luau</category><category>parallel-luau</category><category>performance</category><category>networking</category><author>Anthony Saade</author></item></channel></rss>