ShrimpleLife - 3D Rimworld

take times to rest and drink water

6 Likes

@Eyewatcher9 Hey, thanks for the advice, I’ll try to make good on it <3

It’s been a minute, but I’ve been chipping away at the project, making progress when I can. There’s a lot to cover.

New jobs; foraging and mining. I made the sensible decision to build an item database to help with managing containers, hauling and the like. When a pawn forages or mines, it rolls a chance for a particular seed/ mineral to drop.

I don’t believe I’ve covered it before, hauling technically always existed, but now…

Functional containers, with a sub-menu showing what’s currently stored. It was developing into a problem where I couldn’t see how resources were moving while debugging, so I made its inventory visible.

construct
Pawn 3 collecting wood from the stockpile in the middle, hauling it to the food crate on the right

To follow, I wasn’t sure if I’d include it, but construction also works. Any mats needed for a construction site are reserved, and any pawns set to construct will begin hauling items to the site. While still set to construct, they’ll wait for more resources, and once a mat needed has been stored, they’ll be sent to collect.

farmPlots

Farming works, as well as the gardener job.

seedbox

Gardeners will look for any seeds in storage and if there are any empty plots, carrying them there. After they’ve grown a set length of time from the item database, gardeners will collect and haul them to the closest food container.

There’s a new kind of research available.

ideas

Ideas unlock features to further optimize your bots. These include setting a particular bot’s diet, to prioritising where resources are carried. These are low priority and will be implemented later.

print

There’s now an activity tracker in the top-right corner of the screen. I set it to the idle state for demonstration purposes, but it’s also used for things like when construction has completed, or when a pawn eats food. It’s not set up, but I left a hook for the related node, so when you click on it, it’ll take you to the relevant building or pawn.

I have a vendor UI for buying bots, but I’m not ready to show it just yet. It serves as a look into how the final UI could look, but I don’t think it’s ready.

moving

Moving/ destroying buildings works. If a pawn needs the building as part of their job, they’ll be redirected to the next job of the same type they’re assigned to, or return to an idle state.

Honestly I’ve probably missed something else. A lot of these features would’ve only been possible after I’d rewrote how jobs worked for maybe the third time, but I’m thankful I did. With how things are going irl I can’t guarantee I’ll be back sooner than later, only when I feel there’s substantial enough progress to document it.

I’m steadily compiling a list of features that need saving between launches. However another substantial part I want to devote some time to is the pawn model and its wg. This’ll open the way to how I want to handle customization, and might make an interesting topic for another time.

Sorry for the long read, but thanks for reading. Until next time o/

15 Likes

GIF

:eyes:

10 Likes

I dont know if you have looked at it but the JiggleBones addon for Godot is great for doing jiggle physics. It requires some work to configure the bones and do the painting so it jiggles correctly for wildly different weights but you can still use blends.
here is a short gif of it running in godot, if you end up trying to use it and have questions let me know and I can try to help or provide some of the source data I used to provide inspiration, but also I havent worked with jigglebones in ~6 months so I’m a little rusty.
Untitled

6 Likes

wiggle

Hey thanks, I’ve been tooling around with a similar system for a few days. More to be done

7 Likes

walk
Early base pawn redesign with walk animation

Hey hey.

Let’s talk customization, and how we reached the above. To set expectations, visually the game was never aiming to be realistic. We’re already limiting face count to allow so many pawns to be active at once, and at the proposed sizes later (see weight table drawing above), that count will only increase.

And while bodily proportions will be… as close to realistic as they can be, any textures applied to the body mesh, buildings, and the environment will be vector-illustrated in style. As the mesh expands, we want methods to deal with artifacts/ stretched pixels appearing before they’re too apparent, and a vector art style diminshes this effect; this informed how the eyes were designed.

Let’s go over some features I’ve implemented, and others proposed for the future. Right now this version of the pawn exists in a separate project for organization, but I’m hoping to transfer them to the main project soon.

eyes

Eyes track a point of interest we can set in the environment. This includes their destination when working, other pawns, or you.

looking

When it comes to importing your own custom character meshes and textures at its earliest stage, it’ll likely be a case of substitution; renaming your files to match mine. In the case of eyes, you’ll need a base texture for the eye, a texture for the iris and its pupil, and a mask. Readmes will be available explaining everything. In a more developed state, everything will be doable inside the game itself.

arms
blend trees, so cool

It’s emphasised here to be obvious, but one thing I wanted to address was minimising clipping. That’s usually when an animation has parts of the body overlap and the arms pass through the thighs while walking for example. In the above clip, I can set a value to raise the pawn’s arms as they gain. I’m not sure if it’ll be necessary yet, as I only have this first stage keyed, but the hip bones are gradually widening at a lesser rate too.

The aim when transitioning to each stage will be to make it as seamless as possible. When it comes to texturing, I’m anticipating a single high quality image across all meshes should suffice. As I key, I’m ensuring all parts of the mesh remain relatively in the position where you’d expect them to be, to avoid any potential misalignments should a custom texture be used.

walk2

There’s the potential for other features, including;

  • male deformation mesh (very likely, once this one is complete)
  • extraneous bones (for things like hair/ accessories/ …other bones)
  • the head actually turns instead of just the eyes (crazy insane)

My first attempt to implement jiggle physics was through the VRM tool in blender, and it came with a suite of emote sliders I’d like to reimplement later to make pawns more expressive.

I wanted to continue more on the mesh but I’ve missed working on the game itself. I created a recipe database and will be continuing implementing a cooking system for both foods and mats. Something I’ve never mentioned before is I’m designing with VR in mind, and while I’m yet to own an Index (heck m*ta/ fb), these cooking systems will heavily involve interactions possible both from a desktop and VR perspective. So long as I keep optimisation in mind, it should be achievable.

Actual development next time. Thanks for reading o/

15 Likes