Allen Webster's Avatar
Allen Webster
I am a programmer. I have a background in programming. I work as a programmer. In my spare time I like to program. I am interested in programming.
Twitter
YouTube
Twitch
Member since

Recent Activity

&bin-dash Finaly Jam Day:

For the last few days I've been playing with the arrangement of the interface. Finally ending with a permanent hex view that can be viewed side by side with higher level data tables. Ranges of the file are marked up by the parser, so that the user can jump to them in the hex and view a higher level data tables associated with the section if one happens to exist.

Based on the results of this jam I see a lot of potential in a tool like this to visualize all kinds of binary files not just PE/COFF files. I expect to continue development on this to take it a lot farther.

View original message on Discord

&bin-dash Day 4: It's not much yet - but I've started making steps to add another type of view to Bin-Dash. This one will map markup about the file onto the hex (and maybe later something like a zoomed out mini-map). To get started I setup a rough sketch for this type of visualization as a split with a list of the markups and a hex view. The markups I have so far are actually diagnostics for malformed inputs. I hope to combine these markups with markups like ranges of headers, sections, etc. so that the visualizer can be used to diagnose and fix issues with binary generators.

View original message on Discord

&bin-dash Day 2: I've moved the section table parser to the abstracted pe.parse layer, and then constructed it within the Bin-Dash UI data structure. Then I decided I wanted to move the table like interface into a separate data structure from the high level hierarchy of parsed features, which led to some major reconstruction of the UI data structures. This new interface structure feels more appropriate and simplifies some problems that were going to be tricky when trying to do the whole thing in a single uniform structure.

View original message on Discord

&bindash Day 1: Looking at symbols in an object file.

View original message on Discord

Update at the conclusion of my jam time.

I added some command line options so that a user can choose what system they'd like to visualize and the parameters for it. So far I have 4 built in systems.

I also extended the system to support 2nd order equations. 1st order equations are equations where you directly specify the velocity. These make the nice uniform flow fields. 2nd order equations are equations where you directly specify the acceleration. In that sort of system the position of a point doesn't uniquely determine it's velocity, so the plot becomes more of a cluster of particles shooting around one another. You can still see things like, what states the system tends to be drawn towards, whether the system tends to form orbitals or shoot off to infinity, etc.

I haven't gotten the code in a state where I can share it all yet, but you can check out the plotter here for now: https://mr-4th.itch.io/delta-xy-plotter

I am two days of work on my jam project &delta-xy-plotter

I've got the particle system tuned to do a pretty good job accentuating the flow of the differential equation that is being plotted. It has rules for randomly spawning in new particles when possible, killing particles that are too close to standing still, and killing particles in areas that are too dense. This seems to create a nice balance of covering the plot in particles without making the density so high you can't actually "read" the plot at all.

In this animation I am using the classic Lotka-Volterra equations for modelling predator-prey interactions, and I am changing the base growth rates for each species over time to see the plot changing.

View original message on Discord

I've been building up a membership system for my website for the last couple months. It's finally out and announced to for everyone to find. I have to give a big thanks to @brethudson for a big chunk of the web programming that went into this.

The system is announced in this video: https://www.youtube.com/watch?v=BJncE8ZVIiE

Or you can read about it here: https://mr4th.com/blog/membership-announcement

View original message on Discord

I've put together a reference for everything you need to know to build cross platform dynamic linking programs in C (Windows & Linux, no Mac info yet). I tried to test and search for every last thing I could think of (in one week). I hope it's helpful or something!
https://mr4th.com/articles/reference-dynamic-linking

View original message on Discord

I've spent the last week working on my story engine stuff again. I scrapped the version I was iterating on in February because something about it felt off. This time I started from the "run time" without worrying about having a content authoring system. In other words it's another game jam. It feels a lot better. I've experimented with the text layout features, animation features, interactivity features, all of that forms the "narrative game interface" and I've been building a Roguelike backend to it, which drives the flow of the game in a more dynamic way then what a strict finite state machine story engine allows.

View original message on Discord

I spoke a bit at the last coffee chat about how I've felt a bit stuck - unable to really dig in to any of the projects I'm interested in right now. To deal with it I've spent the last week having a little solo game jam, doing something purely for the fun of it to get back some momentum. Here's what I made!
https://youtu.be/bDrPxDmXGs4

View original message on Discord

More progress on my cutscene & dialogue project. I've just started on editing features today. Not show here is I've also upgraded the timeline to handle scrolling, and setup tooltips. I've also spent a few days on cleanup, choosing nicer looking fonts, and tracking down some graphics performance bugs (this is the first major project on my graphics layer).

View original message on Discord

More progress on this cutscene dialogue stuff. I've started sketching out a "developer mode" along the bottom you have a timeline that you can navigate quickly, and on the side an info panel showing the data that makes up the current step. All the while it shows you a mini version of what the scene player would display.

View original message on Discord

More dialogue/cutscene system work. Automatic layout adjustment for window size, text size selection and better precision text layout, automatic text wrapping so I don't have to have newlines in the dialogue text.

View original message on Discord

Just starting to break ground on a new project. So far it's just an early sketch of a dialogue and cutscene system.

There are very basic controls on the system: advancing dialogue, skipping to the end of dialogue roll out animations or other animations.

View original message on Discord

I want to make extra sure I've got multi-language text input working so I'm whipping up a win32 input visualization panel.

View original message on Discord

Another new podcast - this one with VoxelRifts the creator of some really great low level explainer videos https://youtu.be/c4bXBjARdJ4?si=JG5US8WXT1pzQO5J

View original message on Discord

End of jam report: I added a system for mixing all input tracks into a master track to perform additional analysis & visualization on the combined track. I added a pretty typical visualization for the mixed track that also serves to visually "frame" the video a little bit. I tuned up the effects to make them just right for the final videos. Finally I added command line parameterization so I can reuse the program without having to edit the parameters and generate noisy git commits.

Speaking of git you can now check out source over here: https://mr4th.com/link/podcastoscope

Day 2 progress report: I've definitely got an audio visualizer now. Today my goal was to get it good enough that I would be willing to use to actually render a video for YouTube. The biggest steps forward are a system to analyze when to highlight speakers that does not change too often, or ignore overlapping speakers, and sensitive enough frequency analysis that effects rendered from it really do match what you're hearing. It's still very bare bones, but I think it's looking pretty nice!