How to create content (consisting of words): Words/Explanation/Category/Difficulty

JB makin' a gameJB makin' a game Member, BASIC Posts: 39

TL;DR I'd be eternally grateful for the answer to just one these questions!

In short, I'm making a game that'll test your average knowledge on how to spell words (given their context). I have ideas for a number of different levels, but obviously they all contain words. For example, the words will fall down the screen, they should be able to be selected by the user, you can drag from one place to another, etc.
However, since I'm a teacher, I feel that when a level ends it's okay to go to the next, but there should be a way for the user to see what he did wrong and why that is wrong. So basically, every word should connected to a sentence (the explanation).

Q1: What's the best way to organize this connection between words and sentences? Preferably in a way that I can type the word and the explanation on the same page in the editor, so it doesn't become a clickfest between multiple attributes, actor and the like. Also, if it's organized in a way that the word and explanation can be declared on the same page, it'll make updating the game and adding content to it a great deal easier.

Q2: As the content will grow in time (simply because I add more words/explanations), it'd be nice if there were options for the user to pick what he wants to learn. For instance, I put a word (that's already connected to an explanation, presumably due to a very kind user that answered Q1 [Thanks in advance!]) in a certain category, so the user can tick a box that will create a standard level, but only with words of that category, say "When to use capitals" or "Verbs".

Q3: When a user feels (s)he's got the total package and (s)he's already great at spelling, the entire database of words/explanations/category labels can be used in games, preferably using a random pick of words out of that database. How do I do that?

Q4 If it's possible to put a category label on a word/explanation (that the user can see), I'm sure it's possible to put a difficulty label on a word/explanation that user doesn't see, to make the game increasingly difficult, for the users who want that.
However, if you want your 8-year-old to practice, you don't need this feature, you just want to stick to words that correspond with the spelling rules they learn in school when they're eight years old. So how do I let the user pick a difficulty (I'll think of the names for the difficulty myself, since that's my expertise) without showing the actual difficulty that belongs to a word/explanation? Mainly because adults that can use a spelling lesson or two get demotivated when confronted with the fact that they are learning the same stuff that 8-year-olds do, eventhough that's the reality. And hey, they chose to learn, so let's not demotivate them.

I have many more questions, but I feel they are a bit more general, so I'll search for those myself. I really couldn't find the answer to this anywhere, so a written post would be great, but a link so something you think might help would be just as great!

Comments

  • tatiangtatiang Member, Sous Chef, PRO, Senior Sous-Chef Posts: 11,949
    edited July 2018

    A1: You'll need to use tables. They allow for ordered sets such as this:

    Row    Word    Definition
    1        Heart    Pumps blood through the body
    2        Brain     Stores information

    New to GameSalad? (FAQs)   |   Tutorials   |   Templates   |   Greenleaf Games   |   Educator & Certified GameSalad User

  • tatiangtatiang Member, Sous Chef, PRO, Senior Sous-Chef Posts: 11,949

    Be prepared to spend dozens of hours building this, especially if you are new to GameSalad. It's a great tool for this sort of game but anything this complicated takes time.

    New to GameSalad? (FAQs)   |   Tutorials   |   Templates   |   Greenleaf Games   |   Educator & Certified GameSalad User

  • tatiangtatiang Member, Sous Chef, PRO, Senior Sous-Chef Posts: 11,949
    edited July 2018

    I'd recommend starting with various tables tutorials. I usually Google gamesalad < search term > and click on the Videos tab. For example, here's one from gamesalad tables:

     
    Then you can try things like gamesalad tables random which will produce results such as this:

    New to GameSalad? (FAQs)   |   Tutorials   |   Templates   |   Greenleaf Games   |   Educator & Certified GameSalad User

  • JB makin' a gameJB makin' a game Member, BASIC Posts: 39

    @tatiang said:
    Be prepared to spend dozens of hours building this, especially if you are new to GameSalad. It's a great tool for this sort of game but anything this complicated takes time.

    My goal is to create the game I described within the next two years and I have no clue if that's reasonable without any experience, but I guess we'll see.

    Since you helped a great deal, I guess I'll add another question I have, specifically about the table in which the words that are used in the various levels are stored. The game should be for people who wanna test their spelling, whether they are adults or kids, but ideally it should also have a part for teachers who want to use it in their class for spelling lessons.
    Schoolbooks for spelling are created in a way that focus on a few categories per chapter and with, say, 30 to 50 words that are practiced a lot until the end of the chapter. It'd be great if a teacher could use this game and inputs the words (s)he wants the kids in their class to practice with. Obviously they would have to be able to sign up, get a username and password, etc. so they can save the list of words for Chapter 1 and use it again next year. They will be using the games/levels available in the game, the only difference to the original game is that they create their own content.

    **Q5: How do I let users create their own content, which will result in a database consisting of lists of words that they can save and edit at any given time? **

  • tatiangtatiang Member, Sous Chef, PRO, Senior Sous-Chef Posts: 11,949

    **Q5: How do I let users create their own content, which will result in a database consisting of lists of words that they can save and edit at any given time? **

    You can do this with GameSalad but it requires Networking behaviors which were never fully developed. They exist but it's quite a hassle to get them working. Fortunately, there's a third-party company called AppFormative that offers ways to set this up easily and potentially allow users/teachers to add their own content.

    New to GameSalad? (FAQs)   |   Tutorials   |   Templates   |   Greenleaf Games   |   Educator & Certified GameSalad User

  • JB makin' a gameJB makin' a game Member, BASIC Posts: 39

    As you can imagine, the whole user database thing is something that's not important at all at this moment. I'll have my hands full on those tables for now, but I was just wondering about the possibilities of GameSalad. So thanks again for your answer, tatiang. That'll be all… for now ;)

  • JB makin' a gameJB makin' a game Member, BASIC Posts: 39
    edited August 2018

    It's a few weeks later now and I created two levels. As I mentioned in an earlier post, the content of these levels contain mainly words, so right now I've created about 15 Tables for saving, copying, userAnswers and other purposes. However, there are two tables that have about 50 rows right now for testing purposes, but I keep adding content to them externally and in the future they should have at the very least have 2000 rows, all filled with mainly type text, some boolean and a few integer to a total of 10 columns. Some levels are easier to create content for and will have somewhere about 5000 rows eventually, also with about 10 columns.

    [Case1]At the start of a level I need to pick 25 rows, change another table's cell values of at least 8 columns so I can put userAnswers/input in them. This takes time and I figured that maybe it's bad practice to pick these 25 rows from the main Table (that potentially contains 5000 rows of content) during the game.
    So I thought, it'd be better when button level 1 is clicked on and it shows the levelName and an example of what the objective is (this takes about 3 seconds), to set another table with the same layout as my main table (but with only 25 rows) to, let's call it Table [Runtime] and change table cell values of row 1-25 to the main table's content, picking a random row each time. [/Case1]
    [Case2]The alternative is picking a random row out of 5000 and changing table cell values of 10 columns and setting multiple attributes for each question answered during runtime, which should in theory give me the 'same' result: 25 random rows.[/Case2]

    By now I figured out how to do this with loops, it's surprisingly simple actually, so a compliment to the makers of GameSalad for building such an intuitive engine. However, the processing speed of functions/rules/attributes/behaviors isn't explained anywhere. It became very clear that Loop over Table is an absurd tool that I can hardly believe anyone uses, because the right use of tableSearch in combination with some attributes gets you the same result in milliseconds. But I don't know how this will be when I fill my table up to 5000 rows and 10 columns and each of the 50.000 cells filled with content.

    Any thoughts on how to maximize processing speed when calling the content in tables as much as I intend to do?
    Is Case 1 indeed a much better idea or is the processing speed of behaviors like Change Attribute (x20) and Change Table Value (x10) in a Loop (x25) so incredibly fast that the simpler version (Case2) is possible, even when picking random information from a 5000 row table?

  • tatiangtatiang Member, Sous Chef, PRO, Senior Sous-Chef Posts: 11,949

    It became very clear that Loop over Table is an absurd tool that I can hardly believe anyone uses, because the right use of tableSearch in combination with some attributes gets you the same result in milliseconds.

    You're right that Loop over Table is not a good substitute for tableSearch. But it IS a useful feature if you need to do something to each cell in a table.

    But I don't know how this will be when I fill my table up to 5000 rows and 10 columns and each of the 50.000 cells filled with content.

    https://forums.gamesalad.com/discussion/comment/591524/#Comment_591524

    New to GameSalad? (FAQs)   |   Tutorials   |   Templates   |   Greenleaf Games   |   Educator & Certified GameSalad User

Sign In or Register to comment.