Aerial Linear Motion Battle System
aka Tales Of destiny Director's cut Battle system
Work IN PROGRESS - Penalty counter: 1 - You can ask question, but there is no progress for the moment due to my work on my Castlevania Project. Thx for understanding.
Hi, I'm opening this topic to show my progress on this CBS I'm creating from scratch.
What is it about? Do you remember tales of destiny? Ok well look at Tales of Destiny Director's Cut On PS2, and you'll have what this script will do.
you can watch this video to see how it looks like:
http://www.youtube.com/watch?v=YWnNerW9t9c
So it's going to take me some time and I want to share with you my progress, etc... like a mini blog.
I've started recently, and here is what is done yet:
- Camera/background system. -> see this video: http://rmxp.trebor777.net/rmxp/rmvx_parallax_cbs2.avi
- small HUD but not usable yet.
- Pixel Perfect Sprite Collision
I'm also thinking of the way the sprite are animated.
- Would you prefer something like the minkoff animated battler
or
- a system using RMvX animations systems?
The script is intended to be modular as possible, so edition and modification are easy. I'm not modifying the default battle system... I'm just creating a new Scene_Battle(which overwrites the default_one)... with it's own methods as for Spriteset_Battle. So again edition would be easier.
Why did I choose RMVX ?
- New script structure, much easier to work with.
- New graphical features.
- Had to do something with it :p
The gameplay features will be similar to the one in the game^^
Hope you like this.
If people are curious about the pixel/perfect sprite collision system
Here it is, it can work for RMXP but need some really small edit
Enjoy!
aka Tales Of destiny Director's cut Battle system
Work IN PROGRESS - Penalty counter: 1 - You can ask question, but there is no progress for the moment due to my work on my Castlevania Project. Thx for understanding.
Hi, I'm opening this topic to show my progress on this CBS I'm creating from scratch.
What is it about? Do you remember tales of destiny? Ok well look at Tales of Destiny Director's Cut On PS2, and you'll have what this script will do.
you can watch this video to see how it looks like:
http://www.youtube.com/watch?v=YWnNerW9t9c
So it's going to take me some time and I want to share with you my progress, etc... like a mini blog.
I've started recently, and here is what is done yet:
- Camera/background system. -> see this video: http://rmxp.trebor777.net/rmxp/rmvx_parallax_cbs2.avi
- small HUD but not usable yet.
- Pixel Perfect Sprite Collision
I'm also thinking of the way the sprite are animated.
- Would you prefer something like the minkoff animated battler
or
- a system using RMvX animations systems?
The script is intended to be modular as possible, so edition and modification are easy. I'm not modifying the default battle system... I'm just creating a new Scene_Battle(which overwrites the default_one)... with it's own methods as for Spriteset_Battle. So again edition would be easier.
Why did I choose RMVX ?
- New script structure, much easier to work with.
- New graphical features.
- Had to do something with it :p
The gameplay features will be similar to the one in the game^^
Hope you like this.
If people are curious about the pixel/perfect sprite collision system
Here it is, it can work for RMXP but need some really small edit
Code:
class Sprite
TR_TOL = 0 # transparency tolerance, a pixel which alpha value is below or equal to this value,
# will be considered non collidable.
def Sprite.pp_collide(sprite1, sprite2)
left1 = sprite1.x
left2 = sprite2.x
right1 = sprite1.x + sprite1.width
right2 = sprite2.x + sprite2.width
top1 = sprite1.y
top2 = sprite2.y
bottom1 = sprite1.y + sprite1.height
bottom2 = sprite2.y + sprite2.height
# obvious rejections:
return false if (bottom1 < top2)
return false if (top1 > bottom2)
return false if (right1 < left2)
return false if (left1 > right2)
# Ok, compute the rectangle of overlap:
if (bottom1 > bottom2)
over_bottom = bottom2
else
over_bottom = bottom1
end
if (top1 < top2)
over_top = top2
else
over_top = top1
end
if (left1 < left2)
over_left = left2
else
over_left = left1
end
if (right1 > right2)
over_right = right2
else
over_right = right1
end
# create the overlapping rectangle
orect = Rect.new(over_left,over_top,(over_right-over_left).abs,(over_bottom-over_top).abs)
# Now compute starting offsets into both sprites' bitmaps:
offset1_x = orect.x == left2 ? sprite1.width-orect.width : 0
offset1_y = orect.y == top2 ? sprite1.height-orect.height : 0
offset2_x = orect.x == left1 ? sprite2.width-orect.width : 0
offset2_y = orect.y == top1 ? sprite2.height-orect.height : 0
# Now start scanning the whole rectangle of overlap,
# checking the corresponding pixel of each sprite's
# bitmap to see if they're both non-zero:
for i in 0..orect.width
for j in 0..orect.height
pix1=sprite1.bitmap.get_pixel(i+offset1_x,j+offset1_y)
pix2=sprite2.bitmap.get_pixel(i+offset2_x,j+offset2_y)
return true if pix1.alpha >= TR_TOL and pix2.alpha >= TR_TOL
end
end
# Worst case! We scanned through the whole rectangle of overlap
# and couldn't find a single colliding pixel!
return false
end
end
Enjoy!