Jump to content
Unity Insider Forum
Sign in to follow this  
malzbie

2D Top-Down Shooter (Komplett-Tutorial)

Recommended Posts

Hi da.

Ich war mal wieder etwas fleissig und habe eine neue Tutorialreihe agefangen.

Dieses Mal geht es um das Erstellen eines kompletten Spieles.

Und weil es etwas einfacher ist, habe ich die 2D Fähigkeiten von Unity genutzt und stelle sogar die Grafiken zur Verfügung.

Die ersten 2 Teile sind gedreht und ich will sie gleich mal zusammen hier einbinden.

 

Teil 1:

 

Teil2:

 

Und hier sind die nötigen Grafiken als Zip-Paket: http://www.malzbie.com/tuts/Texturepack1.zip

 

Ja und wenns passt, kommt morgen auch schon der Teil 3. Will mich aber noch nicht 100%ig festlegen. ;)

  • Like 5

Share this post


Link to post
Share on other sites

Echt Super, das du dir so viel Mühe gibst.

Dein YouTube Channel steht ehh in meinen Favoriten. Tolle Dinge die du da zeigst

 

Danke und Gruß Oli

Share this post


Link to post
Share on other sites

Freut mich! :)

 

Ja und wie schon angekündigt, habe ich heute auch schon den 3. Teil fertig gestellt. Und hier ist er:

 

Share this post


Link to post
Share on other sites

Ganz vergessen hier zu posten, denn der 4te Teil ist ja auch schon seit dem Wochenende oben.

Nun wird zerstört. :)

Share this post


Link to post
Share on other sites

Beim Part 3 (hab nur mal das angeschaut) bei Asterwerfer hätte es eigentlich so sein sollen

 

public GameObject [] aster;

typ = Random.Range(0, aster.length);
wer = aster[typ];

 

Ist das eigentlich absichtlich so "freundlich" programmiert oder ist das wirklich dein Stil so zu programmieren?

:D Soll kein Angriff sein :)

Share this post


Link to post
Share on other sites

Das war absicht. Ich versuche das so leicht wie möglich zu halten. :)

Arrays kommen wahrscheinlich auch noch ins Spiel, aber wenn, dann erst später. Momentan brauche ich die noch nicht und bei 2 Objekten lohnt es sich auch nicht unbedingt. Und wenn ich es mir so richtig überlege, hab ich ein Objektarray im Inspector eigentlich auch nur bei einem Spiel einmal genutzt.

Also man könnte sagen es ist auch mein Stil! :D

Share this post


Link to post
Share on other sites

So und jetzt ist auch Teil 5 oben. :)

Diesmal gehts um das Schild, die Schussrate und die GUI.

Share this post


Link to post
Share on other sites

Teil 6 wurde fertig gestellt. Diesmal ist es eine racht lange Folge von über einer Stunde, aber es ist auch viel zu tun gewesen.

 

Die Scripte interagieren jetzt miteinander. So bekommt die GUI jetzt auch Daten für die Anzeige. Das Schiff wird zu Beginn instanziert und wenn es zerstört wird, gibt es einen feinen Übergang zum neuen Schiff. Ja und natürlich gibt es jetzt auch ein GameOver.

 

  • Like 1

Share this post


Link to post
Share on other sites

Wieder eine Woche rum, wieder ist ein neuer Teil da. :)

Diesmal geht es fast ausschließlich um den Sound.

 

Share this post


Link to post
Share on other sites

Und weil schon wieder Sonntag ist, kommt der nächste Teil daher!

Im Teil 8 geht es um das Erstellen und Aufnehnmen von Bonus Items, die uns ein extra Schild oder ein extra Schiff geben.

 

  • Like 1

Share this post


Link to post
Share on other sites

Vielen Dank. :)

Ich versuche soviele Dinge wie möglich mit dem Tutorial abzudecken, aber trotzdem nicht zu speziell zu werden.

Es sind natürlich schon echt lange Folgen und deswegen freut es mich umso mehr, dass sie auch geschaut und nicht nur kurz angeschnitten werden.

Share this post


Link to post
Share on other sites

Und weiter geht's!

Im 9. Teil kommt ein neuer Gegner hinzu, der auf unser Schiff schießt.

Share this post


Link to post
Share on other sites

Wieder Sonntag und wieder ne neue Folge! :)

Dieses Mal geht es um den Startscreen und den HighScore. Natürlich werden die Highscores auch dauerhaft gespeichert und bei jeden Start eingelesen.

 

Da ich momentan Urlaub habe, könnte es sein, dass es eine kleine Pause bis zur nächsten Folge gibt. Kommt ganz auf's Wetter an. :)

Share this post


Link to post
Share on other sites

Danke, Carsten. :)

 

Trotz Urlaub, konnte ich es aber nicht lassen und musste den 11. Teil der Reihe erstellen.

Hierbei geht es jetzt um die Stages die man durchfliegen muss und die natürlich unterschiedliche Dinge und Gegner haben sollen.

Wie man sowas steuern kann, zeige ich euch hier:

  • Like 1

Share this post


Link to post
Share on other sites

Hallo bei den Highscoreteil habe ich mal gelesen wie du die Highscores aufgebaut hast.

Ich würde jedoch mit serializemethode machen.

 

Bei meinem Inventarsystem habe ich zum beispiel sowas gemacht. Ist sehr simple

 

private string serializeInventory() {
 string serialized = "";

 foreach(var item in inventory) {
  serialized += item.Key;
  serialized += ":";
  serialized += item.Value;
  serialized += ";";
 }

 // delete last semicolon
 if(serialized.Length > 0) {
  serialized = serialized.Substring(0,serialized.Length-1);
 }

 return serialized;
}

private Dictionary<int,int> deserializeInventory(string serialized) {
 Dictionary<int, int> inv = new Dictionary<int, int>();

 // Does the serialization have ONLY one item?  ("itemID:1" = 3 character)
 if(serialized.Length < 4)
  return inv;

 foreach(var block in serialized.Split(';')) {
  string []data = block.Split(':');

  int key = int.Parse(data[0]);
  int value = int.Parse(data[1]);

  inv.Add(key, value);
 }

 return inv;
}

 

Ungefähr sah es dann so aus.

1:2;2;1;3:1

Die erste Zahl war die ItemID und die Zweite war die Anzahl im Inventar.

 

Mann muss halt bissel anpassen.

Dann könnte es so aussehen

 

Heino:3300;Superfreak;2530;Susi:13

Share this post


Link to post
Share on other sites

Ja man könnte das auch so machen wie du da zeigst. Aber wo ist für dich der Vorteil dabei?

Das du es in einem abspeichern kannst oder wegen dem Dictionary?

 

Wenn ich mittels miniJSON abspeichere nutze ich auch ein Dictionary damit ich die Werte besser übergeben kann. Trotzdem nutze ich (gerade bei einem Inventarsystem) viel lieber mehrere Arrays im Spiel. Das ist für mich einfach einfacher zu bewerkstelligen, wenn ich in einem Array auf der Speicherstelle 1 (weil es der erste Slot vom Inventar ist) den Typ, die Anzahl, die Eigenschaft etc. finde. Ich gucke immer nur nach der Zahl und habe alles beisammen. Weiß auch nicht warum, aber ich mag das so lieber.

 

Sag mal, warum du das lieber serialisierst.

Share this post


Link to post
Share on other sites

Sodele!

Jetzt ist auch der vorerst letzte Teil meiner Tutorialreihe oben.

Hier fürge ich 2 neue Gegner ein, die geballt von oben herien fliegen und ausweichen können.

Die Folge ist recht lang geworden obwohl ich vieles vorgearbeitet habe. Aber das gehörte alles irgendwie in eine Folge rein und schließt das Ganze recht gut ab.

Ich werde bestimmt noch einige Folgen drehen, mache aber ersteinmal eine Pause. Denn es wurde soweit alles gezeigt was für den Shooter wichtig ist und ab jetzt ist eure eigene Kreativität gefragt. ;)

 

  • Like 2

Share this post


Link to post
Share on other sites

Ich habe die Serie gerade begonnen. Vielen Dank für die Arbeit, die du da reinsteckst. Einfach nachvollziehbar, alles drin und trotzdem so kompakt, dass es nicht langweilig wird. Solche Tutorials gibts nicht oft.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×