|
Post by KuroShinnen on Aug 7, 2006 23:13:18 GMT -5
My game is unlike any other games made on RPGM2, or at least unlike any game made. My game uses a legend of dragoon attack system. A blue square comes out from the screen and you must hit X when the outer square meets the inner square. It is a little difficult to master, but more interesting than pressing X once to attack.
There are objects called Rei-en, which you can equip that will bring your stats up a bit, or may do something else like add a resistance. You may only equip one at a time, and they get very powerful later on in the game.
There are various different attacks you can use that each vary in strength, and vary in the amount of times you must press X. Every time you complete an attack, you gain a "Hit" for the attack. Every 20 hits, your attack gains a level. until you have 80 or more hits, then they just keep rising until 99, then stop there.
The world map system is very straight foreword. You have a single path to take that leads to places. its sort of like this:
[Town] ....|......................[Place] ....|...........................| ....|........................../ .....\_____[place]____/ ...............................\______[Place]
It is also hopefully unlike any other RPGM2 map system.
I have started my game recently, and i am not very far in the story, but i am devoting most of my time to making this game perfect. To this point, there are no mini-games yet, but there will be some soon. If you have any suggestions, questions, or comments, please post them, as it will help make my game as best as possible.
|
|
|
Post by Bigfoot on Aug 7, 2006 23:20:40 GMT -5
Sounds really good so far! Is it using a modified DBS? I like the idea of your game, hopefully we can see a demo or some screens soon.
|
|
|
Post by KuroShinnen on Aug 7, 2006 23:23:30 GMT -5
hmm, forgot to mention... I would say it is a modified DBS, I could probably take a video of a battle using a long attack. I could also put up some images. I think I will do that no actually. ;D
|
|
|
Post by thetruecoolness on Aug 7, 2006 23:28:26 GMT -5
So I guess it would be an understatement to say Legend of Dragoon was your inspiration for this game, as both the battle system, and world map system are the same. Of course I liked Legend of Dragoon's Battle system, though the story was a bit generic it wasn't too bad. So this sounds pretty good, good luck on finishing it.
|
|
|
Post by KuroShinnen on Aug 7, 2006 23:41:12 GMT -5
The story is going to be completely different, but, yeah, lod did inspire me to make this game, same with the map system... But the game is still pretty cool
|
|
|
Post by NASH7777 on Aug 8, 2006 11:52:22 GMT -5
I enjoyed legend of dragoon...although I never took time to beat it. I think I'm on like the second disc in some pirate ship with ghosts if I recall...I can't remember beating it.
But yeah I liked the timing for attacks, made it play a lot more on the user interacting rather than just choosing from menus which I liked...hence forth me always making active systems. I actually made a mini battle test with a legend of dragoon type X thing where it played VFX's and you had to hit it at the right time...then I never did anything else with it.
Sounding good though.
|
|
|
Post by KuroShinnen on Aug 8, 2006 14:02:34 GMT -5
Thanks Nash... Honestly I never beat LOD. Im on the end of the third disk, but never beat it either. My game is coming along great, also, I have a question that I asked thetruecoolness last night.
Is there there a way to change a member's weapon property when you equip armor, then change it back to normal whe you unequip it?
|
|
|
Post by realitybites on Aug 8, 2006 21:36:25 GMT -5
good to hear your games going smoothly!
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Aug 8, 2006 23:14:05 GMT -5
Yeah, LoD's 'Addition''s were awesome. I've thought about how it would be possible to impliment in RPGM2 but never acted on it. The first disc of LoD very good but it begins to drag on more and more as the game progresses and by the end it's ridiculous.
Anyways, this sounds good.
"Is there there a way to change a member's weapon property when you equip armor, then change it back to normal whe you unequip it?"
What? I think it defaultly only changes weapon property when an item of the 'Weapon' type is equipped or unequipped, but you could undo RPGM2's default weapon property system and run a new one on your own. Why do you want to do this anyways?
|
|
|
Post by KuroShinnen on Aug 8, 2006 23:24:00 GMT -5
Yeah, the beginning of LOD was good, but i too think the game started getting slower as the story progressed. But Don't worry, my story will be great at all times.
The reason I want to know if its possible is because the attacks are what Weapons are renamed to. But I wanted an accessory to change the w prop of the member, but i couldn't get that to work. Don't worry abou that question because I am getting rid of the DBS and Making my own using the the LOD attack system.
|
|
|
Post by realitybites on Aug 9, 2006 8:19:25 GMT -5
Well from what we discussed last night im sure you can pull your CBS off.
|
|
|
Post by Neo Samurai on Aug 9, 2006 10:14:15 GMT -5
Try using the NormalVariables. This is just like my tip on my site about learning abilities through equipment. Create these scripts: Get (Weapon Property) Substitute Attribute for Variable Variable: NormalVariable0= 1 (Note: It doesn't matter what NormalVariable you use. It's up to you. For this example, let's say that 1 is a Fire property)Substitute Variable for Attribute Lose (Weapon Property) Substitute Attribute for Variable Variable: Normal Variable0= -1 (Note: -1 is when a character doesn't have a weapon property)(If you want the weapon property of the original weapon to return, do the following.) Load Member Info Sort: Variable: [Weapon Equipped] Apply If +1 (Fire Lance) Apply If +7 (Fire Sword) Variable: Normal Variable0= 1 To End Apply If +2 (Water Harpoon) Apply If +10 (Wet Brand) Variable: Normal Variable0=2 To End (Repeat for all weapons and weapon properties) Script Branch End (Note: Placing the corny weapon names aside , as you can see, each weapon that has the same property will end up having the same result (Fire Weapons will be 1, and Water Weapons will be 2))Substitute Variable for Attribute Create two system events for each of these scripts. Next, create a Custom Indirect Effect. Place the "Get (Weapon Property)" event in New Success and "Lose (Weapon Property)" in Forced End. Now, for when applying damage to enemies. You'll need a variable for the weapon property the enemy is weak against and strong against. I use two methods for this. Method 1: Create your own variable. Name it "Enemy1Weakness" or something like that. Make that for each enemy. Then, create a variable called "Enemy1Strength" for each enemy. Method 2: Create a blank party member and name it "Enemy 1". Use one of the "Normal Variables" for the enemy's weakness and strength. Make a blank party member for each enemy. However, you'll need to create a variable called "MemberElement". I prefer Method 2 because I can save some variables, but you can do whatever you want. Now, place this script before a script that applies damage to an enemy. I'll show you what you need to do, depending on what method you prefer. Method 1: "Elemental Check" Load Member Info SBC: [NormalVariable0]=[Enemy1Weakness] Data: Variable: [Damage]= [Damage]*2 Script Branch End SBC: [NormalVariable0]=[Enemy1Strength] Data: Variable: [Damage]= [Damage]/2 Script Branch End (Note: You'll have to do this for every enemy. I'd use Sort Branches to check if the enemy is correct.)Method 2: (Note: In this example, the enemy's NormalVariable0 is its weakness and NormalVariable1 is its strength.)"Elemental Check" Load Member Info Data: Variable: [MemberElement]=[NormalVariable0] Data: Variable: [Member Number]=(Whatever number you need to call the enemy's blank member data) Load Member Info SBC: [MemberElement]=[NormalVariable0] Data: Variable: [Damage]=[Damage]*2 Script Branch End SBC: [MemberElement]=[NormalVariable1] Data: Variable: [Damage]=[Damage]/2 Script Branch End (Note: You'll have to do this for every enemy. I'd use Sort Branches to check if the enemy is correct.)-------------------------------------------------------------------------------------- I'll place this in the Script Database and on my site. Anyway, I hope that helped.
|
|
|
Post by KuroShinnen on Aug 9, 2006 17:51:09 GMT -5
Your idea sounds great Neo Samurai! I will go with method 1. I think Method 2 is easier, but you have to make a new party member fo each enemy, and thats about 200 per enemy. So Method 1 sounds much more memory efficient. But, where do you put the script for method one at?
|
|
|
Post by Neo Samurai on Aug 9, 2006 21:15:32 GMT -5
You would place it between when the attack hits the enemy and when you apply the damage. As for using 200+ blank party members, you don't need to do that. Just create 6-8 blank members (as many blank members as you'll need for the maximum number of enemies in a battle). Then, at the beginning of the battle, load the stats for your enemies (HP, ATK, ect.) into the blank members. Of course, it's still up to you what you want to do. And I'm glad I was of help.
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Aug 9, 2006 23:50:27 GMT -5
That's genius Neo! Very cool.
|
|
|
Post by Doan the Nado on Aug 10, 2006 3:12:36 GMT -5
Actually, using this method, your script can be quite efficient. I do not know exactly how it works in the DBS, but you wouldn't have to repeat the stuff for every enemy, only for the one you're attacking. There is some command to "Load Target Info" or something to that effect, which should take care of getting the Normal Variables in their proper locations. If you do need to repeat for all enemies (say, for a huge attack, or a spell that attacks all at once), you could be sure to keep all the enemy info in continuous blocks, and then do something like: (let's say the enemies start at Member 20 and go to Member 29) Data: Variable: [Member Number]=20 SB: Repeat [Member Number] < 30 Load Member Info SBC: [MemberElement]=[NormalVariable0] Data: Variable: [Damage]=[Damage]*2 Script Branch End SBC: [MemberElement]=[NormalVariable1] Data: Variable: [Damage]=[Damage]/2 Script Branch End Data: Variable: [Member Number] = [Member Number] + 1 Script Branch End (End of Repeat) This would cycle through every enemy, without having to rewrite anything. Really though, nice job on putting this script together. It is simple, efficient, and effective, and I'd like to think it is what I would have come up with if I had put it together .
|
|
|
Post by Neo Samurai on Aug 10, 2006 9:54:45 GMT -5
Thank you, Doan and TST. I actually came up with this script on the top of my head. So, I've never done it before. But I've always had ideas of trying something like this. As for cycling through every enemy, I might have worded it wrong. What I meant was to make a few blank members for the maximum number of enemies in a battle (6-8 members. Whatever you want). Then, at the beginning of the battle, you would load the enemies info into the blank members you'll need (their ATK, DEF, etc.) Since you're using a CBS, you would also make an event for each blank member you created (which would be the maximum number of enemies allowed in battle). Now, let's say you want to load an enemy (like a slime) into the battle, you would load the slime's data into Blank Member #1 and place the graphic for the slime in Enemy Event #1. In order to make the game understand that you're using said enemy, you're going to have to create variables for each of the enemies in the battle (not every individual enemy). These are going to serve as the Enemies' Database numbers (Not to be confused with the Default Enemy Database numbers. This is your own custom Enemy Database number). Now, here's what you do at the beginning of each battle. You'll need to create a script for each enemy unit you'll use (not for each individual enemy). For instance, if you want to use 3 Slimes in a battle, you'd do this: "3 Slimes" Data: Variable: Enemy Database#1= 1 Data: Variable: Enemy Database#2= 1 Data: Variable: Enemy Database #3= 1 This would be the very first script you'd use at the beginning of the battle. Then, after this one, you'd use this next script: "Enemy#1 Data Load" Event: Control: Change [Enemy Event #1] Sort: Enemy Database#1 Apply If -1 To End Apply If +1 (Load Slime's data) Event: Effects: Model [Slime] To End Apply If +2 (Load Skeleton's data) Event: Effects: Model [Skeleton] To End (Repeat for every enemy) Script Branch End (Note: -1 means if you won't be using that individual enemy slot to load an enemy. So no enemy will be used in Enemy Slot 1)Create similiar scripts to the one above for the maximum number of enemies allowed in battle. Then, the game will load the enemies' info and graphic. This is the simplest way I can think of that you can start a CBS.
|
|
|
Post by Doan the Nado on Aug 10, 2006 22:45:52 GMT -5
Actually, I would suggest storing the enemies themselves as party members, along with also having the blank party members each battle. This would completely eliminate the need for a Sort: simply set the enemy database number to be the same as its Member Number. So if you want a battle to have a slime (enemy 51), and the enemy events are 21-29, you would say: Data: Variable: [Member Number] = 51 Load Member Info Data: Variable: [Member Number] = 22 Save Member Info Moreover, you could break it up even further so that you don't have to write the above four lines every time. Simply use TempVar0 and TempVar1 as function parameters, as follows: Script: Load Enemy Info Data: Variable: [Member Number] = TempVar0 Load Member Info Data: Variable: [Member Number] = TempVar1 Save Member Info Then, let's say that you have 20 enemies from Member Number 50-69. You could easily load 5 random enemies by saying: TempVar1 = 20 SB: Repeat [TempVar1] < 25 TempVar0 = 50 ? 69 Call Script: Load Enemy Info TempVar1 = TempVar1 + 1 SB: End I hope you can see how that loop works. You want to load info into Party Members 20-24 for use in battle, so TempVar1 iterates across these values. Meanwhile, at each stage, TempVar0 is set to a random number between 50 and 69, so that when calling Load Enemy Info, the data for the random enemy will be loaded into the current slot. It really helps to try to separate certain functions as much as possible to create situations where you can efficiently loop over info and do everything automatically, without having to write out all those lines yourself and waste all that memory. Of course, planning ahead and thinking through with efficiency in mind also helps. The best programmers are usually the laziest ones (although they must still be ambitious): if you can figure out how to do what you want in the fewest lines of code, you will have less chance for bugs and you will take up less memory, leading you to spend less time coding each individual part and creating more time to do other things.
|
|
|
Post by Neo Samurai on Aug 11, 2006 9:09:08 GMT -5
I guess that would be a better idea, since you'd probably (and shouldn't) be using the Enemy Editor for a CBS. Great idea, Doan!
|
|
|
Post by KuroShinnen on Aug 14, 2006 16:34:55 GMT -5
-----Small Update----- I have made a new level up system for my game. Basically, It takes 100 exp to level up your party every time. But, the enemies give out less exp every time you level up. If you want to know, I used the following formula:
EXP gained=EXP recieved Party Level=Level Level X Enemies= Party Level X ParticipateEnemies EXP Gained= EXP Gained - (Level X Enemies) Party EXP= EXP Gained
Then I did a check at the bottom for level up then subtracted 100 EXP. So at level one with two enemies, you might gain 6 EXP, but at level two, you would gain 4 exp. It helps me keep track of what level the party should be at at any time... Also, if you are at too high a level, you don't gain 0 EXP, you will gain 1. So that way, it is always possible to level up, even if it takes a long time.
So, what do you guys think?
|
|
|
Post by Lost In Thought on Aug 14, 2006 16:53:04 GMT -5
nice, seems like a better way of leveling than the default
|
|
|
Post by KuroShinnen on Aug 14, 2006 18:06:05 GMT -5
thanks Lost, I did it because You will be able to use 6 party members, and I didn't like the idea that you will be using only 3 for the whole game because the others are under leveled, so I think it gives you more freedom during battle.
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Aug 15, 2006 2:09:53 GMT -5
I'm confused. What's the formula?
|
|
|
Post by KuroShinnen on Aug 15, 2006 10:58:05 GMT -5
Ok, I'll explain the formula... First i just transfer over the default exp recieved variable into a new exp gained because the default of the two can't be changed, just veiwed. I also transfer level just to make things organized. Then, I multiply Party Level and The number of enemies in battle together to find the new variable Level X Enemies. The new variable EXP Gained is equal to EXP gained - The new var Level X Enemies. Then party exp = Exp Gained. Then The level up just checks if Party EXP => 100, subtracts 100 if it is, and then the formula continues. This is all done at the end of a battle.
EXP gained=EXP recieved Party Level=Level Level X Enemies= Party Level X ParticipateEnemies EXP Gained= EXP Gained - (Level X Enemies) Party EXP= EXP Gained
|
|
|
Post by Doan the Nado on Aug 15, 2006 11:03:27 GMT -5
So you get less experience for more enemies?
|
|