Showing posts with label Wranglers. Show all posts
Showing posts with label Wranglers. Show all posts
Purple Spectacle Pixel Art

Monday, December 22, 2014

Purple Spectacle Pixel Art

Do you remember Purple Spectacle? A character of my game called Wranglers?

I tried to give her a pixel look and I really like it! 



Teaser

Friday, February 21, 2014

Teaser

Diesen Teaser habe ich als kleines Intro für meine Abschlusspräsentation erstellt.




WALLPAPERS

Thursday, February 20, 2014

WALLPAPERS

Hallo zusammen! 

Heute möchte ich euch drei Wallpapers zum kostenlosen Download anbieten.


Diese ersten beiden sind speziell von meinem Spiel WRANGLERS, das dritte fand' ich einfach nur sensationell lustig und wollte es mit euch teilen! :D

Viel Spaß damit!

WRANGLERS

Friday, February 14, 2014

WRANGLERS

Ich habe soeben bemerkt, dass ich den Titel meiner Abschlussarbeit noch nicht offiziell verkündet habe! 


Deshalb mache ich das hier und jetzt ganz offiziell:
Mein Spiel heißt WRANGLERS, welches STREITHÄHNE bedeutet und perfekt zum Genre passt.



Das Logo enthält die Farben Magenta, Schwarz und Weiß, welche ich als wichtigste Farben aus meiner Hauptfigur Mad Mike heraus genommen habe. Ich hoffe es gefällt euch!


Des Weiteren hattet ihr vielleicht bemerkt, dass ich in letzter Zeit wenig gepostet habe. 


Das lag einfach daran, dass vergangenen Mittwoch die Abschlussprüfung war und ich mich mit den letzten Schritten meiner Präsentation beschäftigt hatte. 
Wie nun das fertige Spiel aussieht und was es noch alles dazu zu wissen gibt, werdet ihr in Zukunft hier erfahren!
Ich werden den Blog weiterführen und meine zukünftigen Arbeiten präsentieren!

Der Boxhandschuh

Tuesday, January 21, 2014

Der Boxhandschuh

Der Boxhandschuh ist ein typisches Item was man unbedingt loswerden möchte. 


Denn nach ca. 10 Sekunden wird es herunterfallen und den eigenen Charakter treffen, ihm somit Lebenspunkte entziehen und bewegungsunfähig machen. In dieser Zeit ist er leicht angreifbar. Also sollte man dafür sorgen, den Handschuh an den Gegner durch Nahkampf abzugeben.


Das Item ist zwar ähnlich wie die Mine oder die Bombe programmiert, hat jedoch einen großen Unterschied. 
Man kann es nicht manuell auslösen, es startet direkt beim Aufnehmen ein Countdown. Sobald dieser auf 0 ist, löst das Item aus und man erhält selbst Schaden.

IEnumerator waitBoxhandschuh()
{
    yield return new WaitForSeconds(8); 
    itemManager.boxhandschuhMe=false;
    if(boxhandschuhAusfuehren==true)
    {
        getroffen=true;
        healthPointsEnemy-=Screen.width/3*0.95f/8; 
        networkView.RPC("boxhandschuhRPC", uLink.RPCMode.Others);
        yield return new WaitForSeconds(2);
        getroffen=false;
        networkView.RPC("clearBildEnemy", uLink.RPCMode.Others);
        boxhandschuhAusfuehren=false;   
   }
}

Das Auslösen, Löschen und Aufnehmen des Items läuft wie bei der Mine. Wen das interessiert kann es in diesem Post noch einmal nachlesen. 

Ansonsten wird die Funktion waitBoxhandschuh ausgelöst, sobald boxhandschuhMe true ist. 
Nachdem 8 Sekunden gewartet wurden, wird dem eigenen Charakter Schaden hinzugefügt und die Variable getroffen auf true gesetzt. Dies bewirkt, dass eine Getroffen-Animation ausgeführt wird, 2 Sekunden andauert und danach mit getroffen=false; wieder gestoppt wird.
Die Wasserbombe

Friday, January 17, 2014

Die Wasserbombe

Die Wasserbombe ist ein weiteres Item aus meinem Spiel und sie funktioniert folgendermaßen:


Beim Betätigen der Aktionstaste, wird die Bombe geworfen. Hierbei bewegt sie sich mit einer festgelegten Kraft in Sichtrichtung. Bei einem Zusammenprall mit einem Objekt mit dem Tag "Player" wird sie explodieren und Schaden hinzufügen. Auch das eigene Objekt kann also, wenn man sich unvorteilhaft anstellt, getroffen werden. Somit wirkt sie ähnlich wie der Ferkampf, nur eben schneller. Zudem hat sie eine kürzere Reichweite.


Jedes Item hat einen speziellen Tag, worüber sie auch auseinander gehalten werden. Läuft also ein Spieler durch ein instanziiertes Item mit dem Tag „Bombe“, erhält er die Bombe in Form einer Variable. Danach wird über diesem Spieler das Icon für „Wasserbombe“ erscheinen. Anschließend wird, je nach dem an welcher Stelle das Item aufgenommen wurde, die entsprechende Variable auf false gesetzt, sodass hier wieder ein neues instanziiert werden kann:

if(other.tag=="Bombe")
{  
    objectToDestroy=other.gameObject;
    if(networkView.isMine)
    {
        if(bombeMe==false&&boxhandschuhMe==false&&schnelligkeitMe==false&&mineMe==false&&flagMe==false&&kaefigMe==false)
        {
     if(RPCTest.kaefigAktiv==false)
     {
   canDestroyObject=true;
   networkView.RPC("setcanDestroyObjecttrue", uLink.RPCMode.Others);
     }
     if(canGetNewItem==true)
     {
   audio.PlayOneShot(aufnehmenSound);
   bombeMe=true;
     } 
 } 
 if(canDestroyObject==true)
 {    
  testPosOther=other;   
  testPos();
 }
    }    
}

Weiterhin wird im Skript festgelegt, welches Objekt zerstört wird (objectToDestroy). In der Abfrage if(networkView.isMine) wird noch einmal genau nachgesehen ob man auch wirklich kein Item hat (if(bombeMe==false&&...)) und ob der Käfig im Moment nicht aktiv ist. Nur dann wird das auf dem Boden liegende Item zerstört und die Variable bombeMe wird true.
Das Zerstören des Items passiert in einer ausgelagerten Funktion.

In einem anderen Skript kann nun durch das drücken der Aktionstaste die Bombe ausgelöst werden. In diesem Fall wird ein neues Objekt instanziiert und die Variable bombeMe wieder false:

if(itemManager.bombeMe==true)
{ 
    bombeAusloesbar = uLink.Network.Instantiate(bombeAusloesbarPrefab, 
    new Vector3(transform.position.x-30,transform.position.y+5,
    transform.position.z), transform.rotation, 0);  
    itemManager.bombeMe=false;                    
}

Nun fehlt nur noch die Bewegung der Bombe. 
Durch den auf dem instanziierten Objekt enthaltenen Rigidbody kann ich die Funktion AddForce(); ausführen um die Bombe zu bewegen. 
Sobald die Bombe nun in einen Trigger hinein fliegt, wird sie je nach dem dem eigenen oder dem gegnerischen Spieler Schaden anrichten. Wenn der Trigger kein Spieler war, wird die Bombe einfach zerstört.

void OnTriggerEnter(Collider other)
{
    if(other.tag=="Player")
    { 
        playerGetroffen=other.gameObject;
        if(networkView.isMine)
        {
            if(playerGetroffen==Player)
            {
   RPCTest.getroffen=true; 
   RPCTest.healthPointsEnemy-= Screen.width/3*0.95f/10;
   networkView.RPC("bombeTreffer",uLink.RPCMode.Others);
     }
     else
     {     
  networkView.RPC("stopMovement", uLink.RPCMode.Others); 
  RPCTest.healthPointsEnemyLocal-= Screen.width/3*0.95f/10;     
            }
     Destroy(this.gameObject);
 }
    }
    if(other.tag=="LevelObject"||other.tag=="Boden")
    {
  Destroy(this.gameObject);
    }
}








Das ist Purple Spectacle

Wednesday, January 15, 2014

Das ist Purple Spectacle

Purple Spectacle, die kleine Oma mit Superkräften. Naja, die Superkräfte hatte sie einmal! 


Purple war von Anfang an geplant. Mit anderen Worten: ich wollte unbedingt einen Superhelden entwerfen und in mein Spiel mit einbringen. Wie dieser Superheld jedoch aussehen sollte, stellte sich erst heraus als ich angefangen habe, darauf los zu entwerfen. Ich wusste nur, dass der Superheld eine Frau werden soll, damit Frauen in meinem Spiel nicht zu kurz kommen. Und was gibt es lustigeres als eine kleine, freche, alte Dame in Superhelden-Kostüm?




Geschichte
Purple Spectacle war einst eine Superheldin, die Schurken wie die Panzerknacker mit purpurner Ausdruckskraft in die Flucht geschlagen und ihre Stadt Seite an Seite mit Superman und Batman beschützt hat.
Wie auch bei allen anderen Menschen bleibt der Körper nicht ewig jung und die Menschheit glaubte nur noch an die neuen jungen Helden.
Ihr Kampfesmut hat Purple Spectacle trotz allem behalten und stellt sich nun bei Wranglers unter Beweis.

Besonderheiten
Die Besonderheiten von Purple Spectacle sind ganz klar die nicht vorhandenen Superkräfte. Sie ist eigentlich nur eine Oma im Superheldenkostüm. Ob man sie nun lächerlich findet oder bewundert ist ihr relativ egal, sie weiß genau, dass sie die heimliche Heldin der Welt ist. Davon abgesehen ist sie die „kleine Süße“ in der Truppe und nach meinen Erfahrungen der Charakter mit den meisten „Aaaaah wie cooooool!“-Effekten.

Die Mine

Monday, December 16, 2013

Die Mine

Nachdem ihr nun gesehen habt, welche Items es in meinem Spiel geben wird, werde ich euch das erste genauer zeigen: die Mine.


"Beim aktivieren wird sie an die aktuelle Position des minenlegenden" Charakters gesetzt und erst explodieren wenn der Gegner darüber läuft. Sie soll sehr schlecht erkennbar dargestellt sein, sodass man sie bei vorsichtigem pirschen erkennen kann und in Eile übersieht. So kann man dem Gegner den Weg auf der Treppe versperren um es selbst einfacher zu haben an das nächste Item zu kommen."



Mine Avatar

Nachdem also ein Spieler die Mine aufgenommen hat erscheint das Zeichen dafür als Avatar über dem Kopf des Spielers.
Dieser hat nun die Möglichkeit die Mine an irgendeiner Stelle, solange er sich nicht in der Luft befindet, abzulegen:
if(Input.GetKeyDown(KeyCode.Mouse1))
{
   if(controllerObject.isGrounded)
   {
       if(itemManager.mineMe==true)
       { 
           mineAusloesbar = uLink.Network.Instantiate(mineAusloesbarPrefab, 
           new Vector3(transform.position.x,transform.position.y-8,
           transform.position.z), transform.rotation, 0); 
           networkView.RPC("clearBildEnemy", uLink.RPCMode.Others); 
           itemManager.itemsAvatar.renderer.enabled=false; 
           itemManager.mineMe=false;                    
       }
   }
}

In diesem Fall wird geprüft ob der Spieler sich auf dem Boden befindet nachdem er die rechte Maustaste gedrückt hat. Wenn er nun auch wirklich die Mine über seinem Kopf schweben hat mineMe==true wird eine Prefab mineAusloesbar instanziiert, das Symbol des Avatars gelöscht: "clearBildEnemy" und renderer.enabled=false.


Mine Objekt
Nachdem die Mine nun liegt, hat der Spieler der sie gelegt hat 2 Sekunden Zeit wegzulaufen. Danach kann er selbst von ihr getroffen werden.
Erkennbar ist die Mine nicht, sie taucht nur gelegentlich durch ein Flackern der Textur auf. 

Items

Tuesday, December 3, 2013

Items

Wie schon in mehreren Posts zuvor erwähnt, wird mein Spiel verschiedene Items beinhalten. Diese möchte ich euch in einem kurzen Überblick gerne vorstellen und in kommenden Posts näher darauf eingehen.


Es handelt sich hierbei nicht um perfekt ausgereifte Items, sondern um meine Ideen von welchen ich manche auch schon umgesetzt habe. Das heißt, dass sich vieles in naher Zukunft noch ändern kann.

Dargestellt werden die zufällig gespawnten Items mit einem Fragezeichen, damit nicht klar ist welches man bekommt.



Wenn man nun durch dieses Fragezeichen hindurch läuft gibt es verschiedene Möglichkeiten:




  • Bombe
    Beim das Betätigen der Aktionstaste, wird die Bombe geworfen. Hierbei wird sie in einem festgelegten Tempo in Sichtrichtung geworfen und bei einem Aufprall explodieren. Somit wirkt sie ähnlich wie der Ferkampf nur eben schneller. Zudem hat sie eine kürzere Reichweite.

  • Mine
    Beim aktivieren wird sie an die aktuelle Position des "minenlegenden" Charakters gesetzt und erst explodieren wenn der Gegner darüber läuft. Sie soll sehr schlecht erkennbar dargestellt sein, sodass man sie bei vorsichtigem pirschen erkennen kann und in Eile übersieht.
    So kann man dem Gegner den Weg auf der Treppe versperren um es selbst einfacher zu haben an das nächste Item zu kommen.

  • Boxhandschuh
    Der Boxhandschuh ist ein typisches Item was man unbedingt loswerden möchte. Denn nach ca. 10 Sekunden wird es herunterfallen und den eigenen Charakter treffen, ihm somit Lebenspunkte entziehen und bewegungsunfähig machen. In dieser Zeit ist er leicht angreifbar. Also sollte man dafür sorgen, den Handschuh an den Gegner durch Nahkampf abzugeben.

  • Käfig
    Der Käfig funktioniert ähnlich wie der Boxhandschuh. Hat man ihn, so wird er nach ca. 10 Sekunden aktiviert. Unter diesen Umständen kann man weder Items einsammeln noch Fern- oder Nahkampf ausüben. Somit heißt es: abhauen!

  • Geschwindigkeitsboost
    Man kann seine Bewegungsgeschwindigkeit durch das Drücken der Aktionstaste erhöhen. 

  • Flagge
    Sobald man die Flagge erhält bekommt der Gegner eine Warnung sodass jeder darüber bescheid weiß. Die Flagge fügt dem Gegner erheblichen Schaden zu und man erhält selbst ein paar Lebenspunkte, sobald sie an einen bestimmten Punkt gebracht wird. Vorher kann der Gegner versuchen die Flagge durch Nahkampf abzunehmen und in seinen eigenen Punkt zu bringen.
    Desweiteren verlangsamt die Flagge jedoch die Geschwindigkeit des Charakters.

Alle Items sind durch Nahkampf austauschbar, was das ganze etwas komplexer macht.

Falls jemand von euch weitere Ideen oder Verbesserungsvorschläge hat, dürft ihr diese natürlich gerne mitteilen! Ich freue mich immer über Feedback :)
Fernkampf

Thursday, November 21, 2013

Fernkampf

In meinem Game soll es möglich sein, den Gegner mit einer Fernkampfattacke zu anzugreifen. Das soll jedoch recht schwierig sein, sodass der Fernkampf in Kombination mit Items wie z.B. der Mine eine höhere Trefferquote hat.


Das heißt, dass die Fernkampfattacke eine Spawnzeit benötigt um den Fernkämpfer eine kurze Zeit bewegungsunfähig zu machen. Somit ist gewährleistet, dass man nicht unendlich viele Male hintereinander schießen kann und der Gegner keine Chance mehr hat zu entkommen.
Sobald die Spawnzeit um ist, fliegt das gespawnte Item los. Bei einer Kollision mit einem anderen Objekt wird das Fernkampfitem zerstört. Falls das getroffene Objekt der Gegner oder man selbst war, werden Lebenspunkte abgezogen und die Bewegungsunfähigkeit tritt ein. Man benötigt demnach eine kurze Erholzeit.

Fernkampfitems

Wenn man den Fernkampf mit Items, welche zufällig im Spiel spawnen, kombiniert hat man also eine höhere Trefferwahrscheinlichkeit und man muss taktisch vorgehen:
Der Gegner kann dem Fernkampf relativ leicht während der Spawnzeit entkommen, also muss ich entweder darauf warten, dass er in eine Mine tritt, oder ihn zuvor mit einer Bombe oder einem Boxhandschuh außer Gefecht setzen. Danach trifft die Fernkampfattacke mit höherer Wahrscheinlichkeit, da mein Gegner während der Spawnzeit noch benommen ist und nicht weglaufen kann.

(Welche Items es geben wird und wie sie Funktionieren, werde ich in den kommenden Posts beschreiben.)

Nun aber noch zur Programmierung des Fernkampfes:


Sobald ein Spieler die Fernkampftaste drückt, wird ein Objekt instanziiert:

if(Input.GetKeyDown(KeyCode.Keypad1))
{
    fernkampfObject = uLink.Network.Instantiate(
        fernkampfPrefab, 
        new Vector3(RPCTest.clickedPlayer.transform.position.x-10,
        RPCTest.clickedPlayer.transform.position.y,
        RPCTest.clickedPlayer.transform.position.z), 
        transform.rotation, 0
    );
}

Danach wird die Flugrichtung festgestellt indem geprüft wird in welche Richtung der Character schaut. Zum Schluss wird das Objekt mit transform.translate  in diese Richtung fortbewegt.

if(startFernkampf==true)
{
    if(RPCTest.flugRichtungLinks==false)
    {
      transform.Translate(Vector3.right *30*Time.smoothDeltaTime);
    }
    if(RPCTest.flugRichtungLinks==true)
    {
      transform.Translate(-Vector3.right *30*Time.smoothDeltaTime);   
    } 
}

Das Fernkampfobjekt hat zusätzlich ein Unterobjekt für die Texturen, genau wie die Playerobjekte auch. Auf diesem wird das gleiche Skript wie das für die Characteranimationen, welches in diesem Post zu finden ist, benutzt.

Das ist Mad Mike

Monday, November 18, 2013

Das ist Mad Mike

Da ihr schon mal einen Blick auf Mad Mike werfen konntet, würde ich ihn euch nun gerne näher vorstellen.


Mad Mike war der zweite Character meiner Abschlussarbeit und entstand nachdem Dot fertig war. Ich hatte ihn als Bild in meinem Kopf, denn er würde perfekt zu Dot passen, vor allem von der Form, "Flächigkeit" und Geschichte. Er entstand also ohne Skizze oder Vorbereitung, ich habe einfach angefangen den dicken Wrestler aus meinen Gedanken in Illustrator nachzubauen.


Mad Mike In-Game-Posen


Geschichte:
Mad Mike war mehr als 10 Jahre im Wrestling-Showbusiness und dabei sehr erfolgreich (damals natürlich noch sehr durchtrainiert!). Bald kam er jedoch in die Jahre, begann den schwindenden Erfolg weg zutrinken und setzte prompt eine Wampe an, mit der er sich noch deutlich schneller aus dem Geschäft katapultierte als ihm recht war. Somit bleiben ihm heute nur noch illegale Kämpfe, wobei er auf weitere traurige Helden wie Dot oder Monica trifft.

Besonderheiten: 
Besonders an Mike ist seine Statur: er geht extrem aufrecht, was mir an vielen Wrestlern aufgefallen ist. Seine Wampe ist nicht "fett" sondern eher "fest", da sie vom Alkohol und nicht von Schokolade kommt. Die Tattoos sind aussagekräftig: sein durchbohrtes Herz ist eine Metapher dafür, seinen Traum nicht weiter ausleben zu können. Der Totenkopf steht für seine Wut und Traurigkeit und ist zudem Angst einflößend für seine Gegner. 


Mad Mike in Lebensgröße

Wednesday, November 13, 2013

Mad Mike in Lebensgröße

Für den Messestand (Marktplatz Arbeit Südbaden 2013 am kommenden Wochenende) der hKDM wurde ein Pappaufsteller mit einem Character benötigt. 

Mein Character Mad Mike wurde dafür ausgesucht :) Wie wir ihn gebaut haben habe ich euch in ein paar Bildern zusammengefasst: