<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: Aardappel</title><link>https://news.ycombinator.com/user?id=Aardappel</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 11 Jun 2026 03:05:13 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=Aardappel" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by Aardappel in "The Lobster Programming Language"]]></title><description><![CDATA[
<p>You'd prefer something more like Rust traits or Haskell Type Classes?<p>I admit this was mostly out of simplicity/convenience/familiarity.<p>If you're a Rust person, you'll appreciate that Lobster lets you use similar exhaustive switches to Rust's enum instead: <a href="https://github.com/aardappel/lobster/blob/master/tests/typeswitch.lobster" rel="nofollow">https://github.com/aardappel/lobster/blob/master/tests/types...</a></p>
]]></description><pubDate>Wed, 11 Mar 2026 17:08:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=47338254</link><dc:creator>Aardappel</dc:creator><comments>https://news.ycombinator.com/item?id=47338254</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47338254</guid></item><item><title><![CDATA[New comment by Aardappel in "The Lobster Programming Language"]]></title><description><![CDATA[
<p>No. It is a fairly static language, with whole program compilation and optimization. The dynamic loading the parent refers to is like a new VM instance, very different from class/function (re)loading.</p>
]]></description><pubDate>Sun, 08 Mar 2026 18:59:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=47300014</link><dc:creator>Aardappel</dc:creator><comments>https://news.ycombinator.com/item?id=47300014</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47300014</guid></item><item><title><![CDATA[New comment by Aardappel in "The Lobster Programming Language"]]></title><description><![CDATA[
<p>Even though this just showed up on HN (for the 10th time?) the Lobster project started in ~2010. No LLMs on the horizon back then.<p>And while Lobster is a niche language LLMs don't know as well, they do surprisingly well coding in it, especially in the context of a larger codebase as context. It occasionally slips in Python-isms but nothing that can't be fixed easily.<p>Not suitable for larger autonomous coding projects, though.</p>
]]></description><pubDate>Sun, 08 Mar 2026 18:13:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=47299550</link><dc:creator>Aardappel</dc:creator><comments>https://news.ycombinator.com/item?id=47299550</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47299550</guid></item><item><title><![CDATA[New comment by Aardappel in "Voxile: A ray-traced game made in its own engine and programming language"]]></title><description><![CDATA[
<p>That is tricky with raytracing, since rays would need to be curved, and at least in this raytracer, ray steps are not all equal in size so doing that correctly could be very expensive.<p>But is generally a cool idea.<p>Fog is good too, though. It helps with a sense of scale, and it helps colors and distance noise not be too busy.</p>
]]></description><pubDate>Sun, 08 Mar 2026 16:44:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=47298731</link><dc:creator>Aardappel</dc:creator><comments>https://news.ycombinator.com/item?id=47298731</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47298731</guid></item><item><title><![CDATA[New comment by Aardappel in "Voxile: A ray-traced game made in its own engine and programming language"]]></title><description><![CDATA[
<p>While Voxile has off-grid blocks of voxels for monsters etc, it is much more serious about being on-grid for everything else. The entire world is entirely on-grid, single size voxels, you can only place aligned objects, and rotate in 4 directions. These voxels only every exist as voxels, never as polygons.<p>In contrast with most voxel-looking games, which are actually meshes converted from voxel inputs, placed at arbitrary locations with arbitrary scale.<p>When I started this project, I actually prototyped what it would take to have moving objects in-world as aligned voxels, but the animation was too jerky and it was too limited. Would have been an interesting "style" suitable for some games (strategy games?) but none with fast paced realtime combat.</p>
]]></description><pubDate>Wed, 04 Mar 2026 22:08:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=47254641</link><dc:creator>Aardappel</dc:creator><comments>https://news.ycombinator.com/item?id=47254641</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47254641</guid></item><item><title><![CDATA[New comment by Aardappel in "Voxile: A ray-traced game made in its own engine and programming language"]]></title><description><![CDATA[
<p>Have you tried Teardown? Has incredibly good voxel physics. Definitely possible.</p>
]]></description><pubDate>Wed, 04 Mar 2026 20:22:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=47253262</link><dc:creator>Aardappel</dc:creator><comments>https://news.ycombinator.com/item?id=47253262</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47253262</guid></item><item><title><![CDATA[New comment by Aardappel in "Voxile: A ray-traced game made in its own engine and programming language"]]></title><description><![CDATA[
<p>Lobster is meant to be a more high level language than Rust, so encoding what you want 99% of the time in the type made sense. It also makes it easier for people to read, knowing that common types like int2 are always by value.<p>That said, it be easy to have annotations to force the other use case, just so far that has not been needed :)</p>
]]></description><pubDate>Wed, 04 Mar 2026 20:20:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=47253232</link><dc:creator>Aardappel</dc:creator><comments>https://news.ycombinator.com/item?id=47253232</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47253232</guid></item><item><title><![CDATA[New comment by Aardappel in "Voxile: A ray-traced game made in its own engine and programming language"]]></title><description><![CDATA[
<p>Much appreciated :)</p>
]]></description><pubDate>Wed, 04 Mar 2026 06:41:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=47243973</link><dc:creator>Aardappel</dc:creator><comments>https://news.ycombinator.com/item?id=47243973</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47243973</guid></item><item><title><![CDATA[New comment by Aardappel in "Voxile: A ray-traced game made in its own engine and programming language"]]></title><description><![CDATA[
<p>Both! It uses an octree, and at the leaves are bricks of small voxels.</p>
]]></description><pubDate>Wed, 04 Mar 2026 06:38:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=47243951</link><dc:creator>Aardappel</dc:creator><comments>https://news.ycombinator.com/item?id=47243951</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47243951</guid></item><item><title><![CDATA[New comment by Aardappel in "Voxile: A ray-traced game made in its own engine and programming language"]]></title><description><![CDATA[
<p>Yup you could blur, but it is not cheap, and it doesn't feel very satisfying to look at blurry stuff in the distance.<p>We have a "depth of field" implementation for when you're in dialog with an NPC. There it looks nice, because you're focused on one thing. But when looking around its not that great.<p>Ideally you want it close to native res in the distance, but without any wobble produced by noise as you move. This is really hard.</p>
]]></description><pubDate>Wed, 04 Mar 2026 06:37:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=47243946</link><dc:creator>Aardappel</dc:creator><comments>https://news.ycombinator.com/item?id=47243946</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47243946</guid></item><item><title><![CDATA[New comment by Aardappel in "Voxile: A ray-traced game made in its own engine and programming language"]]></title><description><![CDATA[
<p>A voxel is about 2 inches / 5cm in size.<p>Yes there is a single world grid, so all world objects are axis aligned and same size.<p>On top of that it can have floating "sprites" which are used for monsters, particles and such.</p>
]]></description><pubDate>Wed, 04 Mar 2026 06:34:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=47243936</link><dc:creator>Aardappel</dc:creator><comments>https://news.ycombinator.com/item?id=47243936</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47243936</guid></item><item><title><![CDATA[New comment by Aardappel in "Voxile: A ray-traced game made in its own engine and programming language"]]></title><description><![CDATA[
<p>It's not intended to be a Minecraft clone.. if you look a bit closer than the initial visual impression, you'll see there are many differences in gameplay.<p>As for the rating, yes we had a rough initial launch, but we're fixing all these things. Note that it is 65% out of only 63 user reviews, so statistically not set in stone yet.</p>
]]></description><pubDate>Wed, 04 Mar 2026 02:48:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=47242376</link><dc:creator>Aardappel</dc:creator><comments>https://news.ycombinator.com/item?id=47242376</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47242376</guid></item><item><title><![CDATA[New comment by Aardappel in "Voxile: A ray-traced game made in its own engine and programming language"]]></title><description><![CDATA[
<p>With raytracing having a far render distance is actually fairly cheap and simple compared to polygonal worlds (good looking LOD is hard).<p>Some reasons why we don't have a super far render distance, in order of importance:<p>The biggest is GPU memory. The octree that holds the world gets gigantic at large sizes. We'd have to swap parts out as the camera moves. We can do that but haven't gotten there.<p>Noise: raytracing looks incredibly noisy if you simply cast rays far into small geometry. Hence we even have LOD for blocks, even though they're not needed for efficiency, they're needed for visual stability.<p>If you're unlucky and a ray has a lot of near misses with geometry, it does more work than other rays and it causes GPU performance degradation. It's rare but to raytrace far you have to optimize for a certain amount of ray steps, we actually put a bound on this.<p>We find having fog gives some visual unity and sense of scale. With far away fog, the world looks VERY busy visually.</p>
]]></description><pubDate>Tue, 03 Mar 2026 23:58:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=47240985</link><dc:creator>Aardappel</dc:creator><comments>https://news.ycombinator.com/item?id=47240985</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47240985</guid></item><item><title><![CDATA[New comment by Aardappel in "Voxile: A ray-traced game made in its own engine and programming language"]]></title><description><![CDATA[
<p>Haha.. yeah entirely coded without AI so far, lets see how long we keep that up :P</p>
]]></description><pubDate>Tue, 03 Mar 2026 23:36:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=47240721</link><dc:creator>Aardappel</dc:creator><comments>https://news.ycombinator.com/item?id=47240721</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47240721</guid></item><item><title><![CDATA[New comment by Aardappel in "Voxile: A ray-traced game made in its own engine and programming language"]]></title><description><![CDATA[
<p>Yes, only the lower layers are open source right now. We will eventually expose more, when modding will more stable, etc.<p>Right now the editor has a UI driven minimalistic language for specifying quests and other gameplay actions.</p>
]]></description><pubDate>Tue, 03 Mar 2026 22:35:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=47240073</link><dc:creator>Aardappel</dc:creator><comments>https://news.ycombinator.com/item?id=47240073</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47240073</guid></item><item><title><![CDATA[New comment by Aardappel in "The Lobster Programming Language"]]></title><description><![CDATA[
<p>Yes, that is a downside, but when you write very generic code being limited in what code you can write because it has to typecheck even for types that it doesn't apply to is one of the more frustrating things of doing this in C++ and other languages.</p>
]]></description><pubDate>Fri, 29 Aug 2025 21:49:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=45069817</link><dc:creator>Aardappel</dc:creator><comments>https://news.ycombinator.com/item?id=45069817</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45069817</guid></item><item><title><![CDATA[New comment by Aardappel in "The Lobster Programming Language"]]></title><description><![CDATA[
<p>Would love to add Jolt at some point, yes.<p>There's already bindings for Box2D in the "ph" namespace.</p>
]]></description><pubDate>Fri, 29 Aug 2025 21:47:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=45069797</link><dc:creator>Aardappel</dc:creator><comments>https://news.ycombinator.com/item?id=45069797</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45069797</guid></item><item><title><![CDATA[New comment by Aardappel in "The Lobster Programming Language"]]></title><description><![CDATA[
<p>if you find in files for "phong" you should be able to find samples that use it.. the actual shader is in data/shaders/default.materials</p>
]]></description><pubDate>Fri, 29 Aug 2025 21:46:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=45069773</link><dc:creator>Aardappel</dc:creator><comments>https://news.ycombinator.com/item?id=45069773</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45069773</guid></item><item><title><![CDATA[New comment by Aardappel in "The Lobster Programming Language"]]></title><description><![CDATA[
<p>In Lobster, this is `for(m) i: print(i)`
Or simply `for(m): print(_)`<p>The syntax comes from the observation that even in C-like languages, 99% of the time I want to iterate over the range (0..m-1), so that's what it is optimized for.<p>I don't enjoy writing the same boilerplate over and over. Moreover, because it is so verbose, it is hard to spot `for (int i = 0; i <= m; i++): print(i);` being a special kind of loop since it looks so similar to the common `<` case. I'd rather that looks entirely different to alert me we're also iterating over the bound.<p>I am not sure what you mean by "Initiating `i` right before every loop"</p>
]]></description><pubDate>Fri, 29 Aug 2025 18:10:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=45067509</link><dc:creator>Aardappel</dc:creator><comments>https://news.ycombinator.com/item?id=45067509</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45067509</guid></item><item><title><![CDATA[New comment by Aardappel in "The Lobster Programming Language"]]></title><description><![CDATA[
<p>In Lobster you must initialize a variable declaration. Now you can produce your bad case with `var x = nil`, but that is undesirable because nil types must be explicitly checked at compile time, so typically you want to use as few nils as possible. More likely thus is `var x = ""` if you must initialize later.</p>
]]></description><pubDate>Fri, 29 Aug 2025 03:00:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=45059656</link><dc:creator>Aardappel</dc:creator><comments>https://news.ycombinator.com/item?id=45059656</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45059656</guid></item></channel></rss>