CodeWalrus

CodeWalrus Website => Contests => Topic started by: JWinslow23 on May 12, 2015, 02:55:57 PM

Title: Bitty Bird!
Post by: JWinslow23 on May 12, 2015, 02:55:57 PM
Have you ever thought Flappy Bird was too easy? Are you easily able to get a score of at least 5 every time you play? Have you been playing so much that you sold all your possessions for some reason in order to keep playing it?

Well, now there's hope :P

Introducing: Bitty Bird! (updated screenie; access old screenie by clicking here (https://img.ourl.ca/BittyBirdv1.gif)
(http://i.imgur.com/nByHRgV.gif)

Bitty Bird packs all the fun and frustration of Flappy Bird into the barest resemblance of a game you can make it into :P . It's also written entirely in TI-BASIC, so the minimalist aspect really shines there ;) .

Press UP to flap your less-than-a-subpixel-long wings, and get through as many of  the definitely-metallic-and-green pipes as you can before you crash! At the end, it shows you your score as individual letters and digits (i.e. a score of 14 would be S C O R E 1 4 flashing on the screen). You can press CLEAR to quit at any time.

It has two programs, BTTYBIRD and BTTYDRAW. Both are needed, and you run the game by running BTTYBIRD. You can download them after the contest, otherwise I'm disqualified :P right below, as attachments to this post.

Planned features:

Please give me feedback! Thanks in advance! :3=
Title: Re: Bitty Bird!
Post by: Dream of Omnimaga on May 12, 2015, 06:42:01 PM
Just as an heads up, the in-game text and the border during gameplay would be against the contest rules. In order to not be disqualified you would have to remove them entirely. For gameplay size you can simply use Text(-1,A,B,"  " instead of two Pt-On commands so it would be larger and still fast. Other than that I like it so far :)
Title: Re: Bitty Bird!
Post by: JWinslow23 on May 12, 2015, 07:06:46 PM
Quote from: DJ Omnimaga on May 12, 2015, 06:42:01 PM
Just as an heads up, the in-game text and the border during gameplay would be against the contest rules. In order to not be disqualified you would have to remove them entirely. For gameplay size you can simply use Text(-1,A,B,"  " instead of two Pt-On commands so it would be larger and still fast. Other than that I like it so far :)
The in game text (the SCORE letters) perfectly fit in the 4x3 requirement :P . And I'll take your advice on the Text command.
Title: Re: Bitty Bird!
Post by: Dream of Omnimaga on May 12, 2015, 07:35:21 PM
Oh ok I was more wondering about the "Jwinslow23's Contest Entry: Bitty Bird. Up to Flap, clear to quit" in the screenshot I saw earlier. I thought it was part of the game, hence why i was making sure.
Title: Re: Bitty Bird!
Post by: JWinslow23 on May 12, 2015, 09:52:36 PM
Quote from: DJ Omnimaga on May 12, 2015, 07:35:21 PM
Oh ok I was more wondering about the "Jwinslow23's Contest Entry: Bitty Bird. Up to Flap, clear to quit" in the screenshot I saw earlier. I thought it was part of the game, hence why i was making sure.
Understandable. I just typed that on the homescreen in the screenie so that people could understand what was going on in context without having to read on.

And on the Text command, I wasn't able to find a character that could be interpreted as one rectangle block, and adding lines to characters that came close slowed it and made it look bad. So, I don't know what to do except for Pt-On.
Title: Re: Bitty Bird!
Post by: Dream of Omnimaga on May 12, 2015, 10:06:41 PM
Wouldn't spaces work? With text(-1, two spaces are like 12x8 pixels large and it makes an entire rectangle white. Then the black 8xi file can be used to erase them. That said, having to redraw everything might still slow things down.

Otherwise you could use xLIB or DCS7 rectangle command, unless your goal was to absolutely make the game pure basic.
Title: Re: Bitty Bird!
Post by: JWinslow23 on May 12, 2015, 10:47:26 PM
Quote from: DJ Omnimaga on May 12, 2015, 10:06:41 PM
Wouldn't spaces work? With text(-1, two spaces are like 12x8 pixels large and it makes an entire rectangle white. Then the black 8xi file can be used to erase them. That said, having to redraw everything might still slow things down.

Otherwise you could use xLIB or DCS7 rectangle command, unless your goal was to absolutely make the game pure basic.
With this one (and actually, most programs I write), I really wanted to challenge myself. I want it to be in pure BASIC, and need as few extra files and subprograms as possible. Same with that pi program. I'm not sure how it'll exactly work (unless you can stand a full wash of black before the game begins...actually, I'll be right back)
Title: Re: Bitty Bird!
Post by: Dream of Omnimaga on May 13, 2015, 06:49:10 AM
It depends. With pre-rendered pictures and a resolution of 3x3 you could have faster pure-BASIC movement with full screen, but then the game would flicker a lot.

In any case, good luck!
Title: Re: Bitty Bird!
Post by: Snektron on May 13, 2015, 01:40:49 PM
But wouldn't that require like 2^12 different textures? even if the tios had that many variables it wouldn't even have enough ram
Title: Re: Bitty Bird!
Post by: JWinslow23 on May 13, 2015, 02:03:19 PM
I found a way to have the blocks take up the entire screen! (Well, there are leftover pixels on the right, but it fills as much as I can fill :P .) In order to do this, the game is inverted, and 1 entirely black Picvar has to be created (which is done in the program). And the game still runs at a playable speed. :)

I'll post another screenie as soon as plausible. (-_(//));
Title: Re: Bitty Bird!
Post by: JWinslow23 on May 13, 2015, 10:56:45 PM
Bump.

I made the grid bigger, and implemented difficulty settings (in the form of different pipe forms) (bet you can't guess the formulas I do to figure them out :P )!
(http://i.imgur.com/nByHRgV.gif)

Download link will become available when it faces judgement from the original walrus. :3= attached to the original post.
Title: Re: Bitty Bird!
Post by: Dream of Omnimaga on May 14, 2015, 03:23:33 AM
For a second I thought you posted your program publicly O.O (it would disqualify you).

Also nice update. I am surprised that it runs this fast O.O. Do you pre-render your graphics? Also I see you switched to 3x4 lol. I guess it's kinda fitting though considering the original Flappy Bird was on smartphones. :P
Title: Re: Bitty Bird!
Post by: Snektron on May 14, 2015, 08:25:32 AM
Whia cool, im surprised too it runs that fast O.O
Title: Re: Bitty Bird!
Post by: JWinslow23 on May 14, 2015, 02:13:22 PM
Quote from: DJ Omnimaga on May 14, 2015, 03:23:33 AM
For a second I thought you posted your program publicly O.O (it would disqualify you).

Also nice update. I am surprised that it runs this fast O.O. Do you pre-render your graphics? Also I see you switched to 3x4 lol. I guess it's kinda fitting though considering the original Flappy Bird was on smartphones. :P
Didn't release, don't you worry. Just want to mess with people who don't read the file extension :P . (and the size is the same as it always was, save for the size of the blocks)

As for graphics, the only "pre-rendering" I did was the full shade of the graph screen. I made that into a picture, and then for every time I had to draw, I recalled that picture, and drew each "pixel" with 2 Text(-1)s of spaces. (The drawing is all handled in that subprogram, BTTYDRAW)

Quote from: Cumred_Snektron on May 14, 2015, 08:25:32 AM
Whia cool, im surprised too it runs that fast O.O
Thanks. The same surprise was here when I actually implemented that larger grid.
Title: Re: Bitty Bird!
Post by: Dream of Omnimaga on May 15, 2015, 07:09:26 AM
That's actually a good trick I guess. I was wondering if anyone would use it in BASIC. Since you just fill the entire screen then it counts as using the allowed resolutions, just rendered slowly during pre-rendering (I would have issues with it if you did fancy animations such as rendering every two line of pixel then the rest, though :P)

And yeeah I am really impressed by the speed considering the large amount of Text commands that are being used. Maybe I just forgot how fast screen drawing can be on the monochrome models, though. :P Do you use For loops? Those can slow things down a lot, although they reduce the code size a lot too.
Title: Re: Bitty Bird!
Post by: Snektron on May 15, 2015, 09:21:47 AM
What does Text(-1 btw?
Title: Re: Bitty Bird!
Post by: CKH4 on May 15, 2015, 11:34:21 AM
Its the large size text so Text(10,10,"123 would display small text and its large text equivalent would be Text(-1,10,10,"123
Title: Re: Bitty Bird!
Post by: JWinslow23 on May 15, 2015, 03:02:57 PM
Quote from: DJ Omnimaga on May 15, 2015, 07:09:26 AM
That's actually a good trick I guess. I was wondering if anyone would use it in BASIC. Since you just fill the entire screen then it counts as using the allowed resolutions, just rendered slowly during pre-rendering (I would have issues with it if you did fancy animations such as rendering every two line of pixel then the rest, though :P)

And yeeah I am really impressed by the speed considering the large amount of Text commands that are being used. Maybe I just forgot how fast screen drawing can be on the monochrome models, though. :P Do you use For loops? Those can slow things down a lot, although they reduce the code size a lot too.
Yes, I use For( loops to draw. I loop through my gameboard (which is a binary number P) and draw it pixel by pixel. And I'm impressed with myself at the speed as well :D .
Title: Re: Bitty Bird!
Post by: Dream of Omnimaga on May 16, 2015, 07:07:11 AM
Ah ok thanks for the info. Because if you used 24 Text(-1 commands instead of For loops with 1 Text(-1 command, then the game would run noticeably faster. This screen invertion program is a prime example: http://www.ticalc.org/archives/files/fileinfo/352/35264.html . On the other hand, the file size would suffer (although nowhere as much as that screen inverting program and maybe not enough to actually hurt the final judging score) so it would be up to you to judge if the speed gain is worth it.
Title: Re: Bitty Bird!
Post by: Snektron on May 16, 2015, 10:13:30 AM
That reminds me of my matrix mul subroutine in ASM. 400 lines of almost the same code O.O
Title: Re: Bitty Bird!
Post by: JWinslow23 on May 16, 2015, 06:26:51 PM
Quote from: DJ Omnimaga on May 16, 2015, 07:07:11 AM
Ah ok thanks for the info. Because if you used 24 Text(-1 commands instead of For loops with 1 Text(-1 command, then the game would run noticeably faster. This screen invertion program is a prime example: http://www.ticalc.org/archives/files/fileinfo/352/35264.html . On the other hand, the file size would suffer (although nowhere as much as that screen inverting program and maybe not enough to actually hurt the final judging score) so it would be up to you to judge if the speed gain is worth it.
I don't feel like ballooning the program just to get a what-will-probably-be-tiny speed gain. At this point, IMO, I have a good balance between size and speed (all of that was under 1 KB, too!).
Title: Re: Bitty Bird!
Post by: Dream of Omnimaga on May 18, 2015, 04:11:52 AM
Ok it's up to you really. So far I am impressed by the result, considering it's pure BASIC. The size is pretty nice too.
Title: Re: Bitty Bird!
Post by: Snektron on May 18, 2015, 06:12:02 AM
Turns out TI-Basic was usable for the contest after all :P
Title: Re: Bitty Bird!
Post by: JWinslow23 on May 18, 2015, 12:19:14 PM
Quote from: DJ Omnimaga on May 18, 2015, 04:11:52 AM
Ok it's up to you really. So far I am impressed by the result, considering it's pure BASIC. The size is pretty nice too.
Thanks so much. :)
Quote from: Cumred_Snektron on May 18, 2015, 06:12:02 AM
Turns out TI-Basic was usable for the contest after all :P
Well, if you're reeeeally clever, you can use Golfscript :P
Title: Re: Bitty Bird!
Post by: Unicorn on May 18, 2015, 04:36:19 PM
Quote from: Cumred_Snektron on May 18, 2015, 06:12:02 AM
Turns out TI-Basic was usable for the contest after all :P
I guess Hybrid for displaying doesn't count?  <_<
Title: Re: Bitty Bird!
Post by: Dream of Omnimaga on May 19, 2015, 04:48:45 AM
Well with hybrid you usually can display anything that looks like ASM, just at much slower speed.
Title: Re: Bitty Bird!
Post by: Dream of Omnimaga on May 29, 2015, 04:23:49 AM
By the way, something I noticed is that your game fills the entire screen with black rather than just the area that is being used during gameplay. Maybe you should use Line() instead of Horizontal and only make the playable area black (the 3x4 grid, that is), else it kinda looks weird with the calc LCD margins having no pixel, and some people might think the game isn't truly 3x4.
Title: Re: Bitty Bird!
Post by: JWinslow23 on June 03, 2015, 06:34:39 PM
Quote from: DJ Omnimaga on May 29, 2015, 04:23:49 AM
By the way, something I noticed is that your game fills the entire screen with black rather than just the area that is being used during gameplay. Maybe you should use Line() instead of Horizontal and only make the playable area black (the 3x4 grid, that is), else it kinda looks weird with the calc LCD margins having no pixel, and some people might think the game isn't truly 3x4.
Too late at this point, but I'll change it when I release it to archives.

Also, you can play the game in its current form! Download the program files in the original post, or all in one zip file along with a readme in the voting thread.
Title: Re: Bitty Bird!
Post by: Dream of Omnimaga on June 03, 2015, 07:25:00 PM
Very nice game by the way. I am surprised at how well it plays for TI-Basic despite updating so much in the screen every frame.
Title: Re: Bitty Bird!
Post by: JWinslow23 on June 03, 2015, 09:39:27 PM
Quote from: DJ Omnimaga on June 03, 2015, 07:25:00 PM
Very nice game by the way. I am surprised at how well it plays for TI-Basic despite updating so much in the screen every frame.
Thanks.

I also added the link in my signature to the zip. Just click on Bitty Bird.
Title: Re: Bitty Bird!
Post by: alexgt on June 03, 2015, 10:12:41 PM
Quote from: DJ Omnimaga on June 03, 2015, 07:25:00 PM
Very nice game by the way. I am surprised at how well it plays for TI-Basic despite updating so much in the screen every frame.
I  was also very impressed since I made games and stuff in Basic for 1 and 1/2 years :)
Title: Re: Bitty Bird!
Post by: Unicorn on June 04, 2015, 07:19:28 AM
Istill need to trythis out more extensivly. I had aRAM clear recently.
Title: Re: Bitty Bird!
Post by: JWinslow23 on June 04, 2015, 02:01:10 PM
Quote from: Unicorn on June 04, 2015, 07:19:28 AM
Istill need to trythis out more extensivly. I had aRAM clear recently.
Aweh :( I hope you get your programs back!
Title: Re: Bitty Bird!
Post by: Snektron on June 04, 2015, 04:58:54 PM
Quote from: Unicorn on June 04, 2015, 07:19:28 AM
Istill need to trythis out more extensivly. I had aRAM clear recently.

i get them all the time lol