SDPS

Smite is a MOBA (Multiplayer Online Battle Arena) video game similar to League of Legends or Dota 2. In Smite, players buy items that affect different aspects of the characters they play as, such as damage, healing, etc. SDPS is a tool for the PC version of Smite that reads the game's combat log and presents it in a table, making it easier to compare different items, combos, and game mechanics. The tool's latest version (v2.4) was downloaded a total of 257 times.
All versions of SDPS utilize the /combatlog toggle
command, which continuously prints
the current match's combat log to a file. The combat log records the history of any damage dealt,
healing, and other events involving the player. By monitoring this file, real-time statistics can be
displayed to the user as an overlay.
Version 1

Version 1 of SDPS was a tool I made to compare item builds for "hunter" type characters. As hunters in Smite generally care most about continuous DPS (damage per second), I wanted a way to easily compare DPS between various item choices. This version of the tool is a simple command-line tool written in Kotlin, as it was for my personal use.
Version 2

In version 2 of SDPS, I decided to make the tool more user-friendly and release it to the public. To do so, I used Java's Swing libraries to make a table UI that could be displayed on top of the game window. With this new major version came a few improvements, some of which were requested directly by users:
- Ability to track the total damage of a multiple-hit combo
- Automatic in-game name detection
- Table text size resizability
- GitHub release update checker
Version 3

Version 2 had a few flaws that could not realistically be improved while using Java's outdated Swing libraries. Version 3 is a work in progress built using the Tauri framework and is a major improvement over version 2. Tauri uses the operating system's native web renderer (WebView on Windows), any web frontend framework for the application's UI, and an additional Rust backend layer that communicates with the frontend portion of the application. In SDPS v3's case, the tool uses a Vite frontend layer while the Rust backend monitors the game's combat log files. I chose to use Tauri with Vite because both platforms have a strong focus on being lightweight, and I didn't want something as big as Electron for a simple game overlay program.


Here's an overview of what's new in version 3 and what is still to come:
-
Complete
- Modernized application design
- Multiple overlay support: overlay windows can be moved and resized on top of a "borderless window" game window
- Custom overlay styling: users can directly modify overlay CSS and see changes in real time
-
Upcoming
- Total and per-second columns for damage and healing in the combat table overlay
- Overlay preset saving
- Key binds
- More match statistic insights
- Additional fun overlays (eg. combo counter)
- Combat log syncing with other players in the same match for additional statistics
As Hi-Rez Studios is no longer updating Smite and is currently focusing on Smite 2, the player base of the original Smite is fading out. At the time of writing, Smite 2 does not support the same feature of outputting the game's combat log to a file like its predecessor. I intend to publicly ask the developers to implement an equivalent feature when I release SDPS v3.