* WalrusIRC

You need to have 5 posts and not be part of restricted usergroups in order to use the WalrusIRC embedded shoutbox. However, you can also access our IRC channel called #CodeWalrus via EFnet.

Author Topic: First Fantasy II, a graphical TI-84+CE RPG using CE Textlib hax  (Read 15196 times)

0 Members and 1 Guest are viewing this topic.

Offline xlibman

  • Omni founder & CW co-founder
  • Super User
  • Original 5
  • CodeWalrus Supporter
  • *
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 18870
  • Post Rating Ratio: +99/-4
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • DJ Omnimaga music store
  • Gender: Male
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 »


  • Calculators owned: TI-57, 73, TI-80 (broken), TI-81, TI-82, TI-83, TI-83+ (broken), TI-83+ (broken), TI-83+SE (broken), TI-84+, TI-84+CSE, TI-84+CE, TI-85, TI-86, TI-89T, TI-92, TI-Nspire, TI-Nspire CX (semi-broken), HP 39gII, HP Prime, Casio fx-7000G, fx-7400G+, fx-7700GE, fx-9750G+, fx-9750GII, fx-9860G, cfx-9850G, FX-1.0+, fx-CG10, fx-CP400
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nexus 5, Atari 2600, Lynx, SMS, Game Gear, Genesis, Dreamcast, NES, SNES, N64, GCN, Wii, Wii U, GBA, DS, 3DS, PS2, PS3, PS4, PSP, PSVita, XBox 360, XBOne

Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Retired Omnimaga admin (2001-11) and editor (2012-14)

Offline Lionel Debroux

  • Full User
  • Join Date: Jan 2015
  • Location:
  • Posts: 230
  • Post Rating Ratio: +11/-0
    • debrouxl
    • 58/5891
Good to see more progress outside of the belated DCE9 :)
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TIEmu and TILP.
Co-admin of TI-Planet.

Offline Adriweb

  • Full User
  • CodeWalrus Supporter
  • *
  • Join Date: Jan 2015
  • Location: France & Canada
  • Posts: 428
  • Post Rating Ratio: +7/-1
    • Adriweb
    • @Adriweb
    • Adriweb
    • @UC-UIrbk5SuaUCvnV6SQvt-Q
    • /u/Adriweb
    • Adriweb
    • TI-Planet.org
  • Gender: Male
This is a cool hack lol
  • 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

Offline JWinslow23

  • Pi is the coolest number in the history of math. :\
  • Super User
  • CW 4x3 challenge - 2nd place
  • *
  • Join Date: May 2015
  • Location: Somewhere between 13 and Graham's Number
  • Posts: 762
  • Post Rating Ratio: +13/-1
  • Use pi! Pi is the absolute greatest! :(
    • @UCu_9qD95nADzc-W6RN-3Z8A
    • 113/11328
  • Gender: Male
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?

Offline xlibman

  • Omni founder & CW co-founder
  • Super User
  • Original 5
  • CodeWalrus Supporter
  • *
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 18870
  • Post Rating Ratio: +99/-4
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • DJ Omnimaga music store
  • Gender: Male
Thanks guys :)

JWinslow23 yeah something similar was used for Wal-Rush title screen
  • Calculators owned: TI-57, 73, TI-80 (broken), TI-81, TI-82, TI-83, TI-83+ (broken), TI-83+ (broken), TI-83+SE (broken), TI-84+, TI-84+CSE, TI-84+CE, TI-85, TI-86, TI-89T, TI-92, TI-Nspire, TI-Nspire CX (semi-broken), HP 39gII, HP Prime, Casio fx-7000G, fx-7400G+, fx-7700GE, fx-9750G+, fx-9750GII, fx-9860G, cfx-9850G, FX-1.0+, fx-CG10, fx-CP400
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nexus 5, Atari 2600, Lynx, SMS, Game Gear, Genesis, Dreamcast, NES, SNES, N64, GCN, Wii, Wii U, GBA, DS, 3DS, PS2, PS3, PS4, PSP, PSVita, XBox 360, XBOne

Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Retired Omnimaga admin (2001-11) and editor (2012-14)

Offline xlibman

  • Omni founder & CW co-founder
  • Super User
  • Original 5
  • CodeWalrus Supporter
  • *
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 18870
  • Post Rating Ratio: +99/-4
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • DJ Omnimaga music store
  • Gender: Male
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-57, 73, TI-80 (broken), TI-81, TI-82, TI-83, TI-83+ (broken), TI-83+ (broken), TI-83+SE (broken), TI-84+, TI-84+CSE, TI-84+CE, TI-85, TI-86, TI-89T, TI-92, TI-Nspire, TI-Nspire CX (semi-broken), HP 39gII, HP Prime, Casio fx-7000G, fx-7400G+, fx-7700GE, fx-9750G+, fx-9750GII, fx-9860G, cfx-9850G, FX-1.0+, fx-CG10, fx-CP400
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nexus 5, Atari 2600, Lynx, SMS, Game Gear, Genesis, Dreamcast, NES, SNES, N64, GCN, Wii, Wii U, GBA, DS, 3DS, PS2, PS3, PS4, PSP, PSVita, XBox 360, XBOne

Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Retired Omnimaga admin (2001-11) and editor (2012-14)

Offline Jkolade936

  • All Around Coolio
  • Super User
  • Join Date: Jan 2016
  • Location: Horseheads, NY
  • Posts: 1515
  • Post Rating Ratio: +9/-1
  • I'm an unknown loner. I try to change that.
    • Jkolade936
    • My Sprites and Walrii Collection
  • Gender: Male
It still looks pretty awesome.
  • Calculators owned: None of them. :'(
Does this qualify as a signature? 
The answer is "Sure."


Offline xlibman

  • Omni founder & CW co-founder
  • Super User
  • Original 5
  • CodeWalrus Supporter
  • *
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 18870
  • Post Rating Ratio: +99/-4
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • DJ Omnimaga music store
  • Gender: Male
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-57, 73, TI-80 (broken), TI-81, TI-82, TI-83, TI-83+ (broken), TI-83+ (broken), TI-83+SE (broken), TI-84+, TI-84+CSE, TI-84+CE, TI-85, TI-86, TI-89T, TI-92, TI-Nspire, TI-Nspire CX (semi-broken), HP 39gII, HP Prime, Casio fx-7000G, fx-7400G+, fx-7700GE, fx-9750G+, fx-9750GII, fx-9860G, cfx-9850G, FX-1.0+, fx-CG10, fx-CP400
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nexus 5, Atari 2600, Lynx, SMS, Game Gear, Genesis, Dreamcast, NES, SNES, N64, GCN, Wii, Wii U, GBA, DS, 3DS, PS2, PS3, PS4, PSP, PSVita, XBox 360, XBOne

Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Retired Omnimaga admin (2001-11) and editor (2012-14)

Offline Jkolade936

  • All Around Coolio
  • Super User
  • Join Date: Jan 2016
  • Location: Horseheads, NY
  • Posts: 1515
  • Post Rating Ratio: +9/-1
  • I'm an unknown loner. I try to change that.
    • Jkolade936
    • My Sprites and Walrii Collection
  • Gender: Male
Yeah. Now if only I had a CE... :'(
  • Calculators owned: None of them. :'(
Does this qualify as a signature? 
The answer is "Sure."


Offline Araidia

  • Full User
  • Join Date: Sep 2015
  • Location: USA
  • Posts: 233
  • Post Rating Ratio: +0/-0
    • 3648273
  • Gender: Male
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

Offline Jkolade936

  • All Around Coolio
  • Super User
  • Join Date: Jan 2016
  • Location: Horseheads, NY
  • Posts: 1515
  • Post Rating Ratio: +9/-1
  • I'm an unknown loner. I try to change that.
    • Jkolade936
    • My Sprites and Walrii Collection
  • Gender: Male
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: None of them. :'(
Does this qualify as a signature? 
The answer is "Sure."


Offline xlibman

  • Omni founder & CW co-founder
  • Super User
  • Original 5
  • CodeWalrus Supporter
  • *
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 18870
  • Post Rating Ratio: +99/-4
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • DJ Omnimaga music store
  • Gender: Male
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 »
  • Calculators owned: TI-57, 73, TI-80 (broken), TI-81, TI-82, TI-83, TI-83+ (broken), TI-83+ (broken), TI-83+SE (broken), TI-84+, TI-84+CSE, TI-84+CE, TI-85, TI-86, TI-89T, TI-92, TI-Nspire, TI-Nspire CX (semi-broken), HP 39gII, HP Prime, Casio fx-7000G, fx-7400G+, fx-7700GE, fx-9750G+, fx-9750GII, fx-9860G, cfx-9850G, FX-1.0+, fx-CG10, fx-CP400
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nexus 5, Atari 2600, Lynx, SMS, Game Gear, Genesis, Dreamcast, NES, SNES, N64, GCN, Wii, Wii U, GBA, DS, 3DS, PS2, PS3, PS4, PSP, PSVita, XBox 360, XBOne

Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Retired Omnimaga admin (2001-11) and editor (2012-14)

Offline Jkolade936

  • All Around Coolio
  • Super User
  • Join Date: Jan 2016
  • Location: Horseheads, NY
  • Posts: 1515
  • Post Rating Ratio: +9/-1
  • I'm an unknown loner. I try to change that.
    • Jkolade936
    • My Sprites and Walrii Collection
  • Gender: Male
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: None of them. :'(
Does this qualify as a signature? 
The answer is "Sure."


Offline xlibman

  • Omni founder & CW co-founder
  • Super User
  • Original 5
  • CodeWalrus Supporter
  • *
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 18870
  • Post Rating Ratio: +99/-4
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • DJ Omnimaga music store
  • Gender: Male
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-57, 73, TI-80 (broken), TI-81, TI-82, TI-83, TI-83+ (broken), TI-83+ (broken), TI-83+SE (broken), TI-84+, TI-84+CSE, TI-84+CE, TI-85, TI-86, TI-89T, TI-92, TI-Nspire, TI-Nspire CX (semi-broken), HP 39gII, HP Prime, Casio fx-7000G, fx-7400G+, fx-7700GE, fx-9750G+, fx-9750GII, fx-9860G, cfx-9850G, FX-1.0+, fx-CG10, fx-CP400
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nexus 5, Atari 2600, Lynx, SMS, Game Gear, Genesis, Dreamcast, NES, SNES, N64, GCN, Wii, Wii U, GBA, DS, 3DS, PS2, PS3, PS4, PSP, PSVita, XBox 360, XBOne

Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Retired Omnimaga admin (2001-11) and editor (2012-14)

Offline Art_of_camelot

  • Full User
  • Safe-haven access
  • Join Date: Jan 2015
  • Location: Dr. Light's Laboratory
  • Posts: 99
  • Post Rating Ratio: +1/-1
    • Omnimaga
Yeah. Now if only I had a CE... :'(
Wait what? Didn't you get one months ago?

 


You can also use the following HTML or bulletin board code to share it on your page or forum signature!


Also do not forget to check our affiliates below.
Planet Casio TI-Planet Calc.news BroniesQC BosaikNet Velocity Games