(pseudo) AI with RNG | How do we do it?

Thank u so much. this will help a lot. It actually worked. i migth be able to do this within a week lol

2 Likes

how are you guys going to make user input on this?

yes this is pinging, and also because shaft made the topic they get notifications if anyone replies

6 Likes

A keyboard!

Also,

This depends on their settings.

7 Likes

Here is a library (property edition):

how|||||||||||||method||||||||||approach||||||||way|||||||||||||strategy||||||||methodology|||||technique|||||||manner||||||||||system||||||||||tactics|||||||||style|||||||||||recipe||||||||||plan||||||||||||process|||||||||fashion|||||||||form||||||||||||tack||||||||||||program|||||||||mode||||||||||||model|||||||||||route|||||||||||policy||||||||||scheme||||||||||design||||||||||practice||||||||layout||||||||||move||||||||||||blueprint|||||||game||||||||||||shift|||||||||||plot||||||||||||routine|||||||||

512 characters, and 32 words.

I wonder if I can make these weighted to make the more related words more likely?

3 Likes

well there are two options:

Keyboard (not memory efficient)
call to action list device (very efficient, but extremely limited)

can anyone find the max amount of call to action devices i can have? i know theres a max, cus i tried to make a long list of every gim, and it cut it off, but i dont know what the max is…

5 Likes

according to the guide, the placement limit is 500

2 Likes

Not the placement limit

sorry i shouldve been more specific.

i mean the max amount that can be in the same list.

2 Likes

you could make only a few and use that keyboard guide…
with call to actions instead of triggers…

also, if I can, would I be able to help with this project?

2 Likes

i’ve made my own ASCII to binary translater keyboard, and it took ~70% memory.

keyboards are not worth the hassle, and I would rather have a prompt builder that takes me an hour to make and not a month.

2 Likes

The guide I recited up here is a memory efficient keyboard using item granters.
Also, We have to be careful to use as little properties as possible to conserve library space.

On another note, we can make the entry size as big or as small as we want to increase maximum entry size or number of entries per library. We just have to keep it consistent.

5 Likes

Do you know what the max property limit is?

1 Like

I believe its 128.

2 Likes

Does anyone know how the find first/last occurence of x in y block works?
Does it output the index of where the string occurs, or something else?
If it does, then I have an idea for how we could allow the lengths of entries to vary.

2 Likes

Screenshot 2025-12-12 2.45.05 PM

2 Likes

That’s great.
Essentially, our librararies would have each entry numerated from 0 to 32 or however many entries we have. This way we can still refer to any single entry by a number, despite them all being different lengths.

I’ll throw together an example of what our library searcher would look like.

5 Likes

Ok, I’m at a blockade, and I figured u guys could help. Basically, my first trigger only activates the ā€˜who,’ and the ā€˜what’ triggers. PLEASE HELP. I can’t send any pics because of school screenshot policies -_-

OOPS, i forgot. So sorry.

2 Likes

its alright :smiling_face_with_sunglasses:

6 Likes

Alright. Here’s what I came up with.

Obviously, you don’t really need to have the variable entryIndexOne, and you can just put that directly in the entry chooser block, but thought it was better for readability.
I am uncertain if blocks automatically convert numbers to strings for functions that require strings as parameters, but I played it safe.

Essentially, what it does is it finds the random number that was generated, and jumps a couple characters ahead based on how long the number is. Then, it finds where the next number is, and sets that minus one (so that it doesn’t include of the number itself in the output) as the ending point of the string. Then, it just gets the substring between those two numbers.

The if statement is so that if the entry selected was the last entry, it will automatically set the second endpoint of the substring to the end of the property. This is so that you don’t need to put an extra number into the property, and you can save 2 characters.

The only thing I haven’t figured out is how we’ll detect how many entries there are in any given library so we can ensure that the random number selected is in the same range as the number of entries.

6 Likes

OK! I have a theory, an dI’m about to test it out scientific method style.

My hypothesis: A variable in the first word will allow for multiple options of word. This could be memory efficient. I will edit once done testing.

4 Likes

Okay, so first off, poll results!

No clay-institute tag, but I have something to say about that.

So really, this isn’t a Clay Institute topic regardless. This AI is really well… just an overcomplicated random number generator. RNG is not something that could ultimately change GKC, and this topic isn’t even that big of an advancement in technology. I mean, yes, creating artificial intelligence in an educational game with block code is a bit cool and impressive, but it’s only a 50,000-sided dice. Nothing more.

@some_kid I’ll review your code later, but I gotta study for a science test.

7 Likes