Search Unity

What's Fair in a Word Game?

Discussion in 'Game Design' started by JayJennings, Jul 22, 2015.

  1. JayJennings

    JayJennings

    Joined:
    Jun 24, 2013
    Posts:
    184
    I'm working on my first game in Unity (woohoo!) and have it just about to the beta stage where real people will start playing it, and I'm undecided about how to handle something...

    In a nutshell, you get a rack full of 7 letter tiles and have to make as many different words as you can, using only those tiles. (That's not the whole game, but that's the part I'm wondering about.)

    In playing the game and being served 7 random letters, sometimes I'd get two Qs and a K and some other letters, but no U. Basically, it was a "trash hand" and was almost impossible to beat a level when that happened.

    So I did two things -- but probably should have only done one of them...
    1. Created "swap tokens" that when used will allow you to get a whole new rack of letters. (Yes, they could be garbage, too, but...)
    2. Instead of random letters I now grab from sets of letters that I know will make 50+ words.
    Here's the problem -- the swap tokens can be refilled between levels by viewing an ad, thus, when millions of people play the game all my bills get paid. (Hey, I can dream.)

    But with the non-random racks of letters the need for swap tokens has gone WAY down.

    And as I get ready to ask my question -- "What should I do?" -- I'm thinking maybe there isn't a right answer. But if anyone gets my pain and has some ideas, feel free to unload them here. ;)

    I don't like the idea of making the game harder just to get ad views, on the other hand, most fun games *are* challenging and I think the way it works now it's to easy to beat the levels.

    So, back to random letters? Or maybe some other solution? :)
     
  2. El Maxo

    El Maxo

    Joined:
    May 23, 2013
    Posts:
    177
    If you use my idea and your making your millions every day can I have some :p

    Have you thought about weighted random letters, so you have 20 times the chance of getting an "A" compared to a "X". then later in the game you could start making "hard" letters appear more?
     
    TonyLi, Kiwasi and JayJennings like this.
  3. JayJennings

    JayJennings

    Joined:
    Jun 24, 2013
    Posts:
    184
    When I used the random letters I did some weighting to make sure there were at least two vowels in each set, but maybe I could go a little more -- make sure there's never a Q without a U, less chance of getting the most uncommon letters, etc. That might be the way to go.

    I just found the following graph on Wikipedia and if I just make sure the last 5-6 letters rarely show up in each rack of tiles I might be good to go back to doing the random thing.

     
    El Maxo likes this.
  4. El Maxo

    El Maxo

    Joined:
    May 23, 2013
    Posts:
    177
    Looks like a good base to go off of, although playtest playtest playtest. Althought I do not know how your game works, but if there are levels that get harder, I would suggest to increase the less frequent words and decrease the more frequent ones.
     
  5. tedthebug

    tedthebug

    Joined:
    May 6, 2015
    Posts:
    2,570
    You could reduce the number of Q's in the game, & check that a rack only contains 1xQ at the most.
    I wouldn't have every hand with a Q include a U as that adds to the challenge & gives the player a sense of achievement if they get a decent score, maybe weight the U higher if a Q is drawn.

    Let the swap token only let the player swap 1 letter. Allow a max of 7 tokens to be used, the player selects how many they want to use then selects that many letters.
     
    JayJennings likes this.
  6. Gigiwoo

    Gigiwoo

    Joined:
    Mar 16, 2011
    Posts:
    2,981
    It's tricky. It sounds like your mind is in a good place, trying to design a game that's fun, while also considering monetization. And, at the same time, I am reminded of this article. If this if your first ever game, you may find that you've not yet honed the skills necessary to build a fully-engaging experience, with attractive visuals, that is also monetizes well. In which case, you may find that getting attention with your first game (i.e. totally free) has more long-term advantage. It will also simplify your design, allowing you to focus on the game play. On the other hand, if monetization is extremely important at this point, then you probably just need to keep iterating.

    Best case - hand the game to someone, watch them play, do not say anything. It will crush your soul, and you will learn a lot.

    Gigi
     
    JayJennings likes this.
  7. stevevr

    stevevr

    Joined:
    Jul 20, 2015
    Posts:
    5
    This right here. took the words out of mouth ...let us know if that works
     
  8. JayJennings

    JayJennings

    Joined:
    Jun 24, 2013
    Posts:
    184
    Thanks for all the suggestions, I'm going to play around with things today and see what happens.

    If you're interested, here's a look at the game I'm making.

     
    Ony and tedthebug like this.
  9. tedthebug

    tedthebug

    Joined:
    May 6, 2015
    Posts:
    2,570
    This definitely looks like something my wife & kids would be into. They're mad into wordament & hexiled.
     
    JayJennings likes this.
  10. JayJennings

    JayJennings

    Joined:
    Jun 24, 2013
    Posts:
    184
    I've weighted the letters somewhat and it seems to be better using random words -- and without using the "known good sets of letters" the swap tokens become much more valuable and I think the game is more fun.

    http://masteringunity2d.com/wordini/index.html

    You can try it out if you like, although it's harder to play with a mouse than tapping with your finger on a phone or tablet -- especially as it gets faster about level 5.

    There's also no way to really quit the thing -- consider it somewhere between alpha and beta. :)

    Jay

    PS - Suggestions are welcome.

    PPS - You shouldn't be able to get two Qs in one rack, but at this point you can still get a Q without a U.
     
  11. tedthebug

    tedthebug

    Joined:
    May 6, 2015
    Posts:
    2,570
    Should this work on my iPad over wifi? It opened the browser but is just spinning.

    You should post the link into the Friday feedback as well
     
  12. JayJennings

    JayJennings

    Joined:
    Jun 24, 2013
    Posts:
    184
    I haven't tried a WebGL build yet, I'll do that in the morning. This one requires the Unity plugin, so desktop. Sorry I didn't make that clear.
     
  13. tedthebug

    tedthebug

    Joined:
    May 6, 2015
    Posts:
    2,570
    This is hard on keyboard, especially since I couldn't hit enter to submit the word & can't touch type. I had to type the word then find the mouse to submit the word.
    I didn't really notice what was happening with the character or anything as I was watching the letters so didn't realise I'd won or died until it ended. I also had some words that didn't exist but I'm positive that is just the dictionary being used (I tried dob which here is used to mean telling on someone e.g. a kid that goes & tells the teacher what someone has done just dobbed on that kid & is a dibby dobber).

    * This would work on pc if you can map the letters to the keyboard so players can just type the words & it checks each letter typed against the ones on screen, & of course let Enter be used to submit the word.
    * I died with the amazing hand of GFODQUU & didn't even think of using the swap tiles (maybe because the icon was small & I was trying hard to find words?). Perhaps after a set time where no letter has been selected it could flash/sparkle/pulse to remind the player?
    * a variant for hardcore? have the platforms be different lengths & the character doesn't automatically jump unless they have a jump token that is earnt via words e.g. 2x3 letter words = 1 jump token, 4+ letter words = 1 jump token, doing a 3 letter word & then a 4 letter word earns 1 jump token & cancels the 1/2 already earnt from the 3 letter word (so it is wasted).
    * a variant for kids/easy mode: change the weightings or use the preferred word letters so that little kids have time to learn & spell lots of 3 & 4 letter words.
    * to increase panic, do something with the sound as the player gets within maybe 2 platforms from the last existing one, sort of like the way space invaders made you unknowingly panic as the enemies got closer & the music sped up.

    Just ideas, feel free to use, modify, ignore as you want. Overall it is fun & could really help kids learn spelling as well as be a game adults could play.
     
    JayJennings likes this.
  14. JayJennings

    JayJennings

    Joined:
    Jun 24, 2013
    Posts:
    184
    My intention is to give the ability to use the keyboard to type and submit words -- I'm just new to Unity and haven't figured out the best way to handle that, yet. With keyboard access I think you could get MUCH higher scores.

    I love the idea of sparkling the swap button when the guy is getting too close to the end. I think I'll do that. Right now I've added something that, while I like the intention, the implementation isn't quite right...
    • When the runner lands on the last platform all the letter tiles turn red.
    • When you've created enough platforms for him to reach the end, all the letter tiles turn green (so you can relax, if you want, or keep making words to drive up the score).
    Instead of turning the tiles different colors, though, I'm thinking of a red or green glow around the letters. As soon as I figure out how to do that I'll try it. But turning the tiles red *does* increase my panic and reminds me to hit the swap button unless I have a word ready to go. :)

    http://masteringunity2d.com/wordjumper/index.html

    There's the latest version if any care to try it (requires Unity plugin). You can hit the "Watch Ad" button between levels to refill the swap tokens without actually watching an ad. :)

    Thank you so much for the feedback!

    Jay

    PS - The name Wordini was taken, as was Jumpy Words, so Word Jumper is the working title. Naming it will be the hardest part, I think.
     
  15. Not_Sure

    Not_Sure

    Joined:
    Dec 13, 2011
    Posts:
    3,546
    I would weight the odds of letters drawn based on letters used in your database, then I would randomly draw a set, then see how many words it can make, then if it is too many or too few redraw the letters.

    EDIT: Oh and I would use what is too many words or too few based on the game's difficulty.
     
    JayJennings likes this.
  16. Ony

    Ony

    Joined:
    Apr 26, 2009
    Posts:
    1,977
    I would start with the words. For lower levels, randomly choose a four letter word from your database of words. Take that word and then add three more random letters to make seven letters total. Now mix up the letters and present them in th rack.

    As you progress in difficulty, say every few levels, choose a word with more letters, so for the next difficulty level have it randomly choose a five letter word from the database, add two more random letters, mix them up, and present them in the rack.

    This will guarantee that there will always be at least one word the player can make from the rack, and will also eliminate things like lonely Qs without a U (unless you have words which have a Q but no U in the database). No reason to spend a bunch of time weighting letters when you can have your word database do all the work for you, pretty much instantly.
     
    Last edited: Jul 25, 2015
  17. Not_Sure

    Not_Sure

    Joined:
    Dec 13, 2011
    Posts:
    3,546
    Eh, letter frequency isn't that hard though. Here it is:

    Relative frequency in the English language
    a
    8.167%
    b 1.492%
    c 2.782%
    d 4.253%
    e 12.702%
    f 2.228%
    g 2.015%
    h 6.094%
    i 6.966%
    j 0.153%
    k 0.772%
    l 4.025%
    m 2.406%
    n 6.749%
    o 7.507%
    p 1.929%
    q 0.095%
    r 5.987%
    s 6.327%
    t 9.056%
    u 2.758%
    v 0.978%
    w 2.361%
    x 0.150%
    y 1.974%
    z 0.074%
     
    JayJennings likes this.
  18. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    Another alternative is to solve each puzzle. You can then adjust the targets based on knowing exactly how many words there are.
     
    Not_Sure, JayJennings and Ony like this.
  19. JayJennings

    JayJennings

    Joined:
    Jun 24, 2013
    Posts:
    184
    I can see a couple good reasons for determining what words can can be made from each set -- first, if there's just (or almost) nothing I have the option of throwing it out before giving it to the user. Second, if the user dies with that set and would like to see what they missed, I could show them all the possible words.

    Thanks.
     
    Ony likes this.
  20. tedthebug

    tedthebug

    Joined:
    May 6, 2015
    Posts:
    2,570
    wordament (online boggle basically) does something similar to that. At the end of the game you see a list of all the words you got & a list of all the words that were possible. That's how I learn they use a dictionary with words that are just plain spelt wrong.
     
    JayJennings likes this.
  21. Not_Sure

    Not_Sure

    Joined:
    Dec 13, 2011
    Posts:
    3,546
    I like this thread.

    My I intention is to create a set of characters in the Bravely universe and have each one represent a charity. One for child abuse, one for illness, one for poverty, and one for education.

    For the education character I want to start with some word game. This thread has given me a lot of insight on what's involved.
     
    JayJennings, tedthebug and Ony like this.
  22. SpaceMammoth

    SpaceMammoth

    Joined:
    Jan 2, 2013
    Posts:
    220
    This is an interesting thread, you have some good suggestions here.

    Here is my suggestion - don't assign single letters, assign consecutive pairs of letters or threes, taken randomly from a dictionary of words. If your seven letter set is made from 2 pairs and a set of three, you will have letters that naturally go together. You wont just have solved the QU problem but also a whole load of other less obvious problem cases. Randomize the order of all the letters and nobody will know, it will just feel like you are more often producing good sets of letters and they will naturally have the right weightings for the language in question.
     
  23. JayJennings

    JayJennings

    Joined:
    Jun 24, 2013
    Posts:
    184
    That's a really interesting idea, although with my game's 3-letter word minimum and total rack of 7 I'd have to go with 2 words + 1 extra letter, or 1 word + x extra letters. The weighting I'm using now seems pretty good, but I may play around with your suggestion to see what it feels like in action.

    NTAHSK!
     
    Ony likes this.
  24. JayJennings

    JayJennings

    Joined:
    Jun 24, 2013
    Posts:
    184
    Thanks again for all the ideas posted here -- this was my first time really looking for some help in the forums and I'm blown away by the response!

    I'm at a solid beta stage and the internals probably aren't going to change drastically for v1 -- if you'd like to check it out, here's a link to the web version:

    http://masteringunity2d.com/wordjumper/index.html (requires the Unity plugin)

    My plan is to publish for iOS (and possibly Android) and then in v2 I'll add keyboard support so desktop/web will be possible -- just not sure how I'm going to monetize those since UnityAds is mobile only.

    Again, thanks!

    Jay
     
  25. tedthebug

    tedthebug

    Joined:
    May 6, 2015
    Posts:
    2,570
    Make it Facebook, they have a squillion ads so maybe they will share.
     
  26. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    It plays pretty nice. Got 392 points. But the difficulty curve is way messed up, as you pointed out.

    Be aware that the letter s is insanely overpowered in games like this. It lets you do a plural in every word. Not sure how you want to deal with that, maybe add the s in as a bonus letter you get with one of the tokens or something?
     
    Ony likes this.
  27. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    No. Facebook does not share a cent of advertising revenue with developers. Even though they place ads along side your game. And their ads frequently cause frame rate spikes in the game when they change.

    To monetise on Facebook you need to place your own ads, which cuts actual game real estate down to nothing. Or use IAP.

    Disclaimer: I'm relatively unhappy with the experience developing games on and for Facebook.
     
  28. Gigiwoo

    Gigiwoo

    Joined:
    Mar 16, 2011
    Posts:
    2,981
    @Ony - Simply brilliant! Inspires me to make a word game.
    Gigi
     
    Ony likes this.
  29. Ony

    Ony

    Joined:
    Apr 26, 2009
    Posts:
    1,977
    Hah, cool, thanks Gigi. :) Go for it!
     
    Gigiwoo likes this.