Omnimaga

Calculator Community => Major Community Projects => Pokémon Purple => Topic started by: tifreak on November 25, 2005, 06:35:00 am

Title: Progress
Post by: tifreak on November 25, 2005, 06:35:00 am
I have the map data almost all the way through Veridian, and once that is complete, I will begin workin on a walking engine. Let you know how this goes...
Title: Progress
Post by: DJ Omnimaga on November 25, 2005, 07:11:00 am
how many maps do you have so far (I mean 16x8 ones)?
Title: Progress
Post by: tifreak on November 25, 2005, 07:22:00 am
Ok, first an explanation on the mapping:

L=0; Base row, starting on the bottom of the map
M=0; Base column, starting on the left of the map

I have completed:

L=0 - L=30

L=0 - L=27, M=7 - M=8

L=28 - L=30, M=7 - M=9

I hope that is understandable...

So far, there is three map packs, and I am trying to keep the map packs down below 4000 bytes...
Title: Progress
Post by: CDI on November 25, 2005, 04:37:00 pm
hmm, yeah. Group the maps in horizontal rows like I do for MetBas83+ (there's 6 mapprogs and 36 papparts)
Title: Progress
Post by: DJ Omnimaga on November 26, 2005, 03:31:00 am
hmm in my games i grouped them in vertical, but I guess horizontal is better for platform games if you dont want too many sub programs :)smile.gif
Title: Progress
Post by: tifreak on November 26, 2005, 04:43:00 am
Actually, I am doing them in sections...

Section 1:L=0 - L=11, M=7 - M=8
Section 2:L=12 - L=24, M=7 - M=8
Section 3:L=25 - L=36, M=7 - M=9
etc...

This is the easiest I have found to do it, so far...
Title: Progress
Post by: DJ Omnimaga on November 26, 2005, 05:07:00 am
ah I see, sound like a nice idea, I should think about this when making another game since xLIB is gonna prbly have resource like abilities, which are more powerful than FG :)smile.gif
Title: Progress
Post by: tifreak on November 26, 2005, 05:11:00 am
Yeah, I really need to look into Resource...
Title: Progress
Post by: Spellshaper on November 26, 2005, 05:20:00 am
QuoteBegin-tifreak8x+26 November 2005, 17:11-->
QUOTE (tifreak8x @ 26 November 2005, 17:11)
Yeah, I really need to look into Resource...  

 http://omnimaga.dyndns.org/index.php?showtopic=759 the authors readme is somewhat confusing, so I wrote another %)rolleyes2.gif
Title: Progress
Post by: tifreak on November 26, 2005, 06:06:00 am
Alright, Thanks. :)smile.gif
Title: Progress
Post by: tifreak on December 04, 2005, 04:57:00 am
Maps now display, I just need to add the characters that can't we walked through...
Title: Progress
Post by: DJ Omnimaga on December 04, 2005, 02:52:00 pm
sound nice :)smile.gif

I really dunno why I never played pokemon, even on emu :Pblah.gif
Title: Progress
Post by: tifreak on December 07, 2005, 11:04:00 am
lol :)smile.gif It is a fairly fun game, you would like it I am sure...

Anyways, I have on paper all the characters that cannot be walked on or through in their respective directions, plus I also decided the jump from ledge routines will be in 3 seperate events, to make things a lil smoother...

I just wish I was sick enough that I didn't have to go to work, I could just program all day... :Dbiggrin.gif
Title: Progress
Post by: tifreak on December 08, 2005, 04:35:00 am
Running into a slight problem, I have about 10 characters per direction that the calc has to look at, to see if it should progress or not. So far, I have two possible solutions:

Using a for loop, which will definitely cause lag time

Using a sub-program, which will contain all 4 directions worth of hit detection.

I was wondering if any one might have a different suggestion.
Title: Progress
Post by: DJ Omnimaga on December 08, 2005, 10:20:00 am
hmm could you post the code,because I dont really understand what you mean?
Title: Progress
Post by: tifreak on December 08, 2005, 10:29:00 am
Basically,

c1-->
CODE
ec1If sub(Str1,T-1,1)n="X"c2
ec2

I dont want to have to use that a bunch, for each character, as it will bloat the code...
Title: Progress
Post by: DJ Omnimaga on December 08, 2005, 10:42:00 am
is it for collision detection in map engine?
Title: Progress
Post by: dragon__lance on December 08, 2005, 11:31:00 am
yea, i think thats wat he means
@tifreak8x, maybe use less char. or use a matrix, but thatd take up speed and mem. else, i can't think of anythin
Title: Progress
Post by: tifreak on December 09, 2005, 03:02:00 am
Well, to provide variety, I have to have different characters... And I am sure as hell not using matrices...

I am just gonna have to play around with it, see what I come up with...
Title: Progress
Post by: Ranman on December 09, 2005, 03:13:00 am
It is always fun trying different things to see what works the best -- size or speed or a compromise.  
Title: Progress
Post by: tifreak on December 09, 2005, 03:30:00 am
Yeah, I have a couple ideas to play around with, though I have no idea when I will get to try them...
Title: Progress
Post by: dragon__lance on December 09, 2005, 10:26:00 am
ok, i just thought of another solution. Ur maps will be in blocks right? u can have each block is a region, for instnace, veridian forest is a forest region, and only 2 or three chars represent walls in it. Thus, each region will have its own nonwalkable tiles :)smile.gif u can use maybe resource to copy the required collusion detecter into a temp prgm, then run that prgm from the walking prgm. hope this helps :Dbiggrin.gif
Title: Progress
Post by: tifreak on December 10, 2005, 08:02:00 am
I might do something to that effect... Just without Resource for now...
Title: Progress
Post by: tifreak on January 20, 2006, 07:31:00 am
As some of you know, resource was added; found a good, fast way for hit detection; and added a text displaying routine.

Right now, I am working on adding text to the intro. I have decided that the intro will not be the exact same, because I always thought the way you had to decide your name was kinda... bad. :Dbiggrin.gif And I think I will leave out the whole special name thing, since that will add additional files, etc, and I am trying to make this game like the original, only as small as possible on calc.

If anyone thinks that I should still have it select from a list, or have it typed in, I will consider it.

I got the box clearing routine done fairly quickly, and  the total size of my Text displayer program is 181 bytes. Not bad, eh?

Once I get the intro complete, add an in-game menu, and make it to where some of the buildings are accesible, I will upload a new version, this time with a readme that makes some sense. :)smile.gif (I think I will keep the humur in there though:

QUOTE
Report bugs/suggestions/praise/worship to http://tifreakware.calcgames.org/forum
:Dbiggrin.gif

I also need to add credits to the readme, so I don't forget people who helped with this game. :)smile.gif

And as it stands, I am unsure what I will do about a 16x16 sprite routine. Not knocking Kerm, but I very seriously doubt he will be able to make the routine for me. :(sad.gif I might ask around maxcoderz to see if someone would be willing to make such a program... (It couldn't be very hard...)

More on progress as I accomplish it... :)smile.gif
Title: Progress
Post by: CDI on January 20, 2006, 07:43:00 am
@tifreak8x - hehe, in my tutorial I gave you it has the best method of Hit Detection ever  put all non-solids in a string! (or better yet, have a 2nd string of numbers (single digit) that decide wether to show your character or not, and wether it's solid or not (-54125+3)
Title: Progress
Post by: tifreak on January 20, 2006, 07:49:00 am
Yeah, I have been reading as I make the tutorial into html, I just haven't gotten too far because of work... :)smile.gif
Title: Progress
Post by: CDI on January 20, 2006, 07:57:00 am
ahh, well anyways the better one is having 2 strings (say... "XXOOOXX" in Str1 and "1101011" in Str2 and looking at Str2 not Str1 to see of the wall is solid or not
Title: Progress
Post by: tifreak on January 20, 2006, 08:01:00 am
Yeah, I understand the concept. :)smile.gif It is like using a matrix, but you are using a string. In this case, you can allow for hidden wall tiles, that don't look any different from the other ones. :)smile.gif

As far as I know, Pokemon didn't have that kind of system...
Title: Progress
Post by: CDI on January 20, 2006, 08:02:00 am
oh, well... I don't know :)smile.gif having never played it
Title: Progress
Post by: tifreak on January 20, 2006, 08:07:00 am
Yeah, it had switches but that is it. :)smile.gif

inString( has been my saviour though. :Dbiggrin.gif

But first, got to get the intro. about 5% complete right now...
Title: Progress
Post by: MathStuf on January 20, 2006, 03:14:00 pm
QuoteBegin-tifreak8x+20 January 2006, 14:01-->
QUOTE (tifreak8x @ 20 January 2006, 14:01)
Yeah, I understand the concept. :)smile.gif It is like using a matrix, but you are using a string. In this case, you can allow for hidden wall tiles, that don't look any different from the other ones. :)smile.gif

As far as I know, Pokemon didn't have that kind of system...  

 Who's to say you can't add it? There will certainly be some hidden areas in my game.  :ph43r:ninja.gif
Title: Progress
Post by: tifreak on January 21, 2006, 02:21:00 am
I didn't say there weren't going to be hidden things, but you have to do stuff for things to not be in the way anymore... :)smile.gif

Kerm says he should have the routine done in a day or so. :Dbiggrin.gif Let's see if it happens... <_<dry.gif

The intro is progressing nicely though, I am leaving a space for if I decide to add custom names. Once the custom names part is complete, and I can make the pics show up, I can get the intro complete. :)smile.gif I still have a lot to add to it for the next beta though...
Title: Progress
Post by: DJ Omnimaga on January 21, 2006, 03:30:00 am
coool, keep it up!
Title: Progress
Post by: tifreak on January 21, 2006, 03:37:00 am
Thanks. :)smile.gif Things are moving a lil faster than I thought they would.

The one thing I don't know is how I am going to accomplish the other trainers to start a battle once they see you. I think for memory sake, the person will just have to go up and talk to them to battle...
Title: Progress
Post by: DJ Omnimaga on January 21, 2006, 03:46:00 am
i c, I cant help much tho due to the fact I havent played pokemon much :(sad.gif
Title: Progress
Post by: tifreak on January 21, 2006, 03:53:00 am
I know. :)smile.gif

Maybe by some miracle this will be an easy thing to add to my current engine.

I think for one of Gary's options, I will put Bob. lol, I have such a fascination with that name (Anyone who has seen StarGate Atlantis from day 1 knows what I am talking about >Dgni.gif)

Also, anyone here played the blue version? Don't you think it is hillarious that they swapped the names of Gary and Ash? I wonder if that was intentional, or if someone goofed...
Title: Progress
Post by: tenniskid493 on January 21, 2006, 05:03:00 am
I have the blue version but I never noticed that.  Mine still were the same.  There are a lot of bugs in that game though.  I.E.  The guy on the roof in cinnabar island, Professer Oak talking to no one.

Edit: Nevermind on what was here.  It wouldn't work with your hit detection.
Title: Progress
Post by: tifreak on January 21, 2006, 05:38:00 am
I don't know if I ever saw them... I don't think I ever beat the blue version though, so that could be why...
Title: Progress
Post by: tenniskid493 on January 21, 2006, 07:27:00 am
For the Man on the roof, you have to walk up to the cinnabar gym without the key, then when it gives you the message saying its locked, you'll see a man appear on the roof.  For the Prof. Oak talking to no one...I forget when you do it, but one time when you have to go to his lab/office thing, instead of walking to his front or side and talking to him, walk around to the back and then talk to him...he'll then face sideways and think he's talking to you but really you're behind him.
Title: Progress
Post by: tifreak on January 21, 2006, 09:54:00 am
I see. :)smile.gif

I have decided to completely take out the ability to select names. I am going to need as many of the strings as I can get... :(sad.gif

On the plus side, the intro will be done that much faster. :)smile.gif
Title: Progress
Post by: Radical Pi on January 21, 2006, 12:32:00 pm
In comparison with the original Red/Blue, yours will be better because it has no glitches!
Title: Progress
Post by: tenniskid493 on January 21, 2006, 01:21:00 pm
I don't think custom names are necessary.  You don't really need it.
Title: Progress
Post by: Radical Pi on January 21, 2006, 01:45:00 pm
I remember from the intro once Prof. Oak stopped talking a big sprite of you was shown which shrunk into the normal little sprite. Can you do this, but into the ASCII?
Title: Progress
Post by: tifreak on January 21, 2006, 04:08:00 pm
I don't think so. :(sad.gif I have been thinking about it, and it would consume way too much memory for it. Once Kerm gets the hex sprite prog done, I plan on working with the pics...

I am actually to that point. I hate the original "Your very own Pokemon Legend Awaits" text says, and I am trying to come up with something different... And it is not going well... <_<dry.gif
Title: Progress
Post by: Radical Pi on January 22, 2006, 10:01:00 am
How about something dramatic, like

"Take control of your destiny, and the pokemons' as well..."
Title: Progress
Post by: tifreak on January 22, 2006, 02:58:00 pm
I will think on it... I came up with something that is still kinda cheesy, but it can be changed later. :)smile.gif

Right now, working on the inside of buildings, which is gonna be challenging, because of certain tiles, etc... :(sad.gif
Title: Progress
Post by: tifreak on January 24, 2006, 08:05:00 am
Thanks to various resources, I have some sweet looking characters for the insides of buildings! I hope to be able to present a screenshot soon...
Title: Progress
Post by: DJ Omnimaga on January 24, 2006, 08:20:00 am
nice, which chars do u use?
Title: Progress
Post by: tifreak on January 24, 2006, 09:14:00 am
Well, I am using different letters with wierd symbols over them, I have this wiers S thing for the plant that is inside the house...

user posted image

[Row,Column]

8,B is the comp in ash's house, 8,A is the PC at the PC...
B,F is the wierd plant...
8,C/B,E is the TV/Nintendo combo...

I just haven't figured out what will be the bed, and which will be the table, the stairs will be pretty easy to figure out...
Title: Progress
Post by: DJ Omnimaga on January 24, 2006, 09:16:00 am
did u found a way to use all those or can u just use some of them? I know under os 1.16 some chars cant be accessed without asm
Title: Progress
Post by: tifreak on January 24, 2006, 09:19:00 am
Kerm is gonna try to get me a string with all of them on there... If that is the case, that will lighten up the load considerable.

I am already using most of them, by using CharGrab from uti... :)smile.gif

This game is so gonna cause total pwnage. :Dbiggrin.gif Just have to get it done...<_<dry.gif
Title: Progress
Post by: Radical Pi on January 24, 2006, 09:42:00 am
Can I get a copy of that string for Mmruda?

[Back to your game]
How are you going to code N-M-E's? (if you don't understant, spell it out...)
In the game all opponents could only be fought once.
[/Back to your game]

I need to know so I can have Mmruda work better in the opponent department.
Title: Progress
Post by: tifreak on January 24, 2006, 11:19:00 am
Simple, I use a list (Might use string, it should work the same, especially since there are a TON of trainers to fight...) that would detect the events.

0 means they have not been beaten, 1 means they have. :)smile.gif
Title: Progress
Post by: Radical Pi on January 24, 2006, 11:25:00 am
Still a lot of code, and the routine that checks what trainer #...
Title: Progress
Post by: MathStuf on January 24, 2006, 12:08:00 pm
Well, if I were you, I would go with the flag idea with flags that tell what events are active in the game... Each trainer could be tagged to a flag and when the flag is flipped it is either beaten or not. This also means it could be flipped later to fight them again.
Title: Progress
Post by: CDI on January 24, 2006, 12:32:00 pm
I like the string idea (or list even)
Title: Progress
Post by: dragon__lance on January 24, 2006, 03:04:00 pm
flags in a string should be simple, just use expr( :)smile.gif this game will be so great!! :)smile.gif
Title: Progress
Post by: MathStuf on January 24, 2006, 03:12:00 pm
Or, to save space, find a way to extract bits from a decimal number. 33 flags can be stored in any number up to 2^33 and that takes 18 bytes for storage compared to 44 bytes for a string with the same amount of bytes. I may be able to write a BASIC routine that can test whether a single flag in a decimal number is set or not. If you have enough flags, it will pay off for itself in memory later.

Flag Check:
c1-->
CODE
ec1
// F is the flag to check
// 1 is returned in S if it's set, 0 otherwise

// Save the flag so we don't modify it
LFLAG(1+iPart(F/33->G
// Move from the left most bit in the flagkey
// to the right so that they don't interfere
// with the flag we're looking for
For(A,33,33-33fPart(F/33),-1
// If the flag is larger than the power, the flag at that value is set
2^AS
// Subtract that value off of the temporary value
G-S2^A->G
End
c2
ec2

Set:
c1
-->
CODE
ec1
// If that flag isn't set, set it by adding
// the value of that flag within the flagkey
LFLAG(1+iPart(F/33))+not(S)2^(33-33fPart(F/33->LFLAG(1+iPart(F/33
c2
ec2

Unset:
c1
-->
CODE
ec1
// If that flag is set, unset it by subtracting
// the value of that flag within the flagkey
LFLAG(1+iPart(F/33))-S2^(33-33fPart(F/33->LFLAG(1+iPart(F/33
c2
ec2

Flip:
c1
-->
CODE
ec1
// Subtract the flag if it's set, add it if it's not
// (2S-1) is -1 if the flag is unset (adds to the flagkey)
// (2S-1) is 1 if the flag is set (subtracts from the flagkey)
LFLAG(1+iPart(F/33))-(2S-1)2^(33-33fPart(F/33->LFLAG(1+iPart(F/33
c2
ec2

I've fixed the code to work here (I'm too used to arrays starting at 0 now because of C). I also condensed it a bit. Hope this helps clarify.

EDIT: Wow...I messed that up between editing/making new post...
Title: Progress
Post by: tifreak on January 24, 2006, 04:35:00 pm
I honestly don't have any idea what that code is...  I understand what it is doing, to an extent, but I don't know why it is working... Please explain...
Title: Progress
Post by: MathStuf on January 24, 2006, 04:46:00 pm
Okay, so I hit edit instead of quote...but either way, I commented it more now...
Title: Progress
Post by: tifreak on January 25, 2006, 03:33:00 am
I will see about puttin the code on my calc to see if it makes more sense to see it work... I just don't understand how you can have different flags in 2^33... I never did go too high in math classes, I took the minimum required, and found comp classes to take. :)smile.gif
Title: Progress
Post by: MathStuf on January 25, 2006, 01:13:00 pm
It's stored as decimal, but I'm using the binary representation as the flags. Here's an example:
112 is 1110000 in binary.
The 3 1's are set flags and are extracted from the number through the routines above.
Title: Progress
Post by: tifreak on January 25, 2006, 02:28:00 pm
Ok... I get that much. Like I said, I am gonna have to play with it so I can understand it... I have to learn by doing, otherwise, in one ear, out the other...
Title: Progress
Post by: MathStuf on January 25, 2006, 02:33:00 pm
Ah, just got the dialog done for the test map. This is truly evil. :ph43r:ninja.gif The last few areas are based on luck...and you have to...well, you'll figure it out...
Title: Progress
Post by: tifreak on January 25, 2006, 02:40:00 pm
Hey! No teasing!! :flame:tresfache.gif

I hope to have a new beta in a couple of weeks...
Title: Progress
Post by: Radical Pi on January 25, 2006, 02:46:00 pm
Nice. :)smile.gif
Title: Progress
Post by: MathStuf on January 25, 2006, 03:55:00 pm
Well, after looking at how much more I may need to get this done...
-Found some weird bugs in PokeModr in Map Editing (various parts)
-Also added the following to PokeModr:
--Added more things to help with people, warps, and moves
--Revamped Tile Effects stuff
--Update readme with this new info
-Need lots more tiles, and I don't know how many more I may find to add to the collection so far (250+ discovered so far, and I don't know how many more I will find)
-Redo map (RAM cleared today when running into the bug, deleting the map, but enough changed that I think it was invalid anyway)
Title: Progress
Post by: tifreak on January 25, 2006, 04:06:00 pm
Good luck... Don't you just love RAM clears? makes you want to  :dang:banghead.gif:ihatemycomp:crash.gif:rocket:rocket.gif

I need to do a backup of my current progress... I better do that soon...
Title: Progress
Post by: MathStuf on January 25, 2006, 04:07:00 pm
Well, with the ideas I got today, there's a good chance that all the extra info that's now allowed pushes the structures to different alignments, making the files corrupted.
Title: Progress
Post by: tifreak on January 27, 2006, 05:52:00 am
Oops, that could be a problem...

I haven't done much with the game yet, as I am waiting for some other stuff...
Title: Progress
Post by: tifreak on January 28, 2006, 02:51:00 am
QuoteBegin-MathStuf+24 January 2006, 21:12-->
QUOTE (MathStuf @ 24 January 2006, 21:12)
Or, to save space, find a way to extract bits from a decimal number. 33 flags can be stored in any number up to 2^33 and that takes 18 bytes for storage compared to 44 bytes for a string with the same amount of bytes. I may be able to write a BASIC routine that can test whether a single flag in a decimal number is set or not. If you have enough flags, it will pay off for itself in memory later.

Flag Check:
c1-->
CODE
ec1
// F is the flag to check
// 1 is returned in S if it's set, 0 otherwise

// Save the flag so we don't modify it
LFLAG(1+iPart(F/33->G
// Move from the left most bit in the flagkey
// to the right so that they don't interfere
// with the flag we're looking for
For(A,33,33-33fPart(F/33),-1
// If the flag is larger than the power, the flag at that value is set
2^AS
// Subtract that value off of the temporary value
G-S2^A->G
End
c2
ec2

Set:
c1
-->
CODE
ec1
// If that flag isn't set, set it by adding
// the value of that flag within the flagkey
LFLAG(1+iPart(F/33))+not(S)2^(33-33fPart(F/33->LFLAG(1+iPart(F/33
c2
ec2

Unset:
c1
-->
CODE
ec1
// If that flag is set, unset it by subtracting
// the value of that flag within the flagkey
LFLAG(1+iPart(F/33))-S2^(33-33fPart(F/33->LFLAG(1+iPart(F/33
c2
ec2

Flip:
c1
-->
CODE
ec1
// Subtract the flag if it's set, add it if it's not
// (2S-1) is -1 if the flag is unset (adds to the flagkey)
// (2S-1) is 1 if the flag is set (subtracts from the flagkey)
LFLAG(1+iPart(F/33))-(2S-1)2^(33-33fPart(F/33->LFLAG(1+iPart(F/33
c2
ec2

I've fixed the code to work here (I'm too used to arrays starting at 0 now because of C). I also condensed it a bit. Hope this helps clarify.

EDIT: Wow...I messed that up between editing/making new post...  

 Ok, the code stores an 8 digit number from the get-go in to LFLAG(1, which I guess this is supposed to do?

The unset code needs a not( like the set code does, so it works.

I am just unsure how this is supposed to slim things down... :(sad.gif
Title: Progress
Post by: kalan_vod on January 28, 2006, 07:45:00 am
Well it is going to be faster than useing a bunch of ifs and thens. Look nice btw.
Title: Progress
Post by: MathStuf on January 28, 2006, 11:39:00 am
QuoteBegin-tifreak8x+28 January 2006, 8:51-->
QUOTE (tifreak8x @ 28 January 2006, 8:51)
Ok, the code stores an 8 digit number from the get-go in to LFLAG(1, which I guess this is supposed to do?

The unset code needs a not( like the set code does, so it works.

I am just unsure how this is supposed to slim things down... :(sad.gif

No, it's a list so you can have more than 33 at a time.

The Unset code subtracts it only if the flag is set (S is 1). It should be like it shows.

It's optimized it as much as I could get it, so good luck trying to find any more :)smile.gif .
It saves space because you have 8 flags/byte instead of 1/byte in a string. It should pay off if you have any more than about 70 or so flags, which isn't hard to hit. These routines have a one-time price for reading/editing and have much better compression. Strings have a higher storgae cost and have to use expr(sub(, which isn't exactly the sfastest routine in the world.
Title: Progress
Post by: tifreak on January 28, 2006, 05:13:00 pm
Ok, thanks. :)smile.gif

I will play around with it, and see what I like best...
Title: Progress
Post by: tifreak on February 04, 2006, 08:08:00 am
I am going to be doing a backup of Pokemon here in a bit, would anyone be interested in the newest version, to see what has been accomplished?
Title: Progress
Post by: Krid on February 04, 2006, 08:13:00 am
I would :)smile.gif I briefly tried the file currently at ticalc.org earlier today, would be nice to see where it's going.
Title: Progress
Post by: tifreak on February 04, 2006, 08:27:00 am
Got it, Check back in about 1 hour.
Title: Progress
Post by: kalan_vod on February 04, 2006, 08:28:00 am
I would love to see the new version!
Title: Progress
Post by: tifreak on February 04, 2006, 09:32:00 am
Get it while it's hot!!!

http://tifreakware.calcgames.org/tifreak8x/pokemon/pokepur.zip
Title: Progress
Post by: Spellshaper on February 04, 2006, 09:48:00 am
*Spellshaper
Title: Progress
Post by: tifreak on February 04, 2006, 09:53:00 am
!lol! :Dbiggrin.gif

Let me know what you think, ir you are impressed with the new additions or not... :)smile.gif
Title: Progress
Post by: Krid on February 04, 2006, 09:54:00 am
Wooh! Took a quick look and I'd like to point out two things.

1)prgmZGA is in /archive but it should be in /ram (minor point)

2)This is the same thing that also happens to both of your RPG starterkit engines, you move one additional space forward on map switch. I noticed it in the tutorial and it's also here. I'm not sure if you did this on purpose, but I'll take the matrix code and show how I fixed it:
Original from http://tifreakware.calcgames.org/bt83pll8.htm
c1-->
CODE
ec1If K=25:Then
If C=1:Then
L-1/->/L
prgmYLVL
8/->/C
End
If C>1:Then
If [A](C-1,D)/n=/1:Then
Output(C,D," "
C-1/->/C
End:End:Endc2
ec2
Fixed:
c1
-->
CODE
ec1If K=25:Then
If C=1:Then
L-1/->/L
prgmYLVL
8/->/C
Else
If [A](C-1,D)/n=/1:Then
Output(C,D," "
C-1/->/C
End:End:Endc2
ec2
Not sure if you already knew about this, but at least I found it nice to find out why it did it ^_^

Edit: I tried to read a sign and got "ERR:Syntax", the Goto command lead me to prgmTEMP0 containing the mighty "rand" and "If E=" lines. Nothing else.
Title: Progress
Post by: tifreak on February 04, 2006, 10:01:00 am
lol, I never really cared, because as long as it doesn't go through a wall, it isn't hurting anything. :)smile.gif

I will see if that fixes the problem with it. Like I said, it never bothered me, so I never investigated the problem...

Sigh, I knew I forgot something. I was working on the signs... But this is the back up of my progress, so don't expect perfect. :Pblah.gif (I had started on the signs a few days ago, and totally spaced it after sleeping...  :ph43r:ninja.gif )
Title: Progress
Post by: Krid on February 04, 2006, 10:04:00 am
It's nothing major indeed. If you don't mind, could you show me where in your code you make sure a "*" or "D" is still there after you've stepped on it? I'd like to know how you did it compared with my own method (which isnt THAT effective).
Title: Progress
Post by: tifreak on February 04, 2006, 10:06:00 am
Yes, it is very simple. I have my map data stored in Str1, and everytime it steps, it redisplays that segment of the map. I was going to do it when it was just on that segment, but I thought it would bloat the code, slowing it down, and doing it after everystep wouldn't be too noticeable...
Title: Progress
Post by: Krid on February 04, 2006, 10:15:00 am
Hm, so something like this?

sub(Str1,T,1)->A
Output(Y,X,A

Clever :)smile.gif
Title: Progress
Post by: tifreak on February 04, 2006, 10:20:00 am
Actually it is faster to do your movement code, then Output(1,1,Str1... :)smile.gif

sub( seems to slow it down, just a little bit. Right now, I am going all out optimizations, since Memory is a major concern on this game...

Any comments on the new intro stuff? *sniff* :ph43r:ninja.gif  And what bout how fast the maps load now, compared to before...?
Title: Progress
Post by: Spellshaper on February 04, 2006, 10:24:00 am
Methinks that the intro text displays too slow...
But that
Title: Progress
Post by: Krid on February 04, 2006, 10:25:00 am
The intro! Feels like playing the gameboy game. Only thing that I'd wish for now is a skip function since I couldnt save my game, and watching it over and over again might get a bit irritating. Is the text 1:1 or does it only feel like it? :Pblah.gif
Title: Progress
Post by: DJ Omnimaga on February 04, 2006, 10:37:00 am
I need to try this asap!
Title: Progress
Post by: kalan_vod on February 04, 2006, 10:51:00 am
I will try this later today, for now I continue to finish my secret project.
Title: Progress
Post by: tifreak on February 04, 2006, 10:56:00 am
QUOTE
Methinks that the intro text displays too slow...
But that
Title: Progress
Post by: tifreak on February 06, 2006, 02:02:00 am
Options menu completed. Working on the Continue option. I also made all the text caps for the main menu, and shaved off 16 bytes in the process... :)smile.gif


Update:

Made attempt at the Continue function, the asm prog that is supposed to check status of variables isn't cooperating with me. This is rather irritating, but maybe I will have some good news tommorrow...

Update 2:

I think I will scrap the idea of the asm program, and just have a save slot stored. All it will simply do is start you where the New game would send you after the intro...
Title: Progress
Post by: tifreak on February 07, 2006, 04:26:00 am
Ok, the above plan has been selected, but wont take effect until I make it to where you can save...
Title: Progress
Post by: DJ Omnimaga on February 07, 2006, 04:47:00 am
still nice so far (I tried it) ^^
Title: Progress
Post by: kalan_vod on February 07, 2006, 05:41:00 am
Shouldn't be too hard to create a save routine :Dbiggrin.gif, in fact it might be for pokemon :Dbiggrin.gif.
Title: Progress
Post by: Krid on February 07, 2006, 06:31:00 am
You'll probably end up with quite a bit of save data, seeing there's 150 pokemon ^_^ Keep those updates coming tifreak :)smile.gif
Title: Progress
Post by: kalan_vod on February 07, 2006, 06:35:00 am
You might want to have a encrytion method so you don't have people like me editing the data so I can have all the pokemon :Dbiggrin.gif.
Title: Progress
Post by: tifreak on February 07, 2006, 07:14:00 am
Oh, I will figure something out. :Dbiggrin.gif And yes, There will be a considerable amount of data to store. That is what has me worried...
Title: Progress
Post by: kalan_vod on February 07, 2006, 07:29:00 am
All I have to say is a large for loop :Dbiggrin.gif.
Title: Progress
Post by: tifreak on February 07, 2006, 07:35:00 am
lol, I doubt that would help...

Did you get a chance to try the newer demo?
Title: Progress
Post by: kalan_vod on February 07, 2006, 08:48:00 am
Umm not yet....
Title: Progress
Post by: tifreak on February 07, 2006, 10:25:00 am
Bah... <_<dry.gif:Pblah.gif

Gonna try to write down all the lists on paper so I can make the save function when I get to the in-game menu tonight...
Title: Progress
Post by: MathStuf on February 07, 2006, 11:52:00 am
I think my save file is around 12k or so...
Title: Progress
Post by: CDI on February 07, 2006, 12:09:00 pm
@tifreak8x - try compressing the list then try encoding it, that way it'll be that much more hard to crack (for a good compresson tecnique look at Matrix Zip on CalcGames.org)
Title: Progress
Post by: kalan_vod on February 07, 2006, 12:23:00 pm
Tried it, I like it. The text display is really good! I was wondering if we could be able to enter our own name? :Dbiggrin.gif
Title: Progress
Post by: tifreak on February 08, 2006, 02:21:00 am
Doubtful, I will need all the available strings/lists/memory that I can get...
Title: Progress
Post by: kalan_vod on February 08, 2006, 04:45:00 am
Just so you know you can have 255 strings I believe, with hacked strings just like pics.
Title: Progress
Post by: rivereye on February 08, 2006, 04:54:00 am
what is you are prompted for the name everytime you play (if you are not using all 10 strings (natual ones) in teh game)
Title: Progress
Post by: kalan_vod on February 08, 2006, 04:58:00 am
QuoteBegin-rivereye+8 February 2006, 10:54-->
QUOTE (rivereye @ 8 February 2006, 10:54)
what is you are prompted for the name everytime you play (if you are not using all 10 strings (natual ones) in teh game)  

 ?? Can you say that in a different way? I don't understand.
Title: Progress
Post by: rivereye on February 08, 2006, 05:09:00 am
say when you start the game, it would pull up a menu (even on a continue), and you would be promted to enter in the name that you would like to use for the game.  
Title: Progress
Post by: kalan_vod on February 08, 2006, 05:20:00 am
Yeah, just like in castle v. on super nitendo!
Title: Progress
Post by: tifreak on February 08, 2006, 07:23:00 am
That might be possible... I don't know. Right now, it is important to make the game a game, instead of a walking engine demo...
Title: Progress
Post by: rivereye on February 08, 2006, 07:28:00 am
is that supposed to mean something?
Title: Progress
Post by: DJ Omnimaga on February 08, 2006, 07:44:00 am
dunno  :wacko:triso2.gif
Title: Progress
Post by: tifreak on February 08, 2006, 07:46:00 am
I want to implement the actual Pokemon and a battle system before I worry about whether the character can be named or not... Right now, Pokemon Purple is nothing more than a tech demo, and there is nothing really to do in the game...
Title: Progress
Post by: kalan_vod on February 08, 2006, 09:06:00 am
Have you thought of ways to create a pokemon appear? Like if your on * and 1=randint(1,5 prgmbattle?
Title: Progress
Post by: Spellshaper on February 08, 2006, 09:14:00 am
I do not totally rely on random functions, cause sometimes the action takes an eternity to be triggered once, though it should occur a lot more often...

so I let the chance of an encounter increase a bit with each step... :)smile.gif


Just pinning my thoughts down here :Dbiggrin.gif
Title: Progress
Post by: rivereye on February 08, 2006, 09:26:00 am
it is random in the true version though. maybe a mixture, maybe increase by a random number
Title: Progress
Post by: Krid on February 08, 2006, 09:39:00 am
[offtopic]I <3 random[/offtopic]
Title: Progress
Post by: tifreak on February 08, 2006, 11:04:00 am
Yeah, I have some theories on how I want to do that... :)smile.gif

I will basically have it call a sub-program that will check to see what tile is being stepped on, and to see if it needs to check for enemies or not, and then goes about its logic tree...  
Title: Progress
Post by: Radical Pi on February 08, 2006, 11:29:00 am
On the last page there was some conversation about strings, so I thought you should know this:

Along with downloading the programs, groups, etc., have a GDB file also, which contains Y= vars, parametric, and polar. All those equations will contain a mere quote, which makes them strings!

Example:
Y1="Quote

Output(1,1,Y1 would print Quote!

And best of all, you can use different functions than the current mode!

Usage in programs: you know, just set to Seq if you need the graphscreen.

Congratulations, you now have 38 string variables.
Title: Progress
Post by: MathStuf on February 08, 2006, 11:45:00 am
I can help with the wild battle triggering too.
1:20 chance of a battle being started
10 Pokemon/area with decreasing rates of appearance towards the end of the list. I can give the method I'll be using if you need more clarification.
Title: Progress
Post by: tifreak on February 09, 2006, 02:03:00 am
Information is always a good thing... :Dbiggrin.gif
Title: Progress
Post by: MathStuf on February 10, 2006, 02:12:00 pm
Can you please e-mail me the Yellow version of the Pokemon data in that file with all my header files? I accidentally hit "Y" when not looking what was on the screen...
Title: Progress
Post by: tifreak on February 10, 2006, 06:00:00 pm
umm, do you remember the name of the file/zip? I will see about finding it...
Title: Progress
Post by: MathStuf on February 11, 2006, 09:46:00 am
It should be pokemony.h and I think I named it datafiles.zip (or something like it).
Title: Progress
Post by: tifreak on February 11, 2006, 01:22:00 pm
Oh crud, I forgot to send this to you, I found it, let me send it back to you...
Title: Progress
Post by: MathStuf on February 11, 2006, 01:37:00 pm
Thanks a bunch.
Title: Progress
Post by: tifreak on February 14, 2006, 05:28:00 am
Update:

Thanks to Kerm Martian, I now have more characters to use to make maps. ^_^

http://www.ticalc.org/archives/files/fileinfo/384/38404.html

That is the unedited version, of the program, I created a GUI for it, to make it more user friendly, and if TICalc would ever get off their dead arses and get it loaded...  :flame:tresfache.gif

Anyways, I have the in-game options menu set up, but I have to code the availability for the Pokedex, since you don't get it right away. What I am working on doing is using 2 variables, and first it checks to see if a certain event has transpired, then will show the options on the screen. One variable will show the start of the words, the 2nd the end of the options. This will make the program fairly dynamic. When I actually get it implemented though, is another story...

And... I have been debating whether I want to continue this project, since there is someone makin a port of this game for the 83+ in Flash. I think I will continue for now, since he might not finish his version...
Title: Progress
Post by: DJ Omnimaga on February 14, 2006, 06:19:00 am
wow cool, I think weregoose made a prgm like this earlier tho but still, at least you dont need the foreign language app to access the chars anymore :)smile.gif
Title: Progress
Post by: kalan_vod on February 14, 2006, 06:45:00 am
One char which can be on the calc is "$" but the only program I seen use is was some basic game (I think you could send it to the calc with graphlink).
Title: Progress
Post by: DJ Omnimaga on February 14, 2006, 07:14:00 am
i think you need OS 1.16 or above to be able to use some chars
Title: Progress
Post by: tifreak on February 14, 2006, 07:57:00 am
Well, this program has between 5 and 10 more characters than Weregoose's program...
Title: Progress
Post by: tifreak on February 15, 2006, 02:03:00 am
New screenshot! :)smile.gif

user posted image

That is the in game menu. I still haven't done any coding with it though...
Title: Progress
Post by: DJ Omnimaga on February 15, 2006, 03:20:00 am
nice, will  u put some stuff to the left as well? *begs for animated screenshot*
Title: Progress
Post by: kalan_vod on February 15, 2006, 04:08:00 am
Yeah looks very close to the orignal!
Title: Progress
Post by: tifreak on February 15, 2006, 09:00:00 am
Once Kerm gets the routine firgured out, I want to put a pic of ash to the left...

As to an animated screenshot... :(sad.gif I lost all the progs that would allow it to happen, but I could never get it to work. :(sad.gif

On the plus side, I spent 10 minutes today, makin the cursor move... :Dbiggrin.gif
Title: Progress
Post by: kalan_vod on February 15, 2006, 10:06:00 am
Tehehe, at least you made progress!
Title: Progress
Post by: tifreak on February 15, 2006, 11:16:00 am
Well, instead of the normal If K=25 etc. I used the A-((K=25)etc. :)smile.gif Worked perfectly the first try.
Title: Progress
Post by: kalan_vod on February 15, 2006, 11:27:00 am
Yeah boolean logic is so much faster.
Title: Progress
Post by: tifreak on February 15, 2006, 11:33:00 am
Not always. :)smile.gif Most of the time it is, but not always...
Title: Progress
Post by: CDI on February 15, 2006, 11:59:00 am
it's also easier to code :Dbiggrin.gif
Title: Progress
Post by: tifreak on February 15, 2006, 03:54:00 pm
lol...

I wish I was more motivated... I only added a few lines of code before getting bored with it... :(sad.gif

Maybe after making the in-game menu and making it save the base data, I will release a new beta...
Title: Progress
Post by: CDI on February 16, 2006, 08:53:00 am
That is why you have to just put it down for a bit, do something else, and then take that something else, and cram it into your game!
Title: Progress
Post by: tifreak on February 16, 2006, 09:51:00 am
lol, I am gonna work more on the tutorials and archives of my site, and maybe take care of 2 other smaller calc projects that need finishing... :)smile.gif After that, I will take it back up...
Title: Progress
Post by: kalan_vod on February 16, 2006, 12:34:00 pm
Yeah side projects are always great, just don't take too many up :Dbiggrin.gif.
*glares at himself....*
Title: Progress
Post by: tifreak on February 16, 2006, 03:08:00 pm
What are you glarin at? :Pblah.gif

http://tifreakware.calcgames.org/tifreak8x/main.htm

The only links in that that truly works are the AOD links...

Anyways, that doesn't even come close to listin all of them, I still have all kinds of site projects, and there is one project that I want to do, once these are done, to work with xLib... :)smile.gif

Anyways, BOT...

I made it so you could access the options menu via the in-game menu. Work slowly continues...
Title: Progress
Post by: kalan_vod on February 16, 2006, 03:28:00 pm
Good to see you working so hard though, I really enjoy seeing progress on these games! Btw I have 8 projects started, 4 are announced, and 4 aren't, and I have a few ideas to make into games....Bah!
Title: Progress
Post by: tifreak on February 17, 2006, 05:59:00 am
You think that is bad?!?!

*Starts counting on fingers, runs out of fingers, and pulls off boots to resume counting...* :Pblah.gif

I want to port all AOD projects to the 86

TI-82:
AOD

TI-83:
AOD Original
AOD Graphical
AOD2
Star Trek Borg Invasion

TI-83+
AOD Original
AOD Graphical
AOD2
AOD Revenge
Final Fantasy Magic's End
Pokemon Purple
RPG Starter Kit
Star Trek 83+
TI-City
*One unannounced, will use xLib*

TI-86
AOD Original
AOD Graphical
AOD2
RPG Starter Kit

TI-89
AOD Graphical
AOD2
AOD R
Star Trek

This does not include any of my site projects...
Title: Progress
Post by: kalan_vod on February 17, 2006, 06:51:00 am
Well, I wouldn't try to overwelm myself like you :Dbiggrin.gif. So hows this comeing along, a new demo perhaps? ;)wink.gif
Title: Progress
Post by: tifreak on February 17, 2006, 08:12:00 am
Once I get the lists figured out completely, and the rest of the in-game menu finished, then yes, a new demo. :)smile.gif
Title: Progress
Post by: Radical Pi on February 19, 2006, 01:42:00 pm
After some tough MirageOS hacking, I now have a string containing 215 different characters! :woot:woot.gif
I'm not sure how it will turn out for you, because i used an 84+SE.
http://www.unitedti.org/index.php?act=Attach&type=post&id=553

edit: the relevance is you can use it for maps
Title: Progress
Post by: tifreak on February 19, 2006, 05:08:00 pm
lol, you aren't gonna like this... :Pblah.gif

http://www.ticalc.org/archives/files/fileinfo/384/38404.html

It seems that the only thing yours has that ours don't is all the normal characters easily obtainable... Kerm put together the symbols, I made the neat GUI...

Edit:

Oh yes, I guess I should update on the project a lil...

I have a pretty good idea on how to make an NPC move about the screen, though I am not 100% sure it will work. First thing is first though, finish up the small things so you guys can have a new demo... :)smile.gif
Title: Progress
Post by: CDI on February 20, 2006, 04:36:00 am
:Pblah.gif yay for moving NPCs!
Title: Progress
Post by: kalan_vod on February 20, 2006, 05:22:00 am
Nice, are they ascii? Well I gues I will find out soon enough!
Title: Progress
Post by: tifreak on February 20, 2006, 05:50:00 am
Yes, ascii characters... When they talk (And when kerm fixes his routine) it will show a pic of the NPC above the dialogue box. :)smile.gif

@CDI: Have you tried to make moving NPC's in BASIC? Just curious if you had, then I would like to compare notes...
Title: Progress
Post by: CDI on February 20, 2006, 05:53:00 am
I have acually, I haven't any real "notes" though all I did was have a varable that each time the loop loops it increases by one until it is greater than say... 20. Each time I loop the loop I run a program that moves all the NPC's on-screen (they're in a list) using information in a string (an example 4 part string is "V>^<") and if nothing is blocking it it moves, the only problem I had is when it was blocked :)smile.gif
Title: Progress
Post by: tifreak on February 20, 2006, 05:56:00 am
I see... That is about the same thing I was thinking, so it is nice to know that I am definitely on the right track! :)smile.gif
Title: Progress
Post by: CDI on February 20, 2006, 05:57:00 am
yep!
Title: Progress
Post by: tifreak on February 20, 2006, 07:15:00 am
Well, I am working on the lists, because no matter what I do, the lists are extremely important. I think for the events, I am just going to do Strings, and hope for the best. Stats on the other hand, for the Pokemon, are gonna be another matter entirely... Too bad BASIC doesn't do self-modifying code like ASM can...
Title: Progress
Post by: Spellshaper on February 20, 2006, 07:24:00 am
there
Title: Progress
Post by: Radical Pi on February 20, 2006, 07:29:00 am
And Resource's Temp programs come pretty close if you do it right.
Title: Progress
Post by: tifreak on February 20, 2006, 07:33:00 am
I would need something more permanent than that... :)smile.gif Thanks though...
Title: Progress
Post by: MathStuf on February 20, 2006, 07:39:00 am
Why would you need SMC for the stats? Just save it to a list like the rest of the save game data...
Title: Progress
Post by: tifreak 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... :)smile.gif

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...
Title: Progress
Post by: MathStuf 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...
Title: Progress
Post by: tifreak 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... :(sad.gif

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...
Title: Progress
Post by: MathStuf 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... :(sad.gif

 I'm getting to that point...49k for GUI...yeah...
Title: Progress
Post by: dragon__lance on February 24, 2006, 05:16:00 pm
sounds complex...hope it works out though :)smile.gif
Title: Progress
Post by: tifreak 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...
Title: Progress
Post by: necro 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.
Title: Progress
Post by: tifreak 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...
Title: Progress
Post by: MathStuf 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 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


--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 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)


Get rid of the Growth rate you have and use 1 digit to store:
1=Slow
2=Fading
3=Normal
4=Fast
And getting rid of the growth stuff and replacing with base stats would be much easier.
Title: Progress
Post by: kalan_vod on February 25, 2006, 08:42:00 am
Wow, this looks like alot of time is being put into it.
Title: Progress
Post by: necro 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
Title: Progress
Post by: tifreak on February 26, 2006, 03:12:00 am
Wow...  O_Oshocked2.gif

I will see about trying that out...
Title: Progress
Post by: necro 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.
Title: Progress
Post by: tifreak 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. :)smile.gif