Sedja animation neeed a lot of work
tail attack
paw attack
neck attack
jump back
attacked animation
animations done this week
will continue to work on them
Tuesday, January 25, 2011
Tuesday, January 18, 2011
Week 1: Programming: Critique Notes
Sedja Animations
-Tail attack
-Attacked animation when sedja is attacked
-Jump Back Animation
Programming Notes
-Sedja needs to jump back every so often
-Sedja can't fall over, either increase the mass or create some kind of platform collider
-Sedja needs a collider on head
-Sedja needs to be bigger
-Horus needs to get knocked back when he is hit
-Tail attack
-Attacked animation when sedja is attacked
-Jump Back Animation
Programming Notes
-Sedja needs to jump back every so often
-Sedja can't fall over, either increase the mass or create some kind of platform collider
-Sedja needs a collider on head
-Sedja needs to be bigger
-Horus needs to get knocked back when he is hit
Tuesday, December 14, 2010
Week 11: Programming

Beginning Sedja AI Script:
var horous: GameObject;
var enemyState = "String";
var health=100;
var attackState="String";
function Start(){
enemyState="chasemode";
attackState="weak";
}
function Update () {
var dist =Vector3.Distance(horous.transform.position, transform.position);
if(dist>=5){
enemyState="chasemode";
}
if(enemyState=="chasemode"){
enemychase();
}
if(enemyState=="attackmode"){
attackmode();
}
if(health<=0){
Destroy(gameObject);
}
}
function enemychase(){
transform.LookAt(horous.transform);
var dist =Vector3.Distance(horous.transform.position, transform.position);
if(dist<=2.3){
enemyState="attackmode";
animation.Play ("runoutro");
}
else{
rigidbody.transform.Translate(5*Vector3.forward * Time.deltaTime);
animation.Play ("run");
}
}
function attackmode(){
if(health<=0){
animation.Play ("attack2");
}
else{
animation.Play ("attack");
}
}
function OnGUI () {
GUI.Label(Rect(Screen.width - 120, 10, 200, 50),"Enemy Health: " + health);
}
function OnTriggerExit(other : Collider){
if (other.gameObject.tag == "player_weapon") {
health-=10;
}
}
Week 6: Programming
var health= 100;
function OnGUI () {
GUI.Label(Rect(Screen.width - 100, 10, 200, 50),"Enemy Health: " + health);
}
function OnGUI () {
GUI.Label(Rect(Screen.width - 100, 10, 200, 50),"Enemy Health: " + health);
}
Monday, December 6, 2010
Week 9: Programming: Enemy AI
var enemyaggro : GameObject;
var player2 : GameObject;
var enemyState = "String";
var health= 100;
var localChase =false;
var firstX=Vector3(0.0, 0.0, 0.0);
var lastPositionPlayer= Vector3(0.0, 0.0, 0.0);
var returnTimer=0.0;
var lookingTimer=0.0;
var enemyPrefab : GameObject;
function Start(){
enemyState = "idle";
print(enemyState);
firstX=transform.position;
}
function Update () {
if(enemyState=="idle"){
returnTimer=0.0;
}
if(enemyState == "chase"){
enemychase();
print(enemyState);
}
if(enemyState == "attackmode"){
enemyAttack();
print(enemyState);
}
if(localChase){
enemyState="chase";
}
if(enemyState=="looking"){
startLooking2();
}
if(enemyState=="confusion"){
startConfusion();
}
if(enemyState=="return"){
returnPosition();
}
if(returnTimer>=5){
enemyState="stuck";
stuck();
returnTimer=0.0;
}
if(lookingTimer>=20){
enemyState="return";
lookingTimer=0.0;
}
}
function OnCollisionStay (collision : Collision) {
if (collision.gameObject.tag == "Player") {
enemyState="attackmode";
}
}
function enemyAttack(){
transform.LookAt(player2.transform);
localChase=false;
yield;
print("enemyhit");
yield;
localChase=true;
enemyState="idle";
}
function enemychase(){
transform.LookAt(player2.transform);
var dist =Vector3.Distance(player2.transform.position, transform.position);
if(dist<=2){
localChase=false;
enemyState="attackmode";
}
else{
rigidbody.transform.Translate(2*Vector3.forward * Time.deltaTime);
}
}
function startLocalChase () {
localChase =true;
}
function startLooking(){
localChase = false;
lastPositionPlayer=player2.transform.position;
enemyState ="looking";
transform.LookAt(lastPositionPlayer);
}
function startLooking2(){
if(!localChase){
lookingTimer+= Time.deltaTime;
transform.LookAt(lastPositionPlayer);
rigidbody.transform.Translate(2*Vector3.forward * Time.deltaTime);
var dist =Vector3.Distance(lastPositionPlayer, transform.position);
if(dist<=2){
enemyState="confusion";
print(enemyState);
}
}
}
function startConfusion(){
if(!localChase){
lookingTimer=0.0;
transform.Rotate(20*Vector3.down * Time.deltaTime);
yield WaitForSeconds(2);
enemyState="return";
print(enemyState);
}
}
function returnPosition(){
if(!localChase){
returnTimer+= Time.deltaTime;
transform.LookAt(firstX);
rigidbody.transform.Translate(2*Vector3.forward * Time.deltaTime);
var dist =Vector3.Distance(firstX, transform.position);
if(dist<=2){
enemyState="idle";
print(enemyState);
}
}
}
function stuck(){
print(enemyState);
yield WaitForSeconds(2);
enemyState="idle";
enemyarggo = Instantiate(enemyPrefab, firstX, transform.rotation);
Destroy(gameObject);
}
function OnGUI () {
GUI.Label(Rect(Screen.width - 120, 10, 200, 50),"Enemy Health: " + health);
}
var player2 : GameObject;
var enemyState = "String";
var health= 100;
var localChase =false;
var firstX=Vector3(0.0, 0.0, 0.0);
var lastPositionPlayer= Vector3(0.0, 0.0, 0.0);
var returnTimer=0.0;
var lookingTimer=0.0;
var enemyPrefab : GameObject;
function Start(){
enemyState = "idle";
print(enemyState);
firstX=transform.position;
}
function Update () {
if(enemyState=="idle"){
returnTimer=0.0;
}
if(enemyState == "chase"){
enemychase();
print(enemyState);
}
if(enemyState == "attackmode"){
enemyAttack();
print(enemyState);
}
if(localChase){
enemyState="chase";
}
if(enemyState=="looking"){
startLooking2();
}
if(enemyState=="confusion"){
startConfusion();
}
if(enemyState=="return"){
returnPosition();
}
if(returnTimer>=5){
enemyState="stuck";
stuck();
returnTimer=0.0;
}
if(lookingTimer>=20){
enemyState="return";
lookingTimer=0.0;
}
}
function OnCollisionStay (collision : Collision) {
if (collision.gameObject.tag == "Player") {
enemyState="attackmode";
}
}
function enemyAttack(){
transform.LookAt(player2.transform);
localChase=false;
yield;
print("enemyhit");
yield;
localChase=true;
enemyState="idle";
}
function enemychase(){
transform.LookAt(player2.transform);
var dist =Vector3.Distance(player2.transform.position, transform.position);
if(dist<=2){
localChase=false;
enemyState="attackmode";
}
else{
rigidbody.transform.Translate(2*Vector3.forward * Time.deltaTime);
}
}
function startLocalChase () {
localChase =true;
}
function startLooking(){
localChase = false;
lastPositionPlayer=player2.transform.position;
enemyState ="looking";
transform.LookAt(lastPositionPlayer);
}
function startLooking2(){
if(!localChase){
lookingTimer+= Time.deltaTime;
transform.LookAt(lastPositionPlayer);
rigidbody.transform.Translate(2*Vector3.forward * Time.deltaTime);
var dist =Vector3.Distance(lastPositionPlayer, transform.position);
if(dist<=2){
enemyState="confusion";
print(enemyState);
}
}
}
function startConfusion(){
if(!localChase){
lookingTimer=0.0;
transform.Rotate(20*Vector3.down * Time.deltaTime);
yield WaitForSeconds(2);
enemyState="return";
print(enemyState);
}
}
function returnPosition(){
if(!localChase){
returnTimer+= Time.deltaTime;
transform.LookAt(firstX);
rigidbody.transform.Translate(2*Vector3.forward * Time.deltaTime);
var dist =Vector3.Distance(firstX, transform.position);
if(dist<=2){
enemyState="idle";
print(enemyState);
}
}
}
function stuck(){
print(enemyState);
yield WaitForSeconds(2);
enemyState="idle";
enemyarggo = Instantiate(enemyPrefab, firstX, transform.rotation);
Destroy(gameObject);
}
function OnGUI () {
GUI.Label(Rect(Screen.width - 120, 10, 200, 50),"Enemy Health: " + health);
}
Tuesday, November 23, 2010
Friday, November 19, 2010
Wednesday, November 10, 2010
Week 5: Programming: AI
var enemyaggro : GameObject;
var player2 : GameObject;
var enemyState = "String";
var health= 100;
var localchase =false;
var playerLastX=0.0;
var playerLastZ=0.0;
var playerLastY=0.0;
var firstX=0.0;
var switcher=1;
function Start(){
enemyState = "idle";
print(enemyState);
firstX=transform.position.x;
}
function Update () {
if(enemyState == "chase"){
enemychase();
print(enemyState);
}
if(enemyState == "attackmode"){
enemyAttack();
print(enemyState);
}
if(localchase){
enemyState="chase";
}
if(enemyState=="looking"){
startLooking2();
}
if(enemyState=="confusion"){
startConfusion();
}
}
function OnCollisionStay (collision : Collision) {
if (collision.gameObject.tag == "Player") {
enemyState="attackmode";
}
}
function enemyAttack(){
transform.LookAt(player2.transform);
print("enemyhit");
yield WaitForSeconds(3);
enemyState="idle";
}
function enemychase(){
transform.LookAt(player2.transform);
rigidbody.transform.Translate(2*Vector3.forward * Time.deltaTime);
}
function startLocalChase () {
localchase =true;
}
function startLooking(){
localchase = false;
playerLastX=player2.transform.position.x;
playerLastZ=player2.transform.position.z;
playerLastY=player2.transform.position.y;
enemyState ="looking";
transform.LookAt(Vector3(playerLastX,playerLastY,playerLastZ));
}
function startLooking2(){
if(!localchase){
rigidbody.transform.Translate(2*Vector3.forward * Time.deltaTime);
yield WaitForSeconds(6);
enemyState="confusion";
print(enemyState);
}
}
function startConfusion(){
if(!localchase){
transform.Rotate(20*Vector3.down * Time.deltaTime);
}
}
function OnGUI () {
GUI.Label(Rect(Screen.width - 120, 10, 200, 50),"Enemy Health: " + health);
}
Tuesday, October 26, 2010
Week 4: Programming
function Update() {
if(Input.GetButtonDown("KeyBoardAttack(F)"))
{
swordenable();
}
}
function swordenable(){
gameObject.tag = "player_weapon";
print("namechanged");
yield WaitForSeconds(1);
gameObject.tag = "Untagged";
}
Code which solves the previous weeks problem. Now the dagger is only active for one second after you hit the attack button.
if(Input.GetButtonDown("KeyBoardAttack(F)"))
{
swordenable();
}
}
function swordenable(){
gameObject.tag = "player_weapon";
print("namechanged");
yield WaitForSeconds(1);
gameObject.tag = "Untagged";
}
Code which solves the previous weeks problem. Now the dagger is only active for one second after you hit the attack button.
Week 3: Programming
function OnTriggerEnter(other: Collider)
{
if(other.gameObject.tag == "player_weapon")
{
print("hit");
SendMessageUpwards ("Assasination");
}
}
This code is on a collider behind the enemy and when you sneak up behind him and attack him he will die in one hit. A problem that I am having is that the sword object is always active. So even without hitting the attack button it will kill then enemy. One way to solve this problem is im am going to change the name of the collider for the sword and only change it when the attack button is pressed and then change it back in a couple of seconds.
{
if(other.gameObject.tag == "player_weapon")
{
print("hit");
SendMessageUpwards ("Assasination");
}
}
This code is on a collider behind the enemy and when you sneak up behind him and attack him he will die in one hit. A problem that I am having is that the sword object is always active. So even without hitting the attack button it will kill then enemy. One way to solve this problem is im am going to change the name of the collider for the sword and only change it when the attack button is pressed and then change it back in a couple of seconds.
Tuesday, October 12, 2010
Week 2: Programming
Week 2: Level Design
Subscribe to:
Comments (Atom)















