Ascendant is a MacOS desktop application for collecting and analyzing your Destiny 2 PVP stats. Originally released in 2023 it is available for download at ascendantapp.info.
The application provides what is probably the most comprehensive view, breaks downs and analysis of individual player data available in the Destiny 2 community.
Features Include:
You can find more information including an FAQ, as well as download the app at:
DCLI (Destiny Command Line Interface) is a suite of command line tools for syncing and analyzing Destiny 2 PVP data. Originally released in 2001, it is written in RUST, and available for Mac, Windows and Linux.
The code for the project is released under an MIT License. The latest release, as well as code is available on the DCLI Github project page.
The core of the suite is built around dclisync
which syncs all Destiny 2 PVP data for the specified player. This data is saved in a SQLite3 database, which can then be used as the data source for other projects. It supports syncing data for multiple players
The WoW TCG Utility is a native Mac OS X application for searching and managing cards for the World of Warcraft Trading Card game. This was an app I worked on from 2009 to 2010, and released as a free, open source project (released under an MIT License).
You can view the project page as well as download and view all of the code from the WoW TCG Utility Github Page.
Continuing my posts as I learn about the Bevy game engine for Rust, this post covers the basics of working with windows in Bevy, including how to set the initial size, and handle window resize events.
In order to set the initial window size, you need to specify the settings via a WindowDescriptor resource added before DefaultPlugins are added.
Here is some example init code that sets the window size to 400 x 400 and sets the title of the window:
I have started to play around with learning some game development using the Rust based Bevy game engine. One of the first things I wanted to make sure I understand is the coordinate system used by the engine. However, it was a little different than what I am used to (web and Flash), and took me a bit to figure out. This post gives a quick overview and summary of the 2D coordinate system used in Bevy.
I am working on a new Rust based Destiny 2 project (dcli) and needed to be able to calculate the last date / time that Destiny 2 had its weekly reset (every Tuesday at 1700 UTC). Finding the previous Tuesday wasn’t too difficult, but adding the specific time on Tuesday added some complexities and I wanted to share my solution in Rust using the Chrono library.
First, lets look at a quick solution to get the last previous day of week (in this case Tuesday):
I have been spending some time the past week playing around with Arch Linux. I really like the approach of a bare bones install and understanding every single thing on your system. However, this can lead to some frustration when you are first starting out (my first install I ended up without a network, any fonts or a kernel!).
Anyways, I think the most workable barebones install of Arch Linux is basically the base Linux install with a window manager. This post quickly covers the steps for installing and configuring the Openbox window manager on a fresh Arch Linux install.
I have been wanting to learn a bit more about Linux, and see if it could maybe work for me as a day to day machine for general development and usage. I have some old laptops laying around that I’m not currently using, so I figured I would spend the weekend and install Linux one of them. I decided on ArchLinux as it seems to be well regarded and is bare bones, built for people who want to learn how things actually work, and want to freedom and flexibility to build and configure the exact system they want.
I have been playing around with the Alpha version of Flutter Desktop lately, and needed to use a SQLite database which I may need to update at runtime. This was causing an an issue, as once I loaded the database file into SQLite it was holding a lock on the file (and thus preventing me from overwriting it).
Since I was only reading from the database, and never writing, I wanted to just completely load the database into memory and disconnect it from the file. SQLite does allow you to create an new in-memory database using inMemoryDatapasePath, but I could not find a simple way to load an existing database directly into memory (i’m using the sqflite_common_ffi library).
Grant Skinner and I have released a new iOS and Android app for Destiny 2. Redrix is a Destiny 2 PVP companion app which gives you information and stats when playing Crucible mode in Destiny 2.
The response from the community has been overwhelming. The app made the front page of Reddit (2), and has had a couple of articles and reviews posted online.
We are using Bungie’s Destiny 2 API, which really gives a ton of information about what is going on in game. I honestly think its one of the best ways a company can support and build a community, and Bungie has really knocked it out of the park.