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 2 Guests are viewing this topic.

utz

A bit late but... damn DJ_O, that's some pretty slick Basic wizardry right there. Dunno how fast the CE BASIC is in general, but I'm always amazed by those crazy Basic code twists. Never quite got to that level when I used to be hacking away on my 82 back in school :D I did make some tiling engine for it at one point, but of course it was insanely slow, and I never quite finished that sim/strategy game I had in mind for it.
  • Calculators owned: TI-82, TI-83, TI-83+, TI-85, TI-86, TI-92+, Sharp PC-1403

Dudeman313

Quote from: DJ Omnimaga on March 27, 2016, 07:20:31 PM
What about the hat? :P And yeah, color changes might be an idea, but it will have to be colors that are not the same color as the floor.
The hat makes it look like my childhood replacement for a real LEGO man figure.
I didn't consider the floor colour thing.
And maybe there could be a greyscale mode for when there's a flashback or dream intro or something?
  • 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

Now that you mention LEGO's, NPC's in this game would most likely look like figurines. :P

As for grayscale mode I guess it will depend. I need to find a way to re-implement color palettes in the game, such as reloading the spritesheet every dungeon then replacing certain color values in it. This would be slower since I think there's no find/replace command for lists but that would give me more freedom.

EDIT I missed @utz comment for some reasons. Thanks a lot. Actually I am using an ASM lib to pull this off, but it's still kinda advanced since the said ASM lib was not made to achieve this and I doubt the author indended to make the lib capable of this, which is why I hoped he wouldn't patch the trick without knowing. :P Normally, with CE Textlib, the best screen resolution you can get is 26x10 rectangles that are 12x20 pixels each, with a white frame around the screen and the TI-OS status bar at the top.
  • 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

I meant like instead of using the colourful colours, use the four grays, white, and black for everything instead.
Would that be difficult to use to make detailed things, being limited to only 6 colours?
  • 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

Oh ok. I might try, but I thought it would look kinda cool in this case. I might change the hat to black, though (it was made another color because I thought the battle background would be black like in FF:MF)
  • 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

So I was trying to implement color palettes in my game again because I wanted to be able to re-use the same tiles multiple times with different colors, and I found a way to do it without  slowing down map loading: I simply cache the three sprites at the end of the spritesheet data with a custom color palette (4 colors per sprite).

However, when I tested my routine, it glitched out and I got those awesome graphics :D



I'll most likely re-use those colors and sprites for a final dungeon or something now :P


EDIT: This was fixed (it was due to using the wrong palette :P) and I have now implemented different tilesets for various dungeons. There are now 7 dungeons, but they don't have any final map. They use dummy maps for now. There's even a city of gold in there. :P



EDIT: Here's a mockup of what a room with an item will look like:



By the way, the key sprite is a rocky wall tile. But wall tiles are laid out so that the darker color in them can be 2 or 3 and the key overlaps every pixel that are 0 or 1, so basically I can store two tiles in one :3=




EDIT: New 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

Good news!


After a lot of hassle, I finally managed to implement the following in my tilemapper:

-Exiting dungeons
Currently warps to the entrance of a random dungeon. The dungeon layout is stored in Str2. If the room char is "X" instead of 1, then it exits the dungeon.

-Random battle trigger
There are no battles yet, so you get a small text box saying they're not available yet as placeholder, but it works.

-Event trigger
This was by far the hardest thing to implement, due to how collision works in this engine. But now it works and as a placeholder, there is a sample NPC convo that appears. You have to walk on event tiles to interact with them, and when the event is over, you move back in front of the tile.

-Menu trigger
Placeholder, like random battles.

-Map only gets redrawn when necessary
When you enter the menu, a battle or an event, the map is not redrawn, as only the center of the screen is used. The exits are only redrawn when you move to the next room and the entire map is only redrawn when you exit the dungeon.

-Game intro
Similar to FF1, but with different text and unlike the CE version of FFMF, it's fullscreen!


And thus, First Fantasy II was born (hopefully it gets finished like the first game :P)!




Download attached below! (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

Snektron

That looks pretty sweet :) I like the graphics, but perhaps the player could be enhanced a bit (i image someone who's exploring a dungeon isn't holding is arms apart :P)
  • Calculators owned: TI-84+
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


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

Quote from: Cumred_Snektron on March 31, 2016, 12:34:56 PM
That looks pretty sweet :) I like the graphics, but perhaps the player could be enhanced a bit (i image someone who's exploring a dungeon isn't holding is arms apart :P)
Thre main character is simple because it's not drawn from the sprite routine, but rather four rectangles, for speed reasons. I could perhaps replace the red blocks with one red square that is 20 pixels wide, though, but of course its offset would be two pixels lower due to CE Texxlib "limitations".

Thanks, by the way :3=

EDIT What about this Cumred?

  • 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

Snektron

  • Calculators owned: TI-84+
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


Caleb Hansberry

  • Calculators owned: TI-82, TI-83, TI-83+SE, TI-84+SE, TI-85, TI-89, TI-99/4A
  • Consoles, mobile devices and vintage computers owned: HP Portable Plus 110, Toshiba T3100, Toshiba T5200, GRiD 1660, TI-99/4A, Apple IIgs, and much more than I can list here

Dream of Omnimaga

Thanks Cumred. The only drawback is that it flickers, but it's not that bad and I guess it's acceptable with Atari-like graphics anyway.
Quote from: Caleb Hansberry on March 31, 2016, 06:48:27 PM
Looks very nice. Maybe I should get a CE sometime.
The game might be somewhat playable on the CSE, but with heavy glitching (especially with the new character sprite). But yeah the CE has a lot of potential so I recommend it. :)

By the way, I'M doing some more planning right now and I made a rough schematic of where each dungeon are located and the links between them. :)
  • 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

Quote from: DJ Omnimaga on March 31, 2016, 03:06:54 PM
Quote from: Cumred_Snektron on March 31, 2016, 12:34:56 PM
That looks pretty sweet :) I like the graphics, but perhaps the player could be enhanced a bit (i image someone who's exploring a dungeon isn't holding is arms apart :P)
Thre main character is simple because it's not drawn from the sprite routine, but rather four rectangles, for speed reasons. I could perhaps replace the red blocks with one red square that is 20 pixels wide, though, but of course its offset would be two pixels lower due to CE Texxlib "limitations".

Thanks, by the way :3=

EDIT What about this Cumred?


IMO, I think the character's hands should be at his waist. I looks better to me that way.
  • 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

  • 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

Powered by EzPortal