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

First Fantasy: Mana Force RPG Color remake! [84+CSE] [hybrid BASIC] [DCSE8]

Started by Dream of Omnimaga, February 11, 2015, 07:07:49 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Dream of Omnimaga

In May 2002, I released Mana Force for the TI-83+, my first RPG to use an actual tilemap engine. In 2013, it was translated in English and that version received bug fixes and other changes. And now, in 2015, it will finally be in color!



Screenshot thread: http://codewalr.us/index.php?topic=254.0

Although the original game worked on the 84+CSE (one of my only 83+ RPG that actually ran at all on that calculator), there were some display issues and the lack of any color made it a bit pointless to play on a color screen. Now it is receiving the Doors CSE 8.1 treatment, thanks to the built-in Celtic and xLIBC libraries.

Since this game code is a disaster (there's a Repeat instruction with 31 conditions and lots of spaghetti code), optimizing will probably come later, since the primary goal of this project is to really update the game so that it takes advantage of Celtic 2 color features. Nonetheless, here are the changes that have happened so far (newest additions in blue):

-First TI-OS menu replaced with custom one that appears directly in the title screen. Some options removed.
-Save slots reduced from 5 to 2 due to lower RAM (who needs that many on 1 calc, anyway?)
-Expanded the village to fill the entire home screen.
-Moved stuff around to take advantage of the larger screen
-Renamed Metamorphoses to Jobs
-Massive code cleanup (everything was in a single line of code since back then I coded on-calc and Goto took too long to reach errors otherwise)
-Removed many ClrHome commands and replaced them with a custom (sometimes temporary) screen erasing utility.
-Mana/Item prices decreased to accomodate the lower GP increase, but it takes longer to gain enough gold to buy them.
-Nut item renamed to walnut and Super mage class renamed to Wizard.
-Made intro text uppercase to save RAM
-Got rid of "Welcome to village of hope", as the intro text now mentions you must save that village instead of the kingdom of the same name.
-Decreased experience given per enemy to ensure next level requirement is never higher than 9999.
-Decreased gold given per enemy to 10 times lower its original amount.
-Battles
-Dungeon select screen
-Fix shop
-Replace entire map engine and make dungeons full screen
-Revamp in-game menu
-Replace every Disp command with Output
-Fix magic animations that used 3-bit color mode because the animations are not visible enough
-Remove all lbl and gotos from battle commands selection
-Add boss outro event or animation



Todo:

-Enemy balance (Dungeon 1 through 6, as well as enemies from dungeon 7 are done)
-Better ending
-Extra final boss maybe?

Regarding the TI-OS status bar being erased, I am using xLIBC to do that. To erase the busy indicator as well you must set the LCD to 160x240 mode then back to 320x240 without redrawing the status bar. This is why at the beginning the screen stretches up during a picosecond.

Anyway, enjoy!
  • 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

Duke "Tape" Eiyeron

Heh, 'looks nice at the moment! :p

Quick Edit : olol the filename!
  • Calculators owned: A lot.

Dream of Omnimaga

Hehe thanks. As for the file name it's because back then I had the tendency to use the theta character in my file names. This caused problems around 2003-05 when TI started breaking compatibility with TI-Graph Link software. This version of the game will eventually ditch the theta character in all sub-program names.
  • 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

Looks good! And i use a theta always to mark a program as source
  • Calculators owned: TI-84+
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


Dream of Omnimaga

Thanks. :)

One idea I had recently for that empty space at the top of the screen was using xLIBC text to fill it with an HUD. I could display the character level, HP, MP, Mana, experience needed for next level and gold pieces there. I could perhaps display the character class too. That would allow me to get rid of the in-game stats menu.

However, there is one problem: xLIBC number display routines only allows numbers from -9999 to 9999, so in order to display next level experience properly I need to either write a routine to split the number in half and to display it where it should or to edit the battle victory rewards and item costs so that you never need more than 9999 gold and 9999 experience. Changing experience requirements might prove to be problematic if they alter the game difficulty considerably.

That empty screen area would be very handy, though, because I can fit up to 76 characters there:

  • 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

Or you could make gold/exp harder to get? also wouldnt it just be gold/9999 and gold % 9999 to display it?
  • Calculators owned: TI-84+
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


Duke "Tape" Eiyeron

  • Calculators owned: A lot.

Dream of Omnimaga

Yeah that's what I meant by changing experience requirements actually. Enemies  would give much less experience in thw process as well.
  • 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

CKH4

Cool project. I'd divide every number that might go over by five or ten if I were you but I think that this is more of an opinion question.
  • Calculators owned: TI-83+, TI-84+


Dream of Omnimaga

The main issue is I need to ensure I still get gold and exp vs weak monsters. If I got enemies giving 1 exp and others 12 then if I add 1 to every enemy but divide by 10 one monster will give 1 exp and the other 2, which is where significant balance problems can arise.
  • 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

Yuki

#10
You can always code a BigNum library and store your gold/XP in base 10000. And yeah that area would be handy for the HUD.
  • Calculators owned: TI-83+ (dead?), Casio Prizm (also dead???)
  • Consoles, mobile devices and vintage computers owned: A lot
Read Zarmina!
YUKI-CHAAAANNNN
In the beginning there was walrii. In the end there will be walrii. All hail our supreme leader :walrii: --Snektron

if you wanna throw money at me and/or CodeWalrus monthly it's here

Dream of Omnimaga

#11
I will check how experience per level was calculated. If it was LV^3 like I think, then I'll just change requirements to LV^2.

For items, prices used to be like this without the Bargainer job equipped (items are 50% off with it):

Herb: 10 Gold
Nut: 100
Potion: 1000
Ether 10000

There was also no maximum of gold you could carry on you.

Now it will be the following:
Herb: 6
Nut: 50
Potion: 400
Ether: 2000

And the max amount of gold you can carry at a time will be 9999.

Mana will cost 3 GP to replenish instead of 10.


Also a minor update: I removed the Welcome to village of hope screen from the game and made the intro include mention of that village. I also made the entire intro uppercase because lowercase letters take twice more RAM. The 5th boss, which kept appearing at random locations on the screen, was also replaced and no longer moves. This was glitchy as hell and annoying anyway.


EDIT: Now instead of giving (EnemyLV*2)^2 experience points, enemies will give (EnemyLV*2)-1. Next level requirement is now CurrenLV^2 instead of CurrentLV^3. For gold, they will now give 5 times less the original amount.

EDIT2: Some speed improvements have occured, thanks to the custom screen clearing program now allowing partial clearing. Also, I am slowly moving most controls from (-)/ENTER/numpad  to 2nd/ALPHA/Fkeys, so that your fingers always remain at the top of the calc. Some cosmetic changes occured as well. You can see how the game looks like below and I also created a screenshot thread.

  • 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

Ralph Worthington

I can't seem to get this to work on my calculator. It makes the program name instead of thetathetathetathetaMANA, in DoorsCSE it makes it thetathetathetathetaMANAJ. Yeah, nine characters. I can't do anything with it!!! When I try to open it from the menu, it opens Frogger???

Dream of Omnimaga

Seems very strange. Have you considered backing your data up then reseting your RAM? I havent heard of such issue before.
  • 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

Update: Some work on the HUD has been done tonight. It was finally implemented in the village and shops and now shows actual values rather than just placeholder text. Also, the HP and MP now shows in red if they're too low:



It flickers, though, since text has to be stored in a string prior running the xLIBC text routine. tr1p1ea should probably change that in xLIBCE. >.< But it does the job well.
  • 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