Omnimaga
Calculator Community => Other Calc-Related Projects and Ideas => TI Z80 => Topic started by: tifreak on September 15, 2013, 01:51:08 pm
-
The B stands for BASIC, since I know very little asm. :p
You might be asking "Why BASIC? We already have TetricA, and it's awesome."
And I will agree with you on that, it is awesome.
This is actually my first forays into building a tetris game. I've been trying to expand myself into other things beyond that of RPGs, and since I've never done this before, I figured this could be a fun learning experience. :)
As it stands right now,
I have the pieces to where they fall to the bottom
Full rotation on all 7 pieces and their varying forms
The pieces do not rotate past the right side boundary
The program is 1870 bytes in size
(http://tifreakware.net/tifreak8x/btetris/rotate2.gif) (http://tifreakware.net/tifreak8x/btetris/rotate1.gif) (http://tifreakware.net/tifreak8x/btetris/Firsttest.gif)
And the DCS8 icon: (http://tifreakware.net/tifreak8x/btetris/icon2.gif)
Thoughts so far? :)
-
looking nice!
And i guess the actual playing area is so small due to the slow screen?
-
Not really, is just me trying to follow the rules. Tetris is generally created on a 10w x 20h board. Since Pt-On( doesn't have colors when choosing options 2 and 3, I went with option 1 which puts 3x3 squares up. It sadly makes the playing area a bit smaller. It also gives me the ability to minimize code and make things more efficient.
-
oh, i see
-
Got a bit more working this evening:
(http://tifreakware.net/tifreak8x/btetris/fallnstack.gif)
And right after I stopped that screenshot, I decided to see how it handled rotating the piece and seeing if that stacked properly:
(http://tifreakware.net/tifreak8x/btetris/fallnstackrotatestack.gif)
So, what do you guys think so far? :)
I'm going to try throwing it at my calc and 'play' as it stands right now. I know I still have to do the line fill checking, but that can wait until I'm sure every piece fits in properly and all the checking is done correctly.
-
I think it's a nice effort, but the play area really is tiny. :/
-
I can make it a little bigger and ignore the set rules of Tetris, without overly affecting the size of the program, just the size of the matrix. I've thought about doubling the size of the sprites into 6x6 blocks.. The only thing that would add would be.. 4 times the amount of Pt-On( commands, and would slow down drawing and erasing of the blocks. I might look into that once I have a fully working version going. Kind of up in the air, I really want to keep this below 3kb if at all possible.
I also fixed all collision detection and hid code off in boolean blocks to speed up the loops, so it goes a bit faster now. :)
Thanks at least for the partial compliment. lol
-
Could you perhaps use the ASM program that puts it in 160x120 mode and stretches things? *edit* what about using a series of (non filled) lines?
-
I haven't looked into the asm bit, honestly not even sure where to get it.
As to using the Line(s, I'd have to modify how the pieces are stored, which is currently a list in a format of {how far right, how far down, how far right, how far down, how far right, how far down, how far right, how far down} which is in values of 0,3,6,9, since Pt-On( with option 1 is 3x3 pixels.
-
I think tr1p1ea wrote it IIRC. You could poke him if you're interested. I'd just like to see something that gets you a better size playing field but maintains decent speed. :)
-
did you also check for collision above your piece when turning, so that if you put the piece inside a 'cave' it could get higher when turning...(do you know what i mean?)
-
I will have to see if it handles that or not, Sorunome. Sounds like something I might have to add into the rotation detection code. Though, the pieces themselves all start in the top left block of the sprite, but I don't think I've taken into account the possibility of rotating a piece into another piece. Something else to look into :)
-
Looks kinda good for BASIC. I assume that it would be best to not play this for too long at once, though, else your eyes will get tired from the small screen. :P
-
lol I guess if you have vision problems, it could pose an issue. This was more to try to make it in the first place, since I've never done it before! :)
On a side note:
(http://tifreakware.net/tifreak8x/btetris/linedropworks.gif)
I got line dropping fully working now. I know after it drops it looks like the pink is gone, but it was there. jstified just has issues with color screenshots :<
You can check out the program here: http://tifreakware.net/tifreak8x/btetris/BTETRIS.8xp
I still need to add scoring and do some revamping of the pieces moving, but otherwise, this is pretty close to the final version.
2nd/Alpha flips, left/right moves pieces, Enter pauses, MODE quits.
-
so tiny x.x
But still nice! :D
-
lol Thanks Sorunome. :)
-
It's 'finished' and uploaded!
http://www.cemetech.net/programs/index.php?mode=file&id=969
-
I like the way the bricks fall when you get rid of some lines!
-
Thanks! It was the only sane way I could come up with to make them fall down. :) Sticking strictly with BASIC, that is.
-
Idea : use stat plots
-
Is the refresh better on-calc?
-
Sorunome: Yeah, screenshot program is a bit sluggish for color calcs, was designed to deal with the black and white. It's on Kerm's to fix list.
Eiyeron: I've never used stat plots before, so I'd have to learn how to use them in this context and rebuild the game around that. I'm not sure it's really worth the effort, as the game is pretty fast as it is, and it was an experiment that I'm deeming fairly successful. :)
Edit:
(http://tifreakware.net/tifreak8x/btetris/screenshot83p.gif)
Back ported to the 83+/84+ :) What do you think?
And this is what it looks like on the normal 83:
(http://tifreakware.net/tifreak8x/btetris/screenshot83.gif)
Kerm took the core of BTetris and turned it into a hybrid game: (http://www.cemetech.net/programs/index.php?mode=file&id=970)
(http://www.cemetech.net/img/ss/001472.gif) (http://www.cemetech.net/img/ss/001473.gif)
I'll be packaging the 83 and 83+ versions up and submitting them shortly.
-
You can now download the various versions here:
TI-83 Version (http://www.cemetech.net/programs/index.php?mode=file&path=/83/basic/games/BTetris83.zip)
TI-83 Plus Version (http://www.cemetech.net/programs/index.php?mode=file&path=/83plus/basic/games/BTetris83p.zip)
TI-84+ Color Silver Edition (http://www.cemetech.net/programs/index.php?mode=file&path=/84pcse/basic/games/Btetris.zip)
TI-84+ Color Silver Edition Hybrid Version (http://www.cemetech.net/programs/index.php?mode=file&path=/84pcse/basic/games/htetris.zip)
:)
-
(http://[http://tifreakware.net/tifreak8x/btetris/startofsomethingbeautiful.gif)
(http://tifreakware.net/tifreak8x/btetris/startofsomethingbeautiful.gif)
Soooo I got this far Very Happy Sadly, it's a bit slow, going to have to see what I can do to potentially increase the speed. But for now, we have downward movement!
The error is stemming from the fact I've not moved from the matrix line checking to a list setup as of yet. Oddly enough, the T character normally used for matrix flipping, I think.
I know not a lot of people will care too much about this particular port, doing it more for fun than anything, now.
-
This looks nice, but I wonder what is causing the slowdown (unless the slowdown is what you mean by error and that it's caused by matrix line checking?)? That said, if you can manage to make it run faster it would be interesting to see how it compares in terms of gameplay with other popular Tetris clones. :)
-
Probably more to do with lists and the fact the 73 is fairly slow. I'm not really sure much can be done to speed things up, but I shall sure try!
Also, the pieces flip perfectly already, so that's awesome :D I just have to set it up so the pieces land and stack properly and clear out as needed.
-
Oh wait it's a 73 version? I didn't realize. That probably explains the slower speed.
-
That's my mistake, I had made mentions on Cemetech about porting to the 73, but never on here. So yeah, this is a thing. lol
It's a challenge because the 73 has no matrices. So I'm using lists for everything, and it's not making it happy.