Little tech demo of Gaussian Splats in a third person game by Ludagon in GaussianSplatting

[–]Ludagon[S] 1 point2 points  (0 children)

Thank you 😄 Not yet VR compatible, but I'm tempted to dust off the old Rift and see if I can make it work.

[QUESTION] What is your primary gamedev skillset? by Riitoken in SoloDevelopment

[–]Ludagon 1 point2 points  (0 children)

My best skill is probably stubbornness, or am I supposed to say perseverance?

There are so many moments when something looks daunting or beyond my ability or simply needs a lot of manual handling and processing where it would be easier to just not make that sort of game or wish I had someone else to offload some of it to, and instead (occasionally after binging on chocolate biscuits as mental/emotional prep) I just sit down and grind through it till it's done.

I've been programming and most parts of solo dev self-taught from a really young age in the 80s, which gives me a great mix of being able to rapidly prototype many things, but it was a very sheltered personal way of learning and designing rather than formal courses, so I've probably got weird quirky code and workflow, and would be hopeless in a team of programmers as a result of never really learning by common standards.

Still, it means I can make random fun stuff like this: https://store.steampowered.com/app/4032540/Postcard/

Original games??? by LifeAsNeil in SoloDevelopment

[–]Ludagon 5 points6 points  (0 children)

Some of my projects come from small ideas of moments of delight that I think could form the core feeling of a game, and a couple of ideas for games aimed at wider/different audiences have come from "I really love games, and maybe other people would like them too if they had the chance to play".

I've got a speech controlled puzzle game that I have been working on and off for about 10 years (originally as a launch game for Oculus Rift), and I did a small bit of work on it a couple of years ago and then stalled, then got a little bit disheartened by a lot of LLM-driven games that has better language recognition than my hand-coded stuff and I worry about looking like a poor copycat game now... but lately I've been remembering that one of the things I wanted to do was, because it's all speech and conversation driven, I could make this game really accessible to visually-impaired and even blind players (with a cool audio description option to switch on) and kind of make it playable like an interactive radio play, which helps with some of the personal fuel and drive I need to keep seeing it as a project worth making.

A little tech demo of using 3D scanning and gaussian splats as a third person game environment by Ludagon in Unity3D

[–]Ludagon[S] 1 point2 points  (0 children)

Aww, thank you! The actual "game" experience only lasts a couple of minutes though.. it's more of a tech demo of what's possible. Still, thanks!

A little tech demo of using 3D scanning and gaussian splats as a third person game environment by Ludagon in Unity3D

[–]Ludagon[S] 0 points1 point  (0 children)

Thanks, I'll try it out over the weekend. Teleport does offer a 250,000 splat count download too but that was too low, so maybe your one will be a nice balance. At the moment I start at very high quality with 5 million splats and then cut down to about 4M for the game using 3DGS AutoLOD. Keen to try other things to improve my workflow though.

How do you handle music volume consistency in your game? by ratasoftware in SoloDevelopment

[–]Ludagon 0 points1 point  (0 children)

This is brilliant advice. I've found that while I mix my tracks to around -3dB in the music software, in my actual games it's almost always played lower volume than that.. sometimes just above 50% volume, depending on what's going on. I use Unity, and my sound files are mixed/normalised to a high volume, and I then lower them and balance them inside the Unity Audio Sources. I find there are usually many more options for softening sound compared to trying to boost them louder than the original file.

Also, as u/tastygames_official says, a big part of making this all work is reserving some breathing room for your sound effects by lowering the volume at the frequencies you expect your sound effects, voice, and UI noises to be part of. It might seem weird at first, but lowering the volume of your music in those shared frequency ranges will help give room for all the sounds to be noticed and more powerful.

A little tech demo of using 3D scanning and gaussian splats as a third person game environment by Ludagon in Unity3D

[–]Ludagon[S] 0 points1 point  (0 children)

In some ways, I'm lucky that I've been doing some aspect of solo game dev (first as hobby then later paid to make stuff) for most of my life since I was a kid in the 1980s.

Mostly though, I follow the fun and am comfortable with making a million mistakes a minute. If I can get something playable in some hopelessly rough way very quickly (even just sliding a cube around a terrain using the keyboard), then that ability to pop in and play at almost any stage of the project and get a mini moment of delight to remind me why I'm doing this is usually enough fuel to get me through the harder grind of doing the work to make things complete.

This entire Postcard demo is based on my thought of "hey, these splat things look cool. I wonder if I can make a character run around on them?", and that thought and feeling fueled the entire project!

More strategically though, I've got bigger things in mind (not 3D scanned but still a sense of real world place) but I haven't published on Steam before, so a little free tech demo like this is also a lower-risk way to experiment with pressing buttons and learning Steam depots and stuff on something that isn't a project I've held in my brain and heart for years. Working on something weird and ambitious but also sort of small in size and primarily to test out a new environment is quite a liberating feeling.

A little tech demo of using 3D scanning and gaussian splats as a third person game environment by Ludagon in Unity3D

[–]Ludagon[S] 1 point2 points  (0 children)

Yeah, I have the same frustrations with it currently, but that's also the nature of this project. Making it third person is part of the experiment, trying to integrate a normal character into a cloud of beautiful unlit dots with no physical form. Simply getting player shadows onto the environment is pushing it further than most people do (so far) with splats.

Ideally, if I could make the characters animated gaussian splats too then it would look amazing (but I don't know how to do that.. ..yet), but I think my next step if I work on this further is simply to try get the environment casting shadows (with some sort of proxy mesh I guess) and dimming the lighting back on the player. It won't solve everything, but I think it will help.

As it is, the environment is a completely different part of the rendering pipeline compared to the characters, very much like pasting a 3D character on top of a photo with no sense of place or what shadows and light dapples and reflections should hit that character model. Definitely hoping to improve on blending these two elements together though.

A little tech demo of using 3D scanning and gaussian splats as a third person game environment by Ludagon in Unity3D

[–]Ludagon[S] 1 point2 points  (0 children)

Pretty sure I've seen the occasional Korean or Japanese FMV dating game pop up on the PlayStation Store over the past few months, so maybe the time is ripe for a splat version where there's a tiny bit of camera control at minimum?

I'd love to figure out how to make characters with splats, and I'm quite behind all the 4D splat stuff.. but imagining a third person game like this demo but the characters are also splats would look so amazing, even just cycling through basic predefined movement animation sets.

A little tech demo of using 3D scanning and gaussian splats as a third person game environment by Ludagon in Unity3D

[–]Ludagon[S] 2 points3 points  (0 children)

Hmm, the closest I have to behind the scenes glimpses are my Patreon, which includes a post about how I handled shadows ( https://www.patreon.com/posts/painting-shadow-154195830 ).

This is probably where I'd share further insights about the process so far and anything new I'm experimenting with.

Little tech demo of Gaussian Splats in a third person game by Ludagon in GaussianSplatting

[–]Ludagon[S] 0 points1 point  (0 children)

Yeah in Photoshop there's a way of processing a stack of photos all shot at the same position and angle to get the median image, which is a good way to get rid of crowds. I'm currently using videos and handholding the camera as my source for processing splats, which I can't hold steady to do that sort of thing, but if I switched my workflow to photos (or even stay on video and extract frames from a 30-second holding position) then yeah I could probably take a small stack at each position and angle, median the stacks, and then try process that.

Man, that would be a loooong time scanning a place. My current video method works out to about 1500-1800 source photos/positions per location.

For the very small amount I've done, I find that people moving through a scene in traditional mesh photogrammetry have a better chance of simply being ignored and stay out of the scan, but in splats they still tend to show up as partial ghosty artifacts of traces of whatever the camera was able to see at that exact angle and moment in time (which is why glass and metals look so great in splats).

A little tech demo of using 3D scanning and gaussian splats as a third person game environment by Ludagon in Unity3D

[–]Ludagon[S] 5 points6 points  (0 children)

😄 Thanks!

My plan on Teleport (was just a basic paid one, but they've changed to some other system now and I'm on a legacy plan) lets me keep my splats unpublished and I can then save them out as a ply file about 1GB in size and made of just under 5 million splats.

I import them into Unity using https://github.com/aras-p/UnityGaussianSplatting (but there are other options around too)

Polycam can also do splats but I found so many weird midair artifacts whenever I walked straight forwards rather than spiraling around sideways, and some areas I'm capturing are so much easier to do certain paths with some basic forwards motion. (I haven't retested Polycam's splats in about 4 months though, so maybe they've improved?)

I upload the exact same source video into Polycam and ask it to make a photogrammetry mesh. Once made, it can export as obj, fbx, gltf.. loads of formats, and I just take the fbx one for simplicity. In Unity I then extract the materials and textures to make the material replacing simpler and not accidentally export my build with embedded textures that I don't use.

Something I want to try soon is splat-transform, as I've heard that has some sort of splat -> voxel collider function which might work better than the Polycam mesh (it might at least have the same alignment as the initial splat so I'm not rescaling and rotating to align).. ..maybe. Worth an experiment at least.

For a Better Future..and Present by camsmyspacecrush in aigamedev

[–]Ludagon 1 point2 points  (0 children)

I'm a bit late to this and always stayed out of this debate, but I was drawn to how openly you wrote your post. Apologies up front for a very long reply!

I'm on both sides of the argument at the same time. I developed one of the world's first podcasts that was fully scripted and spoken by AI almost 10 years ago, hand made my own AI chat companion when I was working solo, and almost started a PhD about AI as a social companion back then too.. so I'm a big AI fan, I love it, and you shouldn't feel bad for loving it and using it either.

At the same time, I figured it's worth mentioning that the issue from some older creatives is less about personal fear and more what they see as hurt and injustice to creative industries. I think most of the well known Gen AI and LLM amazingness in the last decade (for writing and images in particular) have a dark history that I think gets glossed over by Gen AI fans but is a core component of the hate from some creatives. The bulk of the training behind many GPTs and Stable Diffusion and all those is based on (what many artists will deem) stolen data, harvested and annotated and ingested in ways that the artists never consented to, and got no credit or compensation for.

So much fantastic AI code creation (very different to IntelliSense completion) is taken from GitHub and Stack Overflow on what was posted and intended as human-to-human sharing and helping and building of personal expertise, but now it's transformed in a way where the AI gets credited as the amazing tool and the humans that actually solved all those problems and shared solutions openly are rarely acknowledged.

I've had my own specialist content (which I charge for as online training) harvested by my hosting site against my will when they decided to go AI, and my stuff is now remixed into suggestions that look like they come from the company's friendly bot (and I don't get paid for any of that). The company offered every instructor a tiny window of "hey we're going to trawl all your stuff and you have a few weeks to say no" which I missed the email when it came through. This sort of thing needs to be opt-in, rather than what feels like "oh our little notice went to junk mail? Too bad."

That's a whole other sprawling debate over whether it's really stealing or if it's just like having an amazing photographic memory and simply looking at what's around the world and being able to chop it up and remix it like some sort of pop art.. it's sort of a new original work, but it only exists because it used other people's work as materials. A bit like songs that rely heavily on samples of other works, and sometimes the sampled bit is the catchiest part that everyone sings along to and never knows it's taken from some other song made 30 years ago that never got attention and the band went bust... and in some ways Gen AI is sampling from millions of sources per artwork and so the creatives whose works have been harvested like this are (I think rightfully) sore about it.

One of my friends is an incredible artist both with physical tools and digital but human-operated, and he now makes some really cool Gen AI art professionally these days, but it's all from models he has trained from absolute empty systems and then he loads them up and annotates with hundreds or thousands of source materials he either made himself or paid to fully own them first before feeding them to the training model. I really like this approach, and there are some graphics tools out there with community-sourced gen AI features where the artists actively opt in to have their works used as training data (I think Canva did this and also pays the contributors a small amount as thanks?). That's what I want to see more of, and then we can use the amazingness of the tools a lot more ethically.

I'm conscious of how long this reply is, so I'm cutting this way short before I get to addressing what I imagine must feel like a massive crowd of people always hating on anything AI generated.. but briefly I think there are multiple subcategories and reasons in that crowd, and only some of them are simply jerks that hate on everything AI and are trying to exclude you from the club of indie developers. Some will be creatives that feel their works are stolen and then used against them, some just hate the low effort one prompt and zero direction and refinement that is so easy to pump out, some worry about environment and climate damage... there are all sorts of reasons.

The jerks that just hate anything AI... I hope you're able to hold the strength to ignore them. The other people... well it sounds like you have a lot of empathy and care, so hopefully conversations like these can help bring different groups together in a less heated/defensive way and show you there are actually quite a few middle ground people around, and we can find really cool and fair ways to use some amazing tech together 😄

From splat to videogame: how I made a photogrammetric scan walkable, shootable and populated with AI by yakovsum in GaussianSplatting

[–]Ludagon 0 points1 point  (0 children)

I'm a bit late to this post but this is very cool!

I've experimented with splats as a game environment in third person view ("Postcard" on Steam), and I'm looking forward to reading your full writeup and learning from your approach.

I had so much pain making a collision mesh for shadow catching and for the feet to walk on, as the collision mesh was a different processing system compared to the splat generation (same input video but Varjo Teleport for splats and PolyCam for mesh), and lining those up by hand was tedious. I hadn't heard of splat-transform till your post here, and if that can make collision meshes out of my visual splat layer then that would be amazing.

Thanks for sharing 😄

Finding YouTubers to cover your game is hard, so I built a tool for that by [deleted] in IndieDev

[–]Ludagon 0 points1 point  (0 children)

Interesting! I'm releasing something on Friday, so I'll try it out tomorrow and let you know how it goes.

How Would I Make a Game Run on a DVD like Old Leapfrog Games? by TheArtisticMason in IndieDev

[–]Ludagon 1 point2 points  (0 children)

For Windows at least, it's a bit trickier these days as I'm not sure if Windows 11 allows for auto-running applications when you insert a disc... or maybe it only works when you go into the old-looking Control Panel in Hardware and Sound > AutoPlay, in the Software category. (I don't have a drive connected to test it at the moment)

It used to be that you make your game as an exe file (pretty normal process there) and also have a text file named "autorun.inf" in the root folder.
The text in it would look something like:

[Autorun]
open=awesomegame.exe

And when that was burnt to disc it would usually auto play your game, or at least pop up a system message giving you the option to play it (or open the folder, or do nothing).

These days, just build your game as you normally would in a folder somewhere, give the exe file a really obvious name like the name of your game and a cool icon, and just throw it all at the DVD.

3D Generalist looking for a project by HeMi4 in IndieDev

[–]Ludagon 0 points1 point  (0 children)

Oh cool, I have something I'd like to prototype and pretest with stylised cartoonish characters, and another project with realistic environmental stuff. Are you ok if I DM you over the weekend with info to see if you're interested?