Jump to content
Unity Insider Forum

3D Jump n Run, Arbeitstitel Alister


Recommended Posts

Danke fürs Feedback :)

 

So,.... nach längerem spielen :) ist mir aufgefallen, dass der Schatten des "Zwerges" sich nicht durch die Wände verändert,

 

Kann er auch gar nicht, das ist nicht der Realtimeschatten der Pro, sondern ein Volumenschatten Plugin (gibts im Assetsstore für 25 Dollar), das auch in der Free funktioniert. Die Pro kann ich mir als armer Hobbyist leider nicht leisten :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 3 weeks later...

Danke fürs Feedback. Ich hatte eigentlich vor die Level so kurz zu halten dass ich nur einen Respawnpoint brauche. Wenn es dir also immer noch zu schwer ist ist wohl das Level immer noch zu lang :)

 

Gamebalance ist immer so eine Sache, hehe. Macht man es zu leicht spielt es keiner mehr. Macht man es zu schwer spielt es auch keiner mehr.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Sieht schon mal sehr schön aus!

Was ich noch ändern würde:

Vielleicht wäre eine Mauskamera (bzw. zweiter Analogstick bei Pad) sinnvoll, da man dann auch seitlich gehen könnte, ohne sich zu drehen...

Außerdem würde ich noch eine Taste für einen Sprint bzw Rennen einfügen.

 

Sonst schonmal ziemlich gut soweit!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Thx. Schaun mer mal was da noch so reinkommt. Eine Seitenkamera und einen Rennbutton wirds aber definitiv nicht geben. Er rennt doch eh schon die ganze Zeit. Ich will es extra nicht aufgeblasen und mit Features überladen haben. Ich knabber schon an der jetzigen Grösse rum. Und den Feature-Krieg kann ich als Hobbyist eh nicht gewinnen. Lieber weniger Features, und dafür in sich stimmig :)

 

Beim nächsten Release gehts jedenfalls erst mal um die Grafiken. Ausloten was geht und wo die Grenzen sind. Das dauert aber wohl noch ein wenig. Grafiken ist bei mir immer der aufwändigste Teil am Spiel.

Link zu diesem Kommentar
Auf anderen Seiten teilen

39 Bücher hab ich geschafft.

Das Spiel läuft mit 55-58 FPS (kann es sein, dass im Webplayer nur 60FPS gehen?).

 

Was ich noch einbauen würde, ist die Möglichkeit, den Charakter auch während des Sprungs zu steuern. Ist zwar total unrealistisch, aber finde ich persönlich viel besser in solchen 3rd Person Jump n Runs, da man dann im Sprung noch korrigieren kann.

Das Level finde ich nicht zu lang, vielleicht noch ein oder 2 Checkpoints einbauen, dann passt das. Was bei solchen Spielen auch immer gut kommt, sind versteckte Items. Ein Buch hast du ja auf eine Platform um die Ecke gelegt. Ich selbst mag es, in solchen Spielen ein wenig die Gegend zu erkunden und dafür mit Items belohnt zu werden.

 

Bin gespannt, was du weiter draus machst.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Thx fürs Feedback :)

 

Ich mache lieber das Level kürzer. Es soll kein zweites Tomb Raider werden, sondern ein mehr oder weniger lineares 3D Jump n Run mit eher kurzen Levels. Da kommt mir allerdings immer wieder meine Bastelfreude dazwischen, dammich :P

 

Hm, hier rennt alles nur mit maximal 60 fps. Auch im Editor. War da nicht was von wegen VSync? Jedenfalls bedeutet 55-58 fps dass es bei dir optimal rennt. Das mit dem korrigieren während des Sprungs ist eigentlich drin. Ist nur nicht allzu stark eingestellt. Ich wollte nicht dass man im Sprung vorwärts plötzlich rückwärts fliegen kann. Könnte ich natürlich noch nen Tacken stärker machen. Ist mal für weitere Tests vorgemerkt.

 

Das schöne an versteckten Items ist dass sie versteckt sind. Ich glaube du hast das versteckte Extralife übersehen, hehe ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das mit dem VSync könnte sein.

Ist mir nur schon öfter beim Webplayer aufgefallen, auch wenn ich selbst einen Webplayer Build mache, maximal 60FPS, während ich bei der Standalone exe dann über 200 habe. Dachte bisher, das liegt vielleicht am Webplayer selbst, vielleicht kann man das auch irgendwo einstellen. Keine Ahnung ^^

 

Wenn das mit dem korrigieren drin ist, dann merke ich davon nicht viel (habe mit Gamepad gespielt). Wie gesagt, klar ist es nicht unbedingt realistisch wenn man auch im Flug noch viel steuern kann, aber es käme dem Gameplay zugute wie ich denke.

Das Extraleben hab ich nicht gefunden, das stimmt.

Wenn du das Level sowieso kürzer machen willst, dann kannst du ruhig noch ein paar mehr Fallen einbauen :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Uah, Gamepad hab ich noch gar nicht geschaut. Ich entwickle derzeit mit der Tastatur. Kann gut sein dass es mit Pad nicht geht. Aber wie gesagt, es ist sowieso nicht wirklich viel was du derzeit im Flug korrigieren kannst. Ich schraub es mal für das nächste Build ein wenig hoch :)

 

Sehr süßes Spiel. Vorallem super, wie beim Springen der Hut sich abhebt - prima :)

Allerdings habe ich das Gefühl, zu wenig Einfluss auf die Sprungdistanz nehmen zu können. Der Charakter sollte nicht statisch werden, sondern drehbar im Sprung (Persönliche Meinung, weiß nicht wie andere dazu stehen).

Aus diesem Grund fielen mir die Stellen, an denen man die Kisten in die Lava schiebt, etwas schwer - da ich nicht abschätzen konnte, wie weit der Spieler springt.

Vielleicht würde eine drehbare Kamera das beheben (mit der Maus)?

Bei Buch 39 hab ich mein letztes Leben verloren.

 

Aber sonst super Teil :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja kanner ja. Aber eben nicht so viel. Grade mal probiert. Und schnell wieder auf die alten Werte gestellt. Da verhaue ich mir die gesamte restliche Steuerung wenn ich das zu viel mache. Vor allem springt er dann weiter. Und dann haut mein ganzer restlicher Levelaufbau nicht mehr hin. Da muss ich echt noch mal überlegen was ich da mache. Vielleicht nehme ich grössere Kisten damit man nicht so schnell danebenspringt :P

Link zu diesem Kommentar
Auf anderen Seiten teilen

Bei den Kisten hat ichs auch einmal, dass keine direkt unter das Buch gefallen ist, sodass ich das Buch nur durch Sprung in die Lave sammeln konnte.

Veilleicht solletst du die Bücher auf "inseln" plazieren und die Blöcke muss man quasi als Brücke nutzen, um zur Insel zu gelangen.

 

Achja und die Steuerung mit Pad funktioniert problemlos. Ich bin halt ein Konsolenveteran.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Jopp, wäre auch eine denkbare Variante. Andererseits ist das zufällige liegenbleiben immer auch ein kleines Zufallspuzzle, das eben nicht bei jedem Durchgang zu lösen ist. Das würde zum wiederkommen animieren :)

Zufall als Element in Spielen zu verwenden, das einen daran hindern kann, das Spiel zu meistern, verstößt aber gegen einen wichtigen Grundsatz des Gamedesigns!

Der Spieler darf nie den Eindruck bekommen, dass er ein Ziel unabhängig von seiner Leistung nicht erreichen kann. Das führt zu Frust!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn es dauernd so wäre würde ich dir Recht geben. Ich setze hier aber nicht auf Kamerad Zufall. In dem meisten Fällen fallen die Würfel richtig, sofern man an der richtigen Stelle schiebt. Man braucht nur ein wenig Feingefühl. Und in dem verbleibenden Fall in dem die Würfel zu unglücklich fallen ist das Buch immer noch zu erreichen. Kost halt dann ein Leben ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dafür gibts ja dann den nächsten Durchgang wink.gif

 

Das zählt dann halt so als ob du das reinschieben der Kisten verdaddelt hast. Und das ist es eigentlich auch. Ich bin noch kein einziges Mal nicht an das Buch gekommen wenn ich die Kisten gewollt fürs Buch reingeschoben habe. Und ich habe es dutzende Male probiert. Danebengesprungen bin ich allerdings das eine oder andere Mal.

 

Natürlich hast du Recht. Ein Geschicklichkeitsspiel darf nicht auf Zufall basieren. Solange ich aber zu 100% immer ans Ziel komme sehe ich keinen Grund hier was zu ändern smile.gif

 

Mir machen gerade ganz andere Sachen Kummer. Ich habe die Levelgrafiken exportiert, optimiert und die einzelnen Stücke zusammengenagelt. Und so um die Hälfte der Faces und Vertices eingespart. Und nach dem Reimport und dem entsorgen der alten Geometrie habe ich angeblich den doppelten Polycount in der Szene. Entweder spinnt Unity hier beim Tris und Vertices zählen rum, oder ich habe irgendwo ein Geometrieproblem. Bin gerade dabei da ein paar Experimente zu fahren.

 

Wenigstens ist der Drawcall deutlich abgesunken, Von knapp 3000 auf 600, und die fps sind wieder auf 60. Vor dem optimieren warens nur noch 30 fps ...

 

Und weiter gehts mit dem Prototypreigen. Dritten Prototypen hochgeladen. Ihr könnt den Prototypen hier anspielen. Die Grösse beträgt um die 20 Mb. Der Link ist auch im ersten Beitrag reineditiert. Und das Bild habe ich auch gleich entsprechend geupdatet.

 

Play Prototype

 

Bei diesem Prototypen ging es hauptsächlich um die Grafiken. Das war der Löwenanteil der letzten vier Wochen. Grafiken basteln und rumschrauben bis es zusammenpasst. Ich denke so kann man sie lassen. Ich habe mir auch die Kritik von wegen Zufall und unlösbar zu Herzen genommen, und einen Resetbutton eingebaut. Das ist nun allerdings ein Ball, und nicht mehr die Kisten. Und die Lava habe ich durch Wasser ersetzt. Dem Ball das Schwimmen beizubringen war auch so eine Sache, aber das nur am Rande. Unter der Haube gab es mehr als eine Detailverbesserung. Das Movement habe ich durch Strafe ergänzt. Und ich hatte Recht mit dem Joypad. Das hatte ich noch gar nicht eingestellt. Und weil das Joypad standardmässig immer noch kein smoothing kann (wtf?) war es mit Joypad eigentlich fast unspielbar. Smoothing ist nun drin. Das ganze sollte sich nun mit Joypad deutlich angenehmer spielen lassen.

 

Das Movement ist dann auch gleich die nächste Baustelle die ich wieder in Angriff nehme. Ich will mehr Kontrolle in der Luft. Ich wünschte echt es gäbe mehr Beispiele dazu die man sich dazu ansehen könnte. Nicht mal in der Unify Wiki wird man so recht fündig. Und eine Unity Manual die auch den Namen verdient. Das ist im besten Fall derzeit ein schlecht kommentiertes Wörterbuch, seufz.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1 month later...

Und wieder ein kleines Update.

 

Play Build 166

 

So langsam wächst es sich zurecht. Soundeffekte ergänzt. Einige Bugs beseitigt. Es hat sich ein wenig bei der Steuerung getan, speziell in der Luft. Und diesmal sinds schon drei Level die man spielen kann.

 

Die Level sind dann auch gleich meine Sorgenkinder. Ich brauche pro Level grob zwei Wochen. Und hatte eigentlich vor so um die 20 Level zu basteln. Und Endgegner brauche ich ja auch noch irgendwann, hihi. Naja, ich habe ja sonst nichts zu tun. Ein weiteres Sorgenkind hat sich bei der Steuerung aufgetan. Ich habe jemand bei dem mein Held mit dem Joypad nicht aufhört zu laufen wenn er mal das Steuerkreuz betätigt hat. Geht wohl einfach nicht mehr in Ruhestellung. Bin mal gespannt ob ich dem Kameraden auf die Schliche komme. Weiss da jemand was? Die Drawcalls, bzw die Jagd nach Optimierung macht mich auch jeck. Das kleinste Level hat die höchsten Drawcalls. Und die Grösse ist auch noch so ne Sache. Inzwischen bin ich bei knapp 40 Mb angekommen. Also pro Level grob 10 MB. Mal sehen bei was für einer Dateigrösse ich schliesslich lande. Für den Webplayer wird das Game wohl zu gross.

Link zu diesem Kommentar
Auf anderen Seiten teilen

OK, hier ein kurzer Testbericht:

Ich habe mit Joypad gespielt, es bezieht sich also alles auf Steuerung via Pad.

 

- Spiel läuft flüssig mit 60 FPS, keine Slowdowns erkennbar

- es ist gut, dass du Strafen eingeführt hast, allerdings finde ich, solltest du die seitliche Geschwindigkeit erhöhen, da es so im Moment zu träge ist, um sinnvoll zu sein

- Im Flug sollte man die Richtung des Characters ändern können, statt starr zu sein ( also praktisch die Kamera drehen), das hilft auch wesentlich für das genaue Abschätzen von Sprüngen

- die Möglichkeit, sich in Ego Perspektive umzusehen ist gelungen

- die Richtungsänderungen mit Analog Joypad fühlen sich während der Vorwärts Bewegung noch schwammig an, evtl die Drehung etwas direkter ausführen lassen.

- die Trigger der aufzusammelnden Bücher evtl ein klein wenig größer machen, bin mehrmals knapp an einem Buch vorbeigelaufen, ohne es zu triggern. Wäre bestimmt positiv fürs Gameplay, auch wenn die Hitbox dann ein wenig über das eigentliche Buch Mesh hinausragt

- in Level 2 kann man durch das kleine Haus einfach durchlaufen, keine Ahnung ob das so gewollt ist

- durch den Zaun kann man auch einfach durchlaufen

- auch die Mauer in dem garten hat scheinbar keinen Collider

- Texturen sind passend gewählt und verleihen dem Spiel eine schöne Athmosphäre

- wenn man auf den sich bewegenden Platformen schiesst, kommt es vor, dass der Charakter sich nicht mehr mit der Platform mitbewegt

 

Wenn ich noch was finde, editiere ichs hierrein.

Aber bis jetzt gute Arbeit.

 

Ich hab auch noch ne kleine Frage an dich:

Ich arbeite zur Zeit an der Oberwelt für mein Spiel und wollte da auch die Möglichkeit einbauen, per Tastendruck in Egoperspektive umzuschalten, um sich umsehen zu können, so wie du es eingebaut hast. Allerdings bin ich bisher an der Umsetzung gescheitert.

Hast du evtl einen Tip für mich, gibt es dazu irgendwo ein Tutorial wie man das hinbekommt, oder könntest du mir einen kleinen Schubs in die richtige Richtung geben, wie du das gelöst hast?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke für den Testbericht. Du hast ja einige Macken gefunden. Super. Mal sehen was ich davon umgesetzt und behoben bekomme. Bei den Plattformen bin ich mir nicht so sicher ob ich das überhaupt gefixt bekomme. Die Methode an sich ist wohl nicht die Beste, das zickt auch anderweitig rum. Beim Haus habe ich wohl irgendwo unterwegs den Collider verloren. Das ist ein schnelles Fix :)

 

Ich hab auch noch ne kleine Frage an dich:

 

Ich arbeite zur Zeit an der Oberwelt für mein Spiel und wollte da auch die Möglichkeit einbauen, per Tastendruck in Egoperspektive umzuschalten, um sich umsehen zu können, so wie du es eingebaut hast. Allerdings bin ich bisher an der Umsetzung gescheitert.

Hast du evtl einen Tip für mich, gibt es dazu irgendwo ein Tutorial wie man das hinbekommt, oder könntest du mir einen kleinen Schubs in die richtige Richtung geben, wie du das gelöst hast?

 

Woah, da muss ich selber erst mal noch mal nachschauen. Es war aber viel gutes Gefluche dabei :D

 

Ich verwende hier die Camsmoothfollow2bumper aus dem Wiki. Da kannst du ja die Distanz der Kamera zum Player einstellen. Grob gesagt, ich setze einfach während des Tastendrucks die Distanz auf 0.5, und wenn die Taste nicht gedrückt ist dann auf die Originaldistanz. Der Character wird über einen Trigger unsichtbar gemacht wenn die Kamera den Character überlappt. Und in meinem Movementscript setze ich dann auch noch das Movement ausser Gefecht. Dann wäre da noch das eigentliche Umschauen. Das war auch so ein Husarenstück mit den Eulerangles. Ich glaube Sascha hat mir da weitergeholfen. Im Moment sieht das Kamerascript so aus:

 

var target : Transform;
var distance : float = 6.0;
var realdistance: float= 5.5;
var sniperdistance: float = 0.1;
var height : float = 2.5;
var sniperheight:float=1.5;
var damping : float = 5.0;
var smoothRotation : boolean = true;
var rotationDamping : float = 5.0;
var shiftdown: int=0;
var rotationx:float=0.0;
var rotatevertical:float=2.0;
var targetLookAtOffset : Vector3;	 // allows offsetting of camera lookAt, very useful for low bumper heights
var bumperDistanceCheck : float = 2.5;  // length of bumper ray
var bumperCameraHeight : float = 1.0;   // adjust camera height while bumping
var bumperRayOffset : Vector3;	// allows offset of the bumper ray from target origin
// If the target moves, the camera should child the target to allow for smoother movement. DR
function Awake()
{
camera.transform.parent = target;

}
function LateUpdate() {
// -------------------------------------------------------- Switch view ------------------------------
if(Input.GetButton ("Fire3")){
shiftdown=1;
distance=sniperdistance;
height=sniperheight;
}
if(!Input.GetButton ("Fire3")){
 shiftdown=0;
 distance=realdistance;
 height=2.5;
}
if (movement.dying>0){
shiftdown=0;
distance=realdistance;
height=2.5;
}
// ------------------------------------------------------ Kamera drehen wenn im snipermodus
if (shiftdown==1){
var newRotationEuler : Vector3 = transform.rotation.eulerAngles + Vector3(Input.GetAxis("Vertical")*rotatevertical, 0, 0);
if(newRotationEuler.x > 180)
{
if(newRotationEuler.x <= 275)
	newRotationEuler.x = 275;
}
else
{
if(newRotationEuler.x >= 85)
	newRotationEuler.x = 85;
}
transform.rotation = Quaternion.Euler(newRotationEuler);

}
// ----------------------------------------------------------------------- Normal Camera code --------------------------------------------------------------

 var wantedPosition = target.TransformPoint(0, height, -distance);

 // check to see if there is anything behind the target
 var hit : RaycastHit;
 var back = target.transform.TransformDirection(-1 * Vector3.forward);  

 // cast the bumper ray out from rear and check to see if there is anything behind
 if (Physics.Raycast(target.TransformPoint(bumperRayOffset), back, hit, bumperDistanceCheck) && hit.transform != target&&(shiftdown==0)&&!hit.transform.CompareTag("book")&&!hit.transform.CompareTag("spikeball")) { // ignore ray-casts that hit the user. DR --- HIER DEN ANDEREN LAYER MIT DAZU!!!
  // clamp wanted position to hit position
  wantedPosition.x = hit.point.x;
  wantedPosition.z = hit.point.z;
  wantedPosition.y = Mathf.Lerp(hit.point.y + bumperCameraHeight, wantedPosition.y, Time.deltaTime * damping);
 }

 transform.position = Vector3.Lerp(transform.position, wantedPosition, Time.deltaTime * damping);
 var lookPosition : Vector3 = target.TransformPoint(targetLookAtOffset);
  if (shiftdown==0){
 if (smoothRotation){
  var wantedRotation : Quaternion = Quaternion.LookRotation(lookPosition - transform.position, target.up);
  transform.rotation = Quaternion.Slerp(transform.rotation, wantedRotation, Time.deltaTime * rotationDamping);
 } else {
  transform.rotation = Quaternion.LookRotation(lookPosition - transform.position, target.up);
 }
}
}

Link zu diesem Kommentar
Auf anderen Seiten teilen

Sosehr ich deinen Wunsch verstehe, allen recht machen kann ich es leider nicht. Und wenn ich es auf deinen Rechner optimieren würde würde von meinem Spiel wohl nicht mehr allzu viel übrig bleiben. Ich habe gewisse Vorstellungen was ich gerne drin hätte, und meine Zielplattform ist der jetzige Durchschnitts PC. Wenn es auf meinem Rechner mit knappen 60 fps läuft ist es genau richtig. Dass es so auf älteren Rechnern nicht mehr flüssig läuft muss ich dafür leider in Kauf nehmen. Dass Hardware veraltet liegt einfach in der Natur der Sache. Da kann ich aber leider nichts dran ändern.

 

Sieh es doch einfach als Sparanreiz auf einen neuen Rechner :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Lädt...
×
×
  • Neu erstellen...