tnelsond
Smash Rookie
- Joined
- Aug 8, 2015
- Messages
- 1
Tnefight is a smash bros. inspired game I'm working on that's focused more on modding (players being able to make their own characters and levels). I also don't have Windows or Gamemaker, so it's coded in C, with SDL, and lua for characters and levels.
I don't really plan on using any Nintendo Intellectual Property, nor holding super rigidly to the smash bros. physics.
But for the moment, I would like to get the physics and gameplay as similar as I can. Right now I have:
I just don't know what characteristics should be tied together. Should a move with higher attack have more start lag? Should it not go as fast or as far? Should it have a shorter duration?
He's the current components of a move (straight from the C source):
and what I have for balancing currently:
I don't really plan on using any Nintendo Intellectual Property, nor holding super rigidly to the smash bros. physics.
But for the moment, I would like to get the physics and gameplay as similar as I can. Right now I have:
- Knockback (and growth)
- Damage
- Charged moves
- Movement moves
- Reflect moves
- Hitstun
- Lua scripting for creating characters, moves, and levels.
I just don't know what characteristics should be tied together. Should a move with higher attack have more start lag? Should it not go as fast or as far? Should it have a shorter duration?
He's the current components of a move (straight from the C source):
Code:
void tfighter_setmove(tfighter *t, int index, int attack, int kb, int kbgrowth, int mindelay, int chargetime, int duration, int endlag, int x, int y, int width, int height, int angle, int kbangle, int speed, int type, int img)
Code:
void tfighter_balance_move(tfighter *t, int index, int attack, int kb, int chargetime, int duration, int endlag, int x, int y, int width, int height, int angle, int kbangle, int speed, int type, int img){
tfighter_setmove(t, index,
(attack - (width + height) / 2) / (type & PROJECTILE ? 3 : 1), /* Attack */
kb, /* KnockBack */
(100 - (speed + kb / 2)), /* KnockBack Growth */
(int)((200 - endlag) * (attack + kb/2.0)/100.0 + duration * 0.03), /* Minimum Delay */
chargetime, /* Max Delay */
duration, /* Duration */
(int)(endlag * attack/100.0 + duration * 0.03),
x, y, width, height,
angle,
kbangle,
speed / (!(type & PROJECTILE) ? 3 : 1),
type,
img);
}