Posts

Showing posts from February, 2017

Milestone III - Gameplay & Combat Makeover

Image
This progress is all about getting in challenging combat in place by introducing more pick up items like baton, trash can, chair, desk and monitor each dealing different level of damage, giving a chance to defend; added counter-attack ability for the player; achieved smooth interpolation between player combos, revamped UI from last build with relation to token indicator located at the top of NPC's giving the player a hint before the fight begins; we now have more visual effects in terms of particle effects for situations like destroying the table, and picking up the monitor; also now we have smooth and desired collision system that triggers light bounce when colliding with environment objects -desk, chair, and walls; the nav-mesh setup now has checks for non-walkable nodes not allowing NPC's to walk through the environment objects but orders them to walk around it. On the other end we also have the functionality of the gamepad. Also our plan for the end of this week to...

Third Person Camera

This blog is focused on creating third person view style controlled camera, which follows a user controlled object. Making Third Person Camera - Setting up the camera with important elements of view matrix and lookAt vector     Camera::Camera(float fov, float aspect, float nearPlane, float farPlane)     {               m_right  = { 0,0,0 };          m_up  = { 0,0,0 };          m_look  = { 0,0,0 };          m_position = { 0,0,0 };         m_Oldposition = { 0,0,0 };         m_lookAt = { 0,0,0 };         m_velocity = { 0,0,0 };         SetLookAt(XMFLOAT3(0, 0, 5));    ...

KungFu Style Movement and Instant Reaction

Image
This blog is going to be about how we planned on to design Kung-Fu style movement of the AI and how we planned out the instant reaction of the player in terms of making the combat more challenging and interesting on the same end. How we went on achieving IP-man style fighting style - So when the director sends in the token for attack, that particular enemy navigates its path to the target, i.e., the player, once it reaches certain distance, we command the AI to perform the attack animation and defend from the hits of the player by making it rotate around and face inverse of the player taking 2 steps forward. Once its done with it's turn the token immediately gets passed on to other one, the process repeats on. Take a look at it - // Token to attack and if the enemy who has got the token to attack isn't on the same nav node as the    player if(m_action == Actions:: ATTACK && m_currPly != m_nav->m_current) {      ...