You need koboldcpp. You can let satania set it up by running Scripts -> koboldcpp (then run the script again once she finished install it in order to start koboldcpp everytime you want to chat with her) , or you can install and run it yourself, which allows you to pick a more suitable AI model for your PC and your use cases than the one installed by satania.
kgm
Creator of
Recent community posts
Can you try this one instead: https://drive.google.com/file/d/1wdIc7T20aqXzP0nBcZ9L6WEKLzZ8hB3o/view?usp=drive...
I tested it on a clean machine and it works for me.
The reason behind it is because the bundled libbert.dll depends on a few runtime libraries, which is not include in satania-buddy. My PC has those libs installed so I haven't detected them until now.
I spent some time to rebuild libbert.dll with proper static linking flags enabled. Can you download this version of libbert.dll and replace the one in satania-buddy to see if it works? https://drive.google.com/file/d/1fBral0PhubrrKTC5QzB3q5KNlixSJMAq/view?usp=drive...
Depending on your system, either libbert.dll (on Windows) or libbert.so (on Linux) is not loading. Try to verify to see if one of the file is in the app's directory. Also:
- Which operating system are you using to run the app? If you are on Linux, make sure to run "satania-buddy.sh" instead.
- Are you trying to run the app via the itch.io client? I honestly never tested this, so it may not work correctly.
Are you on Linux without a compositor? satania-buddy is essentially a 3D full-screen app with a transparent background, so it requires a compositor. While I might work on making the app run without a compositor in the future, that would involve creating a software renderer fast enough for polygonal rendering.
If you're on Windows, could you try clicking somewhere else that's not Satania? Sometimes this happens to me, and clicking elsewhere usually restores the transparent background.
You can access context menu in the tray icon. Or you can delete her config file manually in either ~/.config/satania-buddy (Linux), or C:\Users\<Your acc name>\AppData\Local\satania-buddy (Windows)
To answer this question, I decided to divide the app into three parts:
- UI part: Sadly there's no support for foreign languages at the moment. The app does support i18n, but no .po files are included in the current release. I think I will start providing .po files in future releases so that anyone interested in it can provide translations for other languages.
- Speech recognition part: The answer is yes, although it is not included by default. The app uses Vosk as a cross-platform speech recognition backend, and you can get the Russian / Ukrainian model from the website (see https://alphacephei.com/vosk/models), unpack it into the `data/nn/vosk/` directory, then set the model in Settings > Speech recognition to that model.
- LLM part: Just like Speech recognition, you can run your own instance of koboldcpp with a Russian / Ukrainian model, then let satania-buddy connects to it.
The blinking green panel is intentional btw, to show where the interaction panel is. See https://kgm.itch.io/satania-buddy/devlog/635604/2023-11-14-character-importer
Thanks. It seems this is another case of AMD being strict when it comes to OpenGL on Windows. While I don't have any PC with AMD card around, I did detect some errors when testing the app on another PC of mine running Intel GPU + Windows and made a quick fix (details in this post). Can you try to download and test it again?
Interesting. Does it only happen with the bloomers costume, or does it also happen with her school uniform? They actually use different renderers; the bloomers is a Spine model and run using my custom renderer, while the school uniform is an X3D model and piggybacks on Castle Game Engine's renderer.
Also can you give me more info about your PC spec: OS, graphics card, the number of monitors, and the placement of your taskbar position?
Sorry for late reply. The set() and get() functions allow you to save and retrieve flags that will be kept alive in memory until satania-buddy is closed. This means you can use them to mark and execute a part of the code only once:
if get('code_executed') = 0 { // in current development version, get('code_executed') will return null instead of 0
// Execute your code here
set('code_executed', 1)
}
That being said, it has been over a year since the last release, and unfortunately, the documentation for evil script on wiki page is currently available for the development version only (the script engine has been rewritten and improved a lot since then, as well as a lot of other stuff like koboldcpp /chatgpt integration etc). I am considering releasing a new version this weekend, even though it's not finished yet (I haven't completed animating her new model).
Hi! Right now it doesn't support any external Email clients. Instead it has it's own IMAP protocol implementation, so if your email server supports IMAP protocol (most email servers support it), then you can set it up by opening Settings dialog and navigate to IMAP tab.
The default Email script comes with it only displays the number of unread emails, and the latest received email's sender and subject. The app was designed with modding in mind so if you like modding then you can open the script in data/scripts/satania/menu/Email.evil and modify it to your likeness. See Help -> Scripting APIs for reference.
Thank you it works now. And thanks for your suggestion! I am capable of writting my own interpreter although I prefer to spend the time to improve my art instead (I am more of an illustrator than a coder) so I just use anything that's already exist in my library and GMLive does the job perfectly.
I got this error while loading a JSON room from include file:
___________________________________________
############################################################################################
FATAL ERROR in
action number 1
of Step Event0
for object o_map_external:
layer_set_visible argument 2 incorrect type (undefined) expecting a Number (YYGB)
at gml_Script_room_pack_raw_add_layer (line 87) - layer_set_visible(l_rl,l_ql[?"visible"]);
############################################################################################
--------------------------------------------------------------------------------------------
stack frame is
gml_Script_room_pack_raw_add_layer (line 87)
called from - gml_Script_room_pack_raw_run_impl2 (line 13) - room_pack_raw_add_layer(l_lrs[|l_lrk]);
called from - gml_Script_room_pack_load_map (line 18) - room_pack_raw_run_impl2(l_map);
called from - gml_Object_o_map_external_Step_0 (line 17) - room_pack_load_map(json_rooms[?map_name], x, y, flags);
The room was store in a file which contain multiple rooms. The flags was: room_pack_flag_instances | room_pack_flag_sprites | room_pack_flag_tiles. Also sometimes this same room can be loaded successfully without errors on a different room in my game.
Here's the code I used to load the room:
// Parse file to json
var json = json_decode(s);
// Load map info
var room_prefab = json[?map_name];
var room_settings = room_prefab[?"roomSettings"];
var room_h= room_settings[?"Height"];
// Get the map
room_pack_load_map(room_prefab, x, y - room_h, flags);
ds_map_destroy(json);
Hello! I just bought the extension today and after some testing I noticed some strange behaviors:
- I got "Expected a statement, got ident" error when I try to pass a hexadecimal to a variable (example: var a = 0x5;). It works fine if I use "$" instead of "0x".
- The output window filled with "Couldn't find instance `<a number>`" if I tried to access deactivated instances.
- If a script return without value, it got "Expected a value, got semico" error.