Omnimaga

Calculator Community => Other Calc-Related Projects and Ideas => TI Z80 => Topic started by: tifreak on September 15, 2013, 01:51:08 pm

Title: TI-84+ CSE: BTetris
Post 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? :)
Title: Re: TI-84+ CSE: BTetris
Post by: Sorunome on September 15, 2013, 02:13:42 pm
looking nice!
And i guess the actual playing area is so small due to the slow screen?
Title: Re: TI-84+ CSE: BTetris
Post by: tifreak on September 15, 2013, 02:16:26 pm
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.
Title: Re: TI-84+ CSE: BTetris
Post by: Sorunome on September 15, 2013, 02:20:01 pm
oh, i see
Title: Re: TI-84+ CSE: BTetris
Post by: tifreak on September 18, 2013, 09:08:12 pm
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.
Title: Re: TI-84+ CSE: BTetris
Post by: TIfanx1999 on September 19, 2013, 07:58:42 am
I think it's a nice effort, but the play area really is tiny. :/
Title: Re: TI-84+ CSE: BTetris
Post by: tifreak on September 19, 2013, 08:30:03 am
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
Title: Re: TI-84+ CSE: BTetris
Post by: TIfanx1999 on September 19, 2013, 08:39:49 am
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?
Title: Re: TI-84+ CSE: BTetris
Post by: tifreak on September 19, 2013, 09:05:40 am
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.
Title: Re: TI-84+ CSE: BTetris
Post by: TIfanx1999 on September 19, 2013, 09:54:30 am
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. :)
Title: Re: TI-84+ CSE: BTetris
Post by: Sorunome on September 19, 2013, 10:48:22 am
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?)
Title: Re: TI-84+ CSE: BTetris
Post by: tifreak on September 19, 2013, 12:04:39 pm
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 :)
Title: Re: TI-84+ CSE: BTetris
Post by: DJ Omnimaga on October 09, 2013, 12:10:28 am
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
Title: Re: TI-84+ CSE: BTetris
Post by: tifreak on October 18, 2013, 07:39:08 am
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.
Title: Re: TI-84+ CSE: BTetris
Post by: Sorunome on October 18, 2013, 06:24:38 pm
so tiny x.x

But still nice! :D
Title: Re: TI-84+ CSE: BTetris
Post by: tifreak on October 19, 2013, 11:52:19 am
lol Thanks Sorunome. :)
Title: Re: TI-84+ CSE: BTetris
Post by: tifreak on October 30, 2013, 09:39:00 pm
It's 'finished' and uploaded!

http://www.cemetech.net/programs/index.php?mode=file&id=969
Title: Re: TI-84+ CSE: BTetris
Post by: AssemblyBandit on October 31, 2013, 01:04:36 am
I like the way the bricks fall when you get rid of some lines!
Title: Re: TI-84+ CSE: BTetris
Post by: tifreak on October 31, 2013, 04:08:37 am
Thanks! It was the only sane way I could come up with to make them fall down. :) Sticking strictly with BASIC, that is.
Title: Re: TI-84+ CSE: BTetris
Post by: Eiyeron on October 31, 2013, 04:32:52 am
Idea : use stat plots
Title: Re: TI-84+ CSE: BTetris
Post by: Sorunome on October 31, 2013, 07:37:18 am
Is the refresh better on-calc?
Title: Re: TI-84+ CSE: BTetris
Post by: tifreak on October 31, 2013, 08:22:34 am
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.
Title: Re: TI-84+ CSE: BTetris
Post by: tifreak on October 31, 2013, 06:09:22 pm
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)

:)
Title: Re: TI-84+ CSE: BTetris
Post by: tifreak on June 05, 2014, 03:01:29 pm
(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.
Title: Re: TI-84+ CSE: BTetris
Post by: DJ Omnimaga on June 06, 2014, 02:48:17 am
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. :)
Title: Re: TI-84+ CSE: BTetris
Post by: tifreak on June 06, 2014, 07:22:26 am
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.
Title: Re: TI-84+ CSE: BTetris
Post by: DJ Omnimaga on June 06, 2014, 12:05:44 pm
Oh wait it's a 73 version? I didn't realize. That probably explains the slower speed.
Title: Re: TI-84+ CSE: BTetris
Post by: tifreak on June 06, 2014, 01:57:17 pm
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.