Sep 10
1
Working off of yesterday’s success I’ve been able to refine some of the aiming quirks I had issues with. I realized that manipulating the spine for a two handed weapon may not be the solution for a one handed weapon (perhaps only manipulating the shoulder & neck would be sufficient). At this point I’m not sure if this framework will be ready for The Missing: Chapter 2 but I’ll do my best to make it happen.
Playing third-person shooters I often find the character bending and twisting depending on which way his gun is pointing. Even while bending his animation is still playing. Trying to duplicate this has been very challenging. Before I get to bending I had to solve the part of blending.
In order to create a cool scalable animation framework I asked Corey our animator to create a series of upper body animations (idle, point, shoot) and lower body animations (idle, walk, run). Instead of creating a run & shoot, walk & shoot, and an idle & shoot animation, I can combine shoot (upper body animation) with any of the lower body animations. This framework would allow me to easily add new animations like “leaning.” Fortunately, Unity allows you to combine upper and lower body animations through blending.
Now that the animation framework is running in it’s beta stages I wanted to focus on bending. In order to bend the character I need to rotate it’s bones. Unity uses quaternions to calculate rotation and conveniently provides functions to manipulate them. To determine the angle to rotate I used a sphere as a target that is invisible and 5 meters in front of the player. The target sphere is then calibrated to the center of the screen where the crosshair graphic is located; that way where ever the crosshair is pointing the target sphere will also be in the same direction. This direction is then read by the script to give the correct angle to the character to bend so he’s always pointing where the crosshair is.
As you can see from the screenshot above, the guard who isn’t dying this time, is bending upwards (I chose to rotate his lower spine). Although the image doesn’t illustrate it, his animations are playing. I attached a green laser beam to the gun so I can see the direction the gun is pointing to. There are a few kinks that still need to be worked out, but overall, “great success!”
After integrating the AI framework I ran a few scenarios and everything has been a great success! Two things that tested well were the results when two enemies get into each other’s way and their decisions made resulting if they get stuck. By tomorrow I should have my demo ready for Saturday’s Project Meetup. Stay tuned!
Aug 10
25
The screenshot above is a look of what the whiteboard image yesterday represents in simulation. The enemy has a purple line (rear detection; in case you get too close), and 3 white lines (his field of vision) in addition to the transform arrows (Green, blue, red). As the screenshot illustrates there are some cover points and the player has not yet to be detected. For now, the cover points are just locations to run to, however in game there will be a barrier of protection (crates, sandbags, a gun turret, etc).
The enemy AI has the ability to pursue, attack, flank, or take cover depending on his situation. His detection system allows him to move around other enemy AI that obstruct his actions. I plan on integrating the pathfinding technology tomorrow and can’t wait to see him run around the obstacles in the level!
Aug 10
24
Sketch of the Team AI Concept
What’s up & what’s new? I was away last week but was still working hard on the state management system amongst other things. The first couple of prototypes of the behavior AI system were in JavaScript and I decided to switch over to C# for a few reasons; the main reason being is the pathfinding middleware I’ll be using is in C#.
The behavior AI is challenging because its a cooperative/team AI so they’ll need to be aware of other “friendlies” and not get in each other’s way but at the same time the AI as a whole must be simple enough not to bog the game down. It’s easy to go overboard but I’m keeping it simple with the main goal of the AI system being: “Do not get stuck.” I’m more than accepting the fact the AI will make mistakes as long as, again, they don’t get stuck!
Aug 10
13
Our hard working modeler & texturer Zaid!
Hey everyone I wanted to share with you our first donator to our group: it’s our own modeler and texturer Zaid Al Mahdi! If you’re were unaware we added a donation button on the main page to help with our expenses. Even a few bucks will help us out tremendously! As an incentive we’ll be adding all donators to our credit screen and top donators will have their name written into the story (i.e. character’s name, location name, etc).
What are you waiting for? A few bucks can get you immortalized!!
Aug 10
11
I saw this 2D Engine yesterday and wanted to pass the info around; just to be clear I haven’t tried this yet because it’s Mac only.
GameSalad is a visual, drag & drop based tool for game creation that provides people with the opportunity to make sophisticated 2D casual games for iOS devices (iPhone, iTouch, iPad, etc). Since you’re making games visually no coding is required!
Aug 10
10
Back to primitives! I like to use primitives when I’m trying to code something new; it keeps things simple and concise and in the past has worked very well for me. In the screenshot above, is a small demo of the enemy (in Red) chasing the player (in blue).
The enemy will pursue the player until he’s within a define range and switch to an attack state (shooting the player). If the player retreats too far away from the enemy, then the enemy will cease attacking and pursue the player again. At this point the enemy has very simple path finding capabilities which will be swapped out later with Aron’s A* kit.
What’s next for the combat system? Let’s see what we have so far:
At this point we need the enemy to fire at the player; so the next iteration of the combat system will include just that: Enemy attacks player!
The video is finished; enjoy!
Features added: