Hi, I'm James. I'm a software artist (somewhat analogous to a Subway "sandwich artist") currently working on real time rendering, and learning how to draw.
Content
Crypto Thoughts - My unfinished thoughts on cryptocurrencies, NFTs, and whatever else is happening in the blockchain space. I'm trying to keep it neutral, but I'm bearish on the near term efforts.
Voronoi Shattering - A planned series on implementing Voronoi diagrams in 3D to simulate fracturing of 3D meshes.
buffdog: playing around with the guts of 3D real time rendering - GitHub repository
Casual Updates
2022-03-08: The thought of implementing collision handling in buffdog struck fear in my heart for a long time, but I finally did the damn thing (in a very rudimentary manner), with the help of Christer Ericson's book Real-Time Collision Detection. Further tinkering revealed that rendering more than ~10 platonic solids at once with my software renderer really puts a strain on buffdog's software renderer, so it's finally time to unite my game engine tinkering with my Vulkan learnings and produce an actual game engine. Working title: severin.
2022-02-14: Interview prep, drawing figures and faces; the long grind has truly begun.
2022-01-22: I thought 2022 was gonna be my year, but so far it's been a series of mental gut punches instead. Nonetheless, I have started the job search (hi to anybody who happens to be checking out my site from my resume), I'm interview prepping, and I've started working on a new (very) simple game idea for buffdog/rockshot, Rocket Fighters. I'll be going to Hawaii and elsewhere for the next couple of weeks, so maybe the distraction will allow me a mental reset.
2021-12-12: Really deep diving on vkguide, vkQuake, and Vulkan-Samples. I'm still fairly lost in the woods, but I'm beginning to understand how everything within Vulkan interacts, and how the same task can be achieved in many different ways.
2021-12-04: Gave up on Voronoi shattering, I'll come back to it later. I've decided I need to focus on getting a functional engine working ASAP, and the first order of business is replacing buffdog's software renderer with a bona fide Vulkan render. To help bridge the gap, I'm following vblanco's Vulkan Guide, which seems to provide a roadmap to building a renderer that behaves similarly to one that would be used in a game engine. Once I get something basic working there, I'll be moving on to physics and collision detection. On the drawing front, I've been working pretty hard on hands, and I'm finally seeing some good progress.
2021-11-22: Finally working on Voronoi shattering again, diving back into my Delaunay triangulation code (which is a mess).
2021-11-10: Been drawing about three pages a day, my best output so far. I've put some more love into buffdog, and I'm even considering diving back into Vulkan. Not sure how I feel about seeking employment again though.
2021-10-29: Drew lots of skulls this month, and I could see the improvement in both that and drawing circles freehand. However, I'm pretty disappointed with my progress overall, and I'm planning to put much more effort forth in November.
2021-09-21: Adding BSP parsing to buffdog as a proof of concept, with the intent to add it to phalanx as a pre-built world/level and collision handling system. I've also been making some Quake maps in Trenchbroom, both to test the parser and just because it's fun. Wish I'd gotten into casual level design when I was much younger.
2021-09-14: Trying a new thing where I draw at least five things a day: an ATACMS rocket, a kei truck, a Tom Fox mannequin, a Loomis head, and some perspective boxes. So far it's prevented me from drawing one line and calling it a day.
2021-09-07: Found the Vulkan-Samples repository, which seems to contain the solution(s) to my aforementioned problem(s). Started learning CMake as well, since this and other repositories make heavy use of it.
2021-08-30: Turns out learning Vulkan is hard; there's so many ways to do any particular thing. Currently struggling with how to propagate model transformation matrices to vertex shaders for each model.
2021-08-24: I've made pretty good progress on the Vulkan tutorial, as captured in phalanx. I'm hoping to dive into vkQuake and vkDOOM3 to better understand how Vulkan is actually used to do real time rendering in 3D game engines, since the tutorial really only renders static content, and doesn't deal with continually updated vertices and camera position. My buffdog project handles this, but it's also a very hacky software renderer, and I'm planning to supplement it with a Vulkan renderer once my work with phalanx has run its course.
2021-08-23: I'm hoping to post casual updates here on a regular basis from now on. Right now, I don't really have an audience to talk about my work with, Twitter feels too restrictive, and writing a full blog post is too high of a bar.
Links
Tech Twitter, where I sometimes post update videos
Art Twitter, where I sometimes post my latest noteworthy doodle