Tetris!

  Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
Asteron Offline
"Skilled" Python Coder
Posts: 928
Joined: Feb 2004
Reputation: 0
Post: #16
Sorry I'm used to spamming commits in cvs. So changelog is generated from commit comments? How do I view it?
find quote
pike Offline
Project Manager
Posts: 4,835
Joined: Sep 2003
Reputation: 29
Location: Sweden
Post: #17
I gave this a test and here's some findings:

*) I'm still on a CRt tv and it's hard to see where is gonna land, something with colors I believe that makes it harder than it oughta be
*) would be nice if there's a tiny tiny pause before next block starts falling, as it is now, it feels like there is 0 delay
*) Agree that there needs to be a way to "nudge" block downwards a little faster

other than that, looks promising!

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


[Image: badge.gif]
find quote
Asteron Offline
"Skilled" Python Coder
Posts: 928
Joined: Feb 2004
Reputation: 0
Post: #18
pike Wrote:I gave this a test and here's some findings:

*) I'm still on a CRt tv and it's hard to see where is gonna land, something with colors I believe that makes it harder than it oughta be
I think the blue block on a dark blue background is a problem. I will either desaturate the background or change that block color to gray. A popular option is to add a "ghost piece" beneath the current piece where it will land, that might look a little obtrusive.... maybe vertical gridlines will help?
Quote:*) would be nice if there's a tiny tiny pause before next block starts falling, as it is now, it feels like there is 0 delay
I think you should get in the habit of looking at the next block before the current one sets Smile When things get fast you will need to plan ahead
Quote:*) Agree that there needs to be a way to "nudge" block downwards a little faster
Right trigger currently increases gravity (this might be too fast? I will look at halving the frequency). Down and A does hard drop (locks the block). Up brings the block to 2 blocks above the ground.
Quote:other than that, looks promising!
Thanks!

I just added a pause screen but still on the agenda for v1.0:
1. Revisit sounds (I added a few more recently)
2. High-score saving
3. A "game over dialog" with---

Game Score: XXXX
High Score: XXXX
[new game] [high scores] [submit score] [quit]

Im not sure if the online score will make it into v1.0 but I will try!
Ill get it out this week hopefully.
find quote
pike Offline
Project Manager
Posts: 4,835
Joined: Sep 2003
Reputation: 29
Location: Sweden
Post: #19
woohoo, level5 is faaaaaaaaaaaaaast

when you increase gravity (mapped to left, right would feel more natural), I think tetris should abort this once the piece has 'settled' otherwise you don't have a chance unless you release trigger quick as he**. hope you understand what I mean...

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


[Image: badge.gif]
find quote
Asteron Offline
"Skilled" Python Coder
Posts: 928
Joined: Feb 2004
Reputation: 0
Post: #20
Good idea! Maybe disable the extra gravity until one or two ticks of the timer have passed on a new piece? EDIT: done

I thought I updated the SVN copy to right trigger but I guess I havent yet.

Definitely need better movement sounds Undecided

The speed maxes out near level 7 I think. I've only gotten that far once and quickly died. Im not sure of my score at the time since Im missing the game ending dialog but it was more than 1000. Im anticipating the best players to get maybe 4000.

EDIT: added a ghost piece for now.. am still working on highscores
EDIT2 High scores all there! Need to Make the score gui prettier and save/load high score settings
(This post was last modified: 2007-01-13 03:58 by Asteron.)
find quote
Nuka1195 Offline
Skilled Python Coder
Posts: 3,910
Joined: Dec 2004
Reputation: 18
Post: #21
I just want it noted that my high score was done on the PC, where it's not as responsive and the keyboard is harder to use. Smile
find quote
pike Offline
Project Manager
Posts: 4,835
Joined: Sep 2003
Reputation: 29
Location: Sweden
Post: #22
last time I tried tetris, it had 'next block' in upper left corner. this feels unnatural to me (would maybe be better in left bottom). Also, maybe white borders instead of black might work better, since most colors are on the dark side

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


[Image: badge.gif]
find quote
Asteron Offline
"Skilled" Python Coder
Posts: 928
Joined: Feb 2004
Reputation: 0
Post: #23
After playing for a while I just kinda notice the color in my peripheral vision and know which it is. I dont think lower left is good. If your eyes are near the bottom then the board is relatively empty and so you should have enough time to see the piece. Later on as the board fills up your eyes would tend to move higher and you have less time to make decisions.

However, as of my last commit I just hit v1.0! I am pretty happy about it too and am submitting this to xbmcscripts.com

I will add theme support to a 2.0 version if that happens. Something I had in mind for blocks:....

Angry Rolleyes Confused Stare Nod Oo

Haha
(This post was last modified: 2007-01-17 05:38 by Asteron.)
find quote
Nuka1195 Offline
Skilled Python Coder
Posts: 3,910
Joined: Dec 2004
Reputation: 18
Post: #24
the text now overruns the dialog to submit start over..., on the buttons in 720p.

Also, it's best if you don't include the thumbs.db, it conflicts if you already have the file.
find quote
Asteron Offline
"Skilled" Python Coder
Posts: 928
Joined: Feb 2004
Reputation: 0
Post: #25
I was thinking it looked better in 720p without it being super stretched... but I thought the text was barely in, maybe theres a font difference. Did you prefer it the other way?

Future Plans:
v1.1
Theme support
Control remapping
Default Music?
Sound On/Off...
Fullscreen mode? Not sure how to best use the extra space... I tend to not maximize stuff when using a computer.

v2.0
Remade as a widget for the widget manager (might strip ALOT of functionality out)... make it super small on the screen
(This post was last modified: 2007-01-17 08:20 by Asteron.)
find quote
Nuka1195 Offline
Skilled Python Coder
Posts: 3,910
Joined: Dec 2004
Reputation: 18
Post: #26
I don't use the default fonts and I've edited font.xml for 720p so the fonts are bigger. The default fonts do look ok and I like it better not stretched, so I guess I would leave it the way it is, but...

Maybe an option for small pad and large pad. The current (not stretched is a little small from 10' away, for me anyways. the stretched, though the aspect ratio is off, vertically is easier for me. Maybe 525-550 for the height for large and keep the existing for the small.

Also could you make the controls configurable? I find myself in the heat of level 5, pressing down when i want to just go left. Might just be my controller or me. Smile Tetris in MAME is A&B rotate piece. DPAD L&R for moving left and right and DPAD Down for gravity. Or an option to disable the fast drops, I think gravity is enough.

Maybe press start to start the first game or go to the highscores dialog on script startup.

Maybe no audio on gravity, it might work smoother that way.

And for the next piece location, again Tetris in MAME places it directly above the playing field. I guess you would have to redesign your pad, but it would stand out better than where it is. Though once you get use to it, i guess it doesn't matter.

Maybe a quit/resume dialog to ask to quit, if a game is running.

The straight piece comes out flat in MAME also.

Great game though.
(This post was last modified: 2007-01-17 08:52 by Nuka1195.)
find quote
Asteron Offline
"Skilled" Python Coder
Posts: 928
Joined: Feb 2004
Reputation: 0
Post: #27
Thanks for the feedback!

I have a suspicion that the gravity is smoother than it sounds because it is concurrent with the timed gravity which adds its own beep. I'll try playing with the sound to see if its any better. Really I almost never use that thing since the other drops are a lot quicker but I think alot of people are familiar with the gravity one though so I want to make it better.

It looks like configurable controls is definitely in for v1.1. ..... Heh I originally intended for this thing to be light and quick but the feature creep is definitely coming in. I think I will fork it come widget time and maintain a full-version and the widget version.

I could handle widescreen alot better if I had more control over setCoordinateResolution. It assumes you always want to stretch stuff to fill the screen but that is not a good idea for things like logos and pictures or anything you want to stay in the same aspect ratio. Hmm if there was a setManualResolution(720,480) it would be easier... or just add keywords to the existing call. I'll look into how easy that would be to add to the module.

Actually could your skin builder help here? I am worried about losing the ability to quickly add controls though since they would span multiple xml files. Is this issue real? Also the skin builder was broken recently and am not sure how stable it is... I normally generate alot of my controls programmatically but this script had a few sprinkled in each dialog and is more skinning friendly (dont know how the tabs will work though). I have a feeling though that the skin builder is better suitted to theme support than different resolutions...

I dont really see the point of a quit/resume dialog since you can quit and pause at any time... I could add the the high scores menu button to the pause dialog though... The reason it currently has only the one control is because check boxes dont have any focus texture... I guess in XBMC they can now only be found in the settings menus which use a different highlight control.

The tetris guideline specifies all the pieces should spawn horizontally 2 rows above the playfield. But I usually drop them vertically and tended to prefer that (even though this makes the end game more difficult). If others want it more official style though I'll relent.

Anyway I am satisfied with v1.0 for now. Once blittan brings it up on xbmcscripts Ill make an announce thread in the other python forum but people can grab it from my sig right now Smile
find quote
Rockstarr Offline
Skilled Python Coder
Posts: 78
Joined: Mar 2006
Reputation: 0
Location: Leipzig, Germany
Post: #28
Great work! Smile
It becomes really hard in level 5. Wink

Highscore list in pause menu is a good idea.
So you can check how much points are left to the first place. Wink
find quote
Nuka1195 Offline
Skilled Python Coder
Posts: 3,910
Joined: Dec 2004
Reputation: 18
Post: #29
Using guibuilder, you add a <resolution> tag at the top of the xml file and then it does the setCoordinateResolution() for you. It also adapts for 16x9 displays. *see setResolution() in guibuilder.py

Apple Movie Trailers uses multiple xml files. The main window, a context menu and the settings window. It has the updated guibuilder.py in svn. I still need to update the list control, that's changed alot, but it does work.
(This post was last modified: 2007-01-17 20:08 by Nuka1195.)
find quote
chunk_1970 Offline
Skilled Python Coder
Posts: 243
Joined: Jan 2005
Reputation: 0
Post: #30
Just got to say....

Superb..Lovely graphics gameplay is spot on.

Intel Corei3 / 16GB Ram / 120GB (SSD) / 10TB (ZFS): Lubuntu 13.10 / XBMC Gotham 13
Additional Systems: Apple TV2, RikoMagic MK802 IV, Asrock ION 330.
:shocked:
find quote