HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

Battle System?

08-27-2003, 01:05 PM#1
Pen²
I am not sure which BS I should use in my map, so I made a poll.
Click here for information 'bout my rpg
You can choose between:

- STBB (Simple Turn-based battle)
This is the way to fight used in games like Lufia.
At every turn the players decinde on action. After everyone choosed one after one unit is executing their orders.

- ATB (active time battle)
This is the way the battles are handled in the final fantasy series, the chrono series, the grandia series and some other clones of them, too. A ATB-bar slowly fills after touching the enemies. If you reach 3/4 of the bar you are able to give a command. As soon as the end of the bar is reached, the command will be executed.
Good for multiplayer games, because you don't need to wait until everyone selected an action.

- TPB (Time-point battle)
This is the way of battle used in Jagged Alliance. The heroes get some time points at each game-turn. If you attack, move or cast a spell, you lose time-points. If you spent all the time-points the turn ends for you. This is the most tactical way to play the game, but will also slow down the game terribly, because you have to wait the decisions of all other players!

- SRTB (Standart Real-Time battle)
This is the standart way of fighting, which is used by the most MMORPG such as realtime-strategy games like wc3 ...
08-27-2003, 05:09 PM#2
l]arkOne
I would say final fantasy battle system is the best. I wanted to use bar time at first but since my mod is a 1 player it doesnt really need this. I use something different of all this. Maybe a fix between ATB and STBB. mine work like this: random enemy turn, hero1 turn, random enemy turn, hero2 turn, random enemy turn, hero3 turn. If there's no hero2 then it randomly select a hero. But when you dont know how I made this system you can think the game use bar time.

My system : A hero turn, a enemy turn...
STBB: hero team turn, enemy team turn...
ATB: whenever ready the guy do his action.


ATB is hard to make and the player doesnt see the difference.

PS: Do you know final fantasy has 2 system the wait ATB and the normal ATB.
08-27-2003, 05:24 PM#3
Pen²
Well, I allready made a working ATB map:
Click here

This is how it will be used in the map later. (This is only a preview, I will work it out to make it more ff-style ...)
08-27-2003, 05:33 PM#4
l]arkOne
I didnt really try to make it ATB because I wanted to keep it simple.

You have lot of thing to think about in ATB when youre making trigger. Like only 1 unit can move at a time(you dont want all unit running at each other) But is it easy to make? Im gonna test yours right away.
08-27-2003, 05:48 PM#5
l]arkOne
woa impressive!:D

Do you think it can work for solo game with multiple controlable hero?

If yes I would like you in the team. Are you interested in joining part or full time the project which is hosted by wc3c? Dont worry it wont take all your time. If you're arent I would like if you could explain how the trigger work in english(or french).

If you do it yourself you'll be in the team credit.
If you explain how it work and how you think I could do that, you'll be in too(in the thank list which is also show in the intro movie and website).

EDIT: Please post to tell me if you are interrested in somthing or arent.

You can PM me, post here or in HeroRPG forum. I hope you're interrested.

PS: I can send you a unprotected version of the map in which you will be able to see how I did my system and how you can improve it.
08-27-2003, 06:19 PM#6
Bolt
Wow yah that ATB was impressive. I was wondering if I could use it for my map, I haven't gotten into opening yet. I wanted to post the message here because I wasn't sure if that one would be considered bringing back an old post :bgrun:

*Edit* Everything is in Germen :|
08-27-2003, 06:34 PM#7
l]arkOne
That why we both need his help in translating.

I suppose Kampf mean camp.

umm... My dialog are way better since im using the dialog engine in jass. Im also working with multiboard. I would be cool to have the time bar in the multiboard (quite easy to do for me).

Just translate the map and the comment and I'll know prettly well how this work.

I feel I will have a hardtime adapting this system to mine. Anyway that why I always keep backup.
08-27-2003, 06:36 PM#8
Bolt
I know a place to translate the Germen but.. It's too annoying to translate each portion, if you want to site is

http://www.freetranslation.com
08-27-2003, 06:38 PM#9
l]arkOne
Is microsoft word 2002 good for german to english translation? It good for french to english.

What means Zustossen and Zufallszahl?

EDIT: You know variable array are your friend. Dont be affraid to use em;) . I translated most of the map. Still need those 2 words.
08-27-2003, 07:49 PM#10
l]arkOne
Can you explain how to make the dialog box appear only when the bar is 100% full?
08-27-2003, 07:52 PM#11
Pen²
Errm, If you want me I can work out the system and translate everything. I would make the heroes and units to walk back where they were and would make something easier. Also I would spells and items easier to add and would debug the revive triggers. (Well simply I bring it to an end. I didn't knew that someone likes the system)

Another way would be you send me a copy of your map and I insert the system. Well you can choose.


Btw: 'Kampf' means 'battle', 'zustoßen' means something like 'another one joins' and 'zufallszahl' means 'random number' ... XD


Edit: its better if it appears more early, because in multiplayer, the time will expire even if a dialog pops up. If you make it pop up earlier, the players have more time to choose. That's the main idea behind it. (Well it would make the triggers much more easy if i let them choose at 4/4, but its more comfortable like it is now.

The problem with the arrays: I don't really know how to use them. If someone would introduce me how they work, I could make the system more simple.
08-27-2003, 08:05 PM#12
l]arkOne
I'll go for the english version since my map is far too big for attachement. I already have the dialog system, battle start, victory, defeat.

I would like if you can replace your normal variable with varriable array. My system work with 3 heroes and 5 enemies.

I was thinking about when the bar is 100% full, the dialog show and a boolean array turn on so it stop other bar from continuing (I dont want 2 dialogs appear in the same or during I choose an action and during im doing the action, would probably bug)

I dont understand how you change color of the bar 1 by 1 without having 100000000000 if/then/else. I would like a comment which explain how to do this since I will make the bar show in the multiboard.

Battle 2 folder isnt needed.

EDIT: It a single player map but there will be a BIG bug if the other bar finished during I choose action and selection(I suggest you go at my forum and check in the screenshot how my selection system work, it doesnt work with dialog) I think you only have to make a boolean equal true right after a time bar reach 100% and make the trigger with every 0.1 sec only work when the boolean is false.

How long do you think it will take for making the testmap with 3hero and 5enemies?

After checking your map I think it wont be to much difficult to morph it to my system. It just all those variable that bug me. I just need the core of your system

Im waiting for your good work:D
08-27-2003, 08:19 PM#13
l]arkOne
Array are very simple to use here how.

Let say you want to replace the variable: battle1_opponent1 with a array.
You make a Unit Array (called something like "Opponent") .
When the battle lunch, just do: Set Opponent[1] = random unit...

Now with battle1_opponent2
Set Opponent[2] = random unit...

The only thing special with array is you cant set a initial value in the variable menu. You must do like this: map initiliation, Set "whatever[integer]" = something

If you have too much trouble with array, dont use em I'll do it for you. Just remove anything related to battle2
08-27-2003, 09:00 PM#14
Pen²
It's not that easy. 'Battle 2' is more than only a copy of 'battle 1'.

I called some of the triggers in both folders different from anothers.
There are Triggers called "Kampf1" and "Kampf2" and there are triggers called "P1" and "P2" at the beginning of the trigger name.
That has a meaning: All triggers starting with "Kampf" will only work for the current fighting group (You know I made the system for open rpgs, so that other players can join a battle after starting it. Check it out using the bot-commands) and won't be executed in the second player folder, because they handle stuff like the revive or the triggers for the enemies.
All triggers called "P" at the beginning have to be run for the current players separately.

Example: The battle starts. Player 1 attacks the neutrals.

So player 1 is moved into the player group "battle 1 players" and the hero is added into unit group "battle 1 units".
The trigger "Kampf 1 Wartebalken füllen" (Which means: 'Battle 1 fill ATB bar') at folder one starts to loop.
Now player 2 joines. He will not get another battle group, because he only joined the battle (If I would do that, it would all end up messing around with the enemy triggers) and will be added to "battle 1 units" instead of "battle 2 units".
Also the player group will not be "battle 2 players".

Now all the "Kampf 1" Triggers need to be executed, but the "Kampf 2" triggers mustn't be executed, or all will end up in a chaos. "P1" and "P2" Must have to be executed parallely.

Why I made this that difficult, you might want to know: The fact is; The system was planned for Open-RPGs, which means that all players can do everything alone. They may fight as a team. They may not. That's why I had to make more than 1 group of "Kampf"-Triggers. (There are some more reasons for that, like the 'block everything'-boolean, which prevents units in the same battle group to gain ATB-points or to act while a unit is executing an order. This is important to prevent bugs!)

For short: The system would be way more easy if you only plan to use it for a solo rpg.



PS: Well, give me a week, then I attach a 'reworked' version of the system.

PS²: Thanks for explaining how arrays work. I never tried to get how this works ...

PS³: In germany its allready 11:00 pm. Well i have to meet with my girlfriend, so I can't post any longer. Maybe I write back tomorrow.
08-27-2003, 10:25 PM#15
Bolt
I was planning to implement your ATB into a random battle way. As in instead of actually going near the enemy that you are going to battle, you walk around with a unit considered as the "Party" and randomly through you into the battle. I have the random portion fine but understanding Germen is quite annoying. Do you have a english version some where :bgrun: