deckarep/DrSbaitsoUi
A front-end for Dr. Sbaitso done in Zig and Raylib.
Welcome to 2024 Dr. Sbaitso. We've been waiting for you.
An unofficial, fan-made modern recreation for retro-computing enthusiasts.
HELLO <GITHUB-USER>
, MY NAME IS DOCTOR SBAITSO.
I AM HERE TO HELP YOU.
SAY WHATEVER IS IN YOUR MIND FREELY,
OUR CONVERSATION WILL BE KEPT IN STRICT CONFIDENCE.
MEMORY CONTENTS WILL BE WIPED OFF AFTER YOU LEAVE,
SO, TELL ME ABOUT YOUR PROBLEMS.
A front-end for Dr. Sbaitso created in Zig
and Raylib 5.5
: For modern Desktops as a standalone application.
For historical context on what Dr. Sbaitso is read the wikipedia article.
This will not run without the backend-system which I have not made public yet as it needs more work. This version of Dr. Sbaitso is intended to build just enough of this version that it is nearly indistinguishable from the original however it will never be an exact clone.
Additionally, I will eventually build a plugin system for swapping out the voice synthesis with other systems. And furthermore a plugin system for having a true AI powered backend (such as ChatGPT) to control the good Dr.'s mind.
While I don't antcipate this project to be terribly complex it should offer a good example of how to use true native OS threading in a GUI-based application such as Raylib. All cross-thread communication happens via the use of thread-safe queues. Anything that potentially blocks the Raylib event loop will occur in an auxillary thread. Additionally, should an auxillary thread need to communicate back to the main Raylib thread there is a "main thread" dispatcher to handle this.
.json
definition file of responsesCreative Labs
banner, asks for the user's name and
greets the user with the canonical introduction.@als398$#$#%
, a response category for garbage input is used.
Detecting garbage is not as straightforward as you would think, so this isn't done yet.parity
error mode like the original Dr. Sbaitso app did. Parity mode is what happens when the Dr.
refuses to process your disgusting filth!
Modernized, newer canned responses to make Dr. Sbaitso aware of current times.
He will know about new things like: Tik-Tok, Harry Styles and Domingo
Ability to change background color, font color, font style
Ability to enable/disable CRT shader, or enable/disable CRT monitor border
Ability to swap speech-synthesis backends
Ability to adjust prosody and or tone, volume, pitch, speed of speech engine
Ability to plugin in an AI brain like ChatGPT, or other systems
Various easter-eggs, retro-computing references, etc
The Dr. may become impatient if you don't say anything after awhile.
Ask him to tell you a joke!
uit ....