Author Topic: Unnamed  (Read 6499 times)

0 Members and 1 Guest are viewing this topic.

Offline blue_bear_94

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 801
  • Rating: +25/-35
  • Touhou Enthusiast / Former Troll / 68k Programmer
    • View Profile
Unnamed
« on: May 24, 2012, 04:12:31 pm »
Now that I've created a few TI-89 Basic programs, I really want to write an RPG. This is a plan for one I might write.

The character will navigate through 8x16 tilemaps, which will be stored in a list of strings (one string per 5x5? map world). A quick calculation shows 128 characters per map*25 maps/world=3,200 characters. Therefore I will probably be writing the strings on an editor. Another method is to use multiple archived strings named, perhaps, map0, map1, etc. A space would be a spot you could walk on, L a wall, and 0-9 and perhaps a few more characters symbols for people. Greek characters might be quest items.

Now, quests. Each quest will have an ID from 0 to n-1. The types for each objective will be fight, fight and collect, collect, and talk. Each quest has one or more objectives (ex. fighting 3 of one enemy, 5 of another, and coming back to an NPC).
Fight: {enemy id, number, 0}
Fight and Collect: {enemy id, number, probability}
Collect: {item id, 0, 0}
Talk: {person id, response, 0}
Each NPC has a unique ID; I am thinking about storing their positions in a list, where every 5 entries look like {world, global row, global col, local row, local col} where the "global" coordinates describe which map in the world it is and the "local" coordinates describe where in the tilemap the person is. I could compress it to {world, map#, localcoords} or {25*world+map#, localcoords} or even {128*(25*world+map#)+localcoords}. For speed, however, I would use {w,m#,lc}.
The fighting system will not involve "cards" as in Sunrise 3. There will be a screen showing ASCII representations of the player and the enemy and a custom menu asking for an action (Fight, Magic, Item, Pass, Run). Each enemy has an ID as well, as well as a list associated with it, containing the enemy data (health, mana, lvl, can fight, can magic, can item, can pass, can run, stun rds, poison, xp reward, gold reward, # of spells, spell 1, ...). "Fight," as well as each magic will have a list consisting of action, arguments, action, arguments, etc. Some actions will be Attack(type, min, max), Heal(min, max, 0), MHeal(min, max, 0), ModUserAtk(fact, 0, 0), ModEnemyAtk(fact, 0, 0), ModUserDef(fact, 0, 0), ModEnemyDef(fact, 0, 0), Poison(amt, 0, 0), Stun(turns, 0, 0). Both players and enemies can use the same spells and there will be different programs for players to cast spells and for enemies to cast spells.
Shops will have a commond program available that will work with all shops, taking a list argument. Since For() loops are disallowed in ToolBar...EndTBar statements, I would be using a custom menu with up to 8 options, not including the one to return.

I'd like your feedback on this plan, thanks in advance!
Due to dissatisfaction, I will be inactive on Omnimaga until further notice. (?? THP hasn't been much success and there's also the CE. I might possibly be here for a while.)
If you want to implore me to come back, or otherwise contact me, I can be found on GitHub (bluebear94), Twitter (@melranosF_), Reddit (/u/Fluffy8x), or e-mail (if you know my address). As a last resort, send me a PM on Cemetech (bluebear94) or join Touhou Prono (don't be fooled by the name). I've also enabled notifications for PMs on Omnimaga, but I don't advise using that since I might be banned.
Elvyna (Sunrise) 4 5%
TI-84+SE User (2.30 2.55 MP 2.43)
TI-89 Titanium User (3.10)
Casio Prizm User? (1.02)
Bag  東方ぷろの

Offline jsj795

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1105
  • Rating: +84/-3
    • View Profile
Re: Unnamed
« Reply #1 on: May 24, 2012, 08:01:47 pm »
it sounds pretty decent, but be careful as TI-89 BASIC is a lot slower than TI-83+ series! And good luck, can't wait to see this :)


Spoiler For funny life mathematics:
1. ROMANCE MATHEMATICS
Smart man + smart woman = romance
Smart man + dumb woman = affair
Dumb man + smart woman = marriage
Dumb man + dumb woman = pregnancy
2. OFFICE ARITHMETIC
Smart boss + smart employee = profit
Smart boss + dumb employee = production
Dumb boss + smart employee = promotion
Dumb boss + dumb employee = overtime
3. SHOPPING MATH
A man will pay $2 for a $1 item he needs.
A woman will pay $1 for a $2 item that she doesn't need.
4. GENERAL EQUATIONS & STATISTICS
A woman worries about the future until she gets a husband.
A man never worries about the future until he gets a wife.
A successful man is one who makes more money than his wife can spend.
A successful woman is one who can find such a man.
5. HAPPINESS
To be happy with a man, you must understand him a lot and love him a little.
To be happy with a woman, you must love her a lot and not try to understand her at all.
6. LONGEVITY
Married men live longer than single men do, but married men are a lot more willing to die.
7. PROPENSITY TO CHANGE
A woman marries a man expecting he will change, but he doesn't.
A man marries a woman expecting that she won't change, and she does.
8. DISCUSSION TECHNIQUE
A woman has the last word in any argument.
Anything a man says after that is the beginning of a new argument.

Girls = Time * Money (Girls are a combination of time and money)
Time = Money (Time is money)
Girls = Money squared (So, girls are money squared)
Money = sqrt(Evil) (Money is also the root of all evil)
Girls = sqrt(Evil) squared (So, girls are the root of all evil squared)
Girls = Evil (Thus, girls are evil)
*Girls=Evil credit goes to Compynerd255*

Offline blue_bear_94

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 801
  • Rating: +25/-35
  • Touhou Enthusiast / Former Troll / 68k Programmer
    • View Profile
Re: Unnamed
« Reply #2 on: May 24, 2012, 08:06:00 pm »
Umm... how many times slower approximately?
Due to dissatisfaction, I will be inactive on Omnimaga until further notice. (?? THP hasn't been much success and there's also the CE. I might possibly be here for a while.)
If you want to implore me to come back, or otherwise contact me, I can be found on GitHub (bluebear94), Twitter (@melranosF_), Reddit (/u/Fluffy8x), or e-mail (if you know my address). As a last resort, send me a PM on Cemetech (bluebear94) or join Touhou Prono (don't be fooled by the name). I've also enabled notifications for PMs on Omnimaga, but I don't advise using that since I might be banned.
Elvyna (Sunrise) 4 5%
TI-84+SE User (2.30 2.55 MP 2.43)
TI-89 Titanium User (3.10)
Casio Prizm User? (1.02)
Bag  東方ぷろの

Offline jsj795

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1105
  • Rating: +84/-3
    • View Profile
Re: Unnamed
« Reply #3 on: May 24, 2012, 08:50:49 pm »
with your setup, it seems like you'll end up using a lot of lists.
Quote
"A large part of 68k optimization revolves around careful use of lists. List variables are no longer random access: accessing the last element of a list is much slower than accessing the first element. For this reason, going through a list in a For loop is about the worst thing you could do."

From http://tibasicdev.wikidot.com/68k:83coders#toc4

Also I believe with its ability to draw sprites meant that many people kind of expect graphics game with those sprites command, but the problem is that the sprite command was extremely slow. Since you said you'll be using ascii characters, I guess it won't be too much of a problem, although I'm not sure how the ascii character display routine compares to ti-83+'s output( in terms of speed.


Spoiler For funny life mathematics:
1. ROMANCE MATHEMATICS
Smart man + smart woman = romance
Smart man + dumb woman = affair
Dumb man + smart woman = marriage
Dumb man + dumb woman = pregnancy
2. OFFICE ARITHMETIC
Smart boss + smart employee = profit
Smart boss + dumb employee = production
Dumb boss + smart employee = promotion
Dumb boss + dumb employee = overtime
3. SHOPPING MATH
A man will pay $2 for a $1 item he needs.
A woman will pay $1 for a $2 item that she doesn't need.
4. GENERAL EQUATIONS & STATISTICS
A woman worries about the future until she gets a husband.
A man never worries about the future until he gets a wife.
A successful man is one who makes more money than his wife can spend.
A successful woman is one who can find such a man.
5. HAPPINESS
To be happy with a man, you must understand him a lot and love him a little.
To be happy with a woman, you must love her a lot and not try to understand her at all.
6. LONGEVITY
Married men live longer than single men do, but married men are a lot more willing to die.
7. PROPENSITY TO CHANGE
A woman marries a man expecting he will change, but he doesn't.
A man marries a woman expecting that she won't change, and she does.
8. DISCUSSION TECHNIQUE
A woman has the last word in any argument.
Anything a man says after that is the beginning of a new argument.

Girls = Time * Money (Girls are a combination of time and money)
Time = Money (Time is money)
Girls = Money squared (So, girls are money squared)
Money = sqrt(Evil) (Money is also the root of all evil)
Girls = sqrt(Evil) squared (So, girls are the root of all evil squared)
Girls = Evil (Thus, girls are evil)
*Girls=Evil credit goes to Compynerd255*

Offline blue_bear_94

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 801
  • Rating: +25/-35
  • Touhou Enthusiast / Former Troll / 68k Programmer
    • View Profile
Re: Unnamed
« Reply #4 on: May 24, 2012, 08:56:58 pm »
Yes, I am aware of how lists work on the TI-89. That's why I'll use strings for the maps. Also, the lists I am using will probably be small.
Due to dissatisfaction, I will be inactive on Omnimaga until further notice. (?? THP hasn't been much success and there's also the CE. I might possibly be here for a while.)
If you want to implore me to come back, or otherwise contact me, I can be found on GitHub (bluebear94), Twitter (@melranosF_), Reddit (/u/Fluffy8x), or e-mail (if you know my address). As a last resort, send me a PM on Cemetech (bluebear94) or join Touhou Prono (don't be fooled by the name). I've also enabled notifications for PMs on Omnimaga, but I don't advise using that since I might be banned.
Elvyna (Sunrise) 4 5%
TI-84+SE User (2.30 2.55 MP 2.43)
TI-89 Titanium User (3.10)
Casio Prizm User? (1.02)
Bag  東方ぷろの

Offline jsj795

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1105
  • Rating: +84/-3
    • View Profile
Re: Unnamed
« Reply #5 on: May 24, 2012, 08:59:41 pm »
okay, as long as you're aware of them :) I think most of the games were slow because many people just didn't care much about developing good BASIC programs for ti-89 because they were able to code in C.


Spoiler For funny life mathematics:
1. ROMANCE MATHEMATICS
Smart man + smart woman = romance
Smart man + dumb woman = affair
Dumb man + smart woman = marriage
Dumb man + dumb woman = pregnancy
2. OFFICE ARITHMETIC
Smart boss + smart employee = profit
Smart boss + dumb employee = production
Dumb boss + smart employee = promotion
Dumb boss + dumb employee = overtime
3. SHOPPING MATH
A man will pay $2 for a $1 item he needs.
A woman will pay $1 for a $2 item that she doesn't need.
4. GENERAL EQUATIONS & STATISTICS
A woman worries about the future until she gets a husband.
A man never worries about the future until he gets a wife.
A successful man is one who makes more money than his wife can spend.
A successful woman is one who can find such a man.
5. HAPPINESS
To be happy with a man, you must understand him a lot and love him a little.
To be happy with a woman, you must love her a lot and not try to understand her at all.
6. LONGEVITY
Married men live longer than single men do, but married men are a lot more willing to die.
7. PROPENSITY TO CHANGE
A woman marries a man expecting he will change, but he doesn't.
A man marries a woman expecting that she won't change, and she does.
8. DISCUSSION TECHNIQUE
A woman has the last word in any argument.
Anything a man says after that is the beginning of a new argument.

Girls = Time * Money (Girls are a combination of time and money)
Time = Money (Time is money)
Girls = Money squared (So, girls are money squared)
Money = sqrt(Evil) (Money is also the root of all evil)
Girls = sqrt(Evil) squared (So, girls are the root of all evil squared)
Girls = Evil (Thus, girls are evil)
*Girls=Evil credit goes to Compynerd255*

Offline blue_bear_94

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 801
  • Rating: +25/-35
  • Touhou Enthusiast / Former Troll / 68k Programmer
    • View Profile
Re: Unnamed
« Reply #6 on: May 24, 2012, 09:09:20 pm »
Yes, I wrote a few programs in C, such as here.

Edit: I also have an elaboration on the map generation. A segment of the large string corresponding to the section of the world is copied to the RAM, so quest items can be removed from the map when the player collects it. Do you know a decent TI-89 Basic editor?
« Last Edit: May 24, 2012, 10:38:53 pm by blue_bear_94 »
Due to dissatisfaction, I will be inactive on Omnimaga until further notice. (?? THP hasn't been much success and there's also the CE. I might possibly be here for a while.)
If you want to implore me to come back, or otherwise contact me, I can be found on GitHub (bluebear94), Twitter (@melranosF_), Reddit (/u/Fluffy8x), or e-mail (if you know my address). As a last resort, send me a PM on Cemetech (bluebear94) or join Touhou Prono (don't be fooled by the name). I've also enabled notifications for PMs on Omnimaga, but I don't advise using that since I might be banned.
Elvyna (Sunrise) 4 5%
TI-84+SE User (2.30 2.55 MP 2.43)
TI-89 Titanium User (3.10)
Casio Prizm User? (1.02)
Bag  東方ぷろの

Offline jsj795

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1105
  • Rating: +84/-3
    • View Profile
Re: Unnamed
« Reply #7 on: May 25, 2012, 05:08:08 am »
Do you know a decent TI-89 Basic editor?

No sadly I don't :( I never really got into 68k programming...


Spoiler For funny life mathematics:
1. ROMANCE MATHEMATICS
Smart man + smart woman = romance
Smart man + dumb woman = affair
Dumb man + smart woman = marriage
Dumb man + dumb woman = pregnancy
2. OFFICE ARITHMETIC
Smart boss + smart employee = profit
Smart boss + dumb employee = production
Dumb boss + smart employee = promotion
Dumb boss + dumb employee = overtime
3. SHOPPING MATH
A man will pay $2 for a $1 item he needs.
A woman will pay $1 for a $2 item that she doesn't need.
4. GENERAL EQUATIONS & STATISTICS
A woman worries about the future until she gets a husband.
A man never worries about the future until he gets a wife.
A successful man is one who makes more money than his wife can spend.
A successful woman is one who can find such a man.
5. HAPPINESS
To be happy with a man, you must understand him a lot and love him a little.
To be happy with a woman, you must love her a lot and not try to understand her at all.
6. LONGEVITY
Married men live longer than single men do, but married men are a lot more willing to die.
7. PROPENSITY TO CHANGE
A woman marries a man expecting he will change, but he doesn't.
A man marries a woman expecting that she won't change, and she does.
8. DISCUSSION TECHNIQUE
A woman has the last word in any argument.
Anything a man says after that is the beginning of a new argument.

Girls = Time * Money (Girls are a combination of time and money)
Time = Money (Time is money)
Girls = Money squared (So, girls are money squared)
Money = sqrt(Evil) (Money is also the root of all evil)
Girls = sqrt(Evil) squared (So, girls are the root of all evil squared)
Girls = Evil (Thus, girls are evil)
*Girls=Evil credit goes to Compynerd255*

Offline Lionel Debroux

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2135
  • Rating: +290/-45
    • View Profile
    • TI-Chess Team
Re: Unnamed
« Reply #8 on: May 25, 2012, 12:00:45 pm »
Daisuke Basic Edit, or TI-Edit ?
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TILP and TIEmu.
Co-admin of TI-Planet.

Offline blue_bear_94

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 801
  • Rating: +25/-35
  • Touhou Enthusiast / Former Troll / 68k Programmer
    • View Profile
Re: Unnamed
« Reply #9 on: May 25, 2012, 08:39:18 pm »
I can't seem to install any of these.

Also, a little elaboration.
map0-map9 will be the giant map strings, or I might make 250 smaller strings: map00 - map024, ..., map90 - map 924 for convenience. They will all be archived. If the large strings are used, then I will retrieve the appropriate segment on demand. If I use the small strings, then I will make a temporary copy in RAM. Either way, the temp copy will be named mapt or similar.
The quest objectives will be stored in a function called questobj(id) or if there aren't too many quests, a list called questobj. The list might be split up into several smaller lists in order to increase speed. Whatever format I am using, the file will be archived.
npc or npc(id) (again, it depends) will be the coordinate lists for NPCs. Again, it's archived.
spells(id) will be the function storing the necessary lists for spells.
shop(list) will be the shop program.
hit(action, arg1, arg2, arg3, arg4, PorE) is the attack program. P=0, E=1. I will also have AttackSelf and HealOther for actions. I have decided to add an arg4 for an animation and am planning to store the animations in a program.

Edit: More stuff.
dmain: Main save list
dquest: Quests
dqitems: Quest Items
dcons: Consumables
dhats: Hats
drobes: Robes
dwpns: Weapons
dspells: Spells
deqp: Equipped
Also, each item has an id specific to its type and also a global one (0-999: quest items, 1000-1999: consumables, 2000-2999: hats, 3000-3999: robes, 4000-4999: weapons).
« Last Edit: May 26, 2012, 09:24:41 pm by blue_bear_94 »
Due to dissatisfaction, I will be inactive on Omnimaga until further notice. (?? THP hasn't been much success and there's also the CE. I might possibly be here for a while.)
If you want to implore me to come back, or otherwise contact me, I can be found on GitHub (bluebear94), Twitter (@melranosF_), Reddit (/u/Fluffy8x), or e-mail (if you know my address). As a last resort, send me a PM on Cemetech (bluebear94) or join Touhou Prono (don't be fooled by the name). I've also enabled notifications for PMs on Omnimaga, but I don't advise using that since I might be banned.
Elvyna (Sunrise) 4 5%
TI-84+SE User (2.30 2.55 MP 2.43)
TI-89 Titanium User (3.10)
Casio Prizm User? (1.02)
Bag  東方ぷろの

Offline blue_bear_94

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 801
  • Rating: +25/-35
  • Touhou Enthusiast / Former Troll / 68k Programmer
    • View Profile
Re: Unnamed
« Reply #10 on: May 30, 2012, 04:34:33 pm »
More on NPCs...
Each NPC has a default phrase to say when you have no quests from him/her, and have a lists of quests to give. Each quest is represented by a list, all stored in a function, and the requirements are stored in another function, called qreqs(id). Also, the locations for the NPCs will be located in npc0 ... npc9.
The shop program will use a list containing global item ids (ex: shop({1000,1001,1002,2003,3002,4005})).

Edit: I might also do a port of one of DJ_O's RPGs, if that's OK with him.

Edit 2: If TI-Basic turns out to be too slow, then I might implement some C. Also, I've thought about the name. I might name it Sunrise 1.1 or Moonscape (name of an abandoned computer project).
« Last Edit: May 31, 2012, 07:50:45 pm by blue_bear_94 »
Due to dissatisfaction, I will be inactive on Omnimaga until further notice. (?? THP hasn't been much success and there's also the CE. I might possibly be here for a while.)
If you want to implore me to come back, or otherwise contact me, I can be found on GitHub (bluebear94), Twitter (@melranosF_), Reddit (/u/Fluffy8x), or e-mail (if you know my address). As a last resort, send me a PM on Cemetech (bluebear94) or join Touhou Prono (don't be fooled by the name). I've also enabled notifications for PMs on Omnimaga, but I don't advise using that since I might be banned.
Elvyna (Sunrise) 4 5%
TI-84+SE User (2.30 2.55 MP 2.43)
TI-89 Titanium User (3.10)
Casio Prizm User? (1.02)
Bag  東方ぷろの