<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated>2026-05-26T18:25:27Z</updated>
  <generator>https://yabu.me</generator>

  <title>Nostr notes by Liblast</title>
  <author>
    <name>Liblast</name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://yabu.me/npub1jxatazuxqvmp477r0gf3pwpqj386g0pqq2qradxzztzg5afcpnjq7jxr5u.rss" />
  <link href="https://yabu.me/npub1jxatazuxqvmp477r0gf3pwpqj386g0pqq2qradxzztzg5afcpnjq7jxr5u" />
  <id>https://yabu.me/npub1jxatazuxqvmp477r0gf3pwpqj386g0pqq2qradxzztzg5afcpnjq7jxr5u</id>
  <icon>https://cdn.masto.host/mastodongamedevplace/accounts/avatars/109/532/138/072/028/135/original/81433e4424ecb6a5.png</icon>
  <logo>https://cdn.masto.host/mastodongamedevplace/accounts/avatars/109/532/138/072/028/135/original/81433e4424ecb6a5.png</logo>




  <entry>
    <id>https://yabu.me/nevent1qqs2p7pznmk62hzxq53gg3pdgd65em6f34k5rej8h44tgaheevewy7czyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgg4a4zz</id>
    
      <title type="html">You can download my slides from the Liblast 3D Art Pipeline ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs2p7pznmk62hzxq53gg3pdgd65em6f34k5rej8h44tgaheevewy7czyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgg4a4zz" />
    <content type="html">
      You can download my slides from the Liblast 3D Art Pipeline presentation as presented on #LibreGraphicsMeeting2026:&lt;br/&gt;&lt;a href=&#34;https://liblast.zulipchat.com/#narrow/channel/462542-general/topic/Libre.20Graphics.20Meeting.20.202026.2C.20Nuremberg.20Apri.2022-25/near/590853571&#34;&gt;https://liblast.zulipchat.com/#narrow/channel/462542-general/topic/Libre.20Graphics.20Meeting.20.202026.2C.20Nuremberg.20Apri.2022-25/near/590853571&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Video recording of the presentation to follow along:&lt;br/&gt;&lt;a href=&#34;https://media.ccc.de/v/lgm-2026-110676-liblast-3d-asset-pipeline&#34;&gt;https://media.ccc.de/v/lgm-2026-110676-liblast-3d-asset-pipeline&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;#Liblast #Godot #GodotEngine #3D #shaders #technicalArt #techArt #Blender
    </content>
    <updated>2026-04-26T09:47:24Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsz32fvfjg4vqjedzf4s3rwjaemszdllfhz7z4cku29fp062l30qkgzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgv9t4f9</id>
    
      <title type="html">https://media.ccc.de/v/lgm-2026-110676-liblast-3d-asset-pipeline</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsz32fvfjg4vqjedzf4s3rwjaemszdllfhz7z4cku29fp062l30qkgzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgv9t4f9" />
    <content type="html">
      &lt;a href=&#34;https://media.ccc.de/v/lgm-2026-110676-liblast-3d-asset-pipeline&#34;&gt;https://media.ccc.de/v/lgm-2026-110676-liblast-3d-asset-pipeline&lt;/a&gt;
    </content>
    <updated>2026-04-25T08:13:11Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqswhnalscmpqr83uwch5wjp08hgm25qh6393j3eh2tuehuvdqrheyqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgfj5r8g</id>
    
      <title type="html">Hacking away at our ubershader during #LibreGraphicsMeeting2026. ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqswhnalscmpqr83uwch5wjp08hgm25qh6393j3eh2tuehuvdqrheyqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgfj5r8g" />
    <content type="html">
      Hacking away at our ubershader during #LibreGraphicsMeeting2026. I am presenting tomorrow at 5 PM, I&amp;#39;m excited!&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://libregraphicsmeeting.org/2026/program/talk_liblast-3d-asset-pipeline/&#34;&gt;https://libregraphicsmeeting.org/2026/program/talk_liblast-3d-asset-pipeline/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;#Godot #GodotEngine #GameDev #IndieGame #FOSS #OpenSource&lt;br/&gt;- unfa&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/455/303/583/436/979/original/e7f0d052b6c6f8e6.jpg&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/455/311/611/372/810/original/480e1c96f3aec4bf.jpg&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-04-23T17:57:22Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs8w2c8w4eycsmemztwp9altk04ltmdnwsl50c59mvhucshq8ktnqqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgeehn48</id>
    
      <title type="html">Progress with the Liblast Ubershader. Added wear, dirt and dust ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs8w2c8w4eycsmemztwp9altk04ltmdnwsl50c59mvhucshq8ktnqqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgeehn48" />
    <content type="html">
      Progress with the Liblast Ubershader.&lt;br/&gt;Added wear, dirt and dust effects.&lt;br/&gt;Added detail material, working on normal map mixing (argh!).&lt;br/&gt;#gameArt #3D #SciFi #Godot #GodotEngine #Robot #TechnicalArt #Shaders #Grunge&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/431/668/015/385/608/original/22fad634fbc00f71.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/431/686/494/484/054/original/eb389745f3387d17.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/431/688/242/847/982/original/7e0c268dd0e4c066.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/431/690/761/474/140/original/bf3181ab2be31e9c.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-04-19T13:50:20Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsyzwpmy9g7g6kef200zn8ch2atvgtra02g4gz5fna3dx33hvfc2sgzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgs5f43m</id>
    
      <title type="html">We&amp;#39;re getting there... #GameArt #3D #TechnicalArt #Grunge ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsyzwpmy9g7g6kef200zn8ch2atvgtra02g4gz5fna3dx33hvfc2sgzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgs5f43m" />
    <content type="html">
      We&amp;#39;re getting there...&lt;br/&gt;#GameArt #3D #TechnicalArt #Grunge #Textures #Shaders #Godot #GodotEngine&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/428/124/849/024/327/original/2eb6605aa9e3191d.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-04-18T22:43:53Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqspe3s62lmnlxaza6chs2krsn3yvu2az3e7ygp93ae5sqz5flxvreqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg28c2a6</id>
    
      <title type="html">I&amp;#39;ll share some screenshots where it does look like it should ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqspe3s62lmnlxaza6chs2krsn3yvu2az3e7ygp93ae5sqz5flxvreqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg28c2a6" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0khvtrl0p4e3hc4nvstmmgglpukqyfvl4sut8teqfn2ydl3v5f5q7t4nt9&#39;&gt;nevent1q…4nt9&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I&amp;#39;ll share some screenshots where it does look like it should later today :)
    </content>
    <updated>2026-04-14T09:21:43Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqst3s9jyls6ucxmg7apvs8el0acntawhzc8pw66uqu8k9f6sulpd8qzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgqken6w</id>
    
      <title type="html">Misaligned Lightmap Type Beat feat. NaNs Vol 2. #glitch #3D ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqst3s9jyls6ucxmg7apvs8el0acntawhzc8pw66uqu8k9f6sulpd8qzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgqken6w" />
    <content type="html">
      Misaligned Lightmap Type Beat feat. NaNs Vol 2.&lt;br/&gt;&lt;br/&gt;#glitch #3D #Godot #GodotEngine #broken #error&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/399/503/357/441/131/original/37d4bd610c5f3cd9.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/399/503/362/409/339/original/94c72cecc517dfb4.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/399/503/362/409/340/original/a1898c1b073d0e8b.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-04-13T21:25:21Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsx2l2afer9qmvmc7qwd3rgwmq8kg7fr4nhaz9wm0nfxtwkzx5r0gszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgq5sere</id>
    
      <title type="html">Thank you! There is definitely an art style emerging in the ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsx2l2afer9qmvmc7qwd3rgwmq8kg7fr4nhaz9wm0nfxtwkzx5r0gszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgq5sere" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsyww9vc3a68g0qhw0e9qvjz9u77h0c3uvz2u659ma6d3w6aj2vqpqxl0yya&#39;&gt;nevent1q…0yya&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Thank you!  There is definitely an art style emerging in the project. There&amp;#39;s probably gonna be a bit more texture around, but visual readability and delibarte use of color and contrast are high on my list. I want to use all of the PBR goodness, but not overdo it and also provide low fidelity fallbacks for older hardware. I believe indie games don&amp;#39;t have to look pixelated or simplistic - we van have nice things without  burning out to get them!&lt;br/&gt;Stay tuned :)&lt;br/&gt;- unfa
    </content>
    <updated>2026-03-22T18:28:34Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsrpkrtaqc3m6gwlm5g7mevzch6rhz60dqusk752smxpjy24ef6fvczyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgwql7g2</id>
    
      <title type="html">Welcome back! I&amp;#39;ll need to introduce you to the asset ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsrpkrtaqc3m6gwlm5g7mevzch6rhz60dqusk752smxpjy24ef6fvczyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgwql7g2" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs9lk8zhzwgw2rn6dafzp9nl93qz2re9576v0hke3ap45869dzx9lgr04ypu&#39;&gt;nevent1q…4ypu&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Welcome back! I&amp;#39;ll need to introduce you to the asset pipeline so you can make things that work best with the Framework&amp;#39;s features!&lt;br/&gt;Incidentally, I am preparing to give a presentation and conduct a workshop with this tech next month, so I think there will be some synergy here :)&lt;br/&gt;I am glad you managed to open the project and check out the test level with new props!&lt;br/&gt;- unfa
    </content>
    <updated>2026-03-21T14:01:08Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqst08ng7dqxf7zefnw8t0z5crzn44c9q2r9uuzr8xl8fz7rdqd5eyszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg6ll3a7</id>
    
      <title type="html">I&amp;#39;ve made some channels in our Zulip web-public, so anybody ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqst08ng7dqxf7zefnw8t0z5crzn44c9q2r9uuzr8xl8fz7rdqd5eyszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg6ll3a7" />
    <content type="html">
      I&amp;#39;ve made some channels in our Zulip web-public, so anybody from the Internet can read without making an account there!&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://liblast.zulipchat.com/channel/476533-development-general&#34;&gt;https://liblast.zulipchat.com/channel/476533-development-general&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;This is possible thanks to the generous sponsorship from Zulip! Thanks!&lt;br/&gt;#Zulip #Liblast
    </content>
    <updated>2026-03-20T15:04:00Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs947zurwnxzm0p2ek3khave29vrvlm0cuh4pvalv7cecv9thr207gzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgcazs47</id>
    
      <title type="html">any single light will loop (not necessarily noticeably) but the ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs947zurwnxzm0p2ek3khave29vrvlm0cuh4pvalv7cecv9thr207gzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgcazs47" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsvtl9rufpv8g7vkxa2ckv3y9rs25au02svef8wcaklm9xa9ukptjq4pazw9&#39;&gt;nevent1q…azw9&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;any single light will loop (not necessarily noticeably) but the whole composition will never repeat exactly the same because every single light has a different time scale so they are out of sync. Groups of lights could be made to blink in sync (just set the same U coordinate in the UVs). Also: the texture isbdivided into different slices using different patterns, there are also some very simple ones in the red channel on the top - simple 50%, 25% and 12.5% duty cycle pulse.
    </content>
    <updated>2026-03-20T07:39:17Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs0tzndj7tazt9pkehwspl3q9u0f7efszrz2qa0r6q2h2q69r97jzczyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg0dy7a7</id>
    
      <title type="html">thanks! I should probably show the shader code as well. It&amp;#39;s ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs0tzndj7tazt9pkehwspl3q9u0f7efszrz2qa0r6q2h2q69r97jzczyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg0dy7a7" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqstavf3fx6qd9vzfwemksgzxr8hfa0pwufjlz4jc7degzlleachfzcax39k9&#39;&gt;nevent1q…39k9&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;thanks! I should probably show the shader code as well. It&amp;#39;s already on Codeberg in the devel-unfa branch in case anybody wants to read it. The file is called &amp;#34;blinker_shader.gshader&amp;#34;.
    </content>
    <updated>2026-03-19T19:49:07Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsw9fgwh8lqdkhdf45ykh9ze54py2x85km96lvh3ad499cg2v2230gzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgzdl8df</id>
    
      <title type="html">yes, every row of pixels is stretched to 4 pixels here, for the ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsw9fgwh8lqdkhdf45ykh9ze54py2x85km96lvh3ad499cg2v2230gzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgzdl8df" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqswrvdgepf9d4g9gswgyfjdwlyyh6jlpfthp9g820tmam97lnl5e6c350wwy&#39;&gt;nevent1q…0wwy&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;yes, every row of pixels is stretched to 4 pixels here, for the sake of convenience, and also giving some leeway to artists. Otherwise, texture filtering might cause inter-row bleed which could turn blinking into wandering. I do want to use linear filtering to smooth out the motion, though. The shader has a parameter to apply a harden the threshold to make blinking more snappy. I&amp;#39;m really happy with the result!
    </content>
    <updated>2026-03-19T19:47:30Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs84aku8cguqu5920lx9qpqddcmr3fw0ps9y8hsyvmks43garuxm2czyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgjv8sus</id>
    
      <title type="html">For a long time I wanted to try and make some blinking lights. ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs84aku8cguqu5920lx9qpqddcmr3fw0ps9y8hsyvmks43garuxm2czyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgjv8sus" />
    <content type="html">
      For a long time I wanted to try and make some blinking lights.&lt;br/&gt;&lt;br/&gt;&amp;#34;What&amp;#39;s so special about that?&amp;#34; I hear you say. Well, you see - real server racks or nuclear power plant control consoles don&amp;#39;t blink completely randomly. There&amp;#39;s intricate relationships between individual lights, rows of lights, entire racks... and the time factor.&lt;br/&gt;&lt;br/&gt;I have created a texture storing 256 different patters. Special UV layout &#43; vertex colors &#43; of course a special shader and we can have this:&lt;br/&gt;&lt;br/&gt;#techArt #Godot #server&lt;br/&gt;&lt;video controls width=&#34;100%&#34; class=&#34;max-h-[90vh] bg-neutral-300 dark:bg-zinc-700&#34;&gt;&lt;source src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/257/365/694/847/422/original/cfa47cb59c0354e7.mp4&#34;&gt;&lt;/video&gt;&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/257/384/691/695/041/original/09421c3c2cce579f.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-03-19T19:04:53Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqstpcwctnz997ssgnumtctlta8mjjnxyqnezhmg2s4sr6fxfryj2egzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgge0k0v</id>
    
      <title type="html">Stretching our 3D asset pipeline by fleshing out the test level ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqstpcwctnz997ssgnumtctlta8mjjnxyqnezhmg2s4sr6fxfryj2egzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgge0k0v" />
    <content type="html">
      Stretching our 3D asset pipeline by fleshing out the test level Drill with custom props. No unique textures added for these models.&lt;br/&gt;- unfa&lt;br/&gt;#Godot #Art #3D #Liblast&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/256/012/302/361/282/original/fc3d7c212f6a69ad.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/256/028/955/686/026/original/f1c86ba1e49ca557.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/256/032/018/893/174/original/d40c705788d32317.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/256/033/381/917/320/original/e537a5f21b8478a1.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-03-19T13:18:48Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsrngy62qacs0ewrfhj85futym65t5v4f5stzj3k8xd5jh4cf75nhczyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgug9pjh</id>
    
      <title type="html">Thank you! - unfa</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsrngy62qacs0ewrfhj85futym65t5v4f5stzj3k8xd5jh4cf75nhczyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgug9pjh" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsx6d8y26jgnttsg00gzd3damf9ajd4nr4j8latxw068cn5xla9a2sdp4gay&#39;&gt;nevent1q…4gay&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Thank you!&lt;br/&gt;- unfa
    </content>
    <updated>2026-03-17T19:05:29Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqstj5qw8tm9z74m80vplfg7scy3r2p56tr0xn72l9smvrcxg69995czyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgvmwzdr</id>
    
      <title type="html">Relevant files are game.gd, entity.gd entity_component.gd, ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqstj5qw8tm9z74m80vplfg7scy3r2p56tr0xn72l9smvrcxg69995czyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgvmwzdr" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsry5g4aampk89rh39ett42ua4m6lasdgtr7h7r565lvz930r33ddsk7qk89&#39;&gt;nevent1q…qk89&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Relevant files are game.gd, entity.gd entity_component.gd, actor.gd, actor_controller.gd, game_state.gd (I am unsure of its role yet - holding ethereal state of game that is not entities? Maybe all that should be implemented as runtime CVars instead?)
    </content>
    <updated>2026-03-17T12:51:34Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs9twl8yd9dvwujsuavcd2sajm7393dv9tuxpwdyvuh22vrkqvxv0czyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgvpvyhr</id>
    
      <title type="html">I was thinking about trying to design a full blown ECS, bit I ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs9twl8yd9dvwujsuavcd2sajm7393dv9tuxpwdyvuh22vrkqvxv0czyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgvpvyhr" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsy4zr7uc6e9pzklv8xjx08988qc2v0tn5qkm65w2s6p8f7ca2d6rstuyq5v&#39;&gt;nevent1q…yq5v&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I was thinking about trying to design a full blown ECS, bit I lack experience. I would want to go with sonethibg that would allow transitioning to it later though to make the framework more scalable both for single-player and multiplayer experiences.&lt;br/&gt;Actually if my central Game class is gonna collect events to a queue and process them for each tick, it could also sort events by entity and conponent classes that they operate on to reduce CPU cache misses that&amp;#39;d be pretty neat.
    </content>
    <updated>2026-03-17T12:42:12Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsx0zd5tpfzzdg4wxu9gnmw2f3y84d526h9n0f8wek7clwcdk3f4pczyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgjh4a3z</id>
    
      <title type="html">Keeping event journal rather than state history is a good idea I ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsx0zd5tpfzzdg4wxu9gnmw2f3y84d526h9n0f8wek7clwcdk3f4pczyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgjh4a3z" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsdms4r44wd22lkdtwafscp3mz67qrptylmlz4atzrpjh8gszrlnsq2erjta&#39;&gt;nevent1q…rjta&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Keeping event journal rather than state history is a good idea I think. As long as no packets were lost and game is deterministic, all peers should be in sync. However that is problematic when trying to achieve authoritative server and also when dealing with faulty networks. State interpolation on clients is usually cheaper than full blown simulation. This is why it might be necessary to work with both events and state snapshots.
    </content>
    <updated>2026-03-17T12:39:34Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs86jz7c2g3zm0vk4d433mm79dplequhelkg6excrtph0ytgpazp8gzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgre337u</id>
    
      <title type="html">Yes, exactly! I am refraining from using Godot&amp;#39;s stock ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs86jz7c2g3zm0vk4d433mm79dplequhelkg6excrtph0ytgpazp8gzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgre337u" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs29pwskfmhtmf96u33mzlmwtf6tyeps90jqqg7vvdapt6y2vk963c9jkyny&#39;&gt;nevent1q…kyny&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Yes, exactly! I am refraining from using Godot&amp;#39;s stock multiplayer synchronizers to have more control over what is happening every tick and to be able to use for exame general data compression and send one packer per peer per tick rather than a flood of RPC calls. Having a central event and wolrd state pump also would allow to use a cumulative priority queue to limit bandwidth and make the most out of every byte transmitted. Not everyone has fiber!
    </content>
    <updated>2026-03-17T12:33:35Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqszcpufvg37jdfy4wgylulw83nw0lt0tx3c7fq3lltggq4fldd86xczyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg0qdewd</id>
    
      <title type="html">Sure! I am working in the devel-unfa branch, you&amp;#39;ll see ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqszcpufvg37jdfy4wgylulw83nw0lt0tx3c7fq3lltggq4fldd86xczyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg0qdewd" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsry5g4aampk89rh39ett42ua4m6lasdgtr7h7r565lvz930r33ddsk7qk89&#39;&gt;nevent1q…qk89&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Sure! I am working in the devel-unfa branch, you&amp;#39;ll see breakage there trying to run the game. There&amp;#39;s a map called actor_test that is used as a prototypibg ground for redesigning this whole entity system.
    </content>
    <updated>2026-03-17T12:29:53Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsprncvhjahytp5r946wec5pz6672ljzqwc2wwh00x863wxq3kxscszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgl7fl5m</id>
    
      <title type="html">That could be useful, but it doesn&amp;#39;t seem like a solution to ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsprncvhjahytp5r946wec5pz6672ljzqwc2wwh00x863wxq3kxscszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgl7fl5m" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0fjw5f38k5prq42l87wvaxet8rjwg7wuwtxkvrf4n0y3qg7y3mjg6cepdt&#39;&gt;nevent1q…epdt&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;That could be useful, but it doesn&amp;#39;t seem like a solution to the fact that all of my Entities will not have a common ancestor.
    </content>
    <updated>2026-03-17T07:30:34Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsvwfewamle3ajx5h8l5ug5cy92dxl3v66355rvthvcj49lhs8azwczyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgxvzah9</id>
    
      <title type="html">Thanks, node groups were somehow not on my radar, even though ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsvwfewamle3ajx5h8l5ug5cy92dxl3v66355rvthvcj49lhs8azwczyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgxvzah9" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqspnhkf6cyeg5r2gx0m4379xu3asx4tf89gs2dyunxk3dvca345u9s0uv03n&#39;&gt;nevent1q…v03n&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Thanks, node groups were somehow not on my radar, even though they should&amp;#39;ve been a natural choice here. I need to think about it!
    </content>
    <updated>2026-03-16T19:23:44Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsxye7pj0syqxahfufh0zzmw6e80z9fn63lfda63ejdjj0rlqyqumqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg8qx882</id>
    
      <title type="html">Another problem I have with #Godot is that it seems like I ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsxye7pj0syqxahfufh0zzmw6e80z9fn63lfda63ejdjj0rlqyqumqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg8qx882" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsva8mfy43vjallz95wpxwmdrtld0lk5zjy0hwyvp97gptdkj63etswtsd2y&#39;&gt;nevent1q…sd2y&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Another problem I have with #Godot is that it seems like I can&amp;#39;t use NodePaths to address properties on a parent node. I will get away from that approach anyway, but I was trying to do this:&lt;br/&gt;	state.add_attribute(&amp;#34;pos&amp;#34;, ^&amp;#34;..:position&amp;#34;, Entity.Attribute.Type.VECTOR3) # ..: accesses position on parent entity&lt;br/&gt;And it always gives `null`.&lt;br/&gt;Only accessing local members seems to work which is another deal breaker fro what I was trying to do recently and will be backing off from now.
    </content>
    <updated>2026-03-16T13:52:19Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsva8mfy43vjallz95wpxwmdrtld0lk5zjy0hwyvp97gptdkj63etszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgx29alh</id>
    
      <title type="html">By `subtick`I mean situations where player1 shoots and kills ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsva8mfy43vjallz95wpxwmdrtld0lk5zjy0hwyvp97gptdkj63etszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgx29alh" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs2uhcxl7hvxs4tluntnk3jhnesuugrczjxm3m5d4f43qs7hxahgug3msqsg&#39;&gt;nevent1q…sqsg&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;By `subtick`I mean situations where player1 shoots and kills player2 in the exact same tick when player2 shoots and kills player1. In theory with hitscan weapons, one should die, not both. Reordering events by mouse input time could allow resolving such cases with certainty, rather than randomly or arbitrarly by whoever joined game first gets their shots processed first (like in TF2).&lt;br/&gt;I also hope this could allow rollback in the future and lag compensation, but i should NOT worry about it now.
    </content>
    <updated>2026-03-16T13:45:58Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs2uhcxl7hvxs4tluntnk3jhnesuugrczjxm3m5d4f43qs7hxahgugzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwggqtu5f</id>
    
      <title type="html">Having events neatly in a queue also means Game could reorder ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs2uhcxl7hvxs4tluntnk3jhnesuugrczjxm3m5d4f43qs7hxahgugzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwggqtu5f" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgkggjvcye36pc50pvaf47s5fuesz4tua33wpf3x0wsdglm0fwwjqyvw6e4&#39;&gt;nevent1q…w6e4&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Having events neatly in a queue also means Game could reorder them, group them by type for processing on multiple worker threads etc. For example InternalEvents could be all processed in parallel, because they don&amp;#39;t touch anybody else. Then ContactEvents involving pairs of entities (rocket -&amp;gt; character, hammer -&amp;gt; box, explosion -&amp;gt; barrel) could be separated etc etc...&lt;br/&gt;Huh. This could be very powerful and also allow good debug.&lt;br/&gt;It could also allow sorting events by server_time_msec for `subtick`.
    </content>
    <updated>2026-03-16T13:43:19Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsgkggjvcye36pc50pvaf47s5fuesz4tua33wpf3x0wsdglm0fwwjqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwge9l7yy</id>
    
      <title type="html">Right now Entities can affect their state directly, and by ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsgkggjvcye36pc50pvaf47s5fuesz4tua33wpf3x0wsdglm0fwwjqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwge9l7yy" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8ml0dy7ryuzl9fmew89xfafch46x7acpn7wejym2lje6s3kuk8rga2adaq&#39;&gt;nevent1q…adaq&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Right now Entities can affect their state directly, and by extension - world state, which means that depending on semi-random order of node script processing, results can vary.&lt;br/&gt;Ok, I need to address this.&lt;br/&gt;Generating events can be parallelized later, processing them - I am not sure, because here events alter the world_state. However events could be divided into clusters by groups of entities they involve. An explosion in room A will affect entities 0..4 but will not touch entities 5..20 etc.
    </content>
    <updated>2026-03-16T13:36:28Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs8ml0dy7ryuzl9fmew89xfafch46x7acpn7wejym2lje6s3kuk8rgzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg8c7mnk</id>
    
      <title type="html">One thing that also comes to my mind if the Verse programming ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs8ml0dy7ryuzl9fmew89xfafch46x7acpn7wejym2lje6s3kuk8rgzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg8c7mnk" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsz0w26zuwfz7muhag2qekfs7uat4tpkmkwr09msu2kfmgmv90ayrcqxqzp9&#39;&gt;nevent1q…qzp9&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;One thing that also comes to my mind if the Verse programming language and what makes it possible to paralellize.&lt;br/&gt;&lt;br/&gt;Generating Events from entity interactions or processing (an Actor controlled by a BotController decided to shoot their weapon and generates a FireWeapon Event) can occur in parallel because the world_state is known and constant throughout each tick.&lt;br/&gt;&lt;br/&gt;If world_state is read-only during tick, generating Events can be parallelized.&lt;br/&gt;Events get queued and processed sequentially per tick
    </content>
    <updated>2026-03-16T13:33:29Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsz0w26zuwfz7muhag2qekfs7uat4tpkmkwr09msu2kfmgmv90ayrczyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgmsqlm7</id>
    
      <title type="html">world_state also doesn&amp;#39;t hold Events - instantiation or ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsz0w26zuwfz7muhag2qekfs7uat4tpkmkwr09msu2kfmgmv90ayrczyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgmsqlm7" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsrf3a6wwpwgcku760p4rpvz2ft4tvefjh9y3kqa3jv9ahmnhjpgfsx9x4rn&#39;&gt;nevent1q…x4rn&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;world_state also doesn&amp;#39;t hold Events - instantiation or deletion of an Entity should be an Event, any interactions between Entities should also generate Events, and maybe internal state changes within Entities should be summarised into an Event by the end of current tick...&lt;br/&gt;I am thinking of Quake 3&amp;#39;s Event Queue system here...&lt;br/&gt;So my world_state is a snapshot, a result of a list of Events getting processed, but it doesn&amp;#39;t explain how things came to be how they are.&lt;br/&gt;Game.queue_event(event: Event)?
    </content>
    <updated>2026-03-16T13:16:47Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsrf3a6wwpwgcku760p4rpvz2ft4tvefjh9y3kqa3jv9ahmnhjpgfszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgxnj4sg</id>
    
      <title type="html">Attributes are defined in `_init_state(state) -&amp;gt; state` method ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsrf3a6wwpwgcku760p4rpvz2ft4tvefjh9y3kqa3jv9ahmnhjpgfszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgxnj4sg" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsy8l49wnc6n4l9vq9sfr4vnwlcrm5wmmlv7w8mlfthmsaarfylkrsvx93uc&#39;&gt;nevent1q…93uc&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Attributes are defined in `_init_state(state) -&amp;gt; state` method of Entity. They are identified by sequential indicies, but have 3-letter names for debug and a linked member variable. Example: `state.add_attribute(&amp;#39;pos&amp;#39;, &amp;#39;global_position&amp;#39;, Entity.Attribute.Type.VECTOR3)`.&lt;br/&gt;This way from a single world_state any game situation should be possible to store and restore.&lt;br/&gt;And though I realized the world_state doesn&amp;#39;t store Entity types yet, only indicies... That is a problem I just realized...
    </content>
    <updated>2026-03-16T13:13:02Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsy8l49wnc6n4l9vq9sfr4vnwlcrm5wmmlv7w8mlfthmsaarfylkrszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg8um6fh</id>
    
      <title type="html">I have a Game class that had a world_state Dictionary. That dict ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsy8l49wnc6n4l9vq9sfr4vnwlcrm5wmmlv7w8mlfthmsaarfylkrszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg8um6fh" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgc6qynxzvmt095qhtpvx47v3kk5h3xhgeq4kw2d44z4qgkaq965gauctw4&#39;&gt;nevent1q…ctw4&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I have a Game class that had a world_state Dictionary. That dict contains state of all Entity instances in the game. Every entity instance has a unique ID, which are sequential ints (0,1,2,3...). IDs are never reused after an entity is destroyed, to avoid confusion. Because Game has state of all Entities, it can also hold a journal, save the changes to a file for later playback or analysis or transmit it through network (send and recieve).&lt;br/&gt;Entities expose Attributes which define them...
    </content>
    <updated>2026-03-16T13:01:33Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsgc6qynxzvmt095qhtpvx47v3kk5h3xhgeq4kw2d44z4qgkaq965gzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg3hgpju</id>
    
      <title type="html">Maybe I can make this more specific then and in each Component ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsgc6qynxzvmt095qhtpvx47v3kk5h3xhgeq4kw2d44z4qgkaq965gzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg3hgpju" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxj7vpnl3mkepe554sk07aqhxr5el5gvwndv9s4c533h842znxaug8ncfma&#39;&gt;nevent1q…cfma&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Maybe I can make this more specific then and in each Component class do `@export var host_entity: ActorEntity` where ActorEntity extends CharacterBody3D and functionally IS an Entity even if inheritance won&amp;#39;t show that. This feels a bit stupid.&lt;br/&gt;Components are things that extend Entities, but arent&amp;#39;t standalone: Flicker, Rotator, Mover, Animator, Inventory, Integrity, Locomotion, Trigger...&lt;br/&gt;Someone might ask why do I want to designate some nodes as special with the Entity system. Let me explain..
    </content>
    <updated>2026-03-16T12:57:53Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsxj7vpnl3mkepe554sk07aqhxr5el5gvwndv9s4c533h842znxaugzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgffz726</id>
    
      <title type="html">Then I could everywhere do `if Entity.is_entity(node): ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsxj7vpnl3mkepe554sk07aqhxr5el5gvwndv9s4c533h842znxaugzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgffz726" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8qccat8xcx7dpqadmznngtsv6u6asut70zj9fd8053k9rm8ef07smp5fd2&#39;&gt;nevent1q…5fd2&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Then I could everywhere do `if Entity.is_entity(node): node.entity_interface.do_entity_stuff()`.&lt;br/&gt;I really need to have this work with the GDScript editor&amp;#39;s parser so code suggestions show up.&lt;br/&gt;&lt;br/&gt;Another thing is EntityComponent class. Maybe I need to remove that completely and make it so components are just entiies that need a host entity to be parented to. New issue is I can&amp;#39;t do `@export var host: Entity` because my entities will not extend Entity class. Here I can&amp;#39;t make Godot editor cooperate.
    </content>
    <updated>2026-03-16T12:51:52Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs8qccat8xcx7dpqadmznngtsv6u6asut70zj9fd8053k9rm8ef07szyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgad7m6r</id>
    
      <title type="html">And so I think I&amp;#39;ll instead have to make a class ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs8qccat8xcx7dpqadmznngtsv6u6asut70zj9fd8053k9rm8ef07szyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgad7m6r" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0dt68z8lg46sk4wlywdgtz40j9f9s5rdhj4rzmscallp3zy608wgk4gvnc&#39;&gt;nevent1q…gvnc&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;And so I think I&amp;#39;ll instead have to make a class EntityInterface and in my entity scripts extend host node type like CharacerBody3D but include an entity_interface member which would be a class extending RefCounted and would give access to everything that the Entity class has now. Then in Game or even Entity class I can have a `static func is_entity() -&amp;gt; bool` so entities can easily check without doing some stupid error-prone dance every time.
    </content>
    <updated>2026-03-16T12:47:13Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs0dt68z8lg46sk4wlywdgtz40j9f9s5rdhj4rzmscallp3zy608wgzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg4lkhzl</id>
    
      <title type="html">(continued thread) Godot kinda supports that, but kinda ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs0dt68z8lg46sk4wlywdgtz40j9f9s5rdhj4rzmscallp3zy608wgzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg4lkhzl" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgru9mapd9m7ulqzmdvs963y03r9wjhv45lkamjr9g73kekzd6dfq3sfz6k&#39;&gt;nevent1q…fz6k&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;(continued thread) Godot kinda supports that, but kinda doesn&amp;#39;t. I have to make my Entity extend Node3D (can&amp;#39;t extend CharacterBody3D as other Entities might extend Static or AninatableBody3D instead - that creates collisions). The Inspector shows properties from Entity class AND properties from host node like CharacterBody3D, but doing something like `if self is CharacerBody3D: stuff()` results in error &amp;#34;node can&amp;#39;t be of type CharacterBody3D, because it&amp;#39;s of type Entity&amp;#34;. That sucks.&lt;br/&gt;- unfa
    </content>
    <updated>2026-03-16T12:42:32Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsgru9mapd9m7ulqzmdvs963y03r9wjhv45lkamjr9g73kekzd6dfqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg2tpxuc</id>
    
      <title type="html">If anyone is interested in #FPS #multiplayer game technology and ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsgru9mapd9m7ulqzmdvs963y03r9wjhv45lkamjr9g73kekzd6dfqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg2tpxuc" />
    <content type="html">
      If anyone is interested in #FPS #multiplayer game technology and happens to know #Godot, I am open to talk :) Hi me up here or join our chat at&lt;a href=&#34;https://liblast.zulipchat.com&#34;&gt;https://liblast.zulipchat.com&lt;/a&gt;&lt;br/&gt;I am currently wrestling with an entity and world state system. I have a problem because I would want to be able to do `if node is Entity: stuff()`, but root nodes of various scenes (like a game character, and interactive prop etc) uses a node type like CharacterBody3D which properties I want to access, but also extend Entity
    </content>
    <updated>2026-03-16T12:37:56Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsqwl6rvmcas2stqzr844cpvaqnzr8hnvlk7zj6vsesphydrfyld8qzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgl5jlmx</id>
    
      <title type="html">It&amp;#39;s never pleasant to realize some of your work needs to go, ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsqwl6rvmcas2stqzr844cpvaqnzr8hnvlk7zj6vsesphydrfyld8qzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgl5jlmx" />
    <content type="html">
      It&amp;#39;s never pleasant to realize some of your work needs to go, but I&amp;#39;ve come to the place where I think my entity system is way too complicated, and instead of making things easier, it&amp;#39;s now making things harder. I&amp;#39;m trying to do too much, too quickly. I&amp;#39;m trying to implement very advanced multiplayer features before I have basics working well. I don&amp;#39;t think I&amp;#39;m ready, I need to go back to the simplest possible solution that will be working, and expand from there.&lt;br/&gt;Back to the drawing board!&lt;br/&gt;-unfa
    </content>
    <updated>2026-03-15T14:24:00Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsvt55a0gfk8n8kvxevv3rwgk0csz2ld7am2we67dpdt2mgmfpszgszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg6qnnr6</id>
    
      <title type="html">Thanks to our powerful 3D asset pipeline and ubershader a simple ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsvt55a0gfk8n8kvxevv3rwgk0csz2ld7am2we67dpdt2mgmfpszgszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg6qnnr6" />
    <content type="html">
      Thanks to our powerful 3D asset pipeline and ubershader a simple model can provide a lot of visual variety. Edge bevels and wear, worn paint revealing raw metal underneath - these effects come easily and with little artist effort. Altering asset colors per instance is also possible. Reusing textures heavily for common effects removes the need to add bevels, wear &amp;amp; tear to your props. Model them pristine and let the framework do the rest!&lt;br/&gt;Wanna learn more?&lt;br/&gt;Follow #LibreGraphicsMeeting ! &lt;br/&gt;- unfa&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/137/142/182/214/494/original/3bf3299370f7e706.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/137/146/074/029/560/original/22baf008e3f947d2.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/137/148/636/142/772/original/50e58da114b307e6.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/137/151/512/427/694/original/e682d4656233cbea.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-02-26T13:28:27Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsxnudal6vr46s74cwzwnjla799dpmvavlvqcdxspzu90dmt9qez4qzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgk89ql9</id>
    
      <title type="html">Booking my flight and room for #LibreGraphicsMeeting to show ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsxnudal6vr46s74cwzwnjla799dpmvavlvqcdxspzu90dmt9qez4qzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgk89ql9" />
    <content type="html">
      Booking my flight and room for #LibreGraphicsMeeting to show Liblast to the world!&lt;br/&gt;I&amp;#39;m going to do a presentation and a workshop during which me and the audience will make some 3D assets using our sick pipeline. The event will be streamed live, so either GetOverHere or GetInTheChair!&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://libregraphicsmeeting.org/2026/program/&#34;&gt;https://libregraphicsmeeting.org/2026/program/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;- unfa&lt;br/&gt;&lt;br/&gt;#Liblast #LiblastFramework #Godot #GodotEngine #Blender #Blender3D&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/127/845/440/842/915/original/91e8e7f69a5724f0.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-02-24T22:01:36Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsv7tzu5693wctmmngr023slgxxru8ugsg953xp05nu0nufsw4rsygzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgfj78xz</id>
    
      <title type="html">New Liblast builds and dev update are available in our Zulip ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsv7tzu5693wctmmngr023slgxxru8ugsg953xp05nu0nufsw4rsygzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgfj78xz" />
    <content type="html">
      New Liblast builds and dev update are available in our Zulip server:&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://liblast.zulipchat.com/#narrow/channel/462542-general/topic/playtesting/near/575361787&#34;&gt;https://liblast.zulipchat.com/#narrow/channel/462542-general/topic/playtesting/near/575361787&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Also new development update video showcasing the game state from these builds:&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://video.hardlimit.com/w/sc6yu4D5izGZu9JTB3xAUf&#34;&gt;https://video.hardlimit.com/w/sc6yu4D5izGZu9JTB3xAUf&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Enjoy!&lt;br/&gt;&lt;br/&gt;- unfa&lt;br/&gt;&lt;br/&gt;#Liblast #Godot4 #FPS #IndieGame #Shooter #SciFi #Robots #unfa&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/121/306/584/896/816/original/b089faa456c063c8.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-02-23T18:36:37Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsrqln7kqpcf64ul3qcqkttx98r8470cp68as6zcukf76fr0wujdnqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgmqkrn4</id>
    
      <title type="html">Recent update video now on PeerTube! Thanks to HARDLimit for ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsrqln7kqpcf64ul3qcqkttx98r8470cp68as6zcukf76fr0wujdnqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgmqkrn4" />
    <content type="html">
      Recent update video now on PeerTube! Thanks to HARDLimit for allowing us to host video on their platform!&lt;br/&gt;&lt;a href=&#34;https://video.hardlimit.com/w/hMpc7v96TJ9eGYRHDd2JJP&#34;&gt;https://video.hardlimit.com/w/hMpc7v96TJ9eGYRHDd2JJP&lt;/a&gt;
    </content>
    <updated>2026-02-23T18:26:42Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsrmj4l299whvc59xp440d3epwersxhahq87l6sh7lhjfckugudyrszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgyg7l8f</id>
    
      <title type="html">&amp;#34;Misaligned lightmap type beat feat NaNs&amp;#34; #glitch ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsrmj4l299whvc59xp440d3epwersxhahq87l6sh7lhjfckugudyrszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgyg7l8f" />
    <content type="html">
      &amp;#34;Misaligned lightmap type beat feat NaNs&amp;#34;&lt;br/&gt;&lt;br/&gt;#glitch #accidentalart&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/116/941/408/087/970/original/acec2a3bb132a1c1.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-02-22T23:46:07Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs005twvqr2qkvdhljgetveqyk6vhr46mltnpk6p9l86j8swsujqxgzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgd00alv</id>
    
      <title type="html">Improved crosshair. The circle size is set in degrees and depends ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs005twvqr2qkvdhljgetveqyk6vhr46mltnpk6p9l86j8swsujqxgzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgd00alv" />
    <content type="html">
      Improved crosshair. The circle size is set in degrees and depends on camera FOV and viewport size.&lt;br/&gt;This means if the weapon spread is later tied to the circle size, it will reliably show area of spread, no matter what  camera FOV and resolution the game is running at.&lt;br/&gt;#Godot4 #Liblast #FPS #IndieGame #OpenSource&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/114/832/349/104/657/original/0999b8791a3b39ec.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/114/833/761/540/999/original/c8d7bb54ed74a34a.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-02-22T14:52:00Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsqr8sx6g93d2q5439kteaud9yv8u8qwqv9gmsknqvpwxw7n5l4ytqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg86nat3</id>
    
      <title type="html">Stuff I&amp;#39;m currently working on. https://youtu.be/EWNi2wnkpAs ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsqr8sx6g93d2q5439kteaud9yv8u8qwqv9gmsknqvpwxw7n5l4ytqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg86nat3" />
    <content type="html">
      Stuff I&amp;#39;m currently working on.&lt;br/&gt;&lt;a href=&#34;https://youtu.be/EWNi2wnkpAs&#34;&gt;https://youtu.be/EWNi2wnkpAs&lt;/a&gt;&lt;br/&gt;- unfa
    </content>
    <updated>2026-02-21T20:29:35Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs0zegletulx4p2yp3cenrxqn8mnkcuvtqtasya6a5nw3372u0auwczyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg5sdc4a</id>
    
      <title type="html">Liblast on the agenda for #LibreGraphicsMeeting ! I&amp;#39;ll see ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs0zegletulx4p2yp3cenrxqn8mnkcuvtqtasya6a5nw3372u0auwczyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg5sdc4a" />
    <content type="html">
      Liblast on the agenda for #LibreGraphicsMeeting ! I&amp;#39;ll see you in April in Nuremberg!&lt;br/&gt;&lt;a href=&#34;https://libregraphicsmeeting.org/2026/program/&#34;&gt;https://libregraphicsmeeting.org/2026/program/&lt;/a&gt;&lt;br/&gt;- unfa
    </content>
    <updated>2026-02-17T22:36:46Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs0aygdavn3z27lh90aa3ghndncs7hn8xgkckwwzxfpcef2gzjwu7szyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgn94ne7</id>
    
      <title type="html">Improving performance and visual quality... ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs0aygdavn3z27lh90aa3ghndncs7hn8xgkckwwzxfpcef2gzjwu7szyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgn94ne7" />
    <content type="html">
      Improving performance and visual quality...&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/086/910/477/027/291/original/8c0695bd0a84df83.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-02-17T16:28:06Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsq77ercunhldvptexjdgyxrqwthttq0846hp5d680c3zz59ejgpwszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgevq5ns</id>
    
      <title type="html">Expanding the test level. The performance now is really bad ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsq77ercunhldvptexjdgyxrqwthttq0846hp5d680c3zz59ejgpwszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgevq5ns" />
    <content type="html">
      Expanding the test level. The performance now is really bad (20-ish FPS), the lighmap fidelity is also really bad, but this is how we find the pain points. A larger level is definitely needed to see how the game behaves.&lt;br/&gt;&lt;br/&gt;What is definitely needed is splitting the map into multiple rooms and using occlusion culling to get rid of geometry that won&amp;#39;t contribute to the frame. So far the whole level is just one humongous mesh.&lt;br/&gt;&lt;br/&gt;We need a non-destructive way to split the mesh with no new faces.&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/081/587/052/990/057/original/99f5f5137c95714d.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/081/587/134/380/213/original/08c0790584e39ac8.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/081/587/132/713/604/original/10f281d19811c64b.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/081/612/978/965/007/original/15845068fdc4f001.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-02-16T18:03:38Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsftj8csdv0zjkq6dva0lu8j6u8gl0s5rqq20gp4nuwpl7nm6f38nqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg8ly8k8</id>
    
      <title type="html">Spawnpoint in-editor gizmos now feature a POV preview sprite. You ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsftj8csdv0zjkq6dva0lu8j6u8gl0s5rqq20gp4nuwpl7nm6f38nqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg8ly8k8" />
    <content type="html">
      Spawnpoint in-editor gizmos now feature a POV preview sprite. You can align the spawnpoint and see what the player spawned at it would see :)&lt;br/&gt;- unfa&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/063/185/750/962/367/original/419e6c946d6609bc.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-02-13T11:55:19Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsqssx680lsdpzs55fz2paa5dlwuhkwut84xqt5vvptcwgkkt8a85qzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgclspek</id>
    
      <title type="html">Liblast running on Fairphone 6 at 80 FPS. #fairphone #GodotEngine ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsqssx680lsdpzs55fz2paa5dlwuhkwut84xqt5vvptcwgkkt8a85qzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgclspek" />
    <content type="html">
      Liblast running on Fairphone 6 at 80 FPS. #fairphone #GodotEngine #TheFairphoneGen6 #Fairphone6&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/060/643/748/229/885/original/40943f8ea0b93169.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/060/657/523/633/828/original/538f3f696a889d59.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-02-13T01:12:08Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsg494mykfsa7efplgx7j74pqsu58jnqx6v7cvcfkw2t5hulev4wrgzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgg223fn</id>
    
      <title type="html">Experimenting with a level design workflow in Liblast Framework. ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsg494mykfsa7efplgx7j74pqsu58jnqx6v7cvcfkw2t5hulev4wrgzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgg223fn" />
    <content type="html">
      Experimenting with a level design workflow in Liblast Framework.&lt;br/&gt;&lt;br/&gt;Blender required some weird workarounds to get CSG-style subtractive modelling working, but I got it figured out.&lt;br/&gt;&lt;br/&gt;I had to create a gigantic cube from which I subtract the world. That cube has a vertexgroup &amp;#34;omit&amp;#34; set and a GeometryNode modifier deletes that geometry dynamically AFTER boolean operations.&lt;br/&gt;&lt;br/&gt;For modelling this is now transparent, you don&amp;#39;t even see that cube, and it doesn&amp;#39;t affect lightmaps.&lt;br/&gt;&lt;br/&gt;This can be a template.&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/058/097/077/051/716/original/117bc47ec4a477de.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/058/126/775/144/385/original/61d81cf5591c5fd8.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/058/140/224/700/329/original/81164796f11c6339.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-02-12T14:32:20Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs8pn23ym263jczsv32xcdvx2yg5pnckj09z2shwparndu6dwzzagczyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgsf4hkr</id>
    
      <title type="html">Running the game on super underpowered systems is always so ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs8pn23ym263jczsv32xcdvx2yg5pnckj09z2shwparndu6dwzzagczyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgsf4hkr" />
    <content type="html">
      Running the game on super underpowered systems is always so satisfying!&lt;br/&gt;Here&amp;#39;s Liblast on ASUS T1000AH tablet running test level at 50 FPS. It crashed soon after, but it did run smoothly for a moment :D Arch Linux and Cage. can&amp;#39;t find a way to make this screen landscape though.&lt;br/&gt;#indiegame #tinkering #Linux #Liblast&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/040/819/840/630/540/original/03f26eb57c1ba925.jpg&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-02-09T13:09:01Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqszrq5hm8jmxm3gh4q2xdkghyaax388wpxmkpjhfs7m552kf4un28czyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgtd0dgz</id>
    
      <title type="html">What if we just use the world model as view model and attach our ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqszrq5hm8jmxm3gh4q2xdkghyaax388wpxmkpjhfs7m552kf4un28czyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgtd0dgz" />
    <content type="html">
      What if we just use the world model as view model and attach our camera to the model&amp;#39;s head? &lt;br/&gt;- unfa&lt;br/&gt;#liblast #Godot #Godot4&lt;br/&gt;&lt;video controls width=&#34;100%&#34; class=&#34;max-h-[90vh] bg-neutral-300 dark:bg-zinc-700&#34;&gt;&lt;source src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/997/202/813/674/578/original/8d24e2c4d1c3af36.mp4&#34;&gt;&lt;/video&gt;&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/997/197/927/098/414/original/e35c10b8dbb7497e.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-02-01T20:15:49Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsvy7p4ep6ss9jvtlnq2l0eqtmekuhz6npqt02j9xpx393jchuczwszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg0h38cx</id>
    
      <title type="html">Wait... something isn&amp;#39;t quite right... - unfa ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsvy7p4ep6ss9jvtlnq2l0eqtmekuhz6npqt02j9xpx393jchuczwszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg0h38cx" />
    <content type="html">
      Wait... something isn&amp;#39;t quite right...&lt;br/&gt;- unfa&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/990/795/661/355/054/original/fbeaef03f74493f5.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-01-31T17:05:41Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsgc9ax22st4vrcmnuktntuugz0t92rgcs7azqxjfcfpftqagmn0agzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgtd4qhm</id>
    
      <title type="html">Replacing the placeholder gun with an &amp;#34;assault rifle&amp;#34; ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsgc9ax22st4vrcmnuktntuugz0t92rgcs7azqxjfcfpftqagmn0agzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgtd4qhm" />
    <content type="html">
      Replacing the placeholder gun with an &amp;#34;assault rifle&amp;#34; model I have made some time ago. Not sure if it&amp;#39;ll fit the artstyle, maybe we;ll loose the scope - why would robots need scopes? :D Scale is all wrong, and putting Robot&amp;#39;s hands on the gun is gonna take some work...&lt;br/&gt;- unfa&lt;br/&gt;#3d #Godot #Blender #fps&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/986/556/436/359/195/original/aa2af01dfdef72fd.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/986/557/394/140/614/original/a494d0aa7e027cf5.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/986/557/523/911/133/original/1e8df8e1157ba5f4.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-01-30T23:08:19Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsvtkeqahw62tvlrz8qukygx6e67r0sspgm5hl3zcrwxfgcrluylsszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgadj4rm</id>
    
      <title type="html">Liblast running on Android (#FairPhone6, #FairPhoneGen6, ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsvtkeqahw62tvlrz8qukygx6e67r0sspgm5hl3zcrwxfgcrluylsszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgadj4rm" />
    <content type="html">
      Liblast running on Android (#FairPhone6, #FairPhoneGen6, #TheFairphoneGen6), #Godot 4.6 stable.&lt;br/&gt;#Liblast&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/973/997/860/012/645/original/2d1ed4c7177f3073.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-01-28T17:53:54Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqszqtnfq5lcud65mxxvy3tp4ftwv65w9wt83t33jr2x0gp4jzmnkgqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgjaherl</id>
    
      <title type="html">Working on Entities and Components. Things are starting to come ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqszqtnfq5lcud65mxxvy3tp4ftwv65w9wt83t33jr2x0gp4jzmnkgqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgjaherl" />
    <content type="html">
      Working on Entities and Components. Things are starting to come together on that front. Also improved character physics. Characters now really feel like they have some inertia (not too much).&lt;br/&gt;&lt;br/&gt;- unfa&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/949/876/498/804/509/original/205e212e607f5146.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-01-24T11:40:54Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsyf0msg26dh7y5g23zjf4m2ywk6wdvftutc78mtmgh0csmm9fglggzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgegstp5</id>
    
      <title type="html">thanks! This is an open source project, so if you&amp;#39;d like to ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsyf0msg26dh7y5g23zjf4m2ywk6wdvftutc78mtmgh0csmm9fglggzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgegstp5" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgnsjuuw25pk35uayfz63j24ksdxcztjl07pjkqjnf0cvc2cs62eq8m56uq&#39;&gt;nevent1q…56uq&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;thanks! This is an open source project, so if you&amp;#39;d like to work with me to improve things, I&amp;#39;m always there! :)&lt;br/&gt;- unfa
    </content>
    <updated>2026-01-22T18:58:55Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsv6d0fklam9ps9my5fkrxw2rkqkwq0wqe3e6t7a3y95csmm0gwwcgzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgvjsl5d</id>
    
      <title type="html">Playing with the Raspberry Pi 4. Can it run Liblast? - unfa ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsv6d0fklam9ps9my5fkrxw2rkqkwq0wqe3e6t7a3y95csmm0gwwcgzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgvjsl5d" />
    <content type="html">
      Playing with the Raspberry Pi 4. Can it run Liblast?&lt;br/&gt;- unfa&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/939/848/704/453/245/original/e4326bc8059575c9.jpg&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-01-22T17:08:38Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsdqrxlt8nntkg6xe8fexngmchvg0w5t82g8w0dy4jvahy04wfgvfgzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgwte2lr</id>
    
      <title type="html">TL;DL: The interface should remain object oriented because ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsdqrxlt8nntkg6xe8fexngmchvg0w5t82g8w0dy4jvahy04wfgvfgzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgwte2lr" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0xjc7nxma60emmed6fvg4cxfu3qzz2mnvnz0u36zrddqu039nnjsdjj6eu&#39;&gt;nevent1q…j6eu&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;TL;DL: The interface should remain object oriented because working with a bunch of tables is not as user friendly as working with a bunch of objects laid out in 3D space. However, in the future, everything could be baked into an ECS, maybe even ditching nodes entirely and working directly with Godot&amp;#39;s servers. That is, unfortunately, a bit too ambitious for me, and I think it should be more of Liblast Framework 2.0, and 1.0 should be fully object-oriented just for the sake of simplicy.&lt;br/&gt;&lt;a href=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/939/617/793/578/884/original/4d458f7102ac21c6.mp3&#34;&gt;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/939/617/793/578/884/original/4d458f7102ac21c6.mp3&lt;/a&gt;&lt;br/&gt;
    </content>
    <updated>2026-01-22T16:11:37Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsten0l32a58rnwj4ca9c0t9l9k2ruu9mnsg40wjqcy9qmd4875mcszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgpdmj4h</id>
    
      <title type="html">Sketching ideas in Excalidraw.com. - unfa ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsten0l32a58rnwj4ca9c0t9l9k2ruu9mnsg40wjqcy9qmd4875mcszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgpdmj4h" />
    <content type="html">
      Sketching ideas in Excalidraw.com.&lt;br/&gt;- unfa&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/938/857/275/010/497/original/9db0e15314bbe5d4.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-01-22T12:56:55Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsp8340245859h67tn7355wk2q52r850ak3qwh95d4euuykdhcl03gzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgljy7nl</id>
    
      <title type="html">When thinking about entity, component, state and networking ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsp8340245859h67tn7355wk2q52r850ak3qwh95d4euuykdhcl03gzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgljy7nl" />
    <content type="html">
      When thinking about entity, component, state and networking systems I realized I am starting to lean into functional instead of object-oriented. The problem is, I think it&amp;#39;s too early. I should first do the simplest possible working implementation of the design, and once that&amp;#39;s solid, seek ways to improve it if need be. Of course from performance standpoint it&amp;#39;d be best to do everything in C&#43;&#43; and go full ECS, but the flexibility and ease of development are among paramount values here.&lt;br/&gt;- unfa
    </content>
    <updated>2026-01-22T12:49:56Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqstd32nsp7w78zquqsn3nc5ttuw5z74y45d3y62gk0ry99dv4dwd0czyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwggdmd5j</id>
    
      <title type="html">3rd person camera. This makes debugging so much easier! - unfa ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqstd32nsp7w78zquqsn3nc5ttuw5z74y45d3y62gk0ry99dv4dwd0czyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwggdmd5j" />
    <content type="html">
      3rd person camera. This makes debugging so much easier!&lt;br/&gt;&lt;br/&gt;- unfa&lt;br/&gt;&lt;br/&gt;#liblast #Godot #GodotEngine #game #indiegame #devlog #gamedev&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/894/149/377/592/536/original/00afbe365ccd4b59.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-01-14T15:27:11Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqszu0wcz3c0newkte2g4rlrwxl6w9nfmupyadsyrflxu7cfk8nu6hszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg2kq83r</id>
    
      <title type="html">Quake-style speedometer added that calculates lateral speed ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqszu0wcz3c0newkte2g4rlrwxl6w9nfmupyadsyrflxu7cfk8nu6hszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg2kq83r" />
    <content type="html">
      Quake-style speedometer added that calculates lateral speed relative to current floor plane.&lt;br/&gt;&lt;br/&gt;Also 3rd person view.&lt;br/&gt;&lt;br/&gt;Also splashscreen for Liblast (a bit pre-emptive).&lt;br/&gt;&lt;br/&gt;- unfa&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/894/142/250/872/267/original/1f9fba8abb900ef1.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/894/142/453/794/846/original/e36992ca0b5fc5c5.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/894/142/662/867/228/original/8b8c6d12480560db.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-01-14T15:26:15Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsteexnpkr5vfdsw3km43ek4vzjwfpafdexsr6477cyp73zj9lfndqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgr9c84r</id>
    
      <title type="html">Implemented basic sound occlusion into the new AmbientSound ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsteexnpkr5vfdsw3km43ek4vzjwfpafdexsr6477cyp73zj9lfndqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgr9c84r" />
    <content type="html">
      Implemented basic sound occlusion into the new AmbientSound entity class. Also Made a custom icon for the entity. I suppose using the gradient from Liblast Framework&amp;#39;s logo makes it distinct and easy to understand what it is. Or does it?&lt;br/&gt;- unfa&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/888/427/131/988/763/original/5ab6418b6a8400e7.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-01-13T16:20:57Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs054eafavq958vqugq8dh56m6469jgk36n999xpw3ajcadm5r8qxczyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgz3ff5t</id>
    
      <title type="html">We&amp;#39;re starting to look legit, aren&amp;#39;t we? :) #Liblast ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs054eafavq958vqugq8dh56m6469jgk36n999xpw3ajcadm5r8qxczyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgz3ff5t" />
    <content type="html">
      We&amp;#39;re starting to look legit, aren&amp;#39;t we? :)&lt;br/&gt;&lt;br/&gt;#Liblast #LiblastFramework #Godot #GodotEngine&lt;br/&gt;&lt;br/&gt;- unfa&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/850/613/645/517/330/original/01bdfc2fba95a31a.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-01-06T22:55:45Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsfqdtr6rtx6276kqaqqs0va7neggzqk2d7l67j0xhkhg93mukfk6czyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg23se9r</id>
    
      <title type="html">More eye candy from the game menu :D - unfa ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsfqdtr6rtx6276kqaqqs0va7neggzqk2d7l67j0xhkhg93mukfk6czyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg23se9r" />
    <content type="html">
      More eye candy from the game menu :D&lt;br/&gt;- unfa&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/839/646/249/549/717/original/c064734cab70e50c.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-01-05T00:25:47Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs2cf0k828m8x36uye95lg20d4yhqqfud2ygkkv3kkr2wnzz9wlh8qzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgfktcny</id>
    
      <title type="html">I am designing a logo for Liblast Framework. The Framework is the ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs2cf0k828m8x36uye95lg20d4yhqqfud2ygkkv3kkr2wnzz9wlh8qzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgfktcny" />
    <content type="html">
      I am designing a logo for Liblast Framework. The Framework is the technology stack built for Liblast (the game). Having separate visual identies would help show what is what. Liblast Framework is going to be Godot Asset you can install and have all the advanced, integrated tools and a powerful 3D asset pipeline ready to go for your game. Liblast (the game) will be built on the Framework and server as a primary showcase and breeding ground for it&amp;#39;s features.&lt;br/&gt;&lt;br/&gt;- unfa&lt;br/&gt;&lt;br/&gt;#Inkscape&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/839/558/476/156/237/original/0c9944061e1e491e.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/839/571/139/180/294/original/d6c2c4354dfa1e87.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-01-05T00:07:19Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs2w2p2vpglw60hvx7g0tglraz5k0r48u4artzeg2gdkdk84xqt6lczyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgkwxuhh</id>
    
      <title type="html">If you need some #glitch images I have found an interesting way ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs2w2p2vpglw60hvx7g0tglraz5k0r48u4artzeg2gdkdk84xqt6lczyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgkwxuhh" />
    <content type="html">
      If you need some #glitch images I have found an interesting way of generating that with #GodotEngine 4.5.&lt;br/&gt;&lt;br/&gt;If you create a SubViewport and change it&amp;#39;s size at runtime, odd things happen - it seems that the frame buffer is not initialized which displays mingled data (sometimes it&amp;#39;s parts of what you see onscreen, sometimes parts of frames from other viewports, like the main one).&lt;br/&gt;&lt;br/&gt;&lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1af58e7mp7lfmh6mangma44hsmd6zpgup7f00ey64mnauegn3vsgsuwc5r2&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Godot Engine :godot:&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1af5…c5r2&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; don&amp;#39;t patch this please!&lt;br/&gt;&lt;br/&gt;Note: this is NOT reliable! That&amp;#39;s why I saved the frames!&lt;br/&gt;&lt;br/&gt;- unfa #art #pixel&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/838/730/897/201/325/original/2fd9b83d341750ba.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/838/735/075/239/983/original/66d142eb6fcf1863.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/838/735/087/717/641/original/d29e37ac8f8b95f3.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/838/735/073/889/921/original/542bc020710e1d61.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-01-04T20:40:18Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs25z2k0hjr0vm4znyagsp6knfz230g5h59jkqchxek9e3k7ultu4gzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwguwtke3</id>
    
      <title type="html">It just so happens that the new Liblast menu background scene is ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs25z2k0hjr0vm4znyagsp6knfz230g5h59jkqchxek9e3k7ultu4gzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwguwtke3" />
    <content type="html">
      It just so happens that the new Liblast menu background scene is great for testing the completely new implementation of #SSR that is present in Godot 4.6 (beta2).&lt;br/&gt;&lt;br/&gt;It&amp;#39;s best appreciated in motion, so here&amp;#39;s a video clip!&lt;br/&gt;&lt;br/&gt;This runs at 144 FPS at ~2K resolution on my Radeon RX 6800 XT. 4x MSAA &#43; TAA. &lt;br/&gt;&lt;br/&gt;In a busy fast-paced game this detail won&amp;#39;t matter as much, but seeing that Godot can deliver this kind of a picture, really warms my heart. You madmen did it! 🎆 &lt;br/&gt;&lt;br/&gt;- unfa&lt;br/&gt;&lt;br/&gt;#Godot #GodotEngine&lt;br/&gt;&lt;video controls width=&#34;100%&#34; class=&#34;max-h-[90vh] bg-neutral-300 dark:bg-zinc-700&#34;&gt;&lt;source src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/828/827/393/122/805/original/2b065086ac314d03.mp4&#34;&gt;&lt;/video&gt;&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/828/847/029/553/496/original/93e2fdf50cccc9ba.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/828/873/942/776/767/original/265de2609e158e23.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-01-03T02:46:31Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs0kh94mta4ka74gf8sjlddnefem4m5xnjqtfeghrh89z0laakk4ugzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg4z4e7p</id>
    
      <title type="html">if I had the resources, I would be glad to maintain a Matrix ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs0kh94mta4ka74gf8sjlddnefem4m5xnjqtfeghrh89z0laakk4ugzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg4z4e7p" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsvtcp35ywx8c7astpsy0nx9trssygh2fqukv0lzxhqv44jsnftk8q8aqvn6&#39;&gt;nevent1q…qvn6&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;if I had the resources, I would be glad to maintain a Matrix space, find a way to bridge it to a Zulip channel and expose in-game. Perhaps a contributor would emerge in the future who would take care of that. There&amp;#39;s already multiple places. There is Zulip, there is our Open Source Collective page and there is Mastodon. I wish I could find a way to uniformly publish updates to all of that &#43; our website some time, but it&amp;#39;s not top priority at the moment :)&lt;br/&gt;- unfa
    </content>
    <updated>2026-01-02T16:15:56Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqspr4hgq7dp4fkv7xvuvl68n9w95rwd0v5jy9pa3fclluyex4ask8qzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgnhsrqr</id>
    
      <title type="html">no, Matrix is just not the tool for the job. Zulip is designed ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqspr4hgq7dp4fkv7xvuvl68n9w95rwd0v5jy9pa3fclluyex4ask8qzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgnhsrqr" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0plhx4sne00jv56fdwha23wugjpp997z2nxevyam2d7jstc07tvc8h57ct&#39;&gt;nevent1q…57ct&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;no, Matrix is just not the tool for the job. Zulip is designed specifically for productive team collaboration and has a multitude of unique features.&lt;br/&gt;&lt;br/&gt;Examples in no particular order:&lt;br/&gt;- Transparent interface via email&lt;br/&gt;- Custom code playgrounds&lt;br/&gt;- Timezone-aware timestamps (great for scheding meetings)&lt;br/&gt;- Multitude of channels and channel groups in one instance&lt;br/&gt;- Webhooks - pulling info from Git hosts&lt;br/&gt;- Custom url shorteners (git issues)&lt;br/&gt; - GDScript colors!&lt;br/&gt;- Fast search&lt;br/&gt;&lt;br/&gt;- unfa
    </content>
    <updated>2026-01-02T13:41:27Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsqnwllrj7gzvumpgsm9223n59uthhq9s6q5mknahtpw4p9s2xnanszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg4zc27r</id>
    
      <title type="html">Slowy bringing out the colors! #Godot #GodotEngine #Liblast ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsqnwllrj7gzvumpgsm9223n59uthhq9s6q5mknahtpw4p9s2xnanszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg4zc27r" />
    <content type="html">
      Slowy bringing out the colors!&lt;br/&gt;#Godot #GodotEngine #Liblast #LiblastFramework&lt;br/&gt;- unfa&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/822/815/322/675/718/original/d50d07a024ba49db.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/822/816/565/269/829/original/2ca29c00ececb041.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-01-02T01:10:03Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqswr926vvwhrxxhecm72fcj7zqfj3j58r8tas7gwws0e5ufcf4yeaqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgjv9hw0</id>
    
      <title type="html">Making progress! Stuff is slowly coming together. Too much to ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqswr926vvwhrxxhecm72fcj7zqfj3j58r8tas7gwws0e5ufcf4yeaqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgjv9hw0" />
    <content type="html">
      Making progress! Stuff is slowly coming together. Too much to mention everything here.&lt;br/&gt;&lt;br/&gt;More information can be found on our Zulip chat:&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://liblast.zulipchat.com/#narrow/channel/462542-general/topic/playtesting/near/565999261&#34;&gt;https://liblast.zulipchat.com/#narrow/channel/462542-general/topic/playtesting/near/565999261&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Maybe I&amp;#39;ll manage to make a video and demo all the new stuff (once the cold finally passes - my new year&amp;#39;s was spent lying in bed with a laptop).&lt;br/&gt;&lt;br/&gt;I managed to bang out some decent code though. Maps now automatically render and save previews. These are shown in game builds during loading.&lt;br/&gt;&lt;br/&gt;New cvar: debug.override.spawnpoint&lt;br/&gt;&lt;br/&gt;- unfa&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/822/095/624/217/281/original/3c1c0b44af79295e.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-01-01T22:06:20Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsy3cv2edfcus4gy9cny2gtqxg0ucupamv9w6xy48x94dwp4m99dgqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg8hggyk</id>
    
      <title type="html">#Photo #notAI #notCGI #realPhoto #Godot #GodotEngine ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsy3cv2edfcus4gy9cny2gtqxg0ucupamv9w6xy48x94dwp4m99dgqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg8hggyk" />
    <content type="html">
      #Photo #notAI #notCGI #realPhoto #Godot #GodotEngine #GodotPlushie #Liblast #unfa #3Dprinted&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/735/913/352/852/959/original/226285d1af2b476a.jpg&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-12-17T16:46:40Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsf6c4nv8q0jlnrq0dag35whswpa8uuhqhvmjl9af5txzap8297g4gzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgf69h9d</id>
    
      <title type="html">Progress in the (tech) art departament. Rendered with 4xMSAA, ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsf6c4nv8q0jlnrq0dag35whswpa8uuhqhvmjl9af5txzap8297g4gzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgf69h9d" />
    <content type="html">
      Progress in the (tech) art departament.&lt;br/&gt;&lt;br/&gt;Rendered with 4xMSAA, nothing else.&lt;br/&gt;&lt;br/&gt;I found that Screen-Space Roughness limiter works in halved resolution and introduces blocky artifacts (check the 2nd screenshot for comparison).&lt;br/&gt;&lt;br/&gt;It&amp;#39;s probably content-specific but the effect is ON by default, and so you might be getting stairsteppy artifacts and not know where do they come from.&lt;br/&gt;&lt;br/&gt;This is Godot 4.5.1 stable on Arch Linux. Haven&amp;#39;t tested in 4.6 beta yet.&lt;br/&gt;&lt;br/&gt;&lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1af58e7mp7lfmh6mangma44hsmd6zpgup7f00ey64mnauegn3vsgsuwc5r2&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Godot Engine :godot:&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1af5…c5r2&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; WDYT?&lt;br/&gt;&lt;br/&gt;- unfa&lt;br/&gt;&lt;br/&gt;#Godot #GodotEngine&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/735/236/152/813/113/original/3e5f02077abeffcd.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/735/242/117/751/606/original/15feae6e7032cc26.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/735/254/694/564/378/original/ea23ea9e74883826.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/735/255/587/897/898/original/809a7e806a872fa4.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-12-17T13:58:31Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsgcu047kn88n3g8pjxxpxnkn7qptvnavhhqaaqw9a39s62v5gzh9czyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgfnym0w</id>
    
      <title type="html">Ubershader overhaul imminent! In my professional work I have used ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsgcu047kn88n3g8pjxxpxnkn7qptvnavhhqaaqw9a39s62v5gzh9czyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgfnym0w" />
    <content type="html">
      Ubershader overhaul imminent! In my professional work I have used some ideas and even tooling (vertex color baker for Blender) created for Liblast. I have managed to implement quite a slick ubershader that handles car paint, localized damage to it, paint chipping and scratching, dirt, dust, rust, wetness, water and soap overlays among other effects like hilighting dirt, a dissolve effect, wind waves on cloth etc.&lt;br/&gt;I suppose I could design something similarly modular for Liblast?&lt;br/&gt;- unfa
    </content>
    <updated>2025-12-15T18:23:59Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs036agddpuhetfhcascrnxxkchhhreuxjmgwrq86sdawec8x5jepczyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgt2srws</id>
    
      <title type="html">And here a still from one of the animation frames. I am using the ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs036agddpuhetfhcascrnxxkchhhreuxjmgwrq86sdawec8x5jepczyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgt2srws" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsw45mm2xnn5d03s4276xpu8zk63fn33arkzyt85mcj505au36sthgwduqdv&#39;&gt;nevent1q…uqdv&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;And here a still from one of the animation frames.&lt;br/&gt;I am using the animation to ensure the textures are not &amp;#34;floating&amp;#34;, and the material is behaving correctly.&lt;br/&gt;&lt;br/&gt;The normal map seems wonky, something is not right, could be green channel needing to be flipped, or sRGB color space, we&amp;#39;ll see...&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/709/159/237/211/277/original/0f8628f0cf0521d4.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-12-12T23:22:44Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsw45mm2xnn5d03s4276xpu8zk63fn33arkzyt85mcj505au36sthgzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwghwkw5n</id>
    
      <title type="html">Testing the model in #Godot using our ubershader. Things are far ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsw45mm2xnn5d03s4276xpu8zk63fn33arkzyt85mcj505au36sthgzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwghwkw5n" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxqjjg3ceg6zakcuur462adp2fsesww5s90sucn2v8h78nmvkxkjgjrzhm4&#39;&gt;nevent1q…zhm4&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Testing the model in #Godot using our ubershader.&lt;br/&gt;Things are far from perfect, but we&amp;#39;re getting there...&lt;br/&gt;&lt;video controls width=&#34;100%&#34; class=&#34;max-h-[90vh] bg-neutral-300 dark:bg-zinc-700&#34;&gt;&lt;source src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/709/146/286/442/407/original/31ceab848b05d9b6.mp4&#34;&gt;&lt;/video&gt;&lt;br/&gt;
    </content>
    <updated>2025-12-12T23:18:30Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsxqjjg3ceg6zakcuur462adp2fsesww5s90sucn2v8h78nmvkxkjgzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgrmkmqx</id>
    
      <title type="html">And here&amp;#39;s the atlas in action... after some modifications to ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsxqjjg3ceg6zakcuur462adp2fsesww5s90sucn2v8h78nmvkxkjgzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgrmkmqx" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqspgsykea5hwajp75fvavjxp3uurqqntvm2gnjn9dt4tv34qdsmawcpchxuq&#39;&gt;nevent1q…hxuq&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;And here&amp;#39;s the atlas in action... after some modifications to it.&lt;br/&gt;The texturing is not yet complete, but I&amp;#39;m getting close.&lt;br/&gt;#Blender&lt;br/&gt;- unfa&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/707/370/420/973/400/original/f36970e746ea3d3b.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-12-12T15:46:40Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqspgsykea5hwajp75fvavjxp3uurqqntvm2gnjn9dt4tv34qdsmawczyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgykny2u</id>
    
      <title type="html">Hardsurface detailing atlas for #Liblast. Made with #Blender and ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqspgsykea5hwajp75fvavjxp3uurqqntvm2gnjn9dt4tv34qdsmawczyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgykny2u" />
    <content type="html">
      Hardsurface detailing atlas for #Liblast. Made with #Blender and #GrabDoc add-on and post-processed with #MaterialMaker. This is to work with a special #ubershader to let low / mid-poly models look almost hero-like :)&lt;br/&gt;&lt;br/&gt;On the left a pre-vis of the final texture on geometry prepared for #DreamUV , on the right source geometry used to bake intermediate maps.&lt;br/&gt;&lt;br/&gt;The final texture is in CXOY channel-packing layout. One texture merging curvature, normal and AO parameters.&lt;br/&gt;&lt;br/&gt;#TechArt #Godot&lt;br/&gt;&lt;br/&gt;- unfa&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/695/566/416/373/653/original/3d98d7a4ffa5c42c.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/695/595/908/858/832/original/83fd1af3c6da2eba.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-12-10T13:53:13Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs2jkpa5qcyz4nh5jy2u6wrvr6lx8yqefvz2lnmj6z9rgc0s2f0enqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgns2g5u</id>
    
      <title type="html">Sometimes we just wanna make a fun thing, even if it&amp;#39;s not ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs2jkpa5qcyz4nh5jy2u6wrvr6lx8yqefvz2lnmj6z9rgc0s2f0enqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgns2g5u" />
    <content type="html">
      Sometimes we just wanna make a fun thing, even if it&amp;#39;s not necessary by any means...&lt;br/&gt;&lt;br/&gt;Like randomized serial numbers on weapons. Together with randomized wear patterns on them - gives a nice organic feel to it. Every single gun is unique!&lt;br/&gt;&lt;br/&gt;That&amp;#39;s stuff you can do very easily in Liblast Framework using our Ubershader.&lt;br/&gt;&lt;br/&gt;The serial number is not a decal or a Label3D, it&amp;#39;s part of the material.&lt;br/&gt;&lt;br/&gt;The models are of course totally placeholder (just Godot primitives).&lt;br/&gt;&lt;br/&gt;- unfa&lt;br/&gt;&lt;br/&gt;#Liblast #IndieDev #Godot&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/027/911/023/154/914/original/9fd9be57535c3ef5.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-08-14T15:59:41Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqspsrq2anv3h2jjhg3n4pc5v0e3m8hk7w87waut9r3q5km6jdxs83szyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgzn096l</id>
    
      <title type="html">I think if the straight segment slope would match the sine wave ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqspsrq2anv3h2jjhg3n4pc5v0e3m8hk7w87waut9r3q5km6jdxs83szyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgzn096l" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsdgeks3xycn9ann9z7za3jpt6tu5w0aetalxwk7ykd5p7nw0uaqcczhkpz0&#39;&gt;nevent1q…kpz0&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I think if the straight segment slope would match the sine wave it was spliced to, the speed (1st derivative) should be fine, I would expect a hitch on the 2nd derivative (acceleration).
    </content>
    <updated>2025-08-14T15:49:38Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsz6c75w0ydwg44nydmlwh9npp9ktpk7f52fpkuahyy072n5cge5aszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgjnvwsd</id>
    
      <title type="html">Video now available on PeerTube: ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsz6c75w0ydwg44nydmlwh9npp9ktpk7f52fpkuahyy072n5cge5aszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgjnvwsd" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsz6pj2rhsu583elkrnqgjyvq84ad2jvw72k9s5dddqlj88fnyylrgwuf2gp&#39;&gt;nevent1q…f2gp&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Video now available on PeerTube:&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://video.hardlimit.com/w/bZsQCLyZTQiqwuuJaWrSUG&#34;&gt;https://video.hardlimit.com/w/bZsQCLyZTQiqwuuJaWrSUG&lt;/a&gt;
    </content>
    <updated>2025-08-10T11:28:48Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsz6pj2rhsu583elkrnqgjyvq84ad2jvw72k9s5dddqlj88fnyylrgzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwghrs5kn</id>
    
      <title type="html">The new Entity, World State and Replication system is working! ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsz6pj2rhsu583elkrnqgjyvq84ad2jvw72k9s5dddqlj88fnyylrgzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwghrs5kn" />
    <content type="html">
      The new Entity, World State and Replication system is working!&lt;br/&gt;&lt;br/&gt;Here it&amp;#39;s syncing 24 cubes and two movers (the chars are not based on entities yet) from a server to 3 clients.&lt;br/&gt;&lt;br/&gt;The server&amp;#39;s world state is authoritative - clients merely follow updates they get.&lt;br/&gt;&lt;br/&gt;Super simple for now - full world state is sent to all clients every server tick.&lt;br/&gt;&lt;br/&gt;Not optimal or resilient at all  - there is a lot of work ahead!&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://youtu.be/Sc42ebGX_YU&#34;&gt;https://youtu.be/Sc42ebGX_YU&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;#Liblast #IndieDev #IndieGame #Godot #GodotEngine #FPS&lt;br/&gt;&lt;br/&gt;- unfa
    </content>
    <updated>2025-08-09T12:13:47Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs07qcsxw05z7nmvmg7snfavy9n3hytpdlv35fmxjq5cg6mm548kkqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgn84nnu</id>
    
      <title type="html">Heck yeah! The SharedTime feature of #Liblast #Framework that ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs07qcsxw05z7nmvmg7snfavy9n3hytpdlv35fmxjq5cg6mm548kkqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgn84nnu" />
    <content type="html">
      Heck yeah! The SharedTime feature of #Liblast #Framework that establishes a common time reference so clients can time events in server&amp;#39;s time seems to finally work as expected. This took a lot of debugging, but it&amp;#39;s here!&lt;br/&gt;&lt;br/&gt;Of course this is only via loopback on a single machine, so only using this over the internet will tell if my code is any good...&lt;br/&gt;&lt;br/&gt;So far I&amp;#39;m happy with the results :D&lt;br/&gt;&lt;br/&gt;This is not yet in the main branch of the git repo, there&amp;#39;s more coming ;)&lt;br/&gt;&lt;br/&gt;- unfa&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://codeberg.org/Liblast/liblast-framework/commit/b3ddfbbc774c52af026cbb52b51ff2d86d83462d&#34;&gt;https://codeberg.org/Liblast/liblast-framework/commit/b3ddfbbc774c52af026cbb52b51ff2d86d83462d&lt;/a&gt;&lt;br/&gt;&lt;video controls width=&#34;100%&#34; class=&#34;max-h-[90vh] bg-neutral-300 dark:bg-zinc-700&#34;&gt;&lt;source src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/114/925/583/205/447/390/original/4df2d10f4e27df94.mp4&#34;&gt;&lt;/video&gt;&lt;br/&gt;
    </content>
    <updated>2025-07-27T14:08:59Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs2n2jwgvfx3ujze6uww0tedmk5gre8h5fnerrurulcnrtvkk88pmqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgkkzkr2</id>
    
      <title type="html">They said it&amp;#39;s better to make more commits, because when you ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs2n2jwgvfx3ujze6uww0tedmk5gre8h5fnerrurulcnrtvkk88pmqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgkkzkr2" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqstjnwjwgaphdedxc2ehyjt0f7738wvwpk8uyp20vy28cr2ljkh2sq7ug8wd&#39;&gt;nevent1q…g8wd&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;They said it&amp;#39;s better to make more commits, because when you break stuff, you have more options during a bisect.&lt;br/&gt;Well, so I have now committed about ~3 evening&amp;#39;s work in 9 commits.&lt;br/&gt;&lt;br/&gt;Note to self: don&amp;#39;t be afraid to commit, because you&amp;#39;re not sure if you&amp;#39;ll go down this route or not. #Git history is exactly the tool to go back to a place before you went off-rails.&lt;br/&gt;&lt;br/&gt;I often hold back because I feel like maybe this should go to a different branch, maybe not...&lt;br/&gt;Maybe I&amp;#39;ll first merge up...&lt;br/&gt;&lt;br/&gt;- unfa&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/114/859/696/290/357/046/original/cd12d06a58475432.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-07-15T22:57:03Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqstjnwjwgaphdedxc2ehyjt0f7738wvwpk8uyp20vy28cr2ljkh2sqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg394l9l</id>
    
      <title type="html">Inching forward. For now just trying to get this to work in the ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqstjnwjwgaphdedxc2ehyjt0f7738wvwpk8uyp20vy28cr2ljkh2sqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg394l9l" />
    <content type="html">
      Inching forward. For now just trying to get this to work in the simplest way possible. Basic FPS game networking - character movement first.&lt;br/&gt;&lt;br/&gt;- unfa&lt;br/&gt;&lt;br/&gt;#Networking #Godot #IndieDev #Liblast&lt;br/&gt;&lt;video controls width=&#34;100%&#34; class=&#34;max-h-[90vh] bg-neutral-300 dark:bg-zinc-700&#34;&gt;&lt;source src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/114/859/539/785/331/102/original/750a9ee111761b43.mp4&#34;&gt;&lt;/video&gt;&lt;br/&gt;
    </content>
    <updated>2025-07-15T22:16:25Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs8kc50a8060xkgnxhs9wlccwdlpwmp9wausd8rzfpkra8qucyktkqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgdc9ax6</id>
    
      <title type="html">New development update video! https://youtu.be/pvjU2Sc9Tms ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs8kc50a8060xkgnxhs9wlccwdlpwmp9wausd8rzfpkra8qucyktkqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgdc9ax6" />
    <content type="html">
      New development update video!&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://youtu.be/pvjU2Sc9Tms&#34;&gt;https://youtu.be/pvjU2Sc9Tms&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;I&amp;#39;m working on networking.&lt;br/&gt;Big brain energy needed. I&amp;#39;ve read and studied a lot about networking in FPS games throughout the years, but my own implementations so far have been rather unimpressive.&lt;br/&gt;&lt;br/&gt;You think I can knock it out of he park this time around? I&amp;#39;ve been doing Liblast for 5 years now, this is the 4th from-the-ground-up iteration of the project. I hop I&amp;#39;ve learned my lesson by now...&lt;br/&gt;&lt;br/&gt;- unfa&lt;br/&gt;&lt;br/&gt;#Liblast #GameDev #IndieDev #IndieGame&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/114/848/255/061/787/930/original/9f139c78c4e7aaf1.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-07-13T22:22:42Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsghx5dfv6sdeu8r0hg0g4dnkg9c4h0k5fur4mzdqmtmfa7afsd5gszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgfwdn7x</id>
    
      <title type="html">Liblast starting a local server and loading a map. You can notice ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsghx5dfv6sdeu8r0hg0g4dnkg9c4h0k5fur4mzdqmtmfa7afsd5gszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgfwdn7x" />
    <content type="html">
      Liblast starting a local server and loading a map. You can notice recent work on loading screen and scene transitions. An important part of the map &amp;#34;loading&amp;#34; is rendering frames and comparing them monitoring the differences. The game is waiting until the frames stabilize. It took a lot of work to get working properly, but now it pretty much eliminates all possible flickering due to reflection probe baking (and other pop-in). Internally it&amp;#39;s called &amp;#34;Flicker Suppression&amp;#34;.&lt;br/&gt;&lt;br/&gt;- unfa&lt;br/&gt;&lt;br/&gt;#Liblast&lt;br/&gt;&lt;video controls width=&#34;100%&#34; class=&#34;max-h-[90vh] bg-neutral-300 dark:bg-zinc-700&#34;&gt;&lt;source src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/114/833/991/809/838/170/original/9320750545ec5e39.mp4&#34;&gt;&lt;/video&gt;&lt;br/&gt;
    </content>
    <updated>2025-07-11T10:00:16Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs27jkhzap9vrym5uwksd0m7jn2m7v9s253sypm0fgtsujgja4h9tszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgm546ya</id>
    
      <title type="html">Long time no see! Here&amp;#39;s an update on Liblast [Framework] ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs27jkhzap9vrym5uwksd0m7jn2m7v9s253sypm0fgtsujgja4h9tszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgm546ya" />
    <content type="html">
      Long time no see!&lt;br/&gt;Here&amp;#39;s an update on Liblast [Framework] development, and further development taking place on video :) &lt;br/&gt;&lt;a href=&#34;https://youtu.be/4SvDGc2-gtU&#34;&gt;https://youtu.be/4SvDGc2-gtU&lt;/a&gt;&lt;br/&gt;- unfa&lt;br/&gt;#liblast #godot #godotengine #indiegame
    </content>
    <updated>2025-07-06T13:36:35Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsg522k66jy69ywrc5ux83a408my26n2ygcd06umcz8fd2gtjp3z0gzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg3ahg37</id>
    
      <title type="html">It didn&amp;#39;t die - it was killed. Thor aka Pirate Games has been ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsg522k66jy69ywrc5ux83a408my26n2ygcd06umcz8fd2gtjp3z0gzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg3ahg37" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsv6j8a639kfcsu25h8tmyzemek4jkpnvnc534lh3lpzxmlgt3tsdqht30k7&#39;&gt;nevent1q…30k7&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;It didn&amp;#39;t die - it was killed. Thor aka Pirate Games has been spreading lies about what SKG was and trying to convince people it&amp;#39;s a terrible idea - he has single-handedly doomed the movement. because he&amp;#39;s a pr*ck. Then he fell off when people started realizing he&amp;#39;s full of himself, but the damage was already done.&lt;br/&gt;&lt;br/&gt;This could still be turned around, there&amp;#39;s less than 600000 signatures required (out of a million), but there&amp;#39;s a month&#43; left, and without a few huge YouTubers helping...
    </content>
    <updated>2025-06-24T11:18:34Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs0x9fjwlxs6423esn3rrlt4vym38pcyrywlwspuzewwsp73j0g9uszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgev0gkg</id>
    
      <title type="html">WE HAVE ALMOST SAVED GAMING. Or have we? Can we still save it? ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs0x9fjwlxs6423esn3rrlt4vym38pcyrywlwspuzewwsp73j0g9uszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgev0gkg" />
    <content type="html">
      WE HAVE ALMOST SAVED GAMING.&lt;br/&gt;Or have we? Can we still save it?&lt;br/&gt;&lt;br/&gt;All it would have taken was a million signatures from EU citizens.&lt;br/&gt;&lt;br/&gt;Don&amp;#39;t we have a million gamers in the EU who are eligible to vote?&lt;br/&gt;&lt;br/&gt;Here&amp;#39;s probably the last update from #StopKillingGames :&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=HIfRLujXtUo&#34;&gt;https://www.youtube.com/watch?v=HIfRLujXtUo&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://StopKillingGames.com&#34;&gt;https://StopKillingGames.com&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Have you signed yet?&lt;br/&gt;&lt;br/&gt;-unfa&lt;br/&gt;&lt;br/&gt;#Gaming #Game #Games #Gamers #LinuxGaming #GamePreservation #GameEmulators #Lutris #Proton #Wine #Steam #Freedom #EU #Law #GameDev #GameDevelopment #Help #Activism
    </content>
    <updated>2025-06-24T09:00:45Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqspt4ppz6vz3kxr2qk8zjv8y72y3zm9nmv3tkhrs0ulwhxe3xj2u0szyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgnf34kt</id>
    
      <title type="html">Working on various things. #Liblast - unfa ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqspt4ppz6vz3kxr2qk8zjv8y72y3zm9nmv3tkhrs0ulwhxe3xj2u0szyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgnf34kt" />
    <content type="html">
      Working on various things.&lt;br/&gt;#Liblast&lt;br/&gt;&lt;br/&gt;- unfa&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/114/689/593/472/043/748/original/8fae611aa9d6b145.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-06-15T21:53:35Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs0mdlqs9q9dnmzraaszr4ut2rdh3wepadrfye68ck9rvnlpw0nmaczyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwggppptf</id>
    
      <title type="html">Ever since Godot 4.0 pre-alpha the reflection probes are ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs0mdlqs9q9dnmzraaszr4ut2rdh3wepadrfye68ck9rvnlpw0nmaczyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwggppptf" />
    <content type="html">
      Ever since Godot 4.0 pre-alpha the reflection probes are sometimes causing flashes when baking their internal cubemaps.&lt;br/&gt;&lt;br/&gt;Years later this is still a problem I don;&amp;#39;t know how to solve.&lt;br/&gt;&lt;br/&gt;Maybe somebody has found a way to tackle this?&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://forum.godotengine.org/t/how-to-avoid-reflection-probes-from-flashing-white/110498&#34;&gt;https://forum.godotengine.org/t/how-to-avoid-reflection-probes-from-flashing-white/110498&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;- unfa&lt;br/&gt;&lt;br/&gt;#Godot #GameDev&lt;br/&gt;&lt;video controls width=&#34;100%&#34; class=&#34;max-h-[90vh] bg-neutral-300 dark:bg-zinc-700&#34;&gt;&lt;source src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/114/483/525/344/302/226/original/d0d0418b9865d24e.mp4&#34;&gt;&lt;/video&gt;&lt;br/&gt;
    </content>
    <updated>2025-05-10T12:26:11Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsrjydwqfdzg6ryfqm4rwjxyuhgwgjye8mleerxv60l4rjqzuenmeszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgquv5x8</id>
    
      <title type="html">Yeah, it&amp;#39;s a dev console in front of a test map for working ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsrjydwqfdzg6ryfqm4rwjxyuhgwgjye8mleerxv60l4rjqzuenmeszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgquv5x8" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqstar9rxnrae6ampqdcpu8xhg8vmg4k3lkk3mnd5agzvuz4ps2qfpc4prs2v&#39;&gt;nevent1q…rs2v&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Yeah, it&amp;#39;s a dev console in front of a test map for working on the character controlller (and also testing lighting).&lt;br/&gt;- unfa
    </content>
    <updated>2025-05-10T11:32:24Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsppsaha3k799qqerzrp4yqasgphdaec5cu2gmccx9974jhanw9qxszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgzs6kvd</id>
    
      <title type="html">I&amp;#39;m just gonna share what I&amp;#39;m working on at the moment. - ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsppsaha3k799qqerzrp4yqasgphdaec5cu2gmccx9974jhanw9qxszyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgzs6kvd" />
    <content type="html">
      I&amp;#39;m just gonna share what I&amp;#39;m working on at the moment.&lt;br/&gt;- unfa&lt;br/&gt;#Liblast #Godot #IndieDev&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/114/468/860/507/703/905/original/21004ba39794a0f7.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-05-07T22:17:18Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsp5k2qmludslnpdxs3apcflm489fk6lpxptllf6e2ulvavuhd8ztqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgvhfdnj</id>
    
      <title type="html">Hi! This was a result of our mitigation against a recent spam ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsp5k2qmludslnpdxs3apcflm489fk6lpxptllf6e2ulvavuhd8ztqzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgvhfdnj" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs2uf94h8ezwfe8ah2xx59akk3f5hqmujzky4yshgyvsvjtcgh7rjg4zrtfw&#39;&gt;nevent1q…rtfw&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Hi! This was a result of our mitigation against a recent spam attack. It should be accessible as usual by now.&lt;br/&gt;- unfa
    </content>
    <updated>2025-05-01T17:39:11Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsvmhnvy7u4qe6zvkjks9fd7jzlswpksehujc8200whsf4rcnyv5jczyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwglw2yuu</id>
    
      <title type="html">We&amp;#39;ve taken part in Godot Wild Jam #80 ( #GWJ80 ). Here&amp;#39;s ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsvmhnvy7u4qe6zvkjks9fd7jzlswpksehujc8200whsf4rcnyv5jczyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwglw2yuu" />
    <content type="html">
      We&amp;#39;ve taken part in Godot Wild Jam #80 ( #GWJ80 ).&lt;br/&gt;&lt;br/&gt;Here&amp;#39;s the game we made:&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://liblast.itch.io/triangle-factory&#34;&gt;https://liblast.itch.io/triangle-factory&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://codeberg.org/Liblast/godot-wild-jam-80&#34;&gt;https://codeberg.org/Liblast/godot-wild-jam-80&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;This short detour from our work on Liblast Framework has been great fun, and we have learned a lot about making games and working together.&lt;br/&gt;&lt;br/&gt;- Liblast Team
    </content>
    <updated>2025-04-21T20:47:40Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqstqdra2pcuzesacl856ynarx930gq52uuk9aps7azyqhj4wdneg2gzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg6fhfg4</id>
    
      <title type="html">Don&amp;#39;t think that lack of updates here means lack of progress ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqstqdra2pcuzesacl856ynarx930gq52uuk9aps7azyqhj4wdneg2gzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwg6fhfg4" />
    <content type="html">
      Don&amp;#39;t think that lack of updates here means lack of progress on Liblast!&lt;br/&gt;At thew start of the year, we&amp;#39;ve formed a new Team, and since we&amp;#39;ve been doing weekly work and team meetings. Nearly all of it happens in Liblast Framework repository, so you might haven&amp;#39;t noticed:&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://codeberg.org/Liblast/liblast-framework&#34;&gt;https://codeberg.org/Liblast/liblast-framework&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;We&amp;#39;re building the framework as a foundation for the game, and for future games too.&lt;br/&gt;&lt;br/&gt;If you&amp;#39;d want to be a fly on the wall, or talk to us, join our online community on Zulip:&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://liblast.zulipchat.com/&#34;&gt;https://liblast.zulipchat.com/&lt;/a&gt;&lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/114/251/674/385/778/209/original/5d8a9286b94cfff1.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/114/251/697/130/891/001/original/f2b6287f08ea4b76.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.masto.host/mastodongamedevplace/media_attachments/files/114/251/701/226/566/928/original/6d3641c76fc32929.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-03-30T13:56:28Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsz3nk3c3ahya7l9hanak25x0a5man9gluaf9qrqq67nyz3zkxkcvgzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgvs4z5c</id>
    
      <title type="html">This is THE year! Here&amp;#39;s a summary of what has happened in ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsz3nk3c3ahya7l9hanak25x0a5man9gluaf9qrqq67nyz3zkxkcvgzyzgm405tscpnvxhmcdapxy9cyz2ylfpuyqpgq045cgfvfzn48qxwgvs4z5c" />
    <content type="html">
      This is THE year!&lt;br/&gt;&lt;br/&gt;Here&amp;#39;s a summary of what has happened in 2024 and what we&amp;#39;re looking at in 2025:&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://opencollective.com/liblast/updates/2025-starts-with-a-rebirth-of-the-liblast-team&#34;&gt;https://opencollective.com/liblast/updates/2025-starts-with-a-rebirth-of-the-liblast-team&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Enjoy a rare blog post by your&amp;#39;s truly.&lt;br/&gt;&lt;br/&gt;- unfa&lt;br/&gt;&lt;br/&gt;#liblast #gamedev #Indiegame #Godot
    </content>
    <updated>2025-01-13T23:06:12Z</updated>
  </entry>

</feed>