HN user

GSGBen

261 karma

https://twitter.com/GSGBen

Posts14
Comments67
View on HN

(continued)

Other tips: I still had issues going too granular with GOAP actions at the start, so I recommend keeping your actions as coarse as possible. It's still a tool that you use with your AI designer hat on, it doesn't do everything on its own. But the power of being able to throw in a new goal, maybe one new action, and have the existing actions solve all the other prerequisites, is amazing. Defining world properties and states is a muuuuuuch lower mental load than using utilities for actions.

I wrote it all with performance in mind, and it seems to run fine. Basically lots of caching (each world property is only evaluated once per AI per tick then re-used, shared values are cached for all then re-used, etc); eliminating invalid paths early; and searching backwards from the goal instead of forwards from the current world state. I test with 4 AI players on an old i3 laptop processor from ~2016 without issue.

Hey, thanks! I was thinking about game ideas while stepping into the shower one day (where all great ideas are born), and "throwing people in a first-person view might be fun?" came across my mind. I mentally fleshed it out a bit, and wrote it down. When the idea I was already working on turned out to not be fun, I shelved that and started working on this instead. When I prototyped the basic throw feel and it already felt fun, I decided to run with it.

Damn, and I thought I loved powershell. This is awesome.

Another of the author's projects sits solidly between awesome and terrifying: https://github.com/ShaunLawrie/PwshRayTracer

A very slow raytracer in PowerShell that has been optimised from ~100 camera rays traced per second to 4000 rays per second on a 4GHz 6 core CPU with a few tricks

Because I've been learning a bit of serverless stuff I was curious as to how much faster I could run this using PowerShell in a webscale™ setup by distributing the processing over as many concurrently running lambdas as I could get in my AWS account:

By using Lambda with large memory sizes to get more cores I had >250,000 camera rays per second (~62x my laptop speed) but I managed to rack up a $200 bill over a couple of bad runs

I used to use Trello for my entire personal KB, but the description editor grows unwieldy with large cards and you only get a few levels of nesting. It's still great software.

It took a few times to stick, but I've now fallen in love with Obsidian and am migrating everything except a large project's task-tracking system to it. The WYSIWYG editor, fully nested hierarchy and fast full-text search is fantastic and makes it better for my personal documentation.

I'm extending my Trello backup project to make the migration easier. Take a look if you're considering the same move. https://github.com/GSGBen/t2md

I think this is just the classic problem of two engineers talking past each other. I think by "general purpose computing devices" the other poster means "general-*use* computing devices".

Agree. I was so happy when I heard they were introducing an intermediate language and so disappointed when I found out it was custom.

I'm back to being quietly hopeful though:

- Epic ships games and has internal game developers. They're probably not going to create something too dynamic or untyped that has issues scaling. - I was worried about coverage but then realised all of BP is generated from code annotations using the unreal header tool, and they've already done it for Python (I think? maybe just editor functions).

If it's just a textual replacement of blueprint that will be enough to make me so much more productive for gameplay programming.

Might be more likely it'll be used for player-generated-content and their metaverse push ala roblox though.

What's the standard compile time for a short iteration in Unity's C#?

I use C++ in UE4 as much as possible and even the iterative compile time with LiveLink breaks my iteration flow. BP is great for iteration but I keep as much in C++ as possible and this has made things much easier to maintain. At the moment I'm trying to prototype in BP then move completed stuff to C++.

I tried out Google Drive on Windows years ago when I was already using Dropbox, but its performance was terrible. It might be better now. To fix sync I had to reinstall and resync, I couldn't just point it at an existing folder with the files I had. I've used various incarnations of onedrive and it also doesn't hold up to Dropbox's performance.

My main use case is all my audio recordings from my DAW - each take generates a small .wav and .reapeaks file. I use this as my live working folder - I read and write into my Dropbox folder while it's syncing.

These add up (more count- than total-size- wise). I currently have 378k files, 23k folders, 754 GB and Dropbox is the only client that hasn't skipped a beat with it (even before they rewrote it in rust - it used to be python???? insane). It runs well on a 10-year-old CPU and even ran well before I moved it to an SSD.

It's not perfect - onedrive keeps infinite document history, Dropbox a max of a year - but for anyone looking for sync performance I'd suggest looking at Dropbox first.

I was hoping someone finally had a library or something to make python good at the things shell does well (mostly, running stuff and piping output around). If only.

Good news, they did! Even better news: it doesn't require python, it's cross platform, and supports an easy-to-read verbose style for scripts but a quick-to-write terse style for interactive usage. It's an absolute joy to use for nested data structures, everything is an object and it has full native tab completion.

Unfortunately it came out of Microsoft so a lot of people haven't given it the time of day yet. It's honestly one of the joys of modern CLI usage though.