<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated>2025-07-20T11:37:50Z</updated>
  <generator>https://njump.me</generator>

  <title>Nostr notes by NostrGameEngine</title>
  <author>
    <name>NostrGameEngine</name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://njump.me/npub146wutmuxfmnlx9fcty0lkns2rpwhnl57kpes26mmt4hygalsakrsdllryz.rss" />
  <link href="https://njump.me/npub146wutmuxfmnlx9fcty0lkns2rpwhnl57kpes26mmt4hygalsakrsdllryz" />
  <id>https://njump.me/npub146wutmuxfmnlx9fcty0lkns2rpwhnl57kpes26mmt4hygalsakrsdllryz</id>
  <icon>https://blossom.primal.net/5beabb6fa76ced5b5236ae39d8acf84a8f515932e7f763b903b8b407392981d7.webp</icon>
  <logo>https://blossom.primal.net/5beabb6fa76ced5b5236ae39d8acf84a8f515932e7f763b903b8b407392981d7.webp</logo>




  <entry>
    <id>https://njump.me/nevent1qqst3tlu6aq5dxjxdgccskqttxnvqvjwhccxv24mstek8k0te0lqt7gzyzhfm300se8w0uc48pv3l76wpgv96707n6c8xptt0dwku3rh7rkcww4pawt</id>
    
      <title type="html">#naddr1qv…p7np</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqst3tlu6aq5dxjxdgccskqttxnvqvjwhccxv24mstek8k0te0lqt7gzyzhfm300se8w0uc48pv3l76wpgv96707n6c8xptt0dwku3rh7rkcww4pawt" />
    <content type="html">
      &lt;blockquote class=&#34;border-l-05rem border-l-strongpink border-solid&#34;&gt;&lt;div class=&#34;-ml-4 bg-gradient-to-r from-gray-100 dark:from-zinc-800 to-transparent mr-0 mt-0 mb-4 pl-4 pr-2 py-2&#34;&gt;quoting  &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Article&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/naddr1qvzqqqr4gupzpt5achhcvnh87v2nskglld8q5xza08lfavrnq44hkhtwg3mlpmv8qq2k5anpfe9rg4mktpnnvuneg9axjje32ekrx9hp7np&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;naddr1qv…p7np&lt;/a&gt;&lt;/span&gt; &lt;/div&gt; &lt;p&gt;&lt;a href=&#34;https://github.com/NostrGameEngine/ngengine/releases&#34;&gt;Nostr Game Engine v0.1&lt;/a&gt; has been released!
This is the next milestone following the v0.0 release: &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Article&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/naddr1qvzqqqr4gupzpt5achhcvnh87v2nskglld8q5xza08lfavrnq44hkhtwg3mlpmv8qq2kummnw3ez6empd4jj6etwva5kuefdwccrq6df7r0&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;naddr1qv…f7r0&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;For those new to the project: &lt;strong&gt;Nostr Game Engine (NGE)&lt;/strong&gt; is a &amp;#34;nostrified&amp;#34; version of &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1vwadmppjpkxzw83ca3ere4hh3d5a4harapgldwz9xset5jxmlr2s2afqrm&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;jmonkeyengine&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1vwa…fqrm&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; .&lt;/p&gt;

&lt;p&gt;Core components are being modernized and progressively replaced with a peer-to-peer, nostr-based implementations.&lt;/p&gt;

&lt;h2 id=&#34;in-game-ads-2&#34;&gt;In-game Ads&lt;/h2&gt;

&lt;p&gt;This release brings many bug fixes and improvements, but the standout feature is &lt;strong&gt;in-game advertising&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In-game ads have been discussed for decades, yet today’s industry standard still leans on disruptive and annoying formats. With NGE, we’re experimenting with approaches that are immersive, peer-to-peer, and player-friendly.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://ngengine.org/articles/v0.1-release/nge-demo-gif0.gif&#34; alt=&#34;image&#34;/&gt;&lt;/p&gt;

&lt;p&gt;This system is powered by the &lt;strong&gt;nostrads protocol&lt;/strong&gt;, designed to bring ads to nostr in a &lt;strong&gt;privacy-friendly&lt;/strong&gt; and &lt;strong&gt;permissionless&lt;/strong&gt; way.&lt;/p&gt;

&lt;p&gt;From a game developer’s perspective, integration is simple:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Set up a lightning address for your game&lt;/li&gt;
&lt;li&gt;Mark some surfaces in your 3D models as ad-spaces&lt;/li&gt;
&lt;li&gt;Add a few lines of code to initialize the ads system&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And just like that, your game becomes monetizable.&lt;/p&gt;

&lt;p&gt;For a deeper dive into nostrads, see the &lt;a href=&#34;https://nostr-ads.ngengine.org/&#34;&gt;dedicated page&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;As with the previous release, this version comes with a purpose-built &lt;a href=&#34;https://github.com/NostrGameEngine/adcity-demo&#34;&gt;demo app&lt;/a&gt; to show the ad system in action, using fake retro-futuristic ads, but you get the idea.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://ngengine.org/articles/v0.1-release/nge-demo-gif1.gif&#34; alt=&#34;image&#34;/&gt;&lt;/p&gt;

&lt;h2 id=&#34;experimental-android-support-2&#34;&gt;Experimental Android Support&lt;/h2&gt;

&lt;p&gt;The engine now builds and runs on Android. All dependencies have been ported to API level 33.&lt;/p&gt;

&lt;h2 id=&#34;component-system-improvements-2&#34;&gt;Component System Improvements&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Simplified global object access in components&lt;/li&gt;
&lt;li&gt;Deprecated all &lt;code&gt;receiveX&lt;/code&gt; methods in favor of a single &lt;code&gt;getGlobalInstance()&lt;/code&gt; method&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&#34;https://ngengine.org/docs/components/#accessing-engine-objects&#34;&gt;More in the docs&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&#34;other-improvements-2&#34;&gt;Other Improvements&lt;/h2&gt;

&lt;p&gt;As part of the NGE development, several improvements were made to the &lt;strong&gt;jMonkeyEngine&lt;/strong&gt; codebase. These are included in this release and are either in review or merged upstream:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Improved render parity with Blender&lt;/li&gt;
&lt;li&gt;Faster, more memory-efficient glTF loading&lt;/li&gt;
&lt;li&gt;Global illumination support for local lights&lt;/li&gt;
&lt;li&gt;Improved tonemapping&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;updates-to-nostr4j-2&#34;&gt;Updates to Nostr4j&lt;/h2&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/NostrGameEngine/nostr4j&#34;&gt;Nostr4j&lt;/a&gt;, the high-performance nostr client library powering NGE, also gets a major update:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Improved resilience to network issues&lt;/li&gt;
&lt;li&gt;Blossom protocol support&lt;/li&gt;
&lt;li&gt;More flexible fetching strategies&lt;/li&gt;
&lt;li&gt;Wallet abstraction &#43; NWC support (NIP-47)&lt;/li&gt;
&lt;li&gt;Managed event deletion (NIP-09)&lt;/li&gt;
&lt;li&gt;Proof of Work support (NIP-13)&lt;/li&gt;
&lt;li&gt;LNURL resolution&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;what-s-next-2&#34;&gt;What’s Next&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Browser port (WebGL &#43; TeaVM)&lt;/li&gt;
&lt;li&gt;Stabilize Android support&lt;/li&gt;
&lt;li&gt;Lay groundwork for future features&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are great things ahead, but first we need to make sure the foundation is solid!&lt;/p&gt;

&lt;h2 id=&#34;funding-and-support-2&#34;&gt;Funding and Support&lt;/h2&gt;

&lt;p&gt;A big thank you to &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqs8suecw4luyht9ekff89x4uacneapk8r5dyk0gmn6uwwurf6u9rusdepqk6&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;OpenSats&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…pqk6&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; for supporting this work through the &lt;a href=&#34;https://opensats.org/blog/eleventh-wave-of-nostr-grants&#34;&gt;eleventh wave of Nostr grants&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;We&amp;#39;d also like to recognize our first four donors, who quietly contributed to our &lt;a href=&#34;https://geyser.fund/project/nge&#34;&gt;Geyser fund&lt;/a&gt; even before it was officially announced.
Your support means a lot!&lt;/p&gt;

&lt;p&gt;On that note, If you’d like to support the project, contributions via the &lt;a href=&#34;https://ngengine.org/support.html&#34;&gt;support&lt;/a&gt; page will directly help sustain long-term development.&lt;/p&gt;
 &lt;/blockquote&gt;
    </content>
    <updated>2025-09-09T12:14:27Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsygy7nxeqn43flcsvcgk5lez73janfj22h5aypgsncw8rr2x34clszyzhfm300se8w0uc48pv3l76wpgv96707n6c8xptt0dwku3rh7rkcwn9a4zl</id>
    
      <title type="html">It will be good for everything jMonkeyEngine is good for and some ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsygy7nxeqn43flcsvcgk5lez73janfj22h5aypgsncw8rr2x34clszyzhfm300se8w0uc48pv3l76wpgv96707n6c8xptt0dwku3rh7rkcwn9a4zl" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsduhtckndv2h5dnl2madd0fj6n5dnnj49qvjkk7vdlclcg7ar20ccpzemhxue69uhhyetvv9ujuurjd9kkzmpwdejhgtdvcu2&#39;&gt;nevent1q…vcu2&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;It will be good for everything jMonkeyEngine is good for and some more. &lt;br/&gt;The main target is 3D games, but you can do 2D as well. 
    </content>
    <updated>2025-06-13T08:53:40Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsf9rdkxn9j9cywum8u90wtw4v5e8g22nr76mr89gq855t20e795wszyzhfm300se8w0uc48pv3l76wpgv96707n6c8xptt0dwku3rh7rkcwe9v00p</id>
    
      <title type="html">#naddr1qv…f7r0</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsf9rdkxn9j9cywum8u90wtw4v5e8g22nr76mr89gq855t20e795wszyzhfm300se8w0uc48pv3l76wpgv96707n6c8xptt0dwku3rh7rkcwe9v00p" />
    <content type="html">
      &lt;blockquote class=&#34;border-l-05rem border-l-strongpink border-solid&#34;&gt;&lt;div class=&#34;-ml-4 bg-gradient-to-r from-gray-100 dark:from-zinc-800 to-transparent mr-0 mt-0 mb-4 pl-4 pr-2 py-2&#34;&gt;quoting &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Article&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/naddr1qvzqqqr4gupzpt5achhcvnh87v2nskglld8q5xza08lfavrnq44hkhtwg3mlpmv8qq2kummnw3ez6empd4jj6etwva5kuefdwccrq6df7r0&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;naddr1qv…f7r0&lt;/a&gt;&lt;/span&gt;  &lt;/div&gt; &lt;p&gt;I&amp;#39;m excited to announce that &lt;a href=&#34;https://ngengine.org&#34;&gt;&lt;strong&gt;&lt;em&gt;Nostr Game Engine&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt; just reached its first development milestone: &lt;em&gt;v0.0.&lt;/em&gt;&lt;/p&gt;

&lt;h2 id=&#34;what-is-nostr-game-engine-2&#34;&gt;What is Nostr Game Engine?&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Nostr Game Engine&lt;/strong&gt; is built on top of the modular and proven &lt;a href=&#34;https://jmonkeyengine.org/&#34;&gt;&lt;strong&gt;&lt;em&gt;jMonkeyEngine&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;What sets it apart? Its internals are being gradually replaced with &lt;strong&gt;Nostr-powered&lt;/strong&gt; modules, turning it into a reference engine purpose-built for &lt;strong&gt;decentralized games&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This first release delivers these key capabilities:&lt;/p&gt;

&lt;h2 id=&#34;peer-to-peer-networking-2&#34;&gt;Peer-to-Peer Networking&lt;/h2&gt;

&lt;p&gt;Forget centralized game servers. &lt;strong&gt;Nostr Game Engine&lt;/strong&gt; gives you &lt;strong&gt;real P2P multiplayer&lt;/strong&gt;, using &lt;strong&gt;WebRTC&lt;/strong&gt; for data streaming and &lt;strong&gt;Nostr relays&lt;/strong&gt; for coordination.&lt;/p&gt;

&lt;p&gt;*Want to dig deeper? This is a &lt;em&gt;&lt;a href=&#34;https://ngengine.org/docs/nip-drafts/nip-RTC/&#34;&gt;&lt;strong&gt;&lt;em&gt;draft NIP&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;* that is a revised version of this*&lt;a href=&#34;https://github.com/nostr-protocol/nips/blob/ead1cd6ca6b5b789d70e0d146d17266a2e8e2fba/100.md&#34;&gt; other draft NIP&lt;/a&gt;&lt;/em&gt;, that details how the signaling works.*&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;WebRTC&lt;/strong&gt; is already a solid and reliable &lt;strong&gt;peer-to-peer protocol&lt;/strong&gt;, equipped with a full set of NAT traversal capabilities, but its signaling phase typically relies on specialized central servers.&lt;/p&gt;

&lt;p&gt;By coupling &lt;strong&gt;WebRTC with Nostr,&lt;/strong&gt; we take signaling decentralized too by relying on &lt;strong&gt;a network of dumb public relays&lt;/strong&gt; that are oblivious to what encrypted data we send to them and are easily replaceable.&lt;/p&gt;

&lt;p&gt;(see &lt;a href=&#34;https://ngengine.org/docs/network/&#34;&gt;&lt;em&gt;the documentation&lt;/em&gt;&lt;/a&gt; for more info)&lt;/p&gt;

&lt;h2 id=&#34;nostr-authentication-gamertags-2&#34;&gt;Nostr Authentication &amp;amp; Gamertags&lt;/h2&gt;

&lt;p&gt;&lt;img src=&#34;https://ngengine.org/articles/v0.0-release/identity.png&#34; alt=&#34;&#34;/&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NGE&lt;/strong&gt; has a fully managed &lt;strong&gt;Nostr Auth flow&lt;/strong&gt;, with support for &lt;a href=&#34;https://github.com/nostr-protocol/nips/blob/master/49.md&#34;&gt;&lt;em&gt;NIP-49&lt;/em&gt;&lt;/a&gt; &lt;strong&gt;encrypted local nsecs&lt;/strong&gt; and  &lt;a href=&#34;https://github.com/nostr-protocol/nips/blob/master/46.md&#34;&gt;&lt;em&gt;NIP-46&lt;/em&gt;&lt;/a&gt; remote signers.&lt;/p&gt;

&lt;p&gt;It also fully handles metadata, including external identities:  your profile picture, display name, and other details can &lt;strong&gt;carry over between games, and even from other Nostr clients and communities&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This release is also introducing &lt;strong&gt;Gamertags&lt;/strong&gt;: persistent gaming handles tied to your Nostr pubkey. They are &lt;strong&gt;like Xbox Gamertags or the old Discord handle&lt;/strong&gt;, but they’re decentralized and &lt;em&gt;follow you across any game that supports them&lt;/em&gt; (check&lt;a href=&#34;https://ngengine.org/docs/nip-drafts/nip-GAMERTAG/&#34;&gt; this draft nip&lt;/a&gt; for more info).&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://ngengine.org/articles/v0.0-release/auth.png&#34; alt=&#34;&#34;/&gt;&lt;/p&gt;

&lt;h2 id=&#34;match-making-2&#34;&gt;Match Making&lt;/h2&gt;

&lt;p&gt;&lt;img src=&#34;https://ngengine.org/articles/v0.0-release/lobby.png&#34; alt=&#34;&#34;/&gt;&lt;/p&gt;

&lt;p&gt;While matchmaking is planned for a later milestone on the &lt;a href=&#34;https://ngengine.org/roadmap.html&#34;&gt;&lt;em&gt;roadmap&lt;/em&gt;&lt;/a&gt;, this release ships with an early implementation to help test RTC connections.&lt;/p&gt;

&lt;p&gt;This initial implementation has the APIs to create &lt;strong&gt;lobbies&lt;/strong&gt; that are &lt;strong&gt;discoverable&lt;/strong&gt; and optionally &lt;strong&gt;password-protected&lt;/strong&gt;. Players can &lt;em&gt;search and filter&lt;/em&gt; for lobbies using both client-side and relay-side filtering, depending on what the relay supports.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Right now, you can’t see how many players are in a lobby, and the feature is still a bit rough around the edges, but it&amp;#39;s a solid start, and more improvements are coming as we move further along the roadmap.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The cool part? You don’t even need to know Nostr is running under the hood. The engine exposes simple APIs like &lt;em&gt;createLobby&lt;/em&gt;, &lt;em&gt;findLobbies&lt;/em&gt;, and &lt;em&gt;connectToLobby&lt;/em&gt;, the developer can call them when needed, and the engine handles all the relay querying and data stitching behind the scenes.&lt;/p&gt;

&lt;p&gt;(see &lt;a href=&#34;https://ngengine.org/docs/network/lobby/&#34;&gt;&lt;em&gt;the documentation&lt;/em&gt;&lt;/a&gt; for more info)&lt;/p&gt;

&lt;h2 id=&#34;a-new-nostr-client-library-2&#34;&gt;A new Nostr Client Library&lt;/h2&gt;

&lt;p&gt;The engine uses a &lt;a href=&#34;https://github.com/NostrGameEngine/nostr4j&#34;&gt;&lt;em&gt;new Nostr client library&lt;/em&gt;&lt;/a&gt; built from scratch, designed for performance, asynchronicity, and memory efficiency. It’s lean, fast, and built to be the foundation for everything that comes next.&lt;/p&gt;

&lt;h2 id=&#34;cross-platform-and-language-of-choice-2&#34;&gt;Cross-Platform and language of choice&lt;/h2&gt;

&lt;p&gt;The entire codebase is written mostly in Java, and it builds natively for &lt;strong&gt;Linux, macOS, and Windows&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Support for &lt;strong&gt;Android, iOS, and Web Browsers&lt;/strong&gt; is on the roadmap.&lt;/p&gt;

&lt;h2 id=&#34;what-has-been-built-so-far-2&#34;&gt;What has been built so far?&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Version 0.0&lt;/strong&gt;, with the core features mentioned above&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://ngengine.org/docs/&#34;&gt;&lt;strong&gt;Documentation&lt;/strong&gt;&lt;/a&gt; covering the key components of the engine&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;An &lt;a href=&#34;https://github.com/NostrGameEngine/nge-app-template&#34;&gt;&lt;strong&gt;app template&lt;/strong&gt;&lt;/a&gt; to help bootstrap projects and experiment with the engine&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;An high performance and portable &lt;a href=&#34;https://github.com/NostrGameEngine/nostr4j&#34;&gt;nostr client library&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;A &lt;a href=&#34;https://github.com/NostrGameEngine/sea-of-nostriches-demo&#34;&gt;&lt;strong&gt;tech demo&lt;/strong&gt;&lt;/a&gt; (more on that later)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So now, you can get a real feel for the engine, see what it does, play around with it, and maybe even start experimenting with your own ideas.&lt;/p&gt;

&lt;h2 id=&#34;roadmap-2&#34;&gt;Roadmap&lt;/h2&gt;

&lt;p&gt;This is just the beginning. There is a full roadmap &lt;a href=&#34;https://ngengine.org/roadmap.html&#34;&gt;&lt;em&gt;on the website&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Upcoming milestones include ads, deeper identity features, and tools that make decentralized game development as smooth as possible.&lt;/p&gt;

&lt;h2 id=&#34;sea-of-nostriches-2&#34;&gt;Sea of Nostriches&lt;/h2&gt;

&lt;p&gt;&lt;img src=&#34;https://ngengine.org/articles/v0.0-release/demo1.png&#34; alt=&#34;&#34;/&gt;&lt;/p&gt;

&lt;p&gt;This is a demo built for this release.&lt;/p&gt;

&lt;p&gt;You start alone in an open ocean with a boat, nothing much at first.&lt;/p&gt;

&lt;p&gt;But as soon as another player joins (&lt;strong&gt;another peer&lt;/strong&gt;), your boat begins sending data directly to theirs via &lt;strong&gt;peer-to-peer communication&lt;/strong&gt;. You’ll see this visualized as &lt;strong&gt;a stream of numbers moving between boats&lt;/strong&gt; in game.&lt;/p&gt;

&lt;p&gt;If you have a profile picture set, it’ll automatically appear on your boat’s sail, and you’ll see others’ profile pictures on theirs.&lt;/p&gt;

&lt;p&gt;That’s the core of it.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;It is not a real game, as there is nothing really to do, no lag compensation, no score etc… but it is a decent reference, and an “integration test” for this release.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://ngengine.org/articles/v0.0-release/demo2.png&#34; alt=&#34;&#34;/&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;There’s a lot more going on behind the scenes, like how the ocean is simulated or how rendering is handled, but that’s beyond the scope of this post. You can check out&lt;/em&gt;&lt;a href=&#34;https://github.com/NostrGameEngine/sea-of-nostriches-demo&#34;&gt; the full source code on GitHub&lt;/a&gt;&lt;em&gt;, along with native builds for all supported platforms and a portable JAR.&lt;/em&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h6 id=&#34;that-s-all-for-now-huge-thanks-go-to-nostr-nprofile1qythwumn8ghj7ct5d3shxtnwdaehgu3wd3skuep0qyt8wumn8ghj7etyv4hzumn0wd68ytnvv9hxgtcqypu8xwr40lp96ewdj2fef408wy70gd3carf9n6xu7hrnhq6whpgly925h0z-for-making-this-possible-their-support-https-opensats-org-blog-eleventh-wave-of-nostr-grants-allows-me-to-dedicate-full-time-effort-to-this-project-and-contribute-to-the-growth-of-the-nostr-ecosystem-2&#34;&gt;That’s all for now! Huge thanks go to &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qythwumn8ghj7ct5d3shxtnwdaehgu3wd3skuep0qyt8wumn8ghj7etyv4hzumn0wd68ytnvv9hxgtcqypu8xwr40lp96ewdj2fef408wy70gd3carf9n6xu7hrnhq6whpgly925h0z&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;OpenSats&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…5h0z&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; for making this possible. &lt;a href=&#34;https://opensats.org/blog/eleventh-wave-of-nostr-grants&#34;&gt;Their support&lt;/a&gt; allows me to dedicate full-time effort to this project and contribute to the growth of the Nostr ecosystem.&lt;/h6&gt;

&lt;hr&gt;

&lt;p&gt;Check out the website at &lt;a href=&#34;http://ngengine.org&#34;&gt;&lt;em&gt;ngengine.org&lt;/em&gt;&lt;/a&gt; and browse the docs at &lt;a href=&#34;https://ngengine.org/docs&#34;&gt;&lt;em&gt;ngengine.org/docs&lt;/em&gt;&lt;/a&gt; if you want to dig deeper.&lt;/p&gt;

&lt;p&gt;Feel free to come up with any questions. I’ll do my best to answer.&lt;/p&gt;
 &lt;/blockquote&gt;
    </content>
    <updated>2025-06-12T23:27:36Z</updated>
  </entry>

</feed>