Hello Stacker News,
I’m excited to share the release of Nostr Game Engine v0.1, the next milestone following v0.0.
For those new to the project: Nostr Game Engine (NGE) is a "nostrified" version of jMonkeyEngine.
Core components are being modernized and progressively replaced with a peer-to-peer, nostr-based implementations.
Spotlight: In-game AdsSpotlight: In-game Ads
This release brings many bug fixes and improvements, but the headline feature is in-game advertising.
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.
This system is powered by the nostrads protocol, designed to bring ads to nostr in a privacy-friendly and permissionless way.
From a game developer’s perspective, integration is simple:
- Set up a lightning address for your game
- Mark some surfaces in your 3D models as ad-spaces
- Add a few lines of code to initialize the ads system
And just like that, your game becomes monetizable.
For a deeper dive into nostrads, see the dedicated post.
As with previous releases, this version comes with a purpose-built demo app to show the ad system in action, using fake retro-futuristic ads, but you get the idea.
Experimental Android SupportExperimental Android Support
The engine now builds and runs on Android. All dependencies have been ported to API level 33.
Component System ImprovementsComponent System Improvements
- Simplified global object access in components
- Deprecated all
receiveXmethods in favor of a singlegetGlobalInstance()method
Other ImprovementsOther Improvements
As part of the NGE development, several improvements were made to the jMonkeyEngine codebase. These are included in this release and are either in review or merged upstream:
- Improved render parity with Blender
- Faster, more memory-efficient glTF loading
- Global illumination support for local lights
- Improved tonemapping
Updates to Nostr4jUpdates to Nostr4j
Nostr4j, the high-performance nostr client library powering NGE, also gets a major update:
- Improved resilience to network issues
- Blossom protocol support
- More flexible fetching strategies
- Wallet abstraction + NWC support (NIP-47)
- Managed event deletion (NIP-09)
- Proof of Work support (NIP-13)
- LNURL resolution
What’s NextWhat’s Next
- Browser port (WebGL + TeaVM)
- Stabilize Android support
- Lay groundwork for future features
There are great things ahead, but first we need to make sure the foundation is solid!
Funding and SupportFunding and Support
A big thank you to OpenSats for supporting this work through the eleventh wave of Nostr grants.
I'd also like to recognize our first four donors, who quietly contributed to our Geyser fund even before it was officially announced.
Your support means a lot!
On that note, If you’d like to support the project, contributions via the crowdfunding page page will directly help sustain long-term development.
That’s all for now. Hope you like what’s been built so far!
From absolute ignorance in all subjects related to this: could you describe to the ignorant (me), not features achieved but in which way Nostr is even coupled to a game engine?
Basically every game uses a set of core services that are often Steamworks, Epic Online Services, Google Apis or stuff that is built-in in the engine or by the developer.
These services allow the game developers to make players connect to each other (for multiplayer), to store persistent data, identify the players, make micro transactions, show ads, distribute game updates etc...
But what they have in common is that the data always need to pass through these companies infrastructure.
There are p2p games, but there is a catch: you need a coordinator, and guess who owns the coordinators.
So, this is the current state of affair that is hidden deep into the games codebase.
NGE v0.0 and v0.1 decentralized most of this stuff by replacing Steam/Google etc.. servers with nostr relays and by using nostr keys for user accounts.
Much appreciated Sr, thank you for the explanation :)
Super cool.
Is it only on Android, any option for Iphone in the coming weeks
It is on the roadmap, but it might require some more time, since iOS doesn't support Open GL ES 3 natively, and we need that to get the best out of the engine.
So we are going to need to tap into the Metal API.
The support to compile games as web apps (that can also be installed in Iphones) will likely come first.
From the image attached to the post, it feels like you are bring the metaverse to Nostr
Very much excited for Nostr gaming platform. Can't wait to test it out...
Congrats, let's see where this goes
Way too cool
I am optimistically envisioning an MMORPG where the gold dropped in game is real bitcoin. Interesting times ahead!