yAI presents Himari, the Beautiful Super Genius Artificial Intelligence by alaah

Himari can be contacted through Signal (preferably Signal Desktop). Send a message to himari.08 to proceed. The game has an ending indicated by a Thank you for playing message.
Out of all the sketchy games I made, this one is by far one of them.
Privacy policy
This is an Always-Online Live Service AAAA video game so I should disclose how I process data: * I store your Signal user GUID. I don't store your phone number (you should hide it anyway) or even your username. * I associate that GUID with a few variables based on your answers. * Everything gets deleted once you finish the game (which also lets you restart fresh). I will also delete the server and the Signal account a few days after the end of Play+Rate.
This would have been a hell lotta easier if you guys had picked Discord or Telegram or even Matrix as the theme.
Acknowledgements
Bun, Express, signal-rest-ts (+signal-cli-rest-api), pyinstaller
!> As well as Godot, Aseprite, Reaper, BFXR, this shader
No actual AI was used aside from the search engine.
Troubleshooting
- If Himari doesn't respond, the Signal service must have crashed. On the off chance that it happens, message me here or @nairobi on Discord.
- !> If the client crashes at launch with a TLS handshake error, download and install y.nairobi.ninja's certificate chain (ISRG Root X1). So far I've had this happen on one machine running Windows 11 Enterprise.
Ratings
| Overall | 52th | 3.871⭐ | 33🧑⚖️ |
| Fun | 121th | 3.435⭐ | 33🧑⚖️ |
| Innovation | 2th | 4.529⭐ | 36🧑⚖️ |
| Theme | 3th | 4.545⭐ | 35🧑⚖️ |
| Graphics | 228th | 3.036⭐ | 30🧑⚖️ |
| Audio | 181th | 3.036⭐ | 30🧑⚖️ |
| Humor | 17th | 3.95⭐ | 32🧑⚖️ |
| Mood | 46th | 3.914⭐ | 31🧑⚖️ |
| Given | 30🗳️ | 40🗨️ |
For anyone attempting to chat with Himari, just like the creator I recommend using signal desktop, even if you prefer to use a phone for chatting normally.
But for real, this was one of the most unique experiences I've ever had playing a jam game. I felt pretty limited by this theme and struggled to come up with ideas; I never even would've considered using Signal (the instant messaging app) as part of a game. Amazing stuff.
SSdtIGEgc2ltcGxlLCBwdW55IGh1bWFuLiBJIHNlZSBiYXNlNjQsIEkgZGVjb2RlIGl0Lg==
I wasn'tI wasn'tI wasn'tI wasn'tI wasn'tI wasn'tI wasn'tI wasn'tI wasn'tI wasn'tI wasn't
I feel as if I've been spurned by a lover. 5/5
@orangeoceans Once you hop a whole loop around the cavern and seemingly find yourself in a dead end, you have to look for a discrepancy in your surroundings.
SSB3YXNuJ3RJIHdhc24ndEkgd2Fzbid0SSB3YXNuJ3RJIHdhc24ndEkgd2Fzbid0SSB3YXNuJ3RJIHdhc24ndEkgd2Fzbid0SSB3YXNuJ3RJIHdhc24ndA==
I did get the following error in the console a few times when scenes were changing, but it didn't seem to interrupt the game.
```
ERROR: Can't change this state while flushing queries. Use call_deferred() or set_deferred() to change monitoring state instead.
at: area_set_shape_disabled (modules/godot_physics_2d/godot_physics_server_2d.cpp:355)
C# backtrace (most recent call first):
[0] void Godot.NativeCalls.godot_icall_3_1051(nint, nint, nint, Godot.NativeInterop.godot_bool, int)
[1] void Godot.Node.AddChild(Godot.Node, bool, Godot.Node+InternalMode)
[2] void State.AdvanceMapReal()
[3] void State.AdvanceMap(int)
[4] void State.HandleOwnChange(int)
[5] void State.RaiseGodotClassSignalCallbacks(Godot.NativeInterop.godot_string_name&, Godot.NativeInterop.NativeVariantPtrArgs)
[6] void Godot.Bridge.ScriptManagerBridge.RaiseEventSignal(nint, Godot.NativeInterop.godot_string_name*, Godot.NativeInterop.godot_variant**, int, Godot.NativeInterop.godot_bool*)
[7] int Godot.NativeCalls.godot_icall_2_1060(nint, nint, Godot.NativeInterop.godot_string_name, System.ReadOnlySpan`1[Godot.Variant], Godot.NativeInterop.godot_string_name)
[8] Godot.Error Godot.GodotObject.EmitSignal(Godot.StringName, Godot.Variant[])
[9] void State.AdvanceTo(int)
[10] void Lava+<>c.<_Ready>b__4_0(Godot.Node2D)
[11] void Godot.Area2D.BodyEnteredTrampoline(object, Godot.NativeInterop.NativeVariantPtrArgs, Godot.NativeInterop.godot_variant&)
[12] void Godot.DelegateUtils.InvokeWithVariantArgs(nint, System.Void*, Godot.NativeInterop.godot_variant**, int, Godot.NativeInterop.godot_variant*)
```
The actual core experience, i.e., a platformer, isn't all that interesting, it's everything around it that is. Makes me wonder where this could be taken: interacting with the chatbot during the game to ask for help, to give it puzzle solutions, etc...; making the experience a longer-term one to be more of a "chat"; involving other players since it *is* a mesaging app that is being used... (Obviously LD time limits exist and maybe the latter is not the kind of game you wanted to make or play anyway.)
Though I really appreciate my playing the game doesn't burn LLM tokens, ironically, the chat bot could probably be more interactive and "interesting" if it *were* an LLM actually twisting knobs that affect the gameplay. But then I also wouldn't be playing the game ^^
I'm still processing what just happened, but this was truly amazing. Thank you for this experience, really well done.

Very impressive content for 48h, and a clever use of the theme, that's very inspiring.
I've never seen anything like this before. wow.
...and there even was a game for if you are brave enough to open a file... Twice!
Played it till the ending :)