Trailer for my upcoming diving game, Bluelife

Bluelife is a fast-paced diving game that's anything but easy. The game features 30 levels, and each one introduces a new obstacle to overcome.

There are also unique abilities to master, cosmetics, boats, and endless mode, and a boss fight at the end :-)

u/therealPaulPlay — 2 days ago

New diving game called Bluelife (Trailer)

This is the trailer for Bluelife, a mobile diving game I've been working on, on the side, for around 7 years :-)

Will release it soon for free, please let me know what you think. If you want to give it a try already, please feel free to join the Apple Testflight.

I'm honestly a little nervous regarding the release. Not expecting large player counts but I just hope there'll be some people that really enjoy playing it.

u/therealPaulPlay — 2 days ago

OpenGuessr Update 6.12 - Illustrations & design tweaks

Hey guessers!

This update adds illustrations to the maps, multiplayer, and competitions page, and slightly changes the main menu's layout.

Maps now have thumbnails

Multiplayer now has two illustrations

...Guessy, the OpenGuessr mascot, has made its way to the competitions page.

Guessy on the competitions page

Moreover, the main menu has been adjusted for better readability, with all items left-aligned.

Updated main menu

Happy guessing!

reddit.com
u/therealPaulPlay — 10 days ago

OpenGuessr Update 6.11 - Small social enhancements

Hey guessers!

Quick social update:

- You can now share links (e.g. competition links, map links, profile links..) via OpenGuessr Messages and open them directly inside OpenGuessr (without reloading the page)

- For competitions, you now see the results of friends that played them and can share them with a link more easily

- The like button for community maps now updates optimistically

Friend section in competition leaderboard

Happy guessing, and consider trying the updated 2v2s ;-)

reddit.com
u/therealPaulPlay — 17 days ago

OpenGuessr Update 6.10 - 2v2 enhancements

Hey guessers!

This update changes the score calculation in team duels. Now, only the closest guess per team per round counts. Together with that, the team visualizations have been updated.

New teams grouping

Moreover, 2v2 is now available to Guests too – you no longer need an account to play it! This should hopefully help with queue times.

Happy guessing!

reddit.com
u/therealPaulPlay — 19 days ago

Optimistic-by-default multiplayer library

Hey there!

I've been working on a new kind of multiplayer library, called PlaySocket, that abstracts away the complexity of optimistic updates. Written in JS + JSDoc.

This has been used in production for my game OpenGuessr, powering around a million rounds of gameplay every month. I've been iterating on this for around two years, refining the shape of the API, making it more powerful and performant, and so on.

This is useful for collaborative apps, quizzes, turn-based games etc., but not ideal for e.g. synchronizing the physics of a complex multiplayer game. For the areas where it works, it can make multiplayer development super fast.

I've written an article that goes into more detail: https://therealpaulplay.github.io/PlaySocketJS/

Would love to hear your feedback :-) License: MIT

reddit.com
u/therealPaulPlay — 1 month ago

New kind of multiplayer & synchronization library

Hi :)

I've been working on a new kind of multiplayer library called PlaySocket that abstracts away the complexity of optimistic updates, handles robust synchronization with custom CRDTs, and works beautifully with reactive frameworks like React, Svelte or Vue.

This has been used in production for my game OpenGuessr, powering around a million rounds of gameplay every month. I've been iterating on this for around two years, refining the shape of the API, making it more powerful and performant, and so on. I can definitely say that it has helped me make changes to the game's multiplayer much faster.

This is mainly interesting for collaborative apps, quizzes, turn-based games etc., but not ideal for e.g. synchronizing the physics of a complex multiplayer game. While I think the concept is cool, I'm still unsure whether this implementation of it is the "right" one...

I've written an article on how this differs from other libraries and why it might be interesting for you, and published proper docs: https://therealpaulplay.github.io/PlaySocketJS/

Would love to hear your feedback :-)

reddit.com
u/therealPaulPlay — 1 month ago
▲ 5 r/webdev

New kind of multiplayer library

Hi :)

I've been working on a new kind of multiplayer library, called PlaySocket, that abstracts away the complexity of optimistic updates, handles robust synchronization with custom CRDTs, and works beautifully with reactive frameworks like React, Svelte or Vue.

This has been used in production for my game OpenGuessr, powering around a million rounds of gameplay every month. I've been iterating on this for around two years, refining the shape of the API, making it more powerful and performant, and so on. I can definitely say that it has helped me make changes to the game's multiplayer much faster.

This is useful for collaborative apps, quizzes, turn-based games etc., but not ideal for e.g. synchronizing the physics of a complex multiplayer game. While I think the concept is interesting, I'm still unsure whether this implementation of it is the "right" one...

I've written an article on how this differs from other libraries and why it might be interesting for you, and published proper docs: https://therealpaulplay.github.io/PlaySocketJS/

Would love to hear your feedback :-)

reddit.com
u/therealPaulPlay — 1 month ago

Hydration bug

Hi :)

I've been working around this hydration bug that I filed (https://github.com/sveltejs/svelte/issues/18404) in my main project now, and just hit it again in another project – I was wondering if anyone else is experiencing this?

Would be great if this could be resolved. It's also possible that I'm doing something wrong, please let me know!

u/therealPaulPlay — 1 month ago

OpenGuessr Update 6.9 - Extended community map format!

Hey guessers!

This update extends the OpenGuessr map format by an optional new field. A couple of weeks ago, World, followed by all other official maps, started including the heading parameter. Now, this option and more are available to community map creators.

You can continue to create your maps like this:

{
 "locations": [
  [lat, lon],
  [lat, lon]
 ]
}

However, you can now provide additional details, specifically heading, pitch and a panoramaId. The latter pins the panorama in time, which you may want for very specific maps that rely on details present in the Street View, but is generally not recommended to be used.

{
 "locations": [
  [lat, lon, { "heading": 52 }],
  [lat, lon, { "heading": 125, "pitch": 15 }]
 ]
}

When you upload locations as links, the heading will be extracted. Pitch and ID are omitted by default, as that's the recommendation.

The converter for the Map-Generator has been updated to include settings for whether or not you want to include these additional data points.

Updated format explanation

Happy guessing!

reddit.com
u/therealPaulPlay — 1 month ago

GHub on MacOS leaves stray .dext after uninstall, how to fix it

Hey,

I just spent almost an hour with this – GHub on MacOS, even after uninstalling, leaves this annoying driver extension:
/Library/SystemExtensions/(some uuid)/com.logi.ghub.hidfilter.dext

...which is rw protected, and hence can't be removed in Finder or via the terminal.

However I've noticed there's a simple way to remove it, which is:
Settings (Mac Settings) -> General -> Login items -> Extensions -> Per Category -> Driver extensions -> The Logitech one should show up, click on the three dots -> Uninstall

Maybe this helps someone.

reddit.com
u/therealPaulPlay — 1 month ago

OpenGuessr Update 6.8.1 - New map sort options!

Hey guessers!

This update adds sorting options to the community maps section. Now, you can filter by Likes, Age (descending), Age (ascending), as well as alphabetically.

New map sorting options

Happy guessing!

reddit.com
u/therealPaulPlay — 1 month ago
▲ 6 r/claude

Fable 5 is annoying to use as an advisor

If you go full-on "agentic mode" Fable 5 is smarter and better at testing the code it wrote.

But when using it as an advisor or co-pilot (asking questions, voicing concerns..) it has the tendency to not answer or think about these, but rather immediately make code edits.

Anyone else annoyed by this?

reddit.com
u/therealPaulPlay — 2 months ago

OpenGuessr Update 6.8 - New Meta Guessr mode!

Hey guessers!

This update brings you new exciting game mode to check out, made possible through the integration of Geometas.com into this new map.

Inspired by Learnable Meta, this mode shows you specific locations that feature distinct metas, and explains the meta right after you guess. This is a great way to quickly improve at the game. These locations are locked in time to ensure that the meta is always present.

To play it, visit the maps page and select it or click here.

Meta Guessr on the maps page

On the result screen, the meta shows up in the lower left-hand corner.

The meta info

Happy guessing!

reddit.com
u/therealPaulPlay — 2 months ago

Bad experience with Ultimate and Horizon 6

I've read a lot of comments on this subreddit that Ultimate is far better than Free tier so I gave it a try, and I also used an ethernet adapter for my laptop to get the best possible latency (I have around 100Mbit/s down, 40-50 up).

However, I am very disappointed with the quality – the image looks incredibly blocky and not very sharp. I tried custom settings as well to ensure the image is 1440p, set it to Quality over Performance, and reduced the frame rate to 30, but the image quality only got marginally better.

I tested this with Horizon 6 on Ultimate, but also tested a few other games on the Free tier. I also checked the Forza settings and they correctly show 1440p with effectively everything maxed out. For me at least, this is unplayable and genuinely looks worse than the image quality I get on my Steam Deck (which is 720p!) with Forza.

Anyone know what's going on? Is this just how it is?

https://reddit.com/link/1u54bls/video/b5rzabd2o47h1/player

Update:
Figured it out! It works decently well on Chrome, it seems that Firefox for Mac doesn't support h265 streaming on GeForce now which Chrome does, and it makes a massive difference.

reddit.com
u/therealPaulPlay — 2 months ago

OpenGuessr Update 6.7.1 - Revised supporter shop, revised onboarding & more

Hey guessers!

This update post summarizes a few new things that landed in OpenGuessr this week:

  • Revised onboarding (no longer as intrusive) with new OpenGuessr mascot
  • Pages are now pre-rendered for faster loading
  • Supporter tiers are now available in the shop as opposed to a separate popup
  • Subtle UI improvements

This is how the revised onboarding prompt looks like:

Meet Guessy, the OpenGuessr mascot

New supporter section in shop:

New place for supporter tiers

Happy guessing!

reddit.com
u/therealPaulPlay — 2 months ago

OpenGuessr Update 6.7 - New onboarding!

Hey guessers!

This update should make it easier for new guessers to get into the action! It introduces a new tour that shows beginners how the main game works, and points them in the direction of some of the many ways to play.

This is what pops up for new players now.

New welcome overlay

The tour will walk them through the main mechanics of the game and present two famous locations for a smoother start.

Quick \"How to play\" section

In the end, they'll be shown different paths they can take to continue playing.

Overview of ways to play

The update also includes some bug fixes with regard to cancelling the "join via link", blur inconsistencies, location loading issues and choppy mobile map animations.

Happy guessing!

reddit.com
u/therealPaulPlay — 3 months ago