### Author Topic: Progress  (Read 49733 times)

0 Members and 1 Guest are viewing this topic.

#### tifreak

• Project Author
• LV11 Super Veteran (Next: 3000)
• Posts: 2708
• Rating: +82/-3
• My Kung Fu IS strong...
##### Progress
« Reply #165 on: February 20, 2006, 07:52:00 am »
That is kinda the problem... Unless I leave off some stats...

There will be 151 save lists, if someone were to just catch one of each. The save lists, if I were to just combine it, would be massive... I also think I know how I am going to do moves, that is fairly easy, as each move will have a corresponding number. That will make it less hectic.

So far, I am thinking about taking off the SP stats, as I never really saw them work with anything in the original game anyways. I will have to have a basic stats, like hp, att, def, evasion, accuracy, and the pp of each move. The others might not make it on there...

Stats will be in lists, I was just meaning that it would be cool for self modifying code, as you could just store the stats in a program when not in a battle...
Projects: AOD Series: 75% | FFME: 80% | Pokemon: 18% | RPGSK: 60% | Star Trek: 70% | Star Trek 83+: 40% | TI-City: 5%

#### MathStuf

• Guest
##### Progress
« Reply #166 on: February 21, 2006, 03:36:00 pm »
SP can contribute up to 63 points that you can see when pushed to the max...so yeah...they do kinda matter...If you have SP and DV stored, you could just recalc everytime they are needed...

#### tifreak

• Project Author
• LV11 Super Veteran (Next: 3000)
• Posts: 2708
• Rating: +82/-3
• My Kung Fu IS strong...
##### Progress
« Reply #167 on: February 22, 2006, 02:17:00 am »
Well, crud... I know what I could do. I could use the setupeditor, and each list be numbered 1-151 (Unless they are evolving, then they would have to somehow retain the original number... Or maybe I could just have it move up as well...)

*sigh* This is gonna be so blasted complicated...

I am just gonna get the basic list set up, so I can finish up the ingame menu, and make the continue function work. After that, maybe I will continue with the maps...
Projects: AOD Series: 75% | FFME: 80% | Pokemon: 18% | RPGSK: 60% | Star Trek: 70% | Star Trek 83+: 40% | TI-City: 5%

#### MathStuf

• Guest
##### Progress
« Reply #168 on: February 24, 2006, 05:06:00 pm »
QuoteBegin-tifreak8x+Feb 22 2006, 8:17-->
 QUOTE (tifreak8x @ Feb 22 2006, 8:17) *sigh* This is gonna be so blasted complicated...

I'm getting to that point...49k for GUI...yeah...

#### dragon__lance

• Guest
##### Progress
« Reply #169 on: February 24, 2006, 05:16:00 pm »
sounds complex...hope it works out though

#### tifreak

• Project Author
• LV11 Super Veteran (Next: 3000)
• Posts: 2708
• Rating: +82/-3
• My Kung Fu IS strong...
##### Progress
« Reply #170 on: February 24, 2006, 05:48:00 pm »
I hope so too... After the release of AOD 82, I will see about workin on this again...
Projects: AOD Series: 75% | FFME: 80% | Pokemon: 18% | RPGSK: 60% | Star Trek: 70% | Star Trek 83+: 40% | TI-City: 5%

#### necro

• LV9 Veteran (Next: 1337)
• Posts: 1295
• Rating: +17/-2
• +3 vaporal mustache
##### Progress
« Reply #171 on: February 24, 2006, 06:01:00 pm »
~Party Pokemon Stats~
(48 bytes each)*6= ~288 bytes

Pokemon Number (1-155) 3 digits
HP(-54125+9999) 4 digits
MHP(-54125+9999) 4 digits
Atack(-54125+999) 3 digits
Def(-54125+999) 3 digits
Speed(-54125+999) 3 digits
Evasion(-54125+999) 3 digits
Level(1-100)[+1] 2 digits
move1(-54125+99) 2 digits
PP(-54125+99) 2 digits
move2(-54125+99) 2 digits
PP(-54125+99) 2 digits
move3(-54125+99) 2 digits
PP(-54125+99) 2 digits
move4(-54125+99) 2 digits
PP(-54125+99) 2 digits
Level(-54125+99) 2 digits
ExprenceNEEDED(-54125+99999) 5 digits

~Box Pokemon Stats~
(29 bytes a pokemon)*[ if there are 200 boxes in the pc] ~5800 bytes
-------------------------------------------
Pokemon Number (1-155) 3 digits
MHP(-54125+9999) [storing auto resisitates] 4 digits
Atack(-54125+999) 3 digits
Def(-54125+999) 3 digits
Speed(-54125+999) 3 digits
Evasion(-54125+999) 3 digits
Level(1-100)[+1] 2 digits
move1(-54125+99)[full pp] 2 digits
move2(-54125+99)[full pp] 2 digits
move3(-54125+99)[full pp] 2 digits
move4(-54125+99)[full pp] 2 digits
Level(-54125+99) 2 digits
ExprenceNEEDED(-54125+99999) 5 digits
----------------------------------------------------------
~Individual Pokemon stats~
[155]*=15500 MAX! (WILL ALMOST SURELY BE WAY LOWER) ((even this will easily fit in the ram though))

Name:5-20 bytes

~String based stats~ 30 bytes
Pokemon Number (1-155) 3 digits
HP growth(.00-.999) [*.1] 3 digits
Atack grwth(.00-.999) [*.1] 3 digits
Def grwth(.00-.999) [*.1] 3 digits
Speed grw(.00-.999) [*.1] 3 digits
Evasion growth(.00-.999) [*.1] 3 digits
Exprence NEEDED Growth Rate(.00-.999) [*.1] 3 digits
Type1(-54125+99) 2 digits
Type2(-54125+99) 2 digits
Evolve into(-54125+999) 3 digits (if non evolve, make it evolve into itself)
Level to evolve (-54125+99) 2 digits (-54125+1 is an evee)

Move list consists of: move(-54125+99),level gained (-54125+1 means it is possible for it to gain,0-99),...

5 bytes per move plus a few for the list header
other info? (up to ~50)
---------------------------------------------
I could make you a loader like this.  I already do this in my map loader for zelda {and I tested that part of it out at least and it was flawless}...or you could make your own.  Right now, I'm realy busy so if you wnated me to make such a thing there'd be a bit a wait before I'd get it done.  Further, there are ways to even further compress data to ridiculous levels.  The only thing that you will probably need is a way to store all these lists into a program and then into the flash and all.  There are plenty of places to cut corners in  system like this, and subsequently save yourself huge sums of memory.  Further, all of these numbers are concivable maximums, not minimums...so they will likely be lower any ways (like wether you would controll a pokemon's stat growth to the thousanths place).

So, don't dispare and don't say "a long string is evil" because it is actualy way more effecient of a way to do things and is a lot more managable than a ton of lists.
I'm like a woot burger with awesome fries

VB.Net, C#, C++, Java, Game Maker

#### tifreak

• Project Author
• LV11 Super Veteran (Next: 3000)
• Posts: 2708
• Rating: +82/-3
• My Kung Fu IS strong...
##### Progress
« Reply #172 on: February 25, 2006, 02:34:00 am »
Is there any way you could pm me that part of the code???

And I know a long string isn't evil. That is what I use for a lot of stuff in my games now...

And I wasn't really dispairing, I just wasn't really sure how to procede with this problem...
Projects: AOD Series: 75% | FFME: 80% | Pokemon: 18% | RPGSK: 60% | Star Trek: 70% | Star Trek 83+: 40% | TI-City: 5%

#### MathStuf

• Guest
##### Progress
« Reply #173 on: February 25, 2006, 06:06:00 am »
Just a few fixes I see...

QuoteBegin-necro+Feb 25 2006, 0:01-->
 QUOTE (necro @ Feb 25 2006, 0:01) ~Party Pokemon Stats~(48 bytes each)*6= ~288 bytesPokemon Number (1-155) 3 digitsHP(-54125+9999) 4 digitsMHP(-54125+9999) 4 digitsAtack(-54125+999) 3 digitsDef(-54125+999) 3 digitsSpeed(-54125+999) 3 digitsEvasion(-54125+999) 3 digitsLevel(1-100)[+1] 2 digitsmove1(-54125+99) 2 digitsPP(-54125+99) 2 digitsmove2(-54125+99) 2 digitsPP(-54125+99) 2 digitsmove3(-54125+99) 2 digitsPP(-54125+99) 2 digitsmove4(-54125+99) 2 digitsPP(-54125+99) 2 digitsLevel(-54125+99) 2 digitsExprenceNEEDED(-54125+99999) 5 digits~Box Pokemon Stats~(29 bytes a pokemon)*[ if there are 200 boxes in the pc] ~5800 bytes-------------------------------------------Pokemon Number (1-155) 3 digitsMHP(-54125+9999) [storing auto resisitates] 4 digitsAtack(-54125+999) 3 digitsDef(-54125+999) 3 digitsSpeed(-54125+999) 3 digitsEvasion(-54125+999) 3 digitsLevel(1-100)[+1] 2 digitsmove1(-54125+99)[full pp] 2 digitsmove2(-54125+99)[full pp] 2 digitsmove3(-54125+99)[full pp] 2 digitsmove4(-54125+99)[full pp] 2 digitsLevel(-54125+99) 2 digitsExprenceNEEDED(-54125+99999) 5 digits

--HP can't get to 1000, so you only need up to 999 for that, not 9999.
--Evasion isn't a stat.
--Experience needed should probably be stored as experience it has and needed should be calculated everytime it is needed (from the experience formulae).
--The stats should only be 2 digits for the DV. Nothing else is needed.
--Put Stat experience in there (5 digits for each of the 5 stats).

QuoteBegin-necro+Feb 25 2006, 0:01
-->
 QUOTE (necro @ Feb 25 2006, 0:01) ~Individual Pokemon stats~[155]*=15500 MAX! (WILL ALMOST SURELY BE WAY LOWER) ((even this will easily fit in the ram though))Name:5-20 bytes~String based stats~ 30 bytesPokemon Number (1-155) 3 digitsHP growth(.00-.999) [*.1] 3 digitsAtack grwth(.00-.999) [*.1] 3 digitsDef grwth(.00-.999) [*.1] 3 digitsSpeed grw(.00-.999) [*.1] 3 digitsEvasion growth(.00-.999) [*.1] 3 digitsExprence NEEDED Growth Rate(.00-.999) [*.1] 3 digitsType1(-54125+99) 2 digitsType2(-54125+99) 2 digitsEvolve into(-54125+999) 3 digits (if non evolve, make it evolve into itself)Level to evolve (-54125+99) 2 digits (-54125+1 is an evee)Move list consists of: move(-54125+99),level gained (-54125+1 means it is possible for it to gain,0-99),...5 bytes per move plus a few for the list headerother info? (up to ~50)

Get rid of the Growth rate you have and use 1 digit to store:
1=Slow
3=Normal
4=Fast
And getting rid of the growth stuff and replacing with base stats would be much easier.

#### kalan_vod

• LV11 Super Veteran (Next: 3000)
• Posts: 2715
• Rating: +10/-0
##### Progress
« Reply #174 on: February 25, 2006, 08:42:00 am »
Wow, this looks like alot of time is being put into it.

#### necro

• LV9 Veteran (Next: 1337)
• Posts: 1295
• Rating: +17/-2
• +3 vaporal mustache
##### Progress
« Reply #175 on: February 25, 2006, 04:36:00 pm »
thats what I meant by the fact you could use many fewer  stats and/or add others.  The code would basicaly have to be heavily modiied and optimised for the situation, IOW, all I can tell you is the method to do it unless I made it for you.  The basic method involves a string of "0123456789 being sub()ed at the value of the digit you want to store into the string.

IOW: you manipulate a sting to store a var into a string (why isn't that a option in basic?) and then you can paste that string into other strings and such, and you read these string chuncks with a expr() of them.  If you don't get this, xlib guru (if anyone ever offers to help work on it) will have a section all about this.

here are some code examples

::To get a party's pokemon's Def number (pretend the vars I made up are going to be used {48 bytes for each pkmn})
...
"Now that party stats are in string 9, lets get the individual "pokemon's data into string 8
Sub(Str9,48*(which party pokemon-1)+1,48)->Str8
"Lets get def. stat and store it into vairiable A
Sub(Str8,8 "which is 4+4+3,plus a string correction of 1",3)
expr(Ans)->A

::Store 35 (from D) into a pokemon's defense
...
"0123456789->Str1
D/10->C
round(C,0
Ans-(CC
sub(Str1,C,1)->Str2
D-100C->D
Ans/1->C
round(C,0
Ans-(CC
Str2+sub(Str1,C,1)->Str2
D-10C->C
Str2+sub(Str1,C,1)->Str2
End
"Now that your three digits have been stored into string 2
Sub(Str8,1,7)+Str2+Sub(Str8,11,48
"All the data before your stat plus your new stat data plus the
"data preceding go together to replace the old stat's data
I'm like a woot burger with awesome fries

VB.Net, C#, C++, Java, Game Maker

#### tifreak

• Project Author
• LV11 Super Veteran (Next: 3000)
• Posts: 2708
• Rating: +82/-3
• My Kung Fu IS strong...
##### Progress
« Reply #176 on: February 26, 2006, 03:12:00 am »
Wow...  O_O

I will see about trying that out...
Projects: AOD Series: 75% | FFME: 80% | Pokemon: 18% | RPGSK: 60% | Star Trek: 70% | Star Trek 83+: 40% | TI-City: 5%

#### necro

• LV9 Veteran (Next: 1337)
• Posts: 1295
• Rating: +17/-2
• +3 vaporal mustache
##### Progress
« Reply #177 on: February 26, 2006, 03:09:00 pm »
intemidating, eh?  It basicaly means figure out what data you need first (get everything else coded with just like one pokemon at a time for example) and then do the data storage last.
I'm like a woot burger with awesome fries

VB.Net, C#, C++, Java, Game Maker

#### tifreak

• Project Author
• LV11 Super Veteran (Next: 3000)
• Posts: 2708
• Rating: +82/-3
• My Kung Fu IS strong...
##### Progress
« Reply #178 on: February 26, 2006, 04:10:00 pm »
Yeah, a little bit... I will see if I can figure it out. Thanks for the info.
Projects: AOD Series: 75% | FFME: 80% | Pokemon: 18% | RPGSK: 60% | Star Trek: 70% | Star Trek 83+: 40% | TI-City: 5%