Abed’s Blog

Musings in game development, computer graphics, and infrastructure automation.

Self-Hosting: Function-as-a-Service (FaaS) Offerings in 2023

What is FaaS? Function-as-a-Service (abbreviated FaaS) platforms offer developers the ability to quickly deploy their applications. Rather than deploy in the typical fashion involving a webserver and backend application, the developer can deploy each endpoint as an individual function, allowing developers to focus solely on their application. Some examples of FaaS are AWS Lambda and GCP Cloud Functions. Why is a FaaS useful? FaaS platforms allow developers to deploy individual functions (usually as HTTP endpoints) in a simplified way....

November 5, 2023

Game Mechanics

I like to collect ideas for game mechanics that come to me, or interesting mechanics I’ve observed in existing projects. Some are more fleshed out than others. Mechanics to Consider Game mechanic where you have to manage your doctors and nurses and other medical things to keep your population healthy Stressful Events Weapon Reloading a mechanic where weapon reloading is more than just pressing a button – designed with the intent of making reloading a usually-trivial task, but easier to mess up or be wasteful with when in the middle of a battle or something Repair Mechanic repair mechanic for game two items at 50% can fix the item beyond 100% but two items at 5% don’t get it past 10% makes junk items less valuable to pick up, only thing player hauls back is stuff that’s in good shape Crimes Money Laundering a taxation system that can somehow be gamed in order to launder income let other players delve into uncovering laundering operations Contracts and Agreements Giving players the ability to create and sign contracts with their own custom terms for example in strategy games: treaties and trade agreements Real Estate/Land Control I like the idea of being able to purchase land and property in peaceful areas, and take away land by force in war zones and contested land Item Rarity I like the idea of giving certain consumables a rarity rating (common, uncommon, rare) so even mundane things like coffee can be split into multiple categories and given different effects in a balanced way Equipment Jewelry Adding clothing or armour sets can be time consuming – provide stats and abilities to players via jewelry like rings, necklaces, etc....

May 17, 2023

Implementing Discord OAuth in NGINX

You have your own NGINX instance serving content to the internet. This is great. Now you need to secure your private content. You use auth_basic to implement basic HTTP authentication. This is an annoying process and, depending on the browser, requires multiple steps with unavoidable (?) wait times in between. Enter OAuth – a standardized way to offload your authorization concerns to a third party. In this case, I implemented Discord OAuth logins for our upcoming browser-based party game, Lie to Me....

November 18, 2022