Daniel Power

2024 Week 1

Published on 2024-00-05

I accomplished

  • Migrated my Jellyfin server from my NAS to a dedicated server
  • Setup Dynamic DNS using Cloudflare and cloudflare-ddns
  • Migrated the styling of SwiftSpider to Tailwind CSS

I’m working on

SwiftSpider

  • Database encryption
  • Styling / light and dark mode
  • Database refactor to use json fields for node data
    • This is to handle planned functionality for user-defined node types

I’m playing

I’m watching

I’m looking forward to

  • The second half of Frieren: Beyond Journey’s End
  • Local game jam themed around card and board games
  • My copy of Shift Happens should ship soon

Assorted thoughts

In-game overlays

Overlays like those used by Discord and Steam aren’t as simple as they seem. In Windowed mode, you can render above the game window, but in Fullscreen mode this is not possible. It seems the common solution is to write hooks for rendering APIs, but this poses multiple challenges.

First, you need to write a hook for each API you want to support. Tedious but achievable.

  • DirectX 9, 10, 11, 12
  • OpenGL
  • Vulkan
  • Metal
  • SDL, SFML, etc.

The bigger issue is that these hooks can be detected by anti-cheat software, and may be mistaken for cheats, and result in a ban. In fact, even major software like Discord has had incidents of user bans due to their overlay.

This creates a huge barrier to entry for any new software implementing an overlay. It seems that Discord, Steam, and other major companies are only able to do this because they have a large enough user base for anti-cheat developers to implement exclusions.