You can help CodeWalrus stay online by donating here. | New CodeWalrus | Old (dark mode) | Old (light) | Discord server
0
If you noticed that my posting rate have been sporadic in the last few days, it is because I am in the middle of one of my many attempt to achieve hybrid TI-BASIC stuff long before the libs required to do it comes out. :P

-In early 2004, I released several games that would have been better off released one year later using xLIB. (Sorry @tr1p1ea)
-In late 2004, months before xLIB APP was even considered (sorry again, tr1p1ea :P), I got around the lack of it by using Omnicalc Sprite() command as a XOR'ed RecallPic command in order to achieve dithered grayscale.
-In 2010, I achieved Axe grayscale before it even supported that feature.
-12 years later, even though Doors CE 9 isn't even released, I'm saying "screw it, I'm doing sprites anyway."  (sry again tr1p :P)

Updated screenshot, as of March 30th:



Old screenshots below:
http://img.codewalr.us/cetextlibtilemapdisplay.gif
https://img.ourl.ca/spriteoffset.gif
https://img.ourl.ca/spritecoloroffset.gif
https://img.ourl.ca/mapenginenocollosionz.gif
http://img.codewalr.us/newmaplayout.png
http://img.ourl.ca/mapenginefasterchar.gif
http://img.codewalr.us/cetextlibtilemapupdate2.gif
https://img.ourl.ca/mapenginetitleidea.gif
http://img.ourl.ca/mapenginefasterchar.gif

Basically, this is the bruteforce attempt at drawing sprites on the 84+CE without xLIBC/Celtic, while still sticking to hybrid BASIC. It's slow, but still bearable (parts of the slowdown are due to having to create a list of 162 elements every loop iteration). An even more bruteforce approach would be to draw all wall tiles in one TEXTLIB command, but that might be overkill (I might try doing it anyway, though).


Anyway, the above fetches sprites from a list then draws them using CE Textlib rectangles to give something that looks a bit like Atari 2600 graphics. Now here is a second tilemap engine that uses 100% dynamic data:

http://img.codewalr.us/cetextlibdynamictilemapdatadisplay.gif

This one is almost twice slower, though, so it wouldn't be practical for use inside a game. But here is what it features:

-Supports two different tiles per map excluding the floor (which is a plain color)
-You can assign any sprite you want to the two slots
-Both slots use their own color palette (4 colors each), which you can change at will (so you can re-use the same tiles over and over)

Anyway it seems that if we want BASIC sprites we don't have to wait for Doors CE release, after all. (I recommend waiting anyway, but I tend to always do things ahead of their time) :3=

Ironically, the idea was inspired from @netham45 's screen inverter program on ticalc.org (due to the fact I draw 48 rectangles in one single list of 162 elements). :P


Click here for March 2016 demo! (requires CE Textlib)
Last Edit: March 31, 2016, 01:11:00 AM by DJ Omnimaga
Inicia sesión o crea una cuenta para dejar un comentario
u/Lionel Debroux March 18, 2016, 09:26:10 AM
Good to see more progress outside of the belated DCE9 :)
u/Adriweb March 18, 2016, 09:29:49 AM
This is a cool hack lol
u/JWinslow23 March 18, 2016, 01:54:40 PM
Do you have to do something innovative in the TI programming community every 6 years? What's your plan for 2022, FMV at 24FPS on the CSE? :P

All jokes aside, this looks really cool. If I tried something similar, I'd probably have done it that way, too. In a way, this almost reminds me of textsprites. Also, didn't I see you do something similar for the Wal-Rush! title screen?
u/Dream of Omnimaga March 18, 2016, 02:10:56 PM
Thanks guys :)

JWinslow23 yeah something similar was used for Wal-Rush title screen
u/Dream of Omnimaga March 18, 2016, 10:32:16 PM
Not really an update, but I thought I would like to mention that while the static data version of the map engine is more limited by the fact you can't re-use the same sprite data multiple times with different colors, it has the extra advantage of allowing you to fetch sprite data from any location in the spritesheet, so in some cases, you could probably achieve some special effects by not drawing sprites from multiple of 27.




Also, while it's not possible to replace sprite colors at will, you can still cycle through colors to display them differently by doing L1+<value>->L1, which increments/decrements the color ID of every pixel in the sprite sheet. However, this doesn't give a lot of freedom, thus, the results aren't that great:

u/Dudeman313 March 19, 2016, 06:32:20 PM
It still looks pretty awesome.
u/Dream of Omnimaga March 19, 2016, 11:40:48 PM
Thanks. Glad you like it. :)

Also I just tried this on a CSE and while it runs fine, it's over twice slower, so games using this trick would definitively have to be CE-only.
u/Dudeman313 March 20, 2016, 02:48:33 AM
Yeah. Now if only I had a CE... :'(
u/Araidia March 20, 2016, 04:24:09 AM
Is this some sort of witchery???
Actually, this looks really cool, and it looks like it will be a couple of months before Doors CE 9 will come out...
How realistic would it be to have a game in this fashion?
u/Dudeman313 March 20, 2016, 04:46:21 AM
A couple of months, but I'll never get to try it... :'(

What makes me laugh is that on the bottom of that page you linked to, some newbie asked,
Quote
what is dude man?
And of course, someone, namely Caleb Hill, came in answered like a boss(thanks!):
Quote
Well, Dudeman313 is a cemetech user.
Block Dude, he game he is referencing, is a
game included in the PuzzPack App that is
pre installed on the TI84PSE, and available
for download on their website.
There is a is a TI84PCSE version (by merthsoft, available here) in color available for download in the archives,which is based
on the original monochrome version. This
version uses Doors CSE 8 color libraries, so
as soon as the beta for DCE comes out, it
should be able to be run on the TI84PCE.
But that's off-topic...
u/Dream of Omnimaga March 20, 2016, 07:06:54 AM
Does it means Dudeman313 is actually inside Block Dude? O.O

Also yeah if I have enough time and motivation, I could mozt likely make a game using CE Textlib before Summer that uses sprites.


Also good news! It seems that I found another CE Textlib trick: Did you know that it's actually possible to make rectangle height something else than multiples of 20 pixels? Basically, just input an height that is way, way larger than allowed, and it will draw a rectangle of another size than multiples. For example, a rectangle with an height of 77 characters will draw a 4 pixels tall character! :D



Basically, this means that I can now draw sprites in any order, since they will no longer erase parts of the sprite underneath! :D

I could now use an HUD at the bottom of the screen without having to redraw it every frame and partial screen redraws are now way easier.

I bet that the same trick could be used for width, but I won't, because sprites will take too long to draw (I think it's because of how long it takes to create a TI-OS list of 160+ elements).
Last Edit: March 20, 2016, 07:43:56 AM by DJ Omnimaga
u/Dudeman313 March 20, 2016, 01:23:23 PM
Maybe...I could always use the source code to make Block Dude into MegaWalrii...

But that's awesome! I wonder if Textlib's creator even knew about this...
u/Dream of Omnimaga March 20, 2016, 05:26:55 PM
He is probably not even aware that CW exists, so I doubt he will until I cross-post this on Cemetech, ticalc or something. :P
u/TIfanx1999 March 22, 2016, 01:39:04 AM
Quote from: Dudeman313 on March 20, 2016, 02:48:33 AM
Yeah. Now if only I had a CE... :'(
Wait what? Didn't you get one months ago?
Start a Discussion

b/[Completed] First Fantasy Series (TI-84+CSE/84+CE/83PCE)

Dream of Omnimaga's TI-83 Plus BASIC RPG from 2002 called Mana Force has made it to the TI-84 Plus C Silver Edition ,TI-84 Plus CE and TI-83 Premium CE and a sequel titled First Fantasy II: Pokéwalrus was released in 2023!

17
Topics
Explore Board
Website statistics


MyCalcs | Ticalc.org | Cemetech | Omnimaga | TI-Basic Developer | MaxCoderz | TI-Story | Casiocalc.org | Casiopeia | The Museum of HP Calculators | HPCalc.org | CnCalc.org | Music 2000 Community | TI Education | Casio Education | HP Calcs | NumWorks | SwissMicros | Sharp Calculators
Powered by EzPortal