Join us on Discord!
You can help CodeWalrus stay online by donating here.

First Fantasy II, a graphical TI-84+CE RPG using CE Textlib hax

Started by Dream of Omnimaga, March 18, 2016, 08:29:15 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Dream of Omnimaga

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)
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Lionel Debroux

Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TIEmu and TILP.
Co-admin of TI-Planet.

Adriweb

  • Calculators owned: TI-Nspire CX CAS, TI-Nspire CX, TI-Nspire CAS (x3), TI-Nspire (x2), TI-Nspire CM-C CAS, TI-Nspire CAS+, TI-80, TI-82 Stats.fr, TI-82 Plus, TI-83 Plus, TI-83 Plus.fr USB, TI-84+, TI-84+ Pocket SE, TI-84+ C Silver Edition, TI-84 Plus CE, TI-89 Titanium, TI-86, TI-Voyage 200, TI-Collège Plus, TI-Collège Plus Solaire, 3 HP, some Casios
Co-founder & co-administrator of TI-Planet and Inspired-Lua

JWinslow23

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?

Dream of Omnimaga

Thanks guys :)

JWinslow23 yeah something similar was used for Wal-Rush title screen
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Dream of Omnimaga

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:

  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Dudeman313

  • Calculators owned: TI-84 PCE
  • Consoles, mobile devices and vintage computers owned: Android O Phone
Does this qualify as a signature? 
The answer is "Sure."


Dream of Omnimaga

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.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Dudeman313

  • Calculators owned: TI-84 PCE
  • Consoles, mobile devices and vintage computers owned: Android O Phone
Does this qualify as a signature? 
The answer is "Sure."


Araidia

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?
  • Calculators owned: TI84+ CE

Also Known as: Soul | Enguard

Dudeman313

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...
  • Calculators owned: TI-84 PCE
  • Consoles, mobile devices and vintage computers owned: Android O Phone
Does this qualify as a signature? 
The answer is "Sure."


Dream of Omnimaga

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).
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Dudeman313

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...
  • Calculators owned: TI-84 PCE
  • Consoles, mobile devices and vintage computers owned: Android O Phone
Does this qualify as a signature? 
The answer is "Sure."


Dream of Omnimaga

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
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

TIfanx1999


Powered by EzPortal