Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Notes on a Godot Soup engine

A topic by John Poje created 20 days ago Views: 161 Replies: 6
Viewing posts 1 to 5
(1 edit) (+1)

I've started working on building a Soup engine/client/bowl/whatchamacallit in Godot 4, and I wanted to take note of some surprising things I've discovered along the way, both for my sake and anyone else attempting such a project. My goal is something simple like SOAP SOUP and SOUP ROOMS (i.e. all image based, four walls and a center art), but with some UI niceties for volume, room selection, and room editing.

First up, while there's a lot of support for sprite animation in 2D, there are no built-in solutions for animated textures in UI. This is obnoxious, but probably easy to work around with a script.

Second... there are a couple options for drawing the room boxes. It would be nice to use either CSGBox or a MeshInstance3D with a Box mesh, but neither of these allow for different textures to be applied to different faces. What I'm currently doing is 6 different MeshInstance3D's with Planes, but that means I have to resize and position them individually.

Third, billboard sprites (this is for the art and mini) can either be centered in both X and Y axes, or neither. When both are centered, the sprite is sunk halfway into the floor; when neither are centered, the image is off-center. I want it to only be X centered, which I guess means moving it by half its width, but my gut says this may cause problems when allowing the art to be scaled. There's a couple solutions for scaling, too: either the Transform scale, or SpriteBase3D lets the pixel scale be changed.

If I run across other surprises, I'll add them to this thread.

(+2)

It's nice to know another person making a SoupLike in Godot! I'm using this engine as well for this project. Even with my lack of experience with the 3D side of Godot, it's been a shockingly smoother process than I assumed, which was quite a pleasant surprise :) But I also had trouble figuring out how to make animated wall textures which is a bit of a bummer, but I suppose it's not a necessity for my current ambitions. I'd say I'm about 95% complete with creating my template for a SoupLike room in Godot. So if you're coming across some difficulties during this process, let me know, and I''ll try to give you my advice the best I can. Good luck!

Hi there! Im also using Godot to make my SoupLike, for the most part, the solutions used for Room walls, billboard sprites, overlay effects, footstep sound manager were pretty easy to figure out. Im just starting to have fun building up the rooms

Submitted

I just made an @tool script that makes the room for me and does all the stuff in editor.

That's awesome! I'm curious how your script works, because I've been having a bit of trouble transferring my room information from one scene to another. But if you'd rather not share that info, I totally understand.  

Submitted

If you make a scene file for your room that’s a tool script you MUST ENABLE EDITABLE CHILDREN WHEN USING IT. Nearly pulled my hair out when I made a room, closed the editor, and was wondering where all my data went for the room I was working on.

Looking at the jam submissions thus far, they're all playable in a browser. I'm not sure if I want to make a web client. It's certainly possible, Godot has various web export options, but it makes asset loading complicated for a reusable, general-purpose client.

Executable SOUPs build rooms and nights based on whatever folders are available in the filesystem, regardless of their names. A web client can't browse like that if it's going to work as an Itch upload. It would have to know the paths of all rooms ahead of time.

Maybe it's possible to inject assets into a Godot project after it's been compiled for web?