Noita
A couple of my most recent and more spectacular deaths in this amazingly good Roguelike
Permalink - Comments - Tags: Games
Google has an AI problem
Over the last twenty years plenty of people have talked about various existential threats to Google's search money machine (Facebook's social graph, competitive privacy focused engines like DuckDuckGo, Regulatory action, etc). It's ironic, given Google's founding role in creation of the technology that drives modern LLMs, that ChatGPT's launch into the search market seems like the first one that might do material damage to Google's share of global search traffic.
Since the launch of ChatGPT I have been trying out "Gemini" (and previously "Bard") and comparing results. I have been consistently underwhelmed. In fact, it's never given me a useful result. This is quite extraordinary given I regularly use ChatGPT for various tasks on a semi-daily basis (writing SQL queries, building skeleton React components etc).
I have a search query which I think qualifies as being in the pointiest end of the long tail of search results. In 1997 Stone Jackal Studios created a sci-fi/fantasy football-esq game called Crush Deluxe. I don't think it was a massive success, but my friends and I really liked it and played it every week for a couple of years. It was a lot lot fun. At some point I decided that the season stats were too limited and thought I could create something to track the data over time and present a whole lot more detail. I reverse engineered the data files and created some tools that did just that. It was a fun project and has been sitting on my website ever since.
As far as I know a Google query for "Crush Deluxe tools" or "utilities" has never served up my site on anything close to the first page (if it comes back at all). Every now and again, over the years, I have checked and my page has never ranked for any terms around "Crush Deluxe". This didn't really bother me, but it was something I was aware of as a limitation to the "pagerank" search paradigm. Probably not a very important limitation, that the very longest long tail search results, with almost no back links or traffic, won't rank, but a limitation nonetheless. This is what you get from Google if you search for "Tools to augment the gameplay for the 90s PC game 'Crush Deluxe'":
With the launch of Search on ChatGPT the other day I thought I would give that query a try and the results were pretty compelling.
Unless there is another developer out there who built a utility to augment Crush Deluxe that has been similarly ignored over the years, mine is objectively the only correct answer to that question.
Giving Gemini the benefit of the doubt I thought I would see if the latest version of tha LLM could match the result. Not surprised to find it doesn't.
Permalink - Comments - Tags: Development,Google
Blender Geometry Nodes - Woven Mesh Flooring
I have done a few tutorials and reused some Geometry Nodes setups that people have published, but this is the first time I have created a node setup from scratch.
I am creating a spaceship corridor scene from Adrian Tchaikovsky's Final Architecture series and needed some industrial looking flooring. I thought something like this might look ok.
Rather than modeling this by hand, Geometry Nodes seems like the obvious solution.
The first thing that caught me out a little bit is how to design how the nodes setup would be used. I kind of like nodes that take some simple input geometry and generate the geometry based on that. The obvious input geometry for this thing would have been a plane. I think to do it that way I would have had to do some math to derive the wire mesh based on the size and shape of the input plane geometry. I think that would have been cool, but in the end I chickened out. I basically just throw away the input geometry and use height/width parameters to define how big to make the mesh. It's a bit clumsy, but it works.
So once I got over my issues with the parameters for the nodes, I needed to get into creating a single wiggly bent wire that the mesh is made of. The top level nodes have created geometry based on the mesh-tile-width that was passed in. This is basically just the width of the square we are going to create.
We take that geometry and divide it up by mesh-bends (using the Resample Curve node). Then we offset at points along the mesh to create the bends (using mesh-height and mesh-offset params to drive the size and frequency of the bends).
The top level nodes takes two wires (created in the wire node group) and instances them by the number of bends in the wire (mesh-bends) and rotes one of those sets of instances by 90 degrees and then translates them so they overlap.
So that's a pretty high level summary of what I did, and I imagine there might be better ways to do some of this stuff, but this seemed to work. I was pretty happy with how this looked in my scene:
Permalink - Comments - Tags: art?,3D
Scorpion Frame
"She called the workframe she wore her ‘Scorpion’ – designed by the Castigar and never intended for human use. It stomped out on four legs, half a dozen tool-arms flanking her central pod. A couple of big pincer limbs arched down from the top and a long, segmented tail lashed from side to side behind her."
Tchaikovsky, Adrian. Shards of Earth: The Final Architecture Book 1 (The Final Architecture Trilogy) (p. 67). Pan Macmillan UK. Kindle Edition.
Permalink - Comments - Tags: art?,3D
IBM Selectric I Diptych
During lockdown I started learning 3D modelling in Blender:
I am particularly happy with my latest model of the IBM Selectric typewriter released in 1961. It's an amazing machine and really enjoyed creating those classic curves.
Seemed like an obvious project to take this model and create an homage to Marilyn Diptych:
Permalink - Comments - Tags: art?,3D
[First Page] [Prev] Showing page 1 of 40 pages [Next] [Last Page]