View Full Version : 16: Spelltris
I'm surprised I haven't seen this before, but I'm going to take the obvious idea and run with it. I think this will be easy to do, Miktar thinks it will be hard, so it's probably somewhere inbetween. This means it's probably got some potential.
Anyway, the idea is pretty simple. It's a tetris-like game where letters fall from the top and you move them to try and arrange them into words at the bottom. Complete words for high score. That kinda thing.
Design Notes:
I'll probably try and limit the play area to about 50x20 characters (1000 is enough isn't it?) since this would fit nicely with room for a score display etc on an old-school 80x25 text display, which I'll probably try and emulate as closely as possible.
Tetris normally only shows the next block, but spelling's a bit more complicated so there will probably be a much larger queue of "incoming" letters. Miktar suggested an entire row at the top and the letters fall from it sequentially.
Scoring shouldn't be all that hard. I'll need a dictionary file (probably not too hard) and can probably rip some string matching and file handling code out of CoverDVD. Matches will probably be done both horizontal and vertical. Doing lots of matches could get expensive in CPU/memory terms but there should be a shortcut since we're only dropping one letter at a time. This means only one row and one column need to search for any given letter dropping.
Deleting words underneath existing characters and having them drop makes things a bit more complicated. But GM's "with" feature should make this easy, since all the characters can check beneath them for open space simultaneously and fall down if needed. anything that moves records its final row and column, duplicates get tossed, and the rest get normal dictionary searches.
Multiple words completed at once will probably generate a multiplier, applied to the total number of letters used. Things like "FISHES" will count as both "FISH" and "FISHES" so letters like S, E, D, I, N, G etc will be pretty valuable and have a bit more strategy. Comboed words from letters displaced by previous matches in the same cycle will do the same, except their multiplier and the multiplier from the original match will multiply, repeat as many times as the combo chains. So it's not unreasonable to think we may see 3 digit multipliers at some point, which is fun.
Difficulty levels might be added once the base prototype is running. I'm thinking changing the minimum number of letters to trigger a match (3, 4, 5?) would make it scale nicely because it's both harder to match 5 letters than 3 but also easier to set up longer words for more points if you're good.
FuzzYspo0N
05-09-2007, 10:42 AM
This sounds like a cool idea
A few ideas :
Maybe the next letter block, have say a time frame to push a number between 1 and say 5 letters...
like
[ a g e y s ]
[ 1 2 3 4 5 ]
and lets say you have a 5 second window to choose which letter you want to fall, and that way you have to take your mind to look at what words you have and which letter will be most appropriate for your current status, and that way it fits miktars idea of the line at the top so if you have a Z there, for example, it blocks that hole until you can get rid of it?? or have a kind of "bomb" or power up that kills a letter in the incoming queue to open space for new letters, for more choices...
even doing as you said is great,
You can also look at giving each letter a score value like scrabble, where it has a value based on how hard it is to use the letter in a word
DrDeth
05-09-2007, 10:53 AM
I thought of this too. I think its a great idea. Good luck! ;)
Nandrew
05-09-2007, 11:04 AM
Ohgawd, he's whipping out another "-tris" title ...
gg, all. ^_^
Chippit
05-09-2007, 12:24 PM
If you're still looking for dictionary files, this collection (http://prdownloads.sourceforge.net/wordlist/12dicts-5.0.zip) is the best one I know.
Thaumaturge
05-09-2007, 09:58 PM
Interesting... I like it, Gldm. ^_^
I particularly like the strategic element that you point out in the increased value of letters such as 's', 'e', 'd', 'i', 'n' and 'g'.
dislekcia
06-09-2007, 01:56 PM
This might be a really, really difficult game to play. Because you have so many letters to choose from you'd need a lot of space and planning to be able to make words... The big issue in my head seems to be the sheer number of possible letters falling, other people seem to think the same, hence the selection/simplification ideas.
A good possible solution would be to make letters fall in a structure or system that has multiple letters and lets you pick one while it's falling, the same way that Tetris lets you select which orientation you want your tetra in. I'd suggest either cubes or groupings of 4 letters (4 makes more sense as it's easier to simply rotate a 2D object - one letter per "side" - bottom side letter is used when the block comes to rest) that way people could plan a lot more in advance without having to have huge "dumping grounds" for letters that simply don't fit into what they're trying to build.
-D
I've been thinking about the selecting letters thing, and I think it's a good idea. But do you think it's too complicated having people select a letter while steering the previous one as it falls? Should there be some kind of delay timer after the letter lands before the next one drops or not? And if so how long? I don't want to just hold the game while they pick the next letter as that gives infinite time to plan moves.
dislekcia
06-09-2007, 03:15 PM
I don't think that people should select a letter independently of guiding another one as it falls, that's why I suggested the block/cube idea: You're guiding a falling block with 4 different letters on it; While you're guiding you can rotate the block to make a different letter be the "prime" letter; Once the block comes to rest, the prime letter is then added to the gameboard.
EG, falling block:
r
u+i
L
rotate:
u
l+r
I
Am I explaining this right?
-D
Ohhh that's kinda nifty. I'll have to think about it. I was thinking more of the 5 letters at the top and selecting one by pressing 1-5 on the keyboard. the rotation thing is interesting... I'd have to make it check for duplicates but not that hard...
How about making it all vertical though:
U
L
R
I
and then the up key rotates it by shifting the bottom letter up and wrapping around?
I wonder if 4 is a good number or should I use less or more... or maybe that should be in the difficulty setting... Easy = 5 letters per drop, 3 letter words min, medium = 4/4, hard = 3 letter drop and 5 letter word min.
The only thing is if I'm doing 50 wide by 20 high to fit my text-mode limitation, that's a bit cramped... I'm wondering if maybe I should put it on its side... letter groups shoot in from the right and fly left. (left-right means building words backwards, probably too annoying).
Any thoughts on that?
cairnswm
07-09-2007, 08:27 AM
Why not just used normal shaped tetric blocks and make the player plan on all the letter, ensure that the letters in the blocks are creatd according to commonality in English and then the player must work on groups of letter. Or even make like the L block uses sound groups - so you yet ION and IE and TH sound groupings on a regular basis that the player has to use.
Why not just used normal shaped tetric blocks and make the player plan on all the letter, ensure that the letters in the blocks are creatd according to commonality in English and then the player must work on groups of letter. Or even make like the L block uses sound groups - so you yet ION and IE and TH sound groupings on a regular basis that the player has to use.
I don't want it to be a completely boring utter ripoff of Tetris, so I don't want to use the "normal" blocks. Doing a commonality sort or phonetic groups would add another layer of pain in the ass on the coding side, and I doubt it would make things much more fun.
cairnswm
07-09-2007, 11:01 AM
I don't want it to be a completely boring utter ripoff of Tetris, so I don't want to use the "normal" blocks. Doing a commonality sort or phonetic groups would add another layer of pain in the ass on the coding side, and I doubt it would make things much more fun.
Personally I think it would be more challenging. On a large board (20 cols) just dropping letters would be too easy.
I can add a funtion call to my Dictionary Library that will return a char based on the frequency of the char within the whole dictionary (or even a function to return the prevalence of the char in the dictionary)
dislekcia
07-09-2007, 01:11 PM
I really like the common ending idea. That feels solid.
I think the tetris blocks v single blocks idea needs testing. You might be able to combine the two though and have multiple blocks strung together as combo bonuses, etc.
Have you thought about how compaction is going to work? Are we talking blocks compacting as supporting ones fall away, does an entire row need to be eliminated? Will words created by compaction combo? Etc.
-D
I really like the common ending idea. That feels solid.
I think the tetris blocks v single blocks idea needs testing. You might be able to combine the two though and have multiple blocks strung together as combo bonuses, etc.
Have you thought about how compaction is going to work? Are we talking blocks compacting as supporting ones fall away, does an entire row need to be eliminated? Will words created by compaction combo? Etc.
-D
I'm not sure I get the common ending idea exactly.
The tetris blocks I can test but I think having to do spatial (block rotation) as well as linguistic (spelling) at the same time is going to frustrate people. But it may merit testing to find out.
Compaction yes. When words are successfully spelled they pop out, and the letters compact. Quick pseudocode:
with (block)
{
Is there empty space under me?
{
Move down
}
}
Check for spelled words.
So it shouldn't be hard. No entire rows don't need to be eliminated. Yes words formed in compaction will combo as I said in my initial post. When a word is formed you get points based on # of letters, and multiplier (for multiple words completed simultaneously). Compaction-generated hits add their letters to the pool, and *multiply* the multiplier with theirs (minimum 2). So for example if I make FACE and FACES when I drop an E in, that's 4 + 5 * 2 = 18. But until compaction is done there's a chance for more than that. If dropping letters make FEAT and FEATURE in one hit, it's + 4 and + 7 to the base letter count, and *3 multiplier for a total of 6. So it would be 20 * 6 = 120. If it had also made STOP in the same compaction cycle (i.e. before the system stabilizes) that would add + 4 and multiplier of *2 again, so you'd get 24 * 12 = 288. Getting multi-combos will generate lots of score really fast but probably be hard to do.
dislekcia
07-09-2007, 02:44 PM
Cool. Can players spell words vertically as well as horizontally? Have you considered allowing "backwards" words? It might be useful to maximise spelling possibilities for combos and compaction benefits. Then when the word is complete those letters animate to the centre of the screen in the right order and are added to your score - or something.
-D
Cool. Can players spell words vertically as well as horizontally? Have you considered allowing "backwards" words? It might be useful to maximise spelling possibilities for combos and compaction benefits. Then when the word is complete those letters animate to the centre of the screen in the right order and are added to your score - or something.
-D
Vertical and horizontal = yes, planned from the start. Backwards = no, but I'm still debating it.
Thaumaturge
07-09-2007, 09:19 PM
I think that I will vote for Dislekcia's suggestion of blocks that contain multiple letters, but of which only one is selected and used (if I read that suggestion correctly). Keeping an eye on appropriate block shapes, potential words, and the proximity of the block to the pile sounds to me as though it might be a bit much (but then again, I don't think that I've ever become very good at Tetris itself, probably for lack of time spent playing it, so my perspective may be overly biased).
Nandrew
07-09-2007, 10:27 PM
I wonder if 4 is a good number or should I use less or more... or maybe that should be in the difficulty setting... Easy = 5 letters per drop, 3 letter words min, medium = 4/4, hard = 3 letter drop and 5 letter word min.
Just one quick note here. I like the ideas of minimum word lengths based on difficulty, but I'm wondering about the suggestion of giving more letters per drop on easier difficulties (assuming that this game model actually gets used). Sure, there's more possibilities, but wouldn't players have more options/variables that they need to consider as a result? In other words, wouldn't any given drop in Easy be more 'complicated' than, say, a Hard one, despite the benefits of being more 'open'?
Also, have you considered deviating a little from the tetris approach in the way that you can employ a time limit and just see how much a player can score in a set time? Maybe even being given a letter jumble two or three layers deep to start with.
I've been playing quite a few multiplayer word games recently, and the e-peen factor involved with proving your mastery of the language compared to opponents is quite satisfying in time-trial sort of games.
Meh, just my suggestions anyways.
Just one quick note here. I like the ideas of minimum word lengths based on difficulty, but I'm wondering about the suggestion of giving more letters per drop on easier difficulties (assuming that this game model actually gets used). Sure, there's more possibilities, but wouldn't players have more options/variables that they need to consider as a result? In other words, wouldn't any given drop in Easy be more 'complicated' than, say, a Hard one, despite the benefits of being more 'open'?
Also, have you considered deviating a little from the tetris approach in the way that you can employ a time limit and just see how much a player can score in a set time? Maybe even being given a letter jumble two or three layers deep to start with.
I've been playing quite a few multiplayer word games recently, and the e-peen factor involved with proving your mastery of the language compared to opponents is quite satisfying in time-trial sort of games.
Meh, just my suggestions anyways.
The thing is I'm fairly sure that the more novice users will be focused on the immediate next letter they can get. Most likely they'll be trying to spell a word and thinking "I need a Y!" more than planning several steps ahead. So having more letters per falling group that can be rotated makes for an easier solution to their approach. Yes there are more letters to consider, but most likely these players are searching for a specific letter to complete a word they've already planned than trying to find the optimal letter out of the block to use, so more letters means a higher probability of the "right" one being in there.
More advanced players will probably be the ones who want to consider the uses for all possible letters in the block as it falls, which will be hard in the time constraint, so they'll actually make it harder for themselves with 3 letters than a novice user does with 5, because their approach is different.
So basically more letters = easy for novices, hard for experts. Less letters = hard for novices, easy for experts.
Word match size likewise has a similar function, since more advanced players want to spell longer words for more points, and novice players just want to spell as many as possible.
It's entirely possible that there will be a reverse-curve in the difficulty. Players will start having lots of letters to make simple words, and then progress to where they consider more than one letter and bigger words for combos, then come back and handicap themselves with too many letters to consider and the danger of accidentally completing a word because it has a 3-letter substring that's in the dictionary.
I think I may need to explain the difficulty settings instead of just having an "easy medium hard" slider. But that's OK.
dislekcia
10-09-2007, 03:14 PM
The answer to the difficulty question lies in prototyping ;)
All you need to do is give people two sliders and they'll tell you which settings were the hardest/easiest. It may be that you might just have to stick with both sliders if you can't define a solid progression though...
-D
Powered by vBulletin® Version 4.2.4 Copyright © 2019 vBulletin Solutions, Inc. All rights reserved.