You can help CodeWalrus stay online by donating here. | New CodeWalrus | Old (dark mode) | Old (light) | Discord server

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

b/[Completed] First Fantasy Series (TI-84+CSE/84+CE/83PCE) 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.

u/utz March 27, 2016, 07:41:54 PM
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.
u/Dudeman313 March 27, 2016, 08:28:34 PM
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?
u/Dream of Omnimaga March 27, 2016, 10:30:48 PM
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.
Last Edit: March 27, 2016, 10:38:09 PM by DJ Omnimaga
u/Dudeman313 March 27, 2016, 10:50:48 PM
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?
u/Dream of Omnimaga March 27, 2016, 10:55:07 PM
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)
u/Dream of Omnimaga March 30, 2016, 12:27:48 AM
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:

Last Edit: March 30, 2016, 04:50:33 AM by DJ Omnimaga
u/Dream of Omnimaga March 31, 2016, 12:57:28 AM
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)
Last Edit: March 31, 2016, 01:09:11 AM by DJ Omnimaga
u/Snektron 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)
u/Dudeman313 March 31, 2016, 01:11:35 PM
That's cool! I like the shorter Character sprite. :D
u/Dream of Omnimaga 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?

Last Edit: March 31, 2016, 06:33:39 PM by DJ Omnimaga
u/Snektron March 31, 2016, 06:36:10 PM
That looks better :) way more natural pose :P
u/Caleb Hansberry March 31, 2016, 06:48:27 PM
Looks very nice. Maybe I should get a CE sometime.
u/Dream of Omnimaga March 31, 2016, 07:00:40 PM
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. :)
u/Dudeman313 March 31, 2016, 09:15:20 PM
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.
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