jesse__

Joined 4 years ago

Karma
1,404
Submissions
573
Member since
Apr 4
[email protected]

Website: https://scallywag.software

Bonsai :: A 3D Voxel engine, in a pot: https://github.com/scallyw4g/bonsai

Poof :: A C Metaprogramming Environment: https://github.com/scallyw4g/poof

Reddit: https://reddit.com/r/scallywag_software

View on Hacker News

Recent submissions

Comment · 6 hours ago
Thank you :) One of the nice things about working on a game engine is it's actually a large collection of small projects disguised a big one. That let's my squirrel-brain jump from thing to thing and have enough variety to not get bored.

I just started using AI a few months ago. My smoke-test was "can it write a simple memory allocator". Until recently, every time I tried to get an AI to write an arena or simple buddy-style heap allocator, they just vomited all over themselves. To my surprise, the last time I tried, the AI absolutely crushed it; it unearthed tricks I didn't even know about in one shot. Since then, I've been using AIs to do the boring, rote work that effectively just boils down to me typing in something that's in my head. For that, they're great. I typically sketch out the thing I want it to make, then tell it to fill in the blanks. Sometimes they still go off the rails, but all in all it's a useful tool.

Where I've found they still struggle is making any architectural decisions, or where performance matters.. even a little bit. They often make super braindead decisions when it comes to performance for no discernable reason. They'll course correct when you tell them to, but I've had to keep a close eye on the output and reign it in frequently. Asking an AI to design a system from the API level hasn't ever returned a good result for me.. I always do that work.

All in all, I feel like using AI will probably make me a better programmer in the long run, contrary to popular belief. They accelerate the boring stuff I already know how to do, which leaves me with more time to work on the edge of my skill level where I grow as an engineer. Guess we'll see in 5 years.

Comment · 6 hours ago
Comment · 5 days ago
Case in point, the original release of Hearthstone was built by a team of like 10 people. Indies pull that kind of stuff off all the time, but it's comparatively rare for a big studio to do it.
Comment · 1 month ago

  Location:  BC, Canada
  Remote:    Yes
  Relocate:  Unlikely
  Tech:      Windows Linux C C++ SIMD OpenGL WebGL WASM JS TS

  Github:    https://github.com/scallyw4g
  Portfolio: https://scallywag.software
  Résumé/CV: https://scallywag.software/resume.html
  Email:     jesse[at]scallywag[dot]software

  12 Years of Experience
--------

Hello, my name is Jesse. If I was born to do one thing in this world, it's program computers.

I describe myself as a competent generalist; I'm frequently working on something I've never done before. I've worked at every level of the stack, from cycle-shaving hot SIMD loops to the frontend of large web applications. Coworkers have described me as "the best engineer I've ever worked with" surprisingly frequently.

My most recent professional experience has been about a year at a semiconductor startup; I worked on prototypes for an ISA, compiler, a cycle simulator, and a visual debugger.

My most impressive open-source contribution is a voxel engine called Bonsai. It's written completely from scratch, and depends on nearly nothing external. Bonsai was on the front page a while ago : https://news.ycombinator.com/item?id=46285319

I'm comfortable working in heavily multithreaded/async soft-realtime environments where performance is a key acceptance criteria. I have a good understanding of modern hardware architectures, including GPUs, from main memory to registers and instruction pipelines.

I'm pretty much exclusively interested in GPU compiler work. I'd also get excited about 3D rendering or low-level performance work. If your team needs someone with breadth that get's shit done, let's talk.

Personally, I'm easy to get along with. I enjoy climbing in the summer, backcountry snowboarding and travelling to surf in the winter.

Thanks for reading,

Jesse

Comment · 1 month ago
I actually convert the SDFs to voxels and render triangles, but.. some people have written direct SDF renderers. There's a guy that posted to YouTube not too long ago that wrote a really cool one with physics and everything
Comment · 1 month ago
Hey, thanks for the kind words!

I'd say the defining feature is the editor and terrain generation system. At the moment it's not well documented, but once the big rewrite I've been working on has settled I plan to take some time to make tutorial materials.

As far as the license goes, I chose WTFPL originally because I figured it would dissuade 'real' companies (with legal teams) from using it. I've since thought about changing the license to something permissive that might play nice with legal teams, like MIT. You can do whatever the fuck you want; it says so right in the license ;) I'd actually love it if people used it. My intent now is to keep the engine open source, and build games with it in closed-source repos.

You're right, I should change the logo. It's on the todo list .. it's just a really long list ;)

Comment · 1 month ago
Oh yeah, I've seen that guys engine before. It's super impressive.
Comment · 1 month ago
Yeah, it seems enough people have done enough work on voxel engines now that we're actually starting to see games proliferate. I'm stoked about it!

I'm a lot less interested in minecraft-style survival games than I am in exploring .. other .. types of games that push the medium further. Most voxel games that make it to release basically boil down to 'hack-n-slash RPG with a lego world'. As you mentioned, it's obviously a successful recipe, but I feel like it's barely scratching the surface in terms of how far the underlying tech has come.

I've got a game in-flight where the primary mechanic is modifying the environment to achieve a goal. Teardown is really the only other game that's made it to market and done this. The mechanics are going to be intentionally simplistic .. it's more of an existence proof that a deeper game could exist and people are interested in it.

Comment · 1 month ago
I'm tangentially familiar .. I played the demo a couple times over the last few years when they did major releases. It's impressive to say the least.
Comment · 1 month ago
Wow, thanks for all the kind words folks! I really appreciate it <3
Comment · 1 month ago
Comment · 1 month ago
I've been working on a voxel game engine called Bonsai for ~10 years.

Probably the most interesting thing about it at the moment is the editor. The world, and most things in it, are represented as collections of SDFs. More accurately, they're density fields, but, potato-tomato.

Bonsai has undergone a large rewrite over the last couple years that's nearing completion. A world edit is defined as a bunch of SDF parameters which get projected/rasterized into the voxel grid by a shader on the GPU. One neat thing about SDFs is they've been thoroughly researched and documented by a guy named Inigo Quilez, and they have a lot of nice mathematical properties. For example, you can do a smooth union of arbitrary SDFs to get nice rounded contours where shapes join.

I've written every system from scratch, all the way from the memory allocators and font rasterizer to the collision detector and simulation loop. I even wrote a metaprogramming language as a replacement for C++ templates, which is a whole other story. IIRC the only external dependency is the C runtime library for starting the process and my very occasional use of variadic functions arguments.

For a long time, an explicit non-goal of the project was to ship a game. It sounded insane to me to write an entire 3D engine and then ship a game. As it turns out, I've gotten it to the point where I can actually make a game. I've got a start on the game systems in a closed-source repo, and hope to have a steam page for it by the end of the year.

I'll do some shameless self-promotion and leave some links here for anyone interested in looking at the engine, language code, or some pretty pictures.

https://github.com/scallyw4g/bonsai

https://github.com/scallyw4g/poof

Comment · 2 months ago
Location: Remote, Canada

Technologies : C, C++, SIMD, OpenGL, WebGL, WASM, JS, TS

Interests : systems programming, compilers, 2D & 3D graphics, performance

--------

Hello, my name is Jesse.

I describe myself as a competent generalist, and a lifelong learner. I'm frequently working on something I've never done before. I've worked at every level of the stack, from cycle-shaving hot loops to the frontend of large web applications. My most recent professional experience has been about a year at a semiconductor startup; I wrote prototypes for an ISA, compiler, a cycle simulator and visual debugger.

In terms of hard technical skills, I can quickly become productive in nearly any language, and at any level of the stack. I'm comfortable working in heavily multithreaded/async soft-realtime environments where performance is a key acceptance criteria. I have a good understanding of modern hardware architectures, including GPUs, from main memory to registers and instruction pipelines. I have working knowledge of interpreters, dynamic language runtimes and garbage collectors. I'm convinced I can learn nearly anything (albeit some things more quickly than others), given an appropriate problem domain to apply it to.

In terms of business value, I can take hand-wavy visions of new products and turn them into working prototype(s), quickly. I'm comfortable refining those raw materials and delivering real value to customers, internal or external. I have a track record of successfully identifying 80/20 solutions and love the feeling of making tools that make peoples lives better.

In my personal life, I enjoy travelling, surfing, climbing, backcountry skiing, snowmobiling, pirates, and attending raves. I like the phrase "have strong opinions, weakly held".

If I was born to do one thing in this world, it's program computers.

Jesse

--------

https://scallywag.software

https://scallywag.software/resume.html

https://github.com/scallyw4g

[email protected]

Comment · 2 months ago
"surfing is not a sport, it's a way of life"

Agreed friend

Also, "it takes five years to become an overnight success" is a fantastic line.

Great read

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton