• Content count

  • Joined

  • Last visited

Community Reputation

100 Neutral

About RossAiken

  • Rank
  1. [quote name='Shourov' timestamp='1305438600' post='4810969'] any suggestions regarding learning math from the scratch? [/quote] Position = Position + Velocity Velocity = Velocity + Acceleration To bounce off of axis-aligned walls, simply flip the appropriate velocity component (position, velocity, and acceleration have x, y, and possibly z components). Axis-aligned walls are parallel to one of the axes(2D)/planes(3D) Distance = sqrt(x_dist^2 + y_dist^2) --You can use the google to find more distance formulae. --You can do a decent job with collision detection with the right distance formula. You could learn it the way I did, first start with a circle that bounces off of the walls. Next add control using the arrow keys (I had them modify the acceleration values, with the x acceleration returning to zero when no keys were pressed and the y acceleration returning to -1 for gravity). Then try to get bouncing off of angled walls working. Then see if you can figure out how to detect collisions with line segments. So basically just start off with a simple game then add whatever features you can think of whenever you get bored... I find that what you learn this way sticks a lot better than trying to do it from a book.
  2. [quote name='shineability' timestamp='1302615933' post='4797502'] By mechanics I mean experience, levelling, statistics, rewards, ... but most importantly how to keep all of this in balance. [/quote] I have very little experience in the programming of anything but the most basic of games, but I do have more experience on the playing end Generally there are several ways to deal with experience/levelling. Experience can be given per point of damage (useful with multiplayer) or per kill, as well as from quests and other rewards. The amount of experience earned for a given action tends to either diminish as you level up, or the amount of experience to get to a new level gets higher as you level up. Statistics tend to be upgraded at level-up, some games give bonuses to statistics whose skills were used during the past level (for example in Oblivion, if you leveled up your Acrobatics Skill, the Agility Stat would get additional points if you chose to upgrade it at level-up) Balance mainly requires planning ahead and play-testing. I would store all of the values for the skills, experience, etc earned from everything in a separate config file and tweak that until the game seems balanced. If you are doing a single player game or co-op type game, you can also have the game dynamically scale the difficulty of the bosses. For example, the game can detect if a boss is absolutely crushing the human player, and make the boss's attacks do slightly less damage and make its armor slightly weaker. This can also be applied in reverse; if the boss is getting killed in one hit, the game can make him stronger. Also, many (single player) RPGs tend to have a difficulty control, so people can choose how tough they want it. I don't know, maybe a form of PID control can be used even here (PID control is basically an algorithm used in control systems to prevent jittering)