+-Discord Shoutbox


Alternatively, join us on Discord directly.
You can help CodeWalrus stay online by donating here.

First Fantasy II ideas vault

Started by DJ Omnimaga, April 27, 2015, 04:13:16 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

alexgt

Those sprites look really nice DJ, how fast is that compared to the original method.
  • Calculators owned: Ti-84+, Ti-Nspire, Hp Prime, Broken HP Prime, HP 48SX

DJ Omnimaga

Thanks :3= . I didn't program the new engine yet, but the old engine drew 541 rectangles when entering a new dungeon and 245 when switching rooms. The new one would draw 61 when entering dungeons and 42 when switching rooms.

Given that the original engine drew each wall tile one by one and resulted into an Asm() command each time, the speed increase might actually be close to 8 times faster, if not more. But of course it depends of other factors (eg if the new engine requires more boolean logic, but I doubt it. It would probably take more space due to all the hard-coding needed, though)

If the speed increase is significant enough, then I could probably even merge both dungeon drawing sequences together and redraw the entire screen everytime, which would make it easier to implement stuff such as day/night cycles.
  • Calculators owned: TI-84 Plus C Silver Edition, TI-84 Plus CE, Casio fx-CG10, HP Prime, fx 1.0 Plus, fx-7400G Plus, fx-9750G Plus, fx-9860G, HP 39gII
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Nintendo 64, Wii U

alexgt

Nice! Speed increases are always welcome!
  • Calculators owned: Ti-84+, Ti-Nspire, Hp Prime, Broken HP Prime, HP 48SX

DJ Omnimaga

May 13, 2016, 03:27:02 AM #33 Last Edit: May 13, 2016, 04:21:30 AM by DJ Omnimaga
Thanks. I'm definitively hoping it's worth it. Granted, I would need to use a separate rendering routine for the map, one for the exits/events and one for individual sprite drawing, but I doubt it would take too much space.


I could also even add a special mode flag where if you enable that flag, then instead of rendering the dungeon with actual tiles it would draw the entire room with plain-colored walls or gradients that are just a few rectangles. Such instant drawing would allow cutscenes with special effects such as fade-in, fade-outs and other instant color changes.

Of course, if my estimates are right, then color changes could still be used for the standard mode, but it would take a few seconds to change everything. Such color change could be used, for example, for day/night cycles.

EDIT: Here is what I mean for the special mode:

  • Calculators owned: TI-84 Plus C Silver Edition, TI-84 Plus CE, Casio fx-CG10, HP Prime, fx 1.0 Plus, fx-7400G Plus, fx-9750G Plus, fx-9860G, HP 39gII
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Nintendo 64, Wii U

Dudeman313

I love those walls. They look awesome. Maybe in a time of boredom, you could use Textlib to port Desolate. :D
  • 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."


DJ Omnimaga

Lol, for some reasons I knew that idea would be brought up <_<

The funny thing is that Desolate could probably be possible with CE Textlib without much speed loss (since the original game already ran at around 5 FPS). But I doubt I would do it because I only know about 1% of the game secrets.

Perhaps the engine could be re-used for a port of Illusiat, though (after all, that game is already available on the TI-81, 82, 83, 85, 86 and there are 3 versions for the 83+/84+/SE)
  • Calculators owned: TI-84 Plus C Silver Edition, TI-84 Plus CE, Casio fx-CG10, HP Prime, fx 1.0 Plus, fx-7400G Plus, fx-9750G Plus, fx-9860G, HP 39gII
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Nintendo 64, Wii U

alexgt

  • Calculators owned: Ti-84+, Ti-Nspire, Hp Prime, Broken HP Prime, HP 48SX

DJ Omnimaga

  • Calculators owned: TI-84 Plus C Silver Edition, TI-84 Plus CE, Casio fx-CG10, HP Prime, fx 1.0 Plus, fx-7400G Plus, fx-9750G Plus, fx-9860G, HP 39gII
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Nintendo 64, Wii U

DJ Omnimaga

  • Calculators owned: TI-84 Plus C Silver Edition, TI-84 Plus CE, Casio fx-CG10, HP Prime, fx 1.0 Plus, fx-7400G Plus, fx-9750G Plus, fx-9860G, HP 39gII
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Nintendo 64, Wii U

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

DJ Omnimaga

Thanks. I am curious about how fast it would run in just 1 list and 1 Asm(prgmNAME command. I am sure the list would still be slow, but having just 1 Asm() call would probably show a noticeable difference.

Otherwise I can always use 10x8 maps and an HUD on the side, anyway, like in The Reign of Legends 3 for the TI-84+ or the PC-8801 JRPGs. That would reduce the list by 48 elements. :P
  • Calculators owned: TI-84 Plus C Silver Edition, TI-84 Plus CE, Casio fx-CG10, HP Prime, fx 1.0 Plus, fx-7400G Plus, fx-9750G Plus, fx-9860G, HP 39gII
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Nintendo 64, Wii U

DJ Omnimaga

It looks like Sprites v3.3 by @grosged might be fast enough to allow me to have animated damage display like in Final Fantasy. That's unless it slows down a lot when my VAT or RAM gets cluttered, though:



0:Asm(prgmSETTINGS
0:Asm(prgmCLSCREEN
⁻8→E:150→A
For(Z,1,10
{120,A-8,32,8,0,120,A+8,32,8,0
Asm(prgmCLSCREEN
{120,A,255,0,1,1
Asm(prgmPRINT
9999:Asm(prgmPRINT
A+E→A:E+4→E
If A≥150:⁻int(.5E→E
End
For(Z,0,1000:End
Asm(prgmBACKHOME
I still wish there was a way in Sprites to preserve what we want to display as text when changing the color or position, though, to avoid having to run Asm(prgmPRINT twice every frame, but that does the job, even with larger text:



0:Asm(prgmSETTINGS
0:Asm(prgmCLSCREEN
⁻16→E:150→A
For(Z,1,10
{120,A-16,64,16,0,120,A+16,64,16,0
Asm(prgmCLSCREEN
{120,A,255,0,2,2
Asm(prgmPRINT
9999:Asm(prgmPRINT
A+E→A:E+8→E
If A≥150:⁻int(.5E→E
End
For(Z,0,1000:End
Asm(prgmBACKHOME



Of course the For loop at the end would be removed entirely, though, because in my RPGs I generally just use no delay during damage display anymore and instead use the load times as the delay to speed the game pace. :P
  • Calculators owned: TI-84 Plus C Silver Edition, TI-84 Plus CE, Casio fx-CG10, HP Prime, fx 1.0 Plus, fx-7400G Plus, fx-9750G Plus, fx-9860G, HP 39gII
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Nintendo 64, Wii U

Powered by EzPortal