@thomastc@mastodon.gamedev.place avatar

thomastc

@thomastc@mastodon.gamedev.place

Making games under the name Frozen Fractal.

Currently working on Around The World (working title), a #roguelite game about navigation, exploration and discovery in the Age of Sail. #indiegamedev #gamedev #godot

This profile is from a federated server and may be incomplete. Browse more on the original instance.

mcc, to random
@mcc@mastodon.social avatar

I thiiiiink that all this email actually means is "Find My Device will now include bluetooth devices at their location last seen by an Android phone, which means that if your phone is disconnected from the Internet but Bluetooth is on then Find My Device can still find it if another Android device passes nearby (unless you disable this feature)".

But uhhhh wow Google used some pretty alarming language to describe it

thomastc,
@thomastc@mastodon.gamedev.place avatar

@mcc Also, "not available to Google" is misleading: I could see the location of my device on a map that was hosted on a google.com domain before I turned this sketchy feature off (or at least I hope I did - it was not exactly clear).

aeva, to random
@aeva@mastodon.gamedev.place avatar

I added some lights to the splat renderer. The lighting is ray traced on the CPU and the colors are uploaded as new vertex colors for rendering.

The program is currently single threaded (I'm planning on moving it into a thread pool later), and the ray tracing loop is time constrained to ensure that the frame is always presented on time. If I were to raise the splat count further, the convergence time on the lighting and shadows would become more noticeable.

A hollowed out sphere with holes on opposite sides is seen rotating. Near each hole is a sphere to create interesting shadows within the hollow sphere. There are two moving lights above the object, one is a blue light and the other is an orange light. The lights cast hard shadows upon the rotating model.

thomastc,
@thomastc@mastodon.gamedev.place avatar

@aeva Very cool! I've been thinking about using such a rendering technique in my game (mostly top-down view), to achieve a painterly effect. Probably won't happen because of time constraints, but it's fun to think about.

thomastc,
@thomastc@mastodon.gamedev.place avatar

@aeva I was thinking about using point meshes instead of random raycast to make authoring easier, and use a geometry shader to generate the splats/brush strokes. The trouble is that the splat density needs to decrease smoothly as distance increases, and I'm not sure how to make that look good. (The other trouble is that Godot doesn't support geometry shaders, but that can be worked around at the cost of more CPU work.)

thomastc,
@thomastc@mastodon.gamedev.place avatar

@aeva That went way over my head; I'm pretty clueless about how GPUs work. In fact I never even used a geometry shader at all.

It does seem to me that the article draws a pretty general conclusion from only one microbenchmark. Also it's from 2015 (that's like 4 years ago, right?) and was not using recent hardware even at the time. Is it still true for modern GPUs?

thomastc,
@thomastc@mastodon.gamedev.place avatar

@aeva Yeah, instancing would work, and is supported by Godot too. Mesh shaders are entirely new to me, will read up on them some day. Thank you for enlightening me!

djlink, to random
@djlink@mastodon.gamedev.place avatar

I’ve haven’t used Google search as main for years, but since yesterday DuckduckGo was down most of the day I had to use it. it’s surprisingly bad now, like I know DDG has improved over the years but G also went down in quality. And the generated “ai summaries” are crap lol.

thomastc,
@thomastc@mastodon.gamedev.place avatar

@djlink Ah, so the DDG outage was not just me. I took the opportunity to try Kagi instead. It worked nicely and without cruft.

mark, to random
@mark@mastodon.fixermark.com avatar

We all know that this new Windows feature is a concern, but we also all know it's going to be hugely popular right?

Because the flip-side of the coin for "domestic abuser surveillance" is parental surveillance. Parents trying to figure out how to raise their kids safely in the digital age will gobble up the ability to check on what their young ones are doing online when they're not around.

thomastc,
@thomastc@mastodon.gamedev.place avatar

@mark Do kids these days even use Windows anymore? I'd guess it's almost entirely mobiles.

sinbad, to random
@sinbad@mastodon.gamedev.place avatar

There is a constant fight between factions that want the Internet to be different things. Faction 1 wants a giant library of free knowledge available to all. Faction 2 wants a crowd sourced DB they can slowly fence off, then sell everything that’s not nailed down to the highest bidder (advertisers/LLM magic bean sellers)

A lot of Faction 2 pretended to be in Faction 1 until the heel turn. They can all bite me. Yes you, Stack Overflow. Tw4ts, as we used to say on the open Internet

thomastc,
@thomastc@mastodon.gamedev.place avatar

@sinbad What did SO do? hashtag outoftheloop

thomastc, to gamedev
@thomastc@mastodon.gamedev.place avatar

Didn't get enough sleep to do coding, so I'm switching hats and started working on some art using , just to see how long it will take me. Here's a ship, a carrack to be precise, made in about 2 hours.
Edit: any feedback is very welcome!

thomastc,
@thomastc@mastodon.gamedev.place avatar

I think this is starting to look passingly like a ship to the casual observer. There's more that can be done using texturing, but I don't think I'll let the camera get this close – I'd need to add all the rigging and on-deck greebles, not to mention actual sailors, to make it look nice up close. Ain't nobody got time for that!

thomastc,
@thomastc@mastodon.gamedev.place avatar

@lisyarus Thanks, I'll do that!

aeva, to NixOS
@aeva@mastodon.gamedev.place avatar

I don't actually have time today to work on any side projects, but I thought I'd run through the basic setup steps for MonoGame aaaand

./bin/Debug/net6.0/MyGame
bash: ./bin/Debug/net6.0/MyGame: cannot execute: required file not found

... which required file ._. ???

I think this sort of thing means it tried to dynamically link something and failed. I run into this whenever I try to run loose builds of Linux games on , but idk what to do about it.

thomastc,
@thomastc@mastodon.gamedev.place avatar

@aeva @jpab Fwiw, I don't think running games inside Docker or Podman is trivial either.

aras, to random
@aras@mastodon.gamedev.place avatar

Yesterday was full of gaussian splatting rendering artifacts.

image/jpeg

thomastc,
@thomastc@mastodon.gamedev.place avatar

@aras Also some awfully bland colour grading.

aeva, to random
@aeva@mastodon.gamedev.place avatar

you ever think about how humans are totally blind to the color alpha but haven't questioned why we reserve a color channel for it anyway

thomastc,
@thomastc@mastodon.gamedev.place avatar

@aeva Most monitors don't show it either, except those in some sci-fi movies.

aras, to Playdate
@aras@mastodon.gamedev.place avatar

"The Playdate Story: What Was it Like to Make Handheld Video Game System Hardware?" GDC talk by @cabel is illuminating and very entertaining. (free on GDC vault!) https://gdcvault.com/play/1034707/The-Playdate-Story-What-Was

thomastc,
@thomastc@mastodon.gamedev.place avatar

@aras Totally! My favourite bit was about the scammer but all of it was great. @cabel Any updates on the missing pallets btw?

thomastc, to godot
@thomastc@mastodon.gamedev.place avatar

New blog post, about floating point precision and how I implemented an ECS in !
https://frozenfractal.com/blog/2024/4/11/around-the-world-14-floating-the-origin/

thomastc,
@thomastc@mastodon.gamedev.place avatar

@mbr Aye, that is also a possibility. I think Minecraft does everything in chunk-local coordinates, for instance. But it's a bigger hammer than I need; doubles serve me fine 🙂

thomastc, to StarTrek
@thomastc@mastodon.gamedev.place avatar

The most unrealistic part of is that all engineers always know exactly how long a task will take, and they are always exactly right.

thomastc, to gamedev
@thomastc@mastodon.gamedev.place avatar

I'm refactoring the game to be ECS-based. The systems are purely event-driven; there is no Update() method, but only an Update event that they may subscribe to. Am I crazy to do it this way?

thomastc,
@thomastc@mastodon.gamedev.place avatar

@lisyarus Interesting idea! I would need to tag events that come from an external source, to differentiate them from events generated (directly or indirectly) by systems themselves. For example, I also have ComponentAdded<C> and ComponentRemoved<C> events, which turn out to be great for decoupling.

thomastc, to gamedev
@thomastc@mastodon.gamedev.place avatar

New blog post is up, about generating finer details on top of the coarse world map. https://frozenfractal.com/blog/2024/3/25/around-the-world-13-zooming-in/

lisyarus, to random
@lisyarus@mastodon.gamedev.place avatar

Some surface-level shots from my alien planet generator

image/png
image/png
image/png

thomastc,
@thomastc@mastodon.gamedev.place avatar

@lisyarus Last one is my favourite. The others are too spiky to look realistic to me. Even on planets without an atmosphere or a hydrosphere, thermal erosion is a thing.

thomastc,
@thomastc@mastodon.gamedev.place avatar

@lisyarus Fair! What is the game going to be?

thomastc, to random
@thomastc@mastodon.gamedev.place avatar

Inspired by a video I watched yesterday about how to finish your , I sat down and drew up a comprehensive list of stuff that still needs to be done. Optimistic estimate: 250 days of work. Realistic: 500 days of work. At the 2 days a week that I'm able to put in, this baby will take 5 years to be born.

Now pondering if I'm okay with that, or if I want to cut the scope and get results sooner. An early access release model might be feasible for this game, too.

thomastc,
@thomastc@mastodon.gamedev.place avatar

@lisyarus I asked https://mastodon.gamedev.place/@thomastc/112067572884851644 for a cough friend for that very reason... but I found it in my YouTube history: https://www.youtube.com/watch?v=n_HaLpVcYmw

thomastc,
@thomastc@mastodon.gamedev.place avatar

@lisyarus It's basically all just common sense, but apparently I needed this kick in the butt :)

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • khanakhh
  • kavyap
  • thenastyranch
  • everett
  • tacticalgear
  • rosin
  • Durango
  • DreamBathrooms
  • mdbf
  • magazineikmin
  • InstantRegret
  • Youngstown
  • slotface
  • megavids
  • ethstaker
  • ngwrru68w68
  • cisconetworking
  • modclub
  • tester
  • osvaldo12
  • cubers
  • GTA5RPClips
  • normalnudes
  • Leos
  • provamag3
  • anitta
  • lostlight
  • All magazines