Back

game idea

#26
Tobberoth Wrote:
bombpersons Wrote:
Tobberoth Wrote:Ruby is extremely powerful though. If RPG Maker XP isn't putting limitations on the Ruby, you could very easily work with Anki decks from it.
True, but would it be possible to use libanki (inner workings of anki, in python) to it? If we can't use this then we would have to rewrite the anki deck loading, saving, spacing etc and it would be too much work.
Yeah no, Ruby isn't compatible with Python at all. It would have to be rewritten, but it wouldn't be hard. It would still simply be reading a deck file and saving new changes to it. A simple read through the libanki code should give a pretty good idea how a deck file works. (I'm guessing the structure is quite simple, similar to an XML file or something... but I haven't really looked into it.)
I wouldn't wanna mess around with the anki code, since it could cause incompatabillity when a new version comes out and I have absolutley no experience in that field...

It shouldn't be too hard get a basic RPG shell in pyton, maybe we can even cut and paste code from an existing open source python rpg?
Reply
#27
bombpersons Wrote:
Tobberoth Wrote:
bombpersons Wrote:True, but would it be possible to use libanki (inner workings of anki, in python) to it? If we can't use this then we would have to rewrite the anki deck loading, saving, spacing etc and it would be too much work.
Yeah no, Ruby isn't compatible with Python at all. It would have to be rewritten, but it wouldn't be hard. It would still simply be reading a deck file and saving new changes to it. A simple read through the libanki code should give a pretty good idea how a deck file works. (I'm guessing the structure is quite simple, similar to an XML file or something... but I haven't really looked into it.)
I wouldn't wanna mess around with the anki code, since it could cause incompatabillity when a new version comes out and I have absolutley no experience in that field...

It shouldn't be too hard get a basic RPG shell in pyton, maybe we can even cut and paste code from an existing open source python rpg?
No, you would only need to update it every time Damien changes the deck format, which I doubt he does often. Even if you used libanki directly, you would need to have the user get the latest version of libanki everytime there was an update to Anki. Making the game a plugin would be the only real way around that, but I don't think it's realistic to make such a big project as a plugin.
Reply
#28
Tobberoth Wrote:No, you would only need to update it every time Damien changes the deck format, which I doubt he does often.
Actually he makes small changes with nearly every version, but I believe this is supposed to stop once Anki reaches version 1.0.

An Anki deck is also just a [url="http://www.sqlite.org/]SQLite[/url] database. There are bindings for SQLite for every major programming language (including Ruby). To get the next due card you only need send this SQL statment to the database (or something close to it, haven't really checked it carefully):

Code:
select question, answer from cards
        where type = 1 and isDue = 0
        order by combinedDue limit 1;
You then need to display "question" and "answer" as HTML. If you want sound, you need to handle the non-standard "[sound:filename]" tag that Anki uses.

If we ignore failed and new cards, we now only need to duplicate the "answerCard" function from "deck.py" to update the due times after the user judged their answer. That's basically all that is needed. If users want to add or edit cards, they will need to use Anki itself.
Edited: 2009-07-28, 5:40 pm
Reply
May 16 - 30 : Pretty Big Deal: Save 31% on all Premium Subscriptions! - Sign up here
JapanesePod101
#29
Actually, bombpersons just recently recommended ika, which definitely looks 'sound' in terms of the functionality that we want. It uses python, the games that use it look smooth and playable, and best of all it's free.
Edited: 2009-07-28, 6:04 pm
Reply
#30
If you are looking for ideas, there is a really cool site on game mechanics:
http://www.squidi.net/three/
My personal favorites are the tiny crawl (http://www.squidi.net/three/entry.php?id=22) mechanics that I want to implement someday on a Nintendo DS - and I would love to embed a Japanese learning environment in that actual mechanic, however, I need to get better with the DS environment first.

And as far as recognizing Kanji on a DS - it isn't that hard. You count the strokes entered, order and positioning of strokes is used to narrow down the set of possible Kanji. The best Kanji lookup I have seen is in 漢字そのまま楽引辞典 (kanji no sonomama rakubiki). I used to do research in neural networks and I worked on some OCR issues, most of which are simpler with complex characters such as Kanji - mainly since there is so much evidence that you don't have with simpler alphabets.
Reply
#31
dont you think its kind of a pointless amount of work creating a game out of anki? anki is anki... if you wanna do reviews, just play any old game and shitloads of stuff you know will come up anyway. You might even learn something new. As far as wanting to challenge yourself by writing out the kanji, do what I did and get a DS and 漢字そのまま楽引辞典 (kanji no sonomama rakubiki) and draw it on the DS when doing reviews. Srsly, if you do like 30 - 50 cards a day your reviews are going to be like up to 60 cards max on average a day... that really shouldn't take long enough to warrant spending a huge amount of effort making a boring game. I'd rather play a real one for fun after im done reviews.
Reply
#32
More so than studying a specific subject in Anki, I'm interested in how learning and spaced repetition can be integrated into 3D gaming in a fluid, almost hidden manner. I'm thinking of how programs turn games like Oblivion and HL2 into sandboxes, how I believe Left 4 Dead uses levels that are randomly generated? How an ancient method of mnemonics is 'location based' (not even going into locative media/AR).

Adding audio and images to games, looking into how objects/encounters are spawned, how levels can be generated, types of gameplay, I think there's quite a bit of potential here!

Let's see, how about something where you can enter the # of cards/time parameters, then the map is scaled according to this and the max speed one can move in the environment based on customizable physics engine parameters (think Gary's Mod), then expired/new/failed cards and their media are materialized as they would appear in your deck as monsters or interactive objects/destructible environs, except perhaps the statistics of the card take into account its movement/difficulty/HP or whatever, perhaps the audio of a creature is the audio of a sentence, perhaps you have to type something (like that Japanese typing/zombie-shooter game?) or speak accurately into mic to activate weapons/destroy...... I don't know, I'm just speculating for fun! ^_^

Edit: Also, perhaps trigger points can tie into post-card difficulty ratings, in-game PDAs for additional typing/reading interactions, AI and path-dependence somehow tied in, recognition versus production via allies/enemies or puzzles vs. combat or modes of attack......
Edited: 2009-07-28, 8:10 pm
Reply
#33
mezbup Wrote:dont you think its kind of a pointless amount of work creating a game out of anki? anki is anki... if you wanna do reviews, just play any old game and shitloads of stuff you know will come up anyway. You might even learn something new. As far as wanting to challenge yourself by writing out the kanji, do what I did and get a DS and 漢字そのまま楽引辞典 (kanji no sonomama rakubiki) and draw it on the DS when doing reviews. Srsly, if you do like 30 - 50 cards a day your reviews are going to be like up to 60 cards max on average a day... that really shouldn't take long enough to warrant spending a huge amount of effort making a boring game. I'd rather play a real one for fun after im done reviews.
Some people just feel like creating a game about it. Not to mention that there's millions of ways to make an educational game that makes it engaging.. those ways just haven't been discovered yet. I'm a lot more interested in finishing RTK than investing time in making some sort of kanji-learning game, but I'd definitely look into spending time on it every now and then.

Though, it's one thing to make a game that uses writing kanji as an interactive way to learn them, but it's totally another to have it done in heisig order. And it's even another thing to have it done like an SRS!

If I were someone who knew all the general use kanji, I'd see more use in creating a game that makes use of all those kanji: say for example you're faced with a door you have to open and you have to write the kanji for 'enter' to get in, or something cool like elemental attacks in an RPG that require you to write the kanji for 'fire' or 'water'.

Something in heisig order and on the basis of an SRS on the other hand, you have to make everything circumstantial to the order in which heisig makes you learn them.. the story (the game would absolutely have to have a story in order to be engaging) would be incredibly inconsistent or at times hard to follow because there's all these kanji that appear in a specific order.

Now, on the other OTHER hand [assuming I had three], chances are that a project like this would still be incredibly fun, since it would be a blast trying to figure out how to make a compelling story that would fit the kanji and SRS. So it's not a pointless amount of work, there's still an end result, whether it be some sense of accomplishment or an incomplete game.

What I could see being done: At first, the game requires you to do very little in terms of writing kanji for actions, and it's very specific. But as time goes on, more things become restricted and there are more kanji that you have to write down, until a certain point where you've reviewed all of heisig's kanji.
Reply
#34
As for narratives, perhaps those could occur in micro-episodic content either occuring RPG style based on SRS algorithm or selected beforehand, and derived from tagged sets created using subs2srs (from movies/anime/etc)?

OK no more speculating from me, I'll just get vaguer and more random since I haven't the technical mental-toolset for this.
Reply
#35
mezbup Wrote:dont you think its kind of a pointless amount of work creating a game out of anki?
Sure, I don't think anyone wants to replicate anki in a game. However, I do think that you can produce a game that is geared towards Japanese learners and be somewhat fun. There was this game produced in Japan for the DS called "English of the dead" ... it was a horrible zombie killing game and kanji sequences would flash up and you would have to enter the english word that corresponded to the kanji. Not flashy, or cool - but it worked.

Found it on youtube:


In the end, the RTK is only several months. The missing game that everyone is waiting for is the one that links RTK to Japanese literacy (or more accurately is another piece of the self-learning puzzle).

In any case, my particular interest in writing games is been around for years and thus far limited to tetris using SDL. My professional work centers around artificial intelligence. So if I can combine a simple game, with Japanese kanji sequences and some simplistic AI - I would be more than pleased. Even if it was only for me.
Reply
#36
This is only tangentially related to the topic at hand, but this discussion got me thinking about it. Is it possible to write a program that periodically scans various Japanese blogs and compares them to the content of your Anki deck and then lets you know what percentage of the content of the blog post--say, in terms of words--matches content found in your deck? If so, it seems like this might be a good way of getting people to read real Japanese appropriate for their level as soon as possible.
Reply
#37
in reply to brianobush...

interestingly enough on the subject of AI have you seen videos on youtube of androids people in Japan are building? I was particularly impressed by one named... aiko... I think... which could read aloud in Japanese (and english) something that was help up in front of it.
Reply
#38
Elphalpo Wrote:This is only tangentially related to the topic at hand, but this discussion got me thinking about it. Is it possible to write a program that periodically scans various Japanese blogs and compares them to the content of your Anki deck and then lets you know what percentage of the content of the blog post--say, in terms of words--matches content found in your deck? If so, it seems like this might be a good way of getting people to read real Japanese appropriate for their level as soon as possible.
Well, the 'reading' function on this site matches kanji that you supposedly know, so I don't think it'd be impossible to do so for words that you should undertand in your SRS of choice. It'd take some time to write though, obviously.
Reply
#39
Elphalpo Wrote:This is only tangentially related to the topic at hand, but this discussion got me thinking about it. Is it possible to write a program that periodically scans various Japanese blogs and compares them to the content of your Anki deck and then lets you know what percentage of the content of the blog post--say, in terms of words--matches content found in your deck? If so, it seems like this might be a good way of getting people to read real Japanese appropriate for their level as soon as possible.
interesting idea
Reply
#40
Elphalpo Wrote:...Is it possible to write a program that periodically scans various Japanese blogs and compares them to the content of your Anki deck and then lets you know what percentage of the content of the blog post...
yes, this is possible. I build text classifiers for a living to basically bin web pages into categorized bins, e.g., sports, tech, porn, etc. The application idea you present, which is very cool btw, would basically crawl, store and index the blog content - then would search for substrings from your deck. Might be easier to use google's APIs since you can specifically search for blogs and they have solved the problem of search and present a simple search API.
Reply
#41
Right we've (Me and KaitouJS) decided to take a shot at making this. But before we add any of the extra anki features, text recognition etc, we need a basic RPG engine.

If anyone has experience in programming in python and / or pygame and would like to help give a shout =D

Post here, or Email, or IRC, #RTK at uk.ircnet.org
Reply
#42
someone beat you to it.

http://lrnj.com/

Looks like shit. Bring on a game I wanna play.
Reply
#43
bombpersons Wrote:... You have a town (where you can buy weapons spells etc), a randomly generated dungeon, with random battles. Of course all this would be customizable (including town, spells, weapons etc).
So you're suggesting... a kanji town?
Reply
#44
mezbup Wrote:someone beat you to it.

http://lrnj.com/

Looks like shit. Bring on a game I wanna play.
Ha =D That looks pretty bad =(

At the moment we're thinking about a Cave Story Esque RPG. It'll be customizable and it will be able to read anki decks so that you can use it to learn anything. I'm still trying to get something playable together, my inexperience with pygame does not help the matter =D
Reply
#45
I reckon those dating sim type games that are adaptations of anime/manga are really good for learning from cos they repeat a lot of vocab that's actually surprisingly useful... and then of course there's some fairly crazy situations. But given that sections of the games are very thematic you see various sets of related words appearing again and again.

maybe writing one of those which teaches useful everyday conversation vocab, grammar and expressions would be kinda neat.
Reply
#46
mezbup Wrote:maybe writing one of those which teaches useful everyday conversation vocab, grammar and expressions would be kinda neat.
I thought of something like that when I saw this thread. It seems like an easier choice as well, since it would rely just on the game program itself and not an outside Anki file (though all this coding stuff just goes straight over my head, so maybe it's simpler than it seems to me). It could build up in chapters like a textbook would, gradually introduce more advance structures and vocabulary, etc.

Although assuming the dialogue and such isn't taken from something else, it would mean having to write it all. Which would mean either another learner writing it then getting it checked, or getting a native speaker to help with that.
Reply
#47
Believe it or not I've thought of the dating sim type but somewhat incorporated into what bombpersons and I are doing. Take for example premade NPCs that have question arrays - like, they'll ask you a question that you've already put in for your reviews, and you have to answer them. That's just a thought though.

Right now, bombpersons and I are sort of confused on what we want to do for battle mechanics: there's been talk of whether it'll be turn-based or active, and what you specifically have to write down to attack.

We did have a couple of interesting thoughts. Like grouping similar kanji or SRS material into groups for battling. Like for example for all magic-related attacks there would be the kanji for fire and water and so on and so forth..

The main problem we've encountered is that one engine cannot fit all sizes. In other words, If we want it to do everything that an SRS can do, we really have to do some strategic thinking because kanji might work for what we want, but for, say, someone doing chemistry studies or biology, there's not much relevance because the actions stray from the review materials.

I'm honestly considering trying to keep our options limited and maybe keep this restricted to L2-learning only.

As I've said over and over, this needs to be fun and enjoyable, but the only way to do this is to have a restricted spectrum of goals that we want to cover with the engine. Specifically Japanese, but broadly an interactive SRS for learning an L2.

I'll also discuss a bit of issues I'm having with conceptualizing gameplay that involves the SRS itself - people play games different ways. Although I mentioned including different kanji for different attacks, they don't all get used. When you play Street Fighter, you're not worrying about tapping buttons to do a bunch of shoryukens and hadoukens. No, to get through the game, you'd much rather prefer that cheep tactic of cornering your enemy and doing cheap uppercuts (actually, I don't know SF that well, so correct me if my analogy sucks..). Therefore, it might almost seem pointless to have a library of kanji for certain attacks..

So.. I thought about what we can do to restrict the player's actions. Well, since the kanji are grouped in a specific order, I thought that you can only know "so much kanji" at any given point. Whenever you attack or use magic, you have to write down a kanji and this either brings about a new/different result. And if the game detects that you have reviews to do, we can say that, for every time you use magic or a standard attack, it actually requires you to write down a kanji in order to answer a question. In other words, battle is streamlined and follows a specific path until you have your reviews complete.

As a reward, the player can have more freedom and fun. Whatever kanji is listed as "known", they can use freely as attacks in the game. But if they haven't come across new kanji or learned any new ones, they can't use those. Therefore you achieve some sort of balance between actual gameplay and an SRS.

I can talk all I want, but in the end this is only drabble. Right now, bombpersons and I are more concerned about getting something that sort of plays and acts like a platformer first.. all the japanesey SRS stuff can come later.
Edited: 2009-07-29, 5:20 pm
Reply
#48
This really does have a ton of potential. Personally, I get perhaps the majority of my reading from playing text heavy games and generally dislike using SRS for any extended period of time, so I know I'd get some use out of something like this.

I admit I haven't read all of the ideas in this thread, but what I have envisioned is something of a dungeon crawler, perhaps a roguelike where enemies are represented as kanji, or perhaps even full words. If you make contact with an enemy, you must know what the character/word represents in order to defeat it - whether you'd have to specifically type something or select from a list of multiple choices, I'm not sure. Of course, the game would keep track of which kanji and words you can "defeat" frequently, and you'd gain experience and levels which would serve as a gauge for your all-around language skill.
Oh yeah, and at the end of each dungeon, you'd fight a boss who would serve as the test for the previous material. Making a test fun, can it be possible?! Maaaybe.

There are really so many ways to go about this. You can set up a structured approach, beginning with kana for novices (or those who just want to brush up on their kana) on the first few levels, and then gradually introducing vocabulary and so forth as you work your way deeper. Of course, I think most of us here would want to use it for drilling kanji and our own SRS material, but there really are many possibilities.

In terms of making the project as simple to develop as possible, though, I do think a roguelike is probably the most practical approach. Check out Rogue, Nethack or the Izuna games if you're unfamiliar with the genre.
Reply
#49
Burritolingus Wrote:This really does have a ton of potential. Personally, I get perhaps the majority of my reading from playing text heavy games and generally dislike using SRS for any extended period of time, so I know I'd get some use out of something like this.

I admit I haven't read all of the ideas in this thread, but what I have envisioned is something of a dungeon crawler, perhaps a roguelike where enemies are represented as kanji, or perhaps even full words. If you make contact with an enemy, you must know what the character/word represents in order to defeat it - whether you'd have to specifically type something or select from a list of multiple choices, I'm not sure. Of course, the game would keep track of which kanji and words you can "defeat" frequently, and you'd gain experience and levels which would serve as a gauge for your all-around language skill.
Oh yeah, and at the end of each dungeon, you'd fight a boss who would serve as the test for the previous material. Making a test fun, can it be possible?! Maaaybe.

There are really so many ways to go about this. You can set up a structured approach, beginning with kana for novices (or those who just want to brush up on their kana) on the first few levels, and then gradually introducing vocabulary and so forth as you work your way deeper. Of course, I think most of us here would want to use it for drilling kanji and our own SRS material, but there really are many possibilities.

In terms of making the project as simple to develop as possible, though, I do think a roguelike is probably the most practical approach. Check out Rogue, Nethack or the Izuna games if you're unfamiliar with the genre.
You gave me an idea. I suddenly thought of the possibility that the enemy themselves wouldn't be the kanji, but that they would spout perhaps a message bubble (the kanji question) and you would have to formulate a message bubble (your kanji response) to defeat them.

No offense against roguelikes, but that's not my thing, and I like something more /graphical/. Not everyone finds roguelikes interesting, so bombpersons and I are looking for something that's appealing or graphically entertaining (something cave story-esque or a little cartoony). I've actually been taking too much of the lead when it comes to graphical design for what the game should look like, so I should ask bombpersons if he wants anything a bit higher-scaled graphics wise.

Maybe I'll post some more thoughts and ideas later, but it's really hard to consolidate anything since he's not on right now and we've been bouncing concepts back and forth..
Edited: 2009-07-29, 7:19 pm
Reply
#50
I just had a bit of a crazy idea that might make a game like this mega entertaining and feasible to work with kanji reviews at least...

what about making the battle system so that it has 2042 different attacks... yup, all special moves that directly relate to every kanji yet perform a unique and maybe somewhat bizzare but hopefully entertaining move when you input the correct kanji. That way whatever review comes up you can attack em with it Tongue

And think of it like this... you have to collect reviews in order to be able to use special moves... and in order to make reviews due. YOU HAVE TO STUDY!

I mean just think of the some of the interesting and abstract moves you'd have to come up with... things like harbour haha... perhaps the enemy is attacked by a torrent of snakes with water guns? So it could be a way to reinforce the primitives in a visual way at the same time.
Reply