Page 1 of 1

Knuckles in China Land

Posted: Mon Jan 02, 2023 11:56 pm
by miles
I'm making a flash-card/multiple choice game to help me learn Japanese words. A friend told me it needed Knuckles in it, so it could be more like the game "Knuckles in China Land".

Image

Link:

~ https://mileshouse.neocities.org/wip/japanese-app ~

Every 5 questions, you have a chance to level up if the win-rate is above 80%. I didn't test against that at all, I just made it like that so I could test leveling up quickly, and I know most of the first few hundred words anyway.

The game has pretty simple coding for now, so everything is completely random. The multiple choice answers might have duplicates because it doesn't check for that. [Fixed]

I think it might be unintentionally easy because of the randomness. If you know the basic structure of verbs vs nouns, it is easier than it's supposed to be, since you can narrow down the answers a lot without knowing what the word means. I can fix that by making it only generate random word answers of the same type. [Did it already]

Changelog

1/13/23 - I refactored most of the code, added title screen, info, and statistics page. Also removed the ability to level up (under construction)

1/3/23 - The 5 possible answers are now of the same grammar type as the target word
1/1/23 - Started

What the Fuck is Knuckles in China Land
"Knuckles in China Land" was originally the name of a hoax video game, of which a fake screenshot was posted to a Sonic forum, at some point in the early 2000s. In 2005, Andre Kirk used this idea for an RPG style Sonic fan-game. You play as Knuckles and battle against language-learning flashcards. The flashcards that you encounter can be customized, with the game having Japanese kana, kanji and vocabulary, as well as German and Indonesian card packs built in.

Knuckles in China Land's website on the wayback machine:
https://web.archive.org/web/20070128115 ... jb.net:80/

Re: Knuckles in China Land

Posted: Tue Jan 03, 2023 8:59 am
by umbreon
my begging for knuckles paid off!

Re: Knuckles in China Land

Posted: Thu Jan 05, 2023 5:03 am
by miles
umbreon wrote: Tue Jan 03, 2023 8:59 am my begging for knuckles paid off!
It did, it was a very good idea. I am sorry for not crediting you, everyone please remember that it was umbreon who gave me the idea to make this game have Knuckles in it.

Re: Knuckles in China Land

Posted: Fri Jan 13, 2023 6:11 am
by miles
I want to develop this more and I'll write my ideas for them here.

1. I need to refactor the code to be more object oriented because right now there's barely any structure to it and there's duplicate code blocks that can be made more modular *Did it

2. Add the ability to keep track of each word's proficiency. The word bank is a list of 6000 words, so my idea is just to have a list where the indices match up to the wordBank's. *Did it

Each entry in the list would be an object with two key pairs, "times_encountered" and "word_score". So every time you answer a question, it increments times_encountered and either adds or subtracts 1 from word_score depending on if you got it right/wrong.

3. Group upcoming questions in batches, to be able to check for duplicate questions and cut down on them. Also use this routine to check for words that haven't been encountered much and prioritize those. Also deprioritize words that have a high score ratio.

4. Add info screen with word list that shows what words are available at the current level and their proficiency. *Did it

5. How do calculate proficiency? If you get a question wrong 20 times, but then get it right 20 times in a row, technically your grade would be 50%. If you needed to get that up to 90%, you'd need to answer it correctly like 100 times. If you get lucky with a different word, you could end up seeing it a lot less.

Maybe don't just keep a tally of encounters and score, because it's temporally blind. Maybe instead store a list like: [1, 1, -1, -1, -1, 0, 0, 0] where it starts out as all 0s, has a limit of like 10 entries, and as the word is answered right or wrong a 1 or -1 is pushed into the list.

Whenever this stack is updated, it also calculates and stores the grade as a second value for that word. This is so when the program needs to scan through the proficiency list, it doesn't have to calculate that for all the entries at the same time. Iterating through up to 6000 items in a list could make the browser hang if it has to loop through another list for all of them.
*I ended up doing this, I think it works ok?


6. Gameify it somehow and add numbers that go up and unlockables or some shit.. There was an incremental game I played where you had tubes with balls in them and you got some number to go up by bouncing the balls, the heavier and higher they were the more Number you could get and it was honestly such an epic cracky pipe type game it makes me want to add bouncing balls in tubes *I actually ended up playing this dumb ball bouncing game which sucked up some time lol


UPDATE: 1/13/23

I've refactored the code (1), added the individual word scored (2), and implemented the info screen (4). Right now, your level is stuck at 1 with 50 words available, but I'm working on that. I need to make it so it doesn't level up so slow that it becomes boring, but not too fast that you are unlocking so many words you aren't getting quizzed on most of them.