Ich habe einen Bug in Ocarina of Time gefixt | SambZockt Show

Поделиться
HTML-код
  • Опубликовано: 26 авг 2024
  • Bugs kennen wir alle. Aber wie wird man sie los? Darum soll es heute gehen!
    🕹 Hol dir den Browser, der in Allem besser ist: operagx.gg/Sam... Gesponsort von Opera GX!
    Unterstützt mich auf Patreon: / sambzockt
    Mein Merch-Shop: www.salsasharks...
    Der offizielle SambZockt Discord Server: / discord
    Drinks, Dev, Games Podcast auf..
    Spotify: open.spotify.c...
    PodBean: drinksdevgames...
    BlobCat auf...
    Nintendo Switch:
    www.nintendo.d...
    Steam:
    store.steampowe...

Комментарии • 382

  • @Samb
    @Samb  10 месяцев назад +18

    Dein Browser hält dich zurück. Level up, mit Opera GX: operagx.gg/SambZockt

    • @iiakito8582
      @iiakito8582 10 месяцев назад +114

      Hätte gerade von dir eher gedacht, dass du dich vor einem Placement informierst.
      Der Opera GX Browser ist alles andere als 'ne gute Wahl aus verschiedenen Gründen.

    • @ratzefratz3949
      @ratzefratz3949 10 месяцев назад +34

      Opera GX ist einfach der schlechteste Browser ever....grade von der performance her. Selbst Firefox läuft besser und das will schon etwas heißen.

    • @xones4864
      @xones4864 10 месяцев назад

      @@iiakito8582 Genau darum benutze ich seit Jahren das Browseraddon: "Sponsorblock" damit hab ich meine Ruhe, vor solchen nervigen Sponsoren. :D

    • @Technicktendo
      @Technicktendo 10 месяцев назад +49

      @Samb ich hab dich super gern aber opera zu promoten geht garnicht hätte erwartet das du dich vorher informierst bevor du Placements machst 😢

    • @xones4864
      @xones4864 10 месяцев назад +10

      @@Technicktendo Das Problem ist eher, dass diese Firmen (soviel ich weis) so viel zahlen, dass es den Creatorn quasi egal ist, was sie da genau bewerben.

  • @stielart
    @stielart 10 месяцев назад +130

    Also dass du dich extra durch den Code von Zelda durchwühlst, "nur" um das Thema bugfixing zu behandeln, hat auf jeden Fall Respekt verdient. Das Video ist schon extrem kreativ... und genau wegen sowas liebe ich den Kanal.

    • @Samb
      @Samb  10 месяцев назад +38

      Danke! Tatsächlich bin ich seit März dran dieses Video zu machen.. Es gab sogar einen Tweet, den ich damals verfasste, als ich noch auf Twitter war :D ( twitter.com/Samb_88/status/1634178787020619776 ) Habe tatsächlich paar Sachen gelernt durch das angucken des Codes und übernommen, für meine eigenen Spiele. Darüber rede ich mal in nem anderen Video :)

    • @amarsarvan6422
      @amarsarvan6422 10 месяцев назад +5

      Ich kann @stielart hier nur recht geben. Mega kreativ und interessant gestaltetest Video

  • @TheRealPrunebutt
    @TheRealPrunebutt 10 месяцев назад +63

    Kleine Korrektur zum Thema init-Funktion für rote Rubine bei ca 5:53 : Da die grünen und blauen Rubin-cases kein break haben, ist das ein "fall-through"-case. Das heißt: Die blauen und grünen Rubine werden genauso initialisiert, wie die roten, weil RUPEE_GREEN und RUPEE_BLUE den code bis zum nächsten break ausführen werden.

    • @Samb
      @Samb  10 месяцев назад +25

      Hast komplett recht, habe ich übersehen 😅

    • @paulklein649
      @paulklein649 10 месяцев назад +1

      c/c++/java switch sind echt übel. gut, dass neuere sprachen mit pattern matching ein moderneres system dafür haben. weniger fehleranfällig

    • @faultboy
      @faultboy 5 месяцев назад

      ​@@paulklein649Was soll daran übel sein? Siehst doch die cases und das break dick hervorgehoben?
      Das mit dem davor genannten if gilt auch für alle Rubine, da

  • @blightning1476
    @blightning1476 10 месяцев назад +111

    Sehr cooles Video. Bugjagd ist immer mühsam 🙂
    Eine kleine Anmerkung bei 5:55 : Das ist ein Switch Fallthrough, der alle 3 Rubinarten betrifft, nicht nur die Roten 🙂

    • @realtheo6882
      @realtheo6882 10 месяцев назад +6

      Hat er wahrscheinlich übersehen, weil sowas soweit ich weiß in C# nicht möglich ist.

    • @juffma
      @juffma 10 месяцев назад

      @@realtheo6882 es ist möglich. Der Compiler gibt aber (zumindest in neueren versionen) eine warnung aus das es nicht empfohlen ist und bitte mit einer goto case anweisung gelöst werden soll.

    • @jupahe6448
      @jupahe6448 10 месяцев назад

      doch ist möglich @@realtheo6882 man kann jedoch keinen case mit body haben der trotzdem fallthrough ist (ohne break;) da meckert der Compiler

    • @jedytobi2206
      @jedytobi2206 10 месяцев назад +15

      Ich wollte das gleiche anmerken :D
      Das Video ist bei mir vor einer Stunde veröffentlicht und der Kommentar vor 51 Minuten. Es hat gerade einmal 9 Minuten gebraucht, bis jemand mit einem "well, ackchyually" kommt. Diese Developer smh

    • @SlamWeasel
      @SlamWeasel 10 месяцев назад +5

      @@realtheo6882 Es ist in C# absolut möglich, aber nur wenn hinter dem case kein weiterer Code steht. Wenn code dahinter steht und versucht wird einen fallthrough zu haben dann wird ein error geworfen dass das break; fehlt. Du kannst sogar mit goto in einen anderen case springen

  • @Draghful
    @Draghful 10 месяцев назад +6

    Super Video! Bin selbst als Softwareentwickler (keine Spiele) tätig und zocke leidenschaftlich gern. Des Öfteren kommt es dann vor, dass sich einer meiner Freunde mal über einen shippable Bug beschwert oder generelle, vernachlässigbare, Bugs. Ich versuche dann immer ein bisschen mehr Einsicht in die Gründe, wieso dieser Bug evtl. noch im Spiel ist, zu geben und auch zu erläutern, dass ein Bugfix oft andere, schwerwiegendere Bugs zur Folge haben könnte, an die man so gar nicht gedacht hat.
    Das Ganze aber mal eben so nebenbei im Detail zu erklären ist, je nach Umstand, gar nicht so simpel, oft auch, weil man sich dann in Details verliert und die Aufmerksamkeit des Freundes verliert.
    In Zukunft werde ich einfach dieses Video teilen, weil es einfach perfekt illustriert wieso manche Bugs einfach "erstmal" nicht gefixed werden und wieso es auch so oft vorkommt, dass Spiele nach Bugfixes dann plötzlich ganz andere Bugs haben.

  • @molgeraxproductions6671
    @molgeraxproductions6671 10 месяцев назад +5

    Mensch, du weißt garnnicht, wie toll ich dieses Video finde! Hat mich echt ein paar Jahre nach hinten geworfen, als ich selber mich zum Lernen durch den Code von OoT durchgewühlt hab, um Spieleentwicklung besser zu verstehen. Danke für den Nostalgietrip, ganz abgesehen von dem geilem Konzept und der Umsetzung :D

  • @artey6671
    @artey6671 10 месяцев назад +70

    Den Sponsor find ich ja etwas fragwürdig. Opera hat seit der Beteiligung durch China einiges an Besorgnis erregt, was Datensicherheit angeht. Jedenfalls passt meine Situation echt gut zu 1:54, nur ists halt nicht Nintendo und 1998.

  • @bwabbel
    @bwabbel 10 месяцев назад +29

    Gx habe ich erst kürzlich vom pc geschmissen, als ich erfahren habe, was der alles für daten in china speichert...

    • @EtnaV2
      @EtnaV2 10 месяцев назад +4

      In die anderen in den USA same shit

    • @valnusstv9833
      @valnusstv9833 10 месяцев назад

      ​@@EtnaV2China = ein verrückter Diktator; USA = Ein alter Mann der gefühlt Demenz hat. Beides scheiße, aber da nehm ich dann doch lieber die USA :/

    • @ericschulze1337
      @ericschulze1337 10 месяцев назад

      generell Opera speichert alle deine Tabs und Seiten die du besucht hast.. Wollte ich gerade auch schreiben, obwohl ich Opera schon seit Jahren benutze^^

    • @twynb
      @twynb 10 месяцев назад

      ​@@EtnaV2deshalb firefox, alle anderen sind chrome in einem trenchcoat

    • @Tom-fy8lw
      @Tom-fy8lw 10 месяцев назад

      ​@@EtnaV2gut das es andere Option gibt: Mozilla Clear Forks oder Chromium ohne Google Forks ;)
      Die Projekte haben aber natürlich kein Geld für solche Werbung

  • @x3ResidenTx3
    @x3ResidenTx3 10 месяцев назад +372

    Hätte nicht gedacht, dass gerade auf diesem Kanal, chinesische Spyware beworben wird.

    • @cankurt1696
      @cankurt1696 10 месяцев назад +19

      Warum müssen immer Chinesische Sponsoren so Problematisch sein. 🌚
      Ok Spaß, ich habe kein Ahnung was das Problem von Opera GX ist.

    • @nicsem98
      @nicsem98 10 месяцев назад +21

      Opera kommt aus Norwegen.

    • @FischToaster00
      @FischToaster00 10 месяцев назад +72

      ​@@nicsem98 Das Unternehmen Opera Software, dass ursprünglich in Norwegen gegründet war, wurde 2016 von irgendeinem Chinesischen Konzern gekauft. Also ja, es ist Chinesisch.
      Aber genauso wie alle anderen Produkte die hier in Europa vermarktet werden muss sich auch Opera an die geltenden Regeln halten und kann nicht einfach Spionagesoftware einbauen. Ganz sicher kann man sich aber nie sein.

    • @arandomyoshimain9269
      @arandomyoshimain9269 10 месяцев назад +85

      @@cankurt1696 The Morpheus hat vor ca. einem Monat ein Video gemacht, opera ist tatsächlich an vielen stellen problematisch.

    • @thatanimeweirdo
      @thatanimeweirdo 10 месяцев назад +7

      Hast du dir mal genauer angeschaut, welche Daten bei welchen Einstellungen gesammelt werden, oder sagst du das einfach, weil mal jemand was behauptet hat?

  • @b596b
    @b596b 10 месяцев назад +4

    Oh man, schade. Ich hätte gedacht du wärst von opera erspart gewesen

  • @MrBeatBones
    @MrBeatBones 10 месяцев назад +31

    Hallo Christian, ich kenne mich nicht sonderlich gut aus mit dem Browser den du da bewirbst, oder das ich mich näher damit befasst habe, aber der Kanal "The Morpheus" hat mal ein Video zu dem Browser gemacht, dass es eine Spyware aus China wäre. Keine Ahnung wie weit das Ganze stimmt, aber wollte es nur mal erwähnt haben, damit du evtl. so etwas nicht weiter bewirbst, falls es doch so sein sollte. ❤

    • @slinc_hd8552
      @slinc_hd8552 10 месяцев назад +4

      sory aber das video von The Morpheus ist Nicht gut und auch nicht gut reschechiert. deswegen werde ich es nicht empfählen

    • @thatanimeweirdo
      @thatanimeweirdo 10 месяцев назад +1

      Das video von The Morpheus war ein wenig überzogen finde ich. Nicht jedes Produkt, was einen (von mehreren) Investment-Sponsor aus China hat ist automatisch Spyware.

    • @MrBeatBones
      @MrBeatBones 10 месяцев назад +4

      @@slinc_hd8552 Der Kommentar macht in sich nicht viel Sinn, da er wiedersprüchlich ist und auch der Satzbau ist seltsam. Klingt beinahe nach einem China-Bot der das Produkt verteidigen soll.

    • @spaceking2000
      @spaceking2000 10 месяцев назад +1

      ​@@MrBeatBonesjup ist save ein bot.

    • @slinc_hd8552
      @slinc_hd8552 10 месяцев назад +2

      nein :c bin kein bot bin nur schlecht in deutsch, aber ja das video von The Morpheous benutz uhralte quellen und ist auch sehr oft factisch falsch. Ist kein gutes video -5/10

  • @2_Mars
    @2_Mars 10 месяцев назад +55

    Finde bemerkenswert, dass du den Zuschauer in eine Art fiktive Story einbeziehst, um das Thema lebhafter zu erklären! Das hilft um selbst trockene Materie spannend und anschaulich zu vermitteln. Gutes Video.

  • @strohkoenig
    @strohkoenig 7 месяцев назад +2

    Woah, das ist ja mal ein absolut geniales Video! :0
    Ein Glück hab ich das doch noch gesehen, ist auch für mich als Software-Entwickler trotzdem einfach cool anzuschauen.

  • @RedMonkeyification
    @RedMonkeyification 10 месяцев назад +1

    Richtig toll wie du das mit der fiktiven Story erklärt hast 😊

  • @SteveGornEditing
    @SteveGornEditing 10 месяцев назад +14

    Hammerfett!
    Deine Videos sind allgemein immer spannend, aber das hier hat sich richtig hervorgehoben in seiner Stärke! :D
    Sehr gute Arbeit und vielen Dank für den Einblick! :)

  • @Unprogress
    @Unprogress 10 месяцев назад +9

    warum lässt du dich von Opera GX sponsoren? Ich empfehle dazu mal ein video von Morpheus. GX is wirklich nicht gut.

  • @bert4277
    @bert4277 10 месяцев назад +1

    Das Beispiel zeigt wieder wie wichtig es vor allem ist, Requirements richtig zu definieren -> Was soll in einem bestimmten Zustand geschehen? In sofern war das nicht mal ein richtiger Bug, sondern ein Workaround aufgrund fehlender Spezifikation. Es ist manchmal nicht einfach die Grenze zu ziehen. Wann ist es ein Bug und wann ein Feature?

  • @user-wh8fe6kr1g
    @user-wh8fe6kr1g 10 месяцев назад +2

    Die Opera Spionage bubble kommt in Deckung ! 😂😂

  • @Tobis_Tricks
    @Tobis_Tricks 10 месяцев назад +6

    Mies dass du Koop mit Opera GX (Malware) machst...

  • @Zechenkaas
    @Zechenkaas 10 месяцев назад +6

    Opera GX als Sponsor? Echt fraglich …

  • @LS23
    @LS23 10 месяцев назад +3

    Mega interssant lieb solche Hintergrund Infos. Bin selber kein Programierer aber ist trotzdem Mega spannend zu erfahren wie in der Branche gearbeitet wird

  • @ritterkaktus4160
    @ritterkaktus4160 10 месяцев назад +2

    Cooler Einblick und immer wieder beeindruckend, wie logisch erschließbar der Code sein kann

  • @FischToaster00
    @FischToaster00 10 месяцев назад +7

    Mal wieder ein sehr interessantes Video. Schöner Einblick in den Blick eines Bugfixers. Weiter so, Christian!

  • @moatl6945
    @moatl6945 10 месяцев назад +4

    5:57: Der Code im switch-Statement wird für alle 3 Typen von Rubinen ausgeführt, es steht ja kein break dazwischen. Switch-Anweisungen in C funktionieren eher wie ein goto-Befehl.

    • @Samb
      @Samb  10 месяцев назад +2

      Hast komplett recht, habe ich beim Stress übersehen 🥲

    • @moatl6945
      @moatl6945 10 месяцев назад

      ​@@SambDas passiert... Es war sicher ein Haufen Arbeit den ganzen Code zu schreiben.

    • @Mimi.1001
      @Mimi.1001 10 месяцев назад

      @@moatl6945 Zelda Ocarina of Time wurde vor ein paar Jahren von Fans komplett Reverse-Engineered / Dekompiliert, das ist quasi der Original-Code von Nintendo (bzw. halt ein exaktes Äquivalent mit allen Bugs etc.). Samb hat da wohl kaum irgendwas dazugeschrieben :D

    • @moatl6945
      @moatl6945 10 месяцев назад

      @@Mimi.1001 OK, das erklärt, warum der Code sehr clean ausschaut und die englischen Kommentare im Code.
      Ich wäre mir auch nicht sicher, ob Nintendo 1998 tatsächlich in C programmiert hat.

    • @TheRealPrunebutt
      @TheRealPrunebutt 10 месяцев назад

      Sowohl Zelda, als auch Mario 64 wurden beide in C gecodet. @@moatl6945

  • @Starwarsfun1-Leo
    @Starwarsfun1-Leo 10 месяцев назад +2

    Cool gemachtes Video 💪
    Die Art und Weise, wie ein Bug gesucht und gefixt wird fand ich ziemlich spannend 👍

  • @EgoRaptorLP
    @EgoRaptorLP 10 месяцев назад +1

    Sehr schön gestaltetes Video und sehr interessant. Hattest mich von Anfang bis Ende.

  • @mr.g7368
    @mr.g7368 10 месяцев назад +2

    Ich arbeite aktuell seit einigen Wochen in einem Spiele Start-up an einem RTS Spiel. Ich kann den Aspekten allgemein zustimmen. Auch wenn es einiges an Zeit in Anspruch nimmt, ein Gefühl zu entwickeln, wo der Bug ist (Speziell dann, wenn es sich um fremden, nicht selbst Code handelt). Zumindest aus der Perspektive eines Neulings ^^" Es ist danach immer faszinierend zu überlegen, warum es ursprünglich so gelöst wurde

  • @nicolaskahlen8179
    @nicolaskahlen8179 10 месяцев назад +1

    Richtig starkes Video mal wieder
    Perfekt verallgemeinert gut verständlich erklärt
    Mein Respekt 🤝

  • @MatiHaufn
    @MatiHaufn 10 месяцев назад

    Ich habe schon auf dieses Video gewartet, juhu!
    Bugfixes machen schon Spaß (wenn man eine Lösung findet zumidnest) x)
    Ich finde es auch spannend zu sehen, wie sich "Rumgepfusche" in so einem Code auf das Spiel auswirkt. :D Ich würde definitiv gerne mehr von sowas sehen. :)
    Aber was die Lösung des Problems angeht, wer weiß ob da noch mehr hintersteckt und es deswegen nicht die Zeit Wert war, sich mehr damit zu befassen. Zum Beispiel, selbst wenn die Bombe kurz ausgeblendet wird, dass sie danach trotzdem aus Links Händen fällt und dich ggf. umbringt.
    Ich glaube meine persönliche "Lieblingslösung" wäre es, noch eine zusätzliche Abfrage zu machen, ob das Item das erste Mal eingesammelt wurde und man diesen Erklärtext bekommt. Und wenn ja, dass dann die Bombenabfrage die du gelöscht hast nicht mehr da ist. Würde zwar heißen, dass das Problem weiterhin besteht, dass man beim Tragen der Bombe keine neuen Sachen mit Erklärtext einsammeln kann, aber dafür sobald man es einmal gemacht hat. Und beim normalen Durchspielen würde das glaube ich nur bei der Magie eine Rolle spielen, weil ich mich nicht erinnere sonst irgendein anderes Item durchs bloße Einsammeln vorgestellt bekommen zu haben (also nur aus Truhen oder bevor man Bomben bekommt).
    Auf jeden Fall cooles Video! :) Ich liebe es, zu sehen wie du sowas erklärst, ausprobierst und zeigst!

    • @lpfan4491
      @lpfan4491 10 месяцев назад

      Wenn man die Bombe wieder zurück in Links Hand zurück gibt, dann fällt sie ja grade nicht runter. Da müsste man etwas spezifischer rumpfuschen(Wenn man die states nicht direkt manipulieren und speichern kann, dann eventuell einfach die Bombe löschen und danach eine neue spawnen oder sowas), aber das ist der Sinn der Sache.

  • @UltimateSpinDash
    @UltimateSpinDash 10 месяцев назад +1

    4:30 beschreibt generell Reverse Engineering ganz gut.
    Und manchmal sind Bugs auch ganz einfach... zum Beispiel wenn die Datei, die die Musikplaylisten enthält, einen Tippfehler enthält und so der gedachte Ablauf nicht stattfinden kann. Peinlich wird es aber, wenn ein Entwickler ganze vier Erweiterungen zu einem Spiel veröffentlicht und da trotzdem keiner einen Blick drauf wirft.

  • @NiklasZiermann
    @NiklasZiermann 10 месяцев назад +1

    Echt geiles Konzept um über das Thema zu reden & der Videotitel zwingt einen schon quasi zum klicken. Richtig gut gemacht!

  • @kallsn
    @kallsn 10 месяцев назад +6

    opera werbung muss echt nicht sein...

  • @realtheo6882
    @realtheo6882 10 месяцев назад +3

    6:00
    Soweit ich das sehe werden alle 3 Rubine RUPEE_GREEN RUPEE_BLUE und RUPEE_RED skaliert und positioniert. Wenn du bei eine case kein break; zum Schluss setzt rutscht man anschließend in den nächsten case.
    Kannst du vllt übersehen haben, weil sowas in C# soweit ich weiß nicht möglich ist, in C++ aber schon. :)

    • @ArcusMania
      @ArcusMania 10 месяцев назад

      Ist mir auch direkt aufgefallen. Kleiner Nachtrag: In C# gibt es diese 'Fall throughs' auch und sie würden auch genauso funktionieren, wie hier gezeigt. Was in C# nicht geht ist, wenn du ein case mit Code, aber ohne break / return / throw hast. C++ würde den Code ausführen und dann direkt zum Code des nächsten cases springen - das break verhindert genau das. Weil man das break aber gerne versehentlich vergisst, ist das Weglassen in C# ein Fehler.
      Die einzige Ausnahme - die ich bisher nie benutzt habe - ist es 'goto case RUPEE_RED;' statt break zu verwenden. Dann springt er tatsächlich nach Ausführung in einen anderen case. Man muss es dem Compiler also explizit sagen.

    • @realtheo6882
      @realtheo6882 10 месяцев назад

      ​@@ArcusManiaAh verstehe, ja ich habe in C# sowas noch nie gebraucht und mich deswegen damit auch nicht beschäftigt. Aber gut zu wissen ^^

  • @frischifrisch6860
    @frischifrisch6860 10 месяцев назад +1

    Tolles Video, gerne mehr solch Tiefe Einblicke in einem sehr unterhaltsamen Format, echt cool 🤗👍

  • @nicoskanal9366
    @nicoskanal9366 10 месяцев назад +2

    Direkt liken bevor man sich das Video anschaut weils eh genial wird. Hast du gehört das der CEO von Unity "gegangen" ist?

  • @paulhilft
    @paulhilft 10 месяцев назад +1

    Für solche Videos mögen wird dich besonders. =)

  • @blitzyanic
    @blitzyanic 10 месяцев назад +38

    Hallo samb sicher ist es schwer immer im Auge zu behalten wer dir eine placement Anfrage schickt aber ich wollte dich darauf hinweisen das opera gx privacy nicht ernst nimmt und als chinesische spyware eingestuft werden kann

    • @thatanimeweirdo
      @thatanimeweirdo 10 месяцев назад +1

      Installier dir bitte den Browser mal in einer Sandbox und lass Wireshark drüberlaufen. Opera muss sich wie jedes andere Produkt an die DSGVO halten.

    • @annocraft
      @annocraft 10 месяцев назад +1

      @@thatanimeweirdo Kannst du in deren Datenschutzbestimmungen nachlesen, dass Operas Mutter Firma Kunlun Tech als Datenverarbeiter mit aufgezählt ist und so Daten nach China übermittelt werden, wo die dann 1. nicht mehr der DSGVO unterliegen und 2. durch die Chinesische Regierung überprüft werden können.

    • @anonym21463
      @anonym21463 10 месяцев назад +2

      @@thatanimeweirdo tut es aber nur in teilen.
      generell gehört opera zum chinesichen staat und der ist nicht für privacy bekannt.
      im gegenteil.
      da werden alle daten gezeigt ob man will oder nicht.
      Brave ist da viel besser.

    • @Gramini
      @Gramini 10 месяцев назад

      @@thatanimeweirdoDie DSGVO erlaubt aber schon recht viel, wenn der User zustimmt (was man bei der Installation ja auch tut).

  • @paplch
    @paplch 10 месяцев назад +7

    Super spannend, besonders toll ist es, dass du es an einem realen Beispiel erklärt hast!

  • @umukzusgelos4834
    @umukzusgelos4834 10 месяцев назад

    Find ich schon interessant, wie das so läuft
    warte grade selber auf ein paar Fixes, daher kam das Video grade richtig

  • @dheemer
    @dheemer 10 месяцев назад

    Die Rubine die initialisiert werden (bei 6:00) werden alle gleich behandelt. Green und Blue haben kein 'break;' - das nennt man dann 'Switch Case Fallthrough'. Das Switch Statement wird nur mit einem Break oder am Ende des Statements selbst verlassen. So braucht man den Code nur ein Mal schreiben und kann ihn mehrmals verwenden. Ist eine umstrittene Funktionalität, aber manchmal sinnvoll.
    Warum der Rote Rubin gedreht wird, bleibt dennoch schleierhaft.

  • @Lugmillord
    @Lugmillord 10 месяцев назад +3

    Bugs werden stets mit Schweiß und Blut gefixt. Das fasst meinen ganzen heutigen Arbeitstag zusammen. ...und nein, da ist noch was übrig, was ich heute nicht geschafft habe.

  • @anreji_
    @anreji_ 10 месяцев назад +1

    Tut mir leid, dass du den switch-case-Fallthrough übersehen hast. Ich glaube du wirst noch in ein paar Jahren Kommentare dazu bekommen :P

  • @kjul.
    @kjul. 10 месяцев назад

    05:56 da es keinen break gibt, fallen die cases für die anderen Rubine durch, diese werden also ebenfalls skaliert und rotiert 😉
    Interessanter Stil für das Video, hat mir gut gefallen!

  • @paulklein649
    @paulklein649 10 месяцев назад

    Der "beste" Fix, meiner Meinung nach, wäre, dass man die Items mit Bombe in der Hand aufheben kann, wenn sie bereits einmal hochgehoben wurden, also bekannt sind und nicht vorgestellt werden müssen. Dann reduziert sich das Problem fast nur auf die Startzonen in denen man sowieso noch keine Bomben hat. Die Bombe zu verstecken um das Item zu zeigen wäre irgendwie ein Logikbruch, wenn auch nicht so dramatisch. Mir gefallen logische Ausschlüsse viel mehr als Tricksereien, z.B. gibt es auch GTA 4/5 oder Dead Red Redemption Details Videos wo man z.B. bestimmte Sachen nicht macht oder anders macht als sonst, wenn eine Hand z.B. durch ein Handytelefonat blockiert ist.

  • @hanswurst9120
    @hanswurst9120 10 месяцев назад +2

    Eine Supporter-Auflistung ohne "Sheiny-Steini", Neo127 und Torxon wäre einfach nicht dasselbe.

  • @Liggedias
    @Liggedias 10 месяцев назад +1

    Tolles Video! Als Entwickler fand ich diesen Einblick in den Zelda-Code sehr interessant :)

  • @Zwiebelgian
    @Zwiebelgian 10 месяцев назад +1

    Ich glaube du verstehst den code bei 6:00 falsch. Wenn mehrere case statements in diesem format hintereinanderstehen wie es bei den Rubinen der Fall ist, dann wird bei jedem Rubin der code unter dem roten Rubin ausgeführt (wenn ich mich nicht täusche, habe schon lange kein C mehr programmiert). Wenn man ein NULL case (ein case der nichts macht) haben will, verwendet man doch break, nicht?

  • @ivecometoburger
    @ivecometoburger 10 месяцев назад +5

    Ich kommentiere sonst echt nie, muss aber echt sagen dass mich dieses Placement sehr enttäuscht - dass gerade jemand mit technischem Background so eine dubiose Firma und damit Spyware/Malware bewirbt, hätte ich echt nicht erwartet. Das kannst du besser! :/

    • @thatanimeweirdo
      @thatanimeweirdo 10 месяцев назад +3

      In wieweit unterscheidet sich Opera von einem Chrome, Edge oder Brave Browser?

    • @annocraft
      @annocraft 10 месяцев назад

      @@thatanimeweirdo The Morpheus hat da ein super Video drüber gemacht.

    • @thatanimeweirdo
      @thatanimeweirdo 10 месяцев назад +2

      @@annocraft Ich weiß, ich habs damals gesehen, es ist nicht ganz korrekt und stark überspitzt.

    • @Tom-fy8lw
      @Tom-fy8lw 10 месяцев назад

      ​@@thatanimeweirdoes gibt bei weitem besser alternativen bezüglich Datenschutz

  • @martinmajewski
    @martinmajewski 10 месяцев назад

    Cooles video. Cool, dass du auch den Code von OoT durchgewühlt hast.
    Ich als Art- und Gameplay-Director hätte aber eher gewollte, dass man KEINE Items aufheben kann, wenn man mit einer Bombe durch die Gegend läuft. Mal ehrlich, Link ist vielleicht mutig, aber nicht leichtsinnig! ;-)

  • @GamER_WIN
    @GamER_WIN 10 месяцев назад

    Extrem verständlich erklärt. Ich liebe deinen Kanal

  • @Quasmok
    @Quasmok 10 месяцев назад

    Richtig coole Videoidee und natürlich auch supi umgesetzt. Gerne mehr davon.

  • @L__Master
    @L__Master 10 месяцев назад +4

    Ich empfehle keine wichtigen oder privaten Informationen in Opera zu senden auf Grund von internen Trackern.

  • @enterfusion
    @enterfusion 10 месяцев назад

    Sehr gutes Video. Wäre das eine Firma wo ich gearbeitet hatte als Programmierer wäre aber vermutlich wenn das ganze Zeit brauchte rauszufinden, welche Funktion was macht, zu debuggen etc, dann hätte mein Chef dafür wiedermal nicht gelobt, sondern gerügt, warum man für so etwas so viel Zeit einräumte. xD Aber gut, dass hat mir unter anderem den Job auch kaputtgemacht und nun Schule ich um zum Kaufmann nach 10 Jahren Entwickler xD

  • @ban-senapi959
    @ban-senapi959 10 месяцев назад +7

    Sehr schwaches Sponsoring, sehr starkes video

  • @germanirgendwas
    @germanirgendwas 10 месяцев назад

    Das Video war sehr interessant und gibt einen Einblick wie Spieleentwicklung funktioniert. Vielen Dank für die Mühe

  • @Kyss007
    @Kyss007 10 месяцев назад

    fals mich mehr fragt wie mein Alltag ausschaut kann ich jetzt einfach das Video teilen. sehr geil

  • @xCantus04
    @xCantus04 10 месяцев назад

    Wie Aufwändig es sein muss so ein Video zu machen, aber total Interessant und spanned - Danke für den Bomben Content!! .. Sorry, I'll let myself out..

  • @TheHighlight2009
    @TheHighlight2009 10 месяцев назад

    Sehr cooles und interessantes Video, vielen Dank! :) Wenn wir eh schon über OoT und Bugs reden: Wäre es nicht mal interessant, die gängigen Speedrun-Glitches und -Bugs von OoT unter die Lupe zu nehmen? Da sind ja auch einige echt coole und faszinierende Dinge dabei (Timewarp, durch Wände glitchen, Ereignisse in falscher Reihenfolge triggern etc.), die sicherlich aus Entwicklersicht super spannend zu erklären sind. Nur ne Idee :)

    • @Gramini
      @Gramini 10 месяцев назад

      Auch interessant wäre ein Blick auf die Arbitrary Code Execution (ACE). Das geht auch in den Bereich der IT-Security.

  • @ueztwvfdsffyx
    @ueztwvfdsffyx 4 месяца назад

    Total interessantes Video! Wie bist du an den Code gekommen? Und wie verstehst du so etwas, was im Code steht? Klar, du hast auch im Video gesagt, dass du das ein oder andere ausprobierst und dann schaust, was sich im Spiel verändert hat. Bist du Programmierer, vllt?
    Liebe Grüße

  • @gragogflying-anvil3605
    @gragogflying-anvil3605 10 месяцев назад

    5:54 der rote Rubin ist an der Stelle nicht besonders. Für den grünen und blauen Rubin wird der Code-Pfad doch auch ausgeführt.

  • @firmaeick
    @firmaeick 3 месяца назад

    Richtig interessant. Ich finde das faszinierend

  • @Marcoboland
    @Marcoboland 10 месяцев назад

    Bin zwar Entwickler in einer ganz anderen Branche aber konnte direkt das Vorgehen bei Bugs/Tickets wirdererkennen

  • @cankurt1696
    @cankurt1696 10 месяцев назад +4

    Ich bin echt Enttäuscht das Ausgerechnet im nem Video was sich über Bugs Dreht kein Front gegen GameFreak kam. ._.

    • @Samb
      @Samb  10 месяцев назад +4

      Wollte das Video positiv halten :D

  • @Fantastalopikum
    @Fantastalopikum 10 месяцев назад +2

    Cooles Video aber über den Sponsor lässt sich wirkich streiten. Opera ist nicht unumstritten, insbesondere wenn es um Datenschutz geht. Ich kann mir vorstellen das Placements als Einnahmequelle für dich essenziell notwendig sein dürften, um diesen Kanal überhaupt betreiben zu dürfen ABER ausgerechnet als Technikkanal Opera GX zu bewerben ist naja sagen wir ungünstig.
    In etwa als würde man als Gesundheitskanal anfangen Placements von Milka oder Haribo zu machen...

  • @thejaykay97
    @thejaykay97 10 месяцев назад +2

    Geiles Format, faszinierend einen EInblick in das Bugfixing in der Entwicklung eines so großen Spiels zu kriegen. Sind die Tickets tatsächlich echt oder hast du sie dir für die Story ds Videos ausgedacht?
    Und eine Verständnisfrage hätt ich bei 6:00 : da für die grünen und blauen Rubine kein break-keyword gesetzt ist, gilt für sie doch genauso sehr die Positionierung und Rotation des roten Rubins, oder hab ich switch statements falsch verstanden?

    • @TheOriginalDogLP
      @TheOriginalDogLP 10 месяцев назад +1

      Ich antworte mal für ihn: Garantiert ausgedacht, da diese Tickets und Ticketverwaltungssoftware niemals von außen zugänglich sind. (Und im Fall von Ocarina of Time garantiert auch schon archiviert sind)

    • @ralfruhardt5483
      @ralfruhardt5483 10 месяцев назад +1

      Du hast das Statement richtig verstanden. In einem anderen Kommentar hat Samb darauf auch schon geantwortet dass er es übersehen hat

  • @Dokan_rue
    @Dokan_rue 10 месяцев назад +1

    Sehr interessant mal so einen Einblick zu bekommen

  • @Darkness_edits
    @Darkness_edits 10 месяцев назад +6

    Opera GX Placement weiß ich nicht ob das sein muss

  • @txicghst9446
    @txicghst9446 10 месяцев назад +10

    Bin sehr enttäuscht, dass du so eine Malware wie Opera GX bewirbst.

  • @nocberry7797
    @nocberry7797 10 месяцев назад

    "Was ist wenn der Spieler nur noch ein Herz hat und die Bombe explodiert und ihn killt, während man ein Item aufhebt?"
    Ich finde es ja schon bemerkenswert, dass sich jemand über diesen Sonderfall scheinbar Gedanken gemacht hat. Und das nur wegen dieser nervigen Erklärbärboxen.

  • @ibowieibo
    @ibowieibo 10 месяцев назад

    Das war sehr interessant. Danke für das Video.

  • @onemanonmars6478
    @onemanonmars6478 10 месяцев назад

    Mega cooles Video! Fand ich als Entwickler schon ganz spannend da mal in den Code von Zelda reinzugucken. Ich hätte fast erwartet, dass der Code damals noch auf japanisch kommentiert worden wäre.

  • @awesomefan86
    @awesomefan86 10 месяцев назад +3

    Ganz ehrlich? Wie kann man gerade für einen so umstrittenen Browser wie Opera GX Werbung machen?

  • @danielgerdes3792
    @danielgerdes3792 10 месяцев назад

    Fand das Video super! Bitte mehr Videos der Art

  • @knusprigegurke
    @knusprigegurke 10 месяцев назад +6

    Ich liebe dich wirklich aber Opera GX ist wirklich ein Shithole

  • @MegaManNeo
    @MegaManNeo 10 месяцев назад +15

    Abseits der Spyware Werbung ein sehr interessantes Video.
    Wäre lustig zu sehen, was sich mit dem src noch alles ändern lässt, was nicht ohnehin mit Cheats geht.

  • @depre6603
    @depre6603 10 месяцев назад +3

    Ich liebe deine Videos, aber die Tatsache, dass du so einen Browser wie Opera bewirbst, hinterlässt einen sehr bitteren Beigeschmack. Anscheinend wurde diese Entscheidung von dir in deinem Discord Server gerechtfertigt (laut einer der Kommentaren), aber ich kann mir echt nicht vorstellen wie

    • @UndercoverDog
      @UndercoverDog 10 месяцев назад +3

      Hab mal auf dem Discord vorbeigeschaut. Das Argument war eher so ein ja Chrome trackt euch auch.
      Einfach nur erbärmlich...

  • @AlryFireBlade
    @AlryFireBlade 10 месяцев назад

    Mal wieder sehr interessanter einblick.

  • @Diablokiller999
    @Diablokiller999 10 месяцев назад

    Als never nester habe ich mir gerade die Augen ausgekratzt und schreibe diesen Text nun blind...

  • @BlueFox-DesGround
    @BlueFox-DesGround 10 месяцев назад

    Es war sogar sehr interessant, und ich habe von Prpgrammieten absolute keine Ahnung, würde es aber gernen können, wäre es nicht so verflucht amfassend und frustrieren, sowie ungassbar Zeitfressend... daher schreckt mich das immer so ab, eine der Programmiersprachen zu lernen...
    Außerdem weiß ich nicht welche für mich geeignet wäre und welche Engine für ein noob wie mich Sinn machen würdeTwT

  • @manfredlars4556
    @manfredlars4556 10 месяцев назад +2

    Bitte ladet euch keinen Opera runter… gerade im Geschäftumfeld!

  • @seelenrakete
    @seelenrakete 10 месяцев назад

    Super geniales Video. Ich konnte sogar einige Parallelen zur Programmierung in der Gebäudeautomation ziehen.

  • @danymusic8334
    @danymusic8334 10 месяцев назад

    Sehr sehr interessant. Es kann gar nicht technisch genug sein. Klasse Video. Vielen Dank

  • @Dominik-K
    @Dominik-K 10 месяцев назад

    Super Video, und sehr gut illustriert. Ich kann mir das damit sehr gut vorstellen, wie das bei Nintendo und Co. mit ihrem Ticketing System ablief

  • @websgeisti7112
    @websgeisti7112 10 месяцев назад +7

    Es gibt mehrere Videos zu der Spyware Opera (GX). Dann doch lieber Chrome 😅

    • @thatanimeweirdo
      @thatanimeweirdo 10 месяцев назад +3

      Weil Google auch nicht genau die gleichen Daten verarbeitet :D

    • @websgeisti7112
      @websgeisti7112 10 месяцев назад +2

      @@thatanimeweirdo Google ist aber ein US-Unternehmen und die USA eine Demokratie 😅

    • @thatanimeweirdo
      @thatanimeweirdo 10 месяцев назад

      @@websgeisti7112 Das ist egal, weil jedes Unternehmen, was deutsche Benutzer hat, sich an deutsche Gesetze halten muss. Und das tut auch Opera :)

    • @annocraft
      @annocraft 10 месяцев назад +2

      @@thatanimeweirdo "Weil Google auch nicht genau die gleichen Daten verarbeitet" Was ist das für Whataboutism? Es geht hier nicht um Google.

    • @UndercoverDog
      @UndercoverDog 10 месяцев назад +1

      ​@@thatanimeweirdosag das Mal Facebook, Google, Apple eigentlich allen

  • @belobixyt4299
    @belobixyt4299 10 месяцев назад

    Echt tolles Video. Gerne öffter so tiefgreifenddas es sogar u den programm code geht, das war/ist sehr interressant.

  • @davidschm2682
    @davidschm2682 10 месяцев назад +1

    Bitte mehr davon :D

  • @sirfrancis1440
    @sirfrancis1440 10 месяцев назад

    Super interessant! Danke für das Video

  • @hidicproductions4849
    @hidicproductions4849 10 месяцев назад

    Richtig nice erklärt. 👍

  • @Simon-vc6ij
    @Simon-vc6ij 10 месяцев назад

    Sehr interessantes und informatives Video.👍
    Bitte mehr davon
    🤌

  • @DonMarv00
    @DonMarv00 10 месяцев назад

    Die Codebase von alten N64 Spielen ist die Hölle

  • @MarcoOdW
    @MarcoOdW 10 месяцев назад

    Mega interessant gewesen, mal so an das Thema heran geführt zu werden. Vg

  • @AriesT1
    @AriesT1 10 месяцев назад

    Wie immer ein top Video von dir, lieber Christian. Eine anekdotische Frage hätte ich. Sind das echte Code Beispiele und Kommentare aus den Zelda Code Dateien oder wurden die aus dem japanischen übersetzt?
    Falls Original, kann es sein, dass so mancher Coder bei Nintendo überraschend gut englisch konnte? :D

    • @Gramini
      @Gramini 10 месяцев назад +1

      Die stammen aus dem Decompiled Projekt. Der Code ist also "nur" eine Nachstellung, die zu einer exakt gleichen ROM gebaut werden kann. Deswegen haben einige Symbole/Variablen auch keine hilfreichen Namen, weil zu diesen noch nicht herausgefunden wurde, wofür sie genau da sind.

  • @konstantin94342
    @konstantin94342 8 месяцев назад +2

    Der sponsor ist mehr als fragwürdig!

  • @FaKz92
    @FaKz92 10 месяцев назад +1

    Habe erst seit dem 04.09. mit Spiele Entwicklung angefangen. Kenne bisher C#. Der Code war ähnlich, aber die Strukturen waren anders... War das C++?! 🤔

    • @mr.g7368
      @mr.g7368 5 месяцев назад +1

      Der Code sah für mich nach C aus, da man Aspekte wie Pointer oder C-typische Structs gesehen hat, jedoch OOP nicht wirklich hervor kam

  • @julianhops5217
    @julianhops5217 10 месяцев назад +1

    Der Code schaut teilweise ja richtig gruselig aus. 😆

  • @svenfruiti494
    @svenfruiti494 10 месяцев назад

    Ich muss sagen, dass ich besonders dieses Video sehr interessant gefunden habe :)

  • @JohnWick-pr8oh
    @JohnWick-pr8oh 10 месяцев назад +6

    Ich finde es nicht gut das du Werbung machst für einen Browser der gesetzeswidrig mehr User-Daten nach China exportiert als der Hamburger Hafen.

  • @mertechnightcore4098
    @mertechnightcore4098 10 месяцев назад

    Danke für das Video, vorsllem dass du uns den Code zeigst

  • @GENERALSG01
    @GENERALSG01 10 месяцев назад

    Ich vermute bei der Bombe spielt das Interne Script der Bombe eine Rolle.
    Da dieses Script gestartet wird, sobald die Bombe benutz wird, aus welchem state das benutzen auch kommt (donnerblume != bombe aus der tasche)
    die bombe wird ihr script in den state am explodieren oder so setzten, dabei einen timer runterzählen, der das intervall zwi dem wechsel von roter und schwarzer textur immer weiter reduziert.
    ist der timer abgelaufen, machts bumm.
    jetzt könnte es ja sein, das der timer intern weiter läuft, da der thread der die bombe steuert losgelöst von den anderen threads ist die pausiert werden wenn etwas aufgehoben wird und die bombe dadurch nachdem die pause vorbei ist direkt explodiert, wenn aber auch dieser thread pausiert wird, wird das nix anderes sein, als das ein wait in jedem thread mit übergeben wird, also schonmal egal..
    die bombe ist aber im gegensatz zum stein, ein animiertes objekt, was etwas macht, der stein macht nur etwas, nämlich kaputt gehen, wenn der state nach aufgehoben, im flug oder ähnlich gesetzt wird(also wenn man sie wirft)
    solange macht der stein nix, beim loslassen wird er wieder aufm boden fallen und gut ist(interresant wäre es bei der vase, die kann man glaub ich nicht einfach loslassen, kann man das bei dem stein oder kann man den auch nur werfen, mhhh)
    auf jedenfall im gegensatz zum stein und wohl der vase, wird ein änderungsscript nur ausgeführt, wenn der state flug oder ähnliches durchgekommen ist, die bombe hingegen hat direkt nach in der hand die init für ihr explodieren script.
    Da die Bombe das einzige Objekt ist, das eine direkte auswirkung hat, wenn sie nicht mehr in der hand ist und nicht zurück in die hand gesetzt wird, kann nur bedeuten, es gibt keine funktion die ein objekt wieder zurück in die Hand von link gibt, nachdem das objekt einmal im besitz von link war.
    der parent kann wohl nur 1x beim benutzen gegeben werden, danach gibt es keine möglichkeit mehr diesen wieder zu zu weisen, vermutlich wird bei der bombe direkt dann das init script aufgerufen für den explosionsablauf
    also hätte man das aufhebe script UND das bomben script umschreiben müssen, das erkennt ob das objekt bereits einmal jemand zugeweisen wurde, hier ist es ja nicht nur link ggf.
    also müsste man an mehreren stellen die arbeit machen um das zu fixen
    so war es einfacher, in dem script beim aufheben hin zu zu fügen, das link kein objekt aufheben darf, wenn er ein objekt in der hand bereits hält, das auf exploding steht.
    Was interresant ist, weil alle ausrüstungsgegenstände von Link müssen so anderst gehandhabt werden, da diese wenn sie nicht ausgerüstet sind, nicht mehr link zugeorndet sind, bis er sie wieder ausrüstet und damit spawnt.
    Hier könnt es aber sein, das jedesmal ein neues Objekt erzeugt wird das direkt link als parent zugeorndet wird.
    das wird auch erklären, warum die bombe die link aus der tasche zieht direkt in den on_exploding zustand übergeht.
    was auch bedeutet, das jedes objekt das link benutz, nach dem austausch mit einem anderen objekt vernichtet wird.
    link hält sein schwert ja auch nicht mehr direkt in der hand, wenn man etwas anderes in der hand hatte, es ist erst wieder da wenn man angreift.
    Und die Bombe, tickt ja weiter, wenn sie wieder aufgehoben wird, was bedeutet das beim wieder aufheben das Script nicht von neuem startet, weil init bereits ausgeführt wurde
    bedeutet aber das Parent trotzdem wieder zugewiesen werden kann.
    Mhh das macht das ganze jetzt wieder merkwürdig, weil man kann die bombe ja wieder aufheben nachdem sie einmal losgelassen wurde oder, HIER BIN ICH MIR UNSICHER OB DAS GEHT ODER NICHT :s
    Mein ganzer gedankengang, hängt jetzt davon ab, das die Bombe nicht wieder aufnehmbar ist und ich weis es nicht
    Wenn sie nicht wieder aufhebbar ist, könnte meine vermutung richtig sein
    ist sie wieder aufhebbar, ist der ganze text sinnlos

    • @lpfan4491
      @lpfan4491 10 месяцев назад

      Eh...ja, man kann sie wieder aufheben.

    • @GENERALSG01
      @GENERALSG01 10 месяцев назад

      dann versteh ich nicht warum man sie nicht zurück in die hand setzten kann, wenn die funktion ja existiert
      merkwürdig
      @@lpfan4491

  • @martin8447
    @martin8447 10 месяцев назад

    Ich warte schon auf den nächsten Unity Video nachdem John weg ist :D