This is an archived, read-only copy of the United-TI subforum , including posts and topic from May 2003 to April 2012. If you would like to discuss any of the topics in this forum, you can visit Cemetech's Your Projects subforum. Some of these topics may also be directly-linked to active Cemetech topics. If you are a Cemetech member with a linked United-TI account, you can link United-TI topics here with your current Cemetech topics.

This forum is locked: you cannot post, reply to, or edit topics. Project Releases => Your Projects
United-TI Archives -> Project Releases
 
    » Goto page 1, 2, 3, 4  Next
» View previous topic :: View next topic  
Author Message
WikiGuru
ADOS (Attention deficit... Oh! Shiny!)


Elite


Joined: 15 Sep 2005
Posts: 923

Posted: 12 Jan 2008 11:38:31 am    Post subject:

File Name :: Rush Hour: Greyscale
Author :: WikiGuru
Category :: Ti-83plus Asm Games
Screenshot ::
Description ::
Based on the popular Binary Arts game. The goal is to free your car (the one that doesn't look like the others) from the ramble of the grid by moving the other cars and trucks.
Featuring 40 maps, 4-level RGP greyscale for the cars and trucks, an 8-way scrolling greyscale cursor, external level support, an on-calc level editor, and much more!
Runs under MirageOS
Update: Version 1.3 features flash archive support, and an all new compatibility with the new Rush Hour level editor (included)!
Update: Version 1.2 features an all new splash screen designed by UTI members and external level support!

Updated Mon, Jul 14 2008 7:44 pm

View File
Back to top
cjgone
Aw3s0m3


Active Member


Joined: 24 May 2006
Posts: 693

Posted: 13 Jan 2008 08:40:21 pm    Post subject:

Dang, nice game! :D

Arrow unalligned?? Just wondering how'd you do that... a modulus 8 (and 07) to get a specific square for both x and y?


Last edited by Guest on 13 Jan 2008 08:45:22 pm; edited 1 time in total
Back to top
WikiGuru
ADOS (Attention deficit... Oh! Shiny!)


Elite


Joined: 15 Sep 2005
Posts: 923

Posted: 13 Jan 2008 11:19:10 pm    Post subject:

yeah, that's the basic jist of it. I basically modified ionputsprite for my needs
Back to top
cjgone
Aw3s0m3


Active Member


Joined: 24 May 2006
Posts: 693

Posted: 14 Jan 2008 02:09:33 am    Post subject:

haha. Nice game, keep up the good work. Very Happy
Back to top
luby
I want to go back to Philmont!!


Calc Guru


Joined: 23 Apr 2006
Posts: 1477

Posted: 14 Jan 2008 07:59:00 am    Post subject:

I still notice that initial flicker, but other then that, It looks great. Nice Job!
Back to top
simonzack


Advanced Newbie


Joined: 25 Dec 2007
Posts: 71

Posted: 14 Jan 2008 08:51:59 am    Post subject:

Great work! Keep it going Smile
Back to top
WikiGuru
ADOS (Attention deficit... Oh! Shiny!)


Elite


Joined: 15 Sep 2005
Posts: 923

Posted: 14 Jan 2008 05:57:41 pm    Post subject:

yeah, I didn't really have a great way to draw the grescale. I just quickly switched between two sprites, but this meant I had to redraw the tilemap everytime. If someone has a better way, I'd be happy to implement.
Back to top
TheStorm


Calc Guru


Joined: 17 Apr 2007
Posts: 1233

Posted: 14 Jan 2008 07:32:47 pm    Post subject:

well what you should do is not update the display until you have drawn to both buffers and then update the display and enable the grayscale interrupt.
Back to top
cjgone
Aw3s0m3


Active Member


Joined: 24 May 2006
Posts: 693

Posted: 14 Jan 2008 08:41:52 pm    Post subject:

Quote:
yeah, I didn't really have a great way to draw the grescale. I just quickly switched between two sprites, but this meant I had to redraw the tilemap everytime. If someone has a better way, I'd be happy to implement.


Why not use RGP, revolutionary grayscale package?
Back to top
TheStorm


Calc Guru


Joined: 17 Apr 2007
Posts: 1233

Posted: 14 Jan 2008 08:52:51 pm    Post subject:

Because it isn't that hard to do your self. You are just drawing each sprite twice and then switching buffers.
Back to top
WikiGuru
ADOS (Attention deficit... Oh! Shiny!)


Elite


Joined: 15 Sep 2005
Posts: 923

Posted: 14 Jan 2008 10:43:52 pm    Post subject:

I was debating that for a while. I don't know if the size trade off is worth it, though. what do you think?
Back to top
TheStorm


Calc Guru


Joined: 17 Apr 2007
Posts: 1233

Posted: 14 Jan 2008 11:04:41 pm    Post subject:

I personally think it is fine as it is. I also feel the SE version is unneeded. I just use the BE version so I can send it to others without having an issue.
Back to top
cjgone
Aw3s0m3


Active Member


Joined: 24 May 2006
Posts: 693

Posted: 14 Jan 2008 11:06:36 pm    Post subject:

Dunno how much it flickers..
But if it doesn't flicker to much, it won't be a problem... However, if you're dieing to have perfect grayscale + 2500 extra bytes (around 1800 if you toss half of graylib.inc), then it might be worth it....


You could also just use XOR draw routine and call it in an interrupt so it deletes the pic again\ redraws it.... leaving a greyscale affect. (the specific sprites)


honestly, i don't know how many layers of grey you have? 3 shades or 4?


Last edited by Guest on 14 Jan 2008 11:07:22 pm; edited 1 time in total
Back to top
WikiGuru
ADOS (Attention deficit... Oh! Shiny!)


Elite


Joined: 15 Sep 2005
Posts: 923

Posted: 15 Jan 2008 12:43:44 am    Post subject:

Umm, I'm not sure how you would 'classify' greyscale, but there's white, 1 shade of grey, and black. I suppose it's kind of pitiful. The reason it takes so long is because of the tiling routine. It re-tiles everytime to save space. I suppose it might be worth it to use saferams, though. If I can find another 768 bytes (in addition to plotsscreen) not used by MirageOS...

@TheStorm: It's okay if you do it the other way around (supposedly). The only function not completely supported in the BE is fast mode. On the TI-83+ BE it only modifies the shadow link port, and I'm told that it shouldn't be a problem if you don't use the link cable at the same time.


Last edited by Guest on 15 Jan 2008 12:45:38 am; edited 1 time in total
Back to top
luby
I want to go back to Philmont!!


Calc Guru


Joined: 23 Apr 2006
Posts: 1477

Posted: 15 Jan 2008 05:01:37 pm    Post subject:

*cough*
*cough*AppBackupScreen
*sneeze*
*sigh*
Back to top
Liazon
title goes here


Bandwidth Hog


Joined: 01 Nov 2005
Posts: 2007

Posted: 15 Jan 2008 05:19:02 pm    Post subject:

you can just dynamically allocate the 2*768 bytes for RGP @ $9D95, and then use NODOUBLEBUFFER mode so you don't have to use saferams (plotscreen and savescreen for RGP)

it's important to note that your buffers MUST be adjacent to each other in memory when using RGP, which is why you can't use saferams for the main buffers, only the back buffers. RGP uses optimizations that rely on the fact the two buffers are next to each other. that's why by default, the buffers are a giant block in your program, which is why I'd advise you to use _insertmem and _delmem to allocate at $9d95.

hope that helps.

for the most part RGP looks pretty good on a good 83+BE, but on bad 83+BE, the flicker is unavoidable. it's possible that the flicker you experienced with your gs may be because of the LCD controller, but I could be wrong.
Back to top
TheStorm


Calc Guru


Joined: 17 Apr 2007
Posts: 1233

Posted: 15 Jan 2008 07:45:01 pm    Post subject:

You can get 4 level grayscale (white, gray, dark gray, black) with 2 buffers and that is all you truly need. If you have more than that I feel it is just bloat.
Back to top
WikiGuru
ADOS (Attention deficit... Oh! Shiny!)


Elite


Joined: 15 Sep 2005
Posts: 923

Posted: 15 Jan 2008 08:20:25 pm    Post subject:

@thestorm: how do I get 4-level greyscale? as far as i can tell, here are my options (with 2 buffers):
In sprite data:
1 1 (black)
0 0 (white)
1 0 (grey)
0 1 (same color grey)

How do you get the grey and dark grey given 2 buffers?

@Liazon: Probably a stupid question, but why did you choose $9D95 (I haven't quite memorized all the RAM equates, if any)? Also, why do the buffers have to be right next to each other? Convenience of the programmer? actual speed/size benefits? other reasons?

@Luby: I think that's a good idea, I hope. I'm not sure, but I remembered reading somewhere that MOS (or another shell, i might have gotten them confused) used the first few bytes of Appbackupscreen. Am I right at all, or is there something or a lot of things wrong with this statement?

Btw, thanks for all your guy's help! This will really make the next update (when I get time) much better than I could have by myself.
Back to top
TheStorm


Calc Guru


Joined: 17 Apr 2007
Posts: 1233

Posted: 15 Jan 2008 08:42:15 pm    Post subject:

You display one buffer longer than the other. Lets say two thirds of the time. and the other one 1 third of the time. So it would end up as
1 1 black
0 0 white
1 0 dark gray
0 1 light gray
that is if the first buffer is the one you display for longer
Back to top
WikiGuru
ADOS (Attention deficit... Oh! Shiny!)


Elite


Joined: 15 Sep 2005
Posts: 923

Posted: 15 Jan 2008 09:05:05 pm    Post subject:

ohh, i get it. That makes sense now. :blush:

wait, but if you're displaying one sprite longer then the other, you can't really have a flicker-less dark grey (or light grey) block, can you? It will flicker because of the coherent properties of having a section of the screen switch colors together instead of in a checkerboard pattern.
Back to top
Display posts from previous:   
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
    » Goto page 1, 2, 3, 4  Next
» View previous topic :: View next topic  
Page 1 of 4 » All times are UTC - 5 Hours

 

Advertisement