Okay, so for about a couple months now I've been working on a turn based RPG. Now, there is a little more to it than just that. There are some real-time elements mixed in to make a little more (I doubt anyone likes a game where everything is based on RNG). Instead, every attack is based on the player's skill to execute (or dodge) the attack. I'd show you photos of a battle, but that is pretty hard at the moment due to a major flaw:
I can't figure out for the life of me how the attacks are supposed to go back and forth between the player and the enemy. I've made almost every attack for the first area (and the menu while attacking), but I just can't seem to figure it out. I'm probably missing something simple here, but I would like some help, and/or a /very/ simple example I can learn from. XDOn to the second question (more of an aesthetics thing). I've been trying to make the overworld, but my levels look a little messy. It's 3D at a 45 degree angle (fake 3D), and I put walls and stuff up, but they sometimes block the view. Should I just change the room layouts and make the front walls invisible?The code to determine what order the enemies and player(s) attack in. Work in progress
speed=999
while (done!=6)
{
speed-=1
if (speed=={have to grab the object name}.speed)
{
done+=1
{object name}.turn
}
}
The turn based code. Still a bit long and bulky for my taste, but thank you Pirate-Rob! (complete)
i=0
while (i!=6)
{
if (Attacking[i]==2)
{
if (Attacking[(i+1) mod 7]!=3)
{
Attacking[(i+1) mod 7]=1
Attacking[i]=0
}
if (Attacking[(i+1) mod 7]==3 && Attacking[(i+2) mod 7]!=3)
{
Attacking[(i+2) mod 7]=1
Attacking[i]=0
}
if (Attacking[(i+1) mod 7]==3 && Attacking[(i+2) mod 7]==3 && Attacking[(i+3) mod 7]!=3)
{
Attacking[(i+3) mod 7]=1
Attacking[i]=0
}
if (Attacking[(i+1) mod 7]==3 && Attacking[(i+2) mod 7]==3 && Attacking[(i+3) mod 7]==3 && Attacking[(i+4) mod 7]!=3)
{
Attacking[(i+4) mod 7]=1
Attacking[i]=0
}
if (Attacking[(i+1) mod 7]==3 && Attacking[(i+2) mod 7]==3 && Attacking[(i+3) mod 7]==3 && Attacking[(i+4) mod 7]==3 && Attacking[(i+5) mod 7]!=3)
{
Attacking[(i+5) mod 7]=1
Attacking[i]=0
}
}
i+=1
}
I might try that later on in another version, but I'd rather not for now. I plan on releasing the engine as an example later on after I finish the game, and I want it to be compatible with GM Lite. Granted, I might try that if I start to have trouble. Thanks. :)
well if you don't want to use data structures, you can always make your own with arrays.
example:turn_order[n] = character_id;you would need to make a few scripts that can sort the array but that's pretty basic stuff there.Yes, that makes sense, and as you can see, I am already taking your advice and doing something like that. :) Thanks.
See Pk? arrays are just better. :]
Yes, they are Pirate-Rob. Thanks again.