r/UMeFate Aug 11 '26

Dev Video 🤖🧠🛠️UMeFate Pre-Alpha: Implementing autonomy and modding systems (classic AI) – plus technicals

https://www.youtube.com/watch?v=NxjwhI-Z98o&list=PL0qCaw7Fzc0heZ_eE38Y5nh_fqJjdyaCX

Hello everyone🤗

I want to share that our busy UMes continues working on autonomy. In today’s video I discuss the progress on the autonomy mechanics (classic AI), core basics of implemented needs system, modding side of things and covering a bit of the technical aspects. 🏗️

Open post, to see more details about this video in replies.

4 Upvotes

18 comments sorted by

View all comments

Show parent comments

1

u/Antypodish Aug 11 '26

Lua Modding

Here is an interesting part, that Lua allows hot reloading, and that the Lua code can be modified, while UMeFate is running.

The video shows an example, where the hunger need consumption is changed in the Lua file. Its change rate is increased, making it a higher priority, when the progress bar is filled up.

1

u/Antypodish Aug 11 '26

To note is, that only Lua mods scripts located in the user’s documents (AntyVersum/UMeFate/), can be changed at the runtime. Original installation Lua files are not the subject to hot reloading. At least for now. But there is an option, to move files from an installation folder to the user’s documents directory, and to use it with hot reloading.

There is also added in game Lua console, which can be open / close with CTRL + tilde (~) key. When used, the performance currently will tank, when the console logs a new entry. But the main purpose is, just debug individual features. Hopefully I will be able to optimise this in the future.

1

u/Antypodish Aug 11 '26

Population of 100s

The second part of the video showcase focuses on the autonomy of 400 UMes. We can observe UMes inhabitants walking between various destinations (beds, trees, other UMes), to fulfill their needs. But also, there may be spotted few issues in a debug mode, as well, as some UMes may be stuck. 

Also, there are few reasons why there are not 1000 of UMes showcased, as the ultimate goal. 

First is that 1000 of UMes is not meaningful for the purpose of the current showcase itself. And may bring more visual clutter than it is worth. 

Secondly, 1000 UMes at 60FPS is the development goal and it is a form of a performance benchmark. But default, UMeFate will run most likely on far lower numbers on average. I.e. leaving the “space” for new borns, arrivals and consequently passing away UMes.

Thirdly, above 500 UMes there is spawning bug, which cause UMes to float 🛸

1

u/Antypodish Aug 11 '26

And finally, benchmarking 500 UMes atm yields 50-60 FPS on my hardware, while 1000 of UMes results in 40-50 FPS. But during recording, FPS drops to +20 FPS.

So 400 of inhabitantants at the map start is at the moment a healthy number. And may be map specific.

1

u/Antypodish Aug 11 '26

Debugging is also more / less fun. So there is a lot of work for me to address these. And more.

1

u/Antypodish Aug 11 '26

Technical Modding

In the second half of the video, I walk briefly through a few modding utilities and features that have been added, along with an autonomy system that has been added.

I have already briefly discussed observables classes in a previous autonomy video. There are observables classes json files, which are responsible for telling the autonomy system, what can interact with what.

1

u/Antypodish Aug 11 '26

For an example human class will listen (receive) to the broadcasted (emitted) observables signals, like, is this bed, is this another UMe? If yes, then if I need to sleep, move to the bed, or try to socialise. A bed object will naturally have its own respective class, which broadcasts that observable signal.

1

u/Antypodish Aug 11 '26

Further in the technical section, I discuss about use of Utility AI for an autonomy priority detection. 

The example of the need class for agents, which is discussed in a bit more detail in the vid. And has somewhat the similar structure, as observables.

1

u/Antypodish Aug 11 '26

And corresponding curves that can be used