I have made a set of tools that allows you to get some kind of sprites on the TI-84 CE (and CSE, but that has DCSE). I found Elfprince's [not so well written] tutorial on using plots to create sprites. since the TI-84 CE has no sprite system right now, I created a set of tools that should help people use Plots for their own spriting needs.




Plotsprites have numerous disadvantages to using standard sprite systems, but it does work and can display sprites, which is what I was after.

Issues:
Cannot display more than 999 individual points - limitation of using list variables. likely get around: use Plot2 and Plot3, or storePic?
Takes a long time to add multiple sprites together - limitation of PlotAdd program. what is a better way of adding one list to the end of another?

Note on P3 Compression:
P3 compression (P3: Pixels-per-plot) is a lossy compression; only even rows and columns are kept. draw with A=1 (if using plotspr program) or, well, not the smallest dot. If you pick apart these programs, you will see what I mean.

Download:
Cemetech.net: Plotlib
This looks great, Luxen; thank you for putting this tool together. Ever since Elfprince posted his guide on sprites without libraries, I've been sad that more programs don't use plot/stats sprites and text sprites. Between this tool and mr womp womp's new text sprite generator, I think that TI-BASIC programmers have a nice toolbox for lib-less programs.
Could it be because plot sprites are interconnected with each others, unlike on the FX-9860G (where if you draw a dot outside the screen then it's not connected with lines, allowing ASM-like graphics if you have enough RAM)? As for text sprites it might be due to slow drawing speed. I always found dual-layer ASCII more ideal. But it's cool that there are multiple ways like this to create pure-BASIC sprites.
Kerm wrote:
Ever since Elfprince posted his guide on sprites without libraries, I've been sad that more programs don't use plot/stats sprites and text sprites.

DJ_O wrote:
Could it be because plot sprites are interconnected with each others...?


Plots aren't fast enough to be "ASM-like" (at least for screens that need to be constantly updated), but they aren't connected, either. Just use the "Scatter" plot type. this makes L1L2 pretty much a fast way of "Pt-On(X,Y" where X=L1(n) and Y=L2(n).

Kerm wrote:
Between this tool and mr womp womp's new text sprite generator, I think that TI-BASIC programmers have a nice toolbox for lib-less programs.


Anyone want to try and see the speed difference between these two methods, as well as size and "ease-of-use"? I'd imagine Plots would take more space in memory, but would render faster (excepting for adding more than one sprite to the screen (PlotAdd (seriously, anyone have ANY ideas on how to make this faster???))).

Edit:
I found that rendering some screen once is fine, but you must 1->dim(L3 and L4 before you prepare the next screen. otherwise, PlotAdd will just slap the new screen on top of the old one. Ill write up a fix for this, but just so you know!
bump: haven't packaged it yet, but I found a way to make PlotAdd MUCH faster. ya know, I was looking through the command listings for plot math, and found this nice thing called "augment".

besides that, I've only done a handful of other optimisations, nothing that is really notable.
Big noteworthy improvement! I think I found out how to get around that 999-point limitation. will run through the gamut tonight, but I'm pretty absolutely certain it'll work.

At the same time, Ill also rework the current toolset to use less REAL vars, so you have more to work with for your games.

Will update and upload on Saturday or Sunday. see you till then!
Well, I decided to wait on releasing the update, cause ill be packing in several example programs with it. This way, people new to plotsprites can better see how plotsprites work. I recognise that my previous example program was rather useless except for listing what was available in the package.

Anyways, here's what i'm working on:
Card matching game
Rock-paper-scizzors
Tunnel flow

Sorry for the delay, but I promise it'll help.
Thank you so much for making this. I really needed this. Is there a tutorial on how to use this?
Hey Luxen, this is awesome, I don't know how I missed it earlier. I'm really excited to see what you come up with using stat sprites. Sorry about the sometimes atrocious grammar in that guide, I wrote it in one sitting back in 9th or 10th grade and was too excited about it to really proofread. I thought I mentioned augment() in the tutorial though as the suggest canonical way to concatenate plotsprites. The 999 point limit wasn't an issue back on the 83+, because we only had 768 pixels to work with. What is this nonsense, assembly world has corrupted my brain. I just used low-pixel-density graphics.

Calc_Knight: Kerm linked to a tutorial above that covers some of the techniques.
Cool. Is this in color because all of the screenshots are in black and white?
plotlib /currently/ only supports single color sprites, and because of the work that would be involved in decoding a multicolor sprite for plotlib, I never will add it.

If you need to work with color, then either modify/use your own 'plot1(xxx,yyy,zzz.....'. One of the options in there is color. I would have made the color directly choosable via a variable, but for some odd reason, it doesnt accept variables in that.

A better tutorial will be uploaded once the final, polished version of plotlib is released.
  
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
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement